/* Professional polish pass — September 2026 */
:root{--pro-purple:#46106f;--pro-gold:#d2a93b;--pro-shadow:0 24px 70px rgba(49,18,66,.11)}
body{background:linear-gradient(180deg,#fff 0%,#fdfbf8 100%);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.section{padding:88px 0}.section-title{max-width:850px;letter-spacing:-.045em}.section-lead{max-width:760px}.section-head{margin-bottom:34px}
.site-header{background:rgba(255,255,255,.93);box-shadow:0 8px 30px rgba(49,18,66,.055)}.nav-wrap{height:84px}.site-nav{gap:26px}
.hero{padding:62px 0 72px}.hero-shell{gap:48px;padding:30px;border-radius:34px;box-shadow:0 30px 90px rgba(49,18,66,.105)}.hero-copy{padding:30px 4px 28px 14px}.luxury-hero h1{font-size:clamp(3rem,6.2vw,5.55rem);line-height:.94}.hero-visual,.hero-photo{min-height:570px}.hero-visual:after{opacity:.72}.hero-card{box-shadow:0 22px 64px rgba(49,18,66,.16)}.hero-badge{box-shadow:0 20px 48px rgba(49,18,66,.20)}
.service-van-section{padding:62px 0}.service-van-shell{gap:38px;padding:28px;border-radius:30px;box-shadow:var(--pro-shadow)}.service-van-media{overflow:hidden;border-radius:24px}.service-van-media img{transition:transform .5s ease}.service-van-shell:hover .service-van-media img{transform:scale(1.018)}
.trust-strip{box-shadow:0 10px 30px rgba(49,18,66,.04)}.trust-item{min-height:92px}
.service-request-section{padding:72px 0}.service-request-shell{gap:42px;padding:30px;border-radius:30px;box-shadow:var(--pro-shadow)}.service-request-form{border-radius:24px;box-shadow:0 24px 58px rgba(49,18,66,.16)}
.service-grid{gap:22px}.service-card{border-radius:24px;box-shadow:0 10px 30px rgba(49,18,66,.05)}.service-card:hover{transform:translateY(-4px);box-shadow:0 24px 64px rgba(49,18,66,.13)}
.visual-services-section{background:linear-gradient(180deg,#fff,#fbf7ff 100%)}.visual-service-card{border-radius:26px;box-shadow:0 12px 34px rgba(49,18,66,.06)}.visual-service-photo{overflow:hidden}.visual-service-photo img{transition:transform .5s ease}.visual-service-card:hover .visual-service-photo img{transform:scale(1.025)}
.home-story-section,.design-detail-section{border-top:1px solid rgba(70,16,111,.06);border-bottom:1px solid rgba(70,16,111,.06)}
.process-step,.feature-item,.style-card,.contact-card,.content-panel,.service-detail-card{border-radius:22px;box-shadow:0 10px 30px rgba(49,18,66,.05)}
.faq{border:1px solid #e8ddcb;border-radius:18px;background:#fff;margin-bottom:12px;padding:0 18px;box-shadow:0 8px 26px rgba(49,18,66,.035)}
.cta-band{border-top:1px solid rgba(210,169,59,.20);border-bottom:1px solid rgba(210,169,59,.20)}.cta-inner{padding-top:58px;padding-bottom:58px}
.trust-carousel-section{padding:38px 0 44px}.trust-badge-card{border-radius:18px}
.page-hero{padding:72px 0 64px}.page-hero h1{font-size:clamp(2.9rem,5.6vw,5rem)}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(210,169,59,.42);outline-offset:3px}
@media(max-width:900px){.section{padding:72px 0}.hero-shell{grid-template-columns:1fr}.hero-visual,.hero-photo{min-height:480px}.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.container{width:min(100% - 28px,var(--max))}.section{padding:60px 0}.hero{padding:40px 0 54px}.hero-shell{padding:14px;border-radius:24px}.hero-copy{padding:24px 8px 14px}.luxury-hero h1{font-size:clamp(2.8rem,14vw,4.35rem)}.hero-actions .btn{width:100%}.hero-visual,.hero-photo{min-height:400px;height:400px}.service-grid{grid-template-columns:1fr}.service-request-section{padding:56px 0}.service-request-shell{padding:16px}.service-request-form{padding:20px 16px}.cta-inner{padding-top:46px;padding-bottom:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}

/* Compact hero refinement — September 2026 */
.hero.luxury-hero{padding:28px 0 42px}
.hero-shell{gap:34px;padding:22px 24px;border-radius:30px}
.hero-copy{padding:14px 2px 12px 8px}
.luxury-hero h1{font-size:clamp(2.8rem,5.25vw,4.75rem);line-height:.96;margin:12px 0 16px;letter-spacing:-.045em}
.luxury-hero p{font-size:1rem;line-height:1.62;margin-bottom:18px;max-width:590px}
.hero-actions{margin-top:18px}
.hero-proof-grid{margin-top:16px;gap:10px}
.hero-proof-grid>div{padding:10px 10px 9px}
.luxury-hero .hero-visual,.luxury-hero .hero-photo,.hero-visual,.hero-photo{min-height:445px;height:445px}
.luxury-hero .hero-card{bottom:18px;padding:18px 20px;width:285px}
.luxury-hero .hero-badge{top:18px;width:112px;height:112px}
.page-hero{padding:56px 0 50px}
.page-hero h1{font-size:clamp(2.7rem,5.2vw,4.6rem);line-height:.98}
@media(max-width:900px){
  .hero.luxury-hero{padding:24px 0 38px}
  .hero-shell{gap:24px;padding:20px}
  .hero-copy{padding:10px 2px 8px}
  .luxury-hero .hero-visual,.luxury-hero .hero-photo,.hero-visual,.hero-photo{min-height:370px;height:370px}
}
@media(max-width:600px){
  .hero.luxury-hero{padding:18px 0 30px}
  .hero-shell{padding:12px;border-radius:22px}
  .hero-copy{padding:18px 8px 8px}
  .luxury-hero h1{font-size:clamp(2.4rem,12vw,3.55rem);line-height:.98;margin:10px 0 13px}
  .luxury-hero p{font-size:.96rem;line-height:1.55;margin-bottom:15px}
  .hero-proof-grid{margin-top:12px;grid-template-columns:1fr}
  .hero-proof-grid>div{padding:8px 4px}
  .luxury-hero .hero-visual,.luxury-hero .hero-photo,.hero-visual,.hero-photo{min-height:300px;height:300px}
  .luxury-hero .hero-card{left:10px;right:10px;bottom:10px;width:auto;padding:14px 15px}
  .luxury-hero .hero-card p{display:none}
  .luxury-hero .hero-badge{width:82px;height:82px;top:8px;right:8px}
  .page-hero{padding:44px 0 40px}
  .page-hero h1{font-size:clamp(2.35rem,11.5vw,3.45rem)}
}


/* FINAL LOGO + HERO CORRECTION — September 2026 */
.site-header .nav-wrap{height:78px}
.site-header .brand{min-width:168px;gap:0}
.site-header .brand img{width:168px;height:66px;object-fit:contain;background:transparent!important;border-radius:0!important;padding:0!important;filter:drop-shadow(0 7px 15px rgba(70,16,111,.16))}
.site-header .brand-text{display:none!important}
.site-footer .footer-brand img{width:190px;height:auto;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;filter:drop-shadow(0 10px 22px rgba(0,0,0,.28))}

.hero.luxury-hero{padding:24px 0 34px}
.hero-shell{grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:34px;padding:20px 22px;border-radius:28px}
.hero-copy{padding:12px 2px 10px 8px}
.luxury-hero h1{font-size:clamp(2.9rem,4.8vw,4.45rem);line-height:.97;margin:10px 0 14px;letter-spacing:-.045em}
.luxury-hero p{font-size:.99rem;line-height:1.58;margin-bottom:16px;max-width:570px}
.hero-actions{margin-top:16px}
.hero-proof-grid{margin-top:14px;gap:8px}
.hero-proof-grid>div{padding:9px 8px 8px}
.luxury-hero .hero-visual,.luxury-hero .hero-photo,.hero-visual,.hero-photo{min-height:410px;height:410px}
.luxury-hero .hero-card{left:14px;bottom:14px;width:280px;padding:16px 18px;border-radius:18px}
.luxury-hero .hero-card p{font-size:.82rem;line-height:1.42;margin-top:4px}
.luxury-hero .hero-badge{right:12px;top:12px;width:96px;height:96px;border-width:4px}
.page-hero{padding:50px 0 44px}
.page-hero h1{font-size:clamp(2.55rem,4.8vw,4.25rem);line-height:1}

@media(max-width:900px){
  .site-header .brand img{width:154px;height:60px}
  .hero-shell{grid-template-columns:1fr;gap:20px;padding:18px}
  .luxury-hero .hero-visual,.luxury-hero .hero-photo,.hero-visual,.hero-photo{min-height:360px;height:360px}
}
@media(max-width:600px){
  .site-header .nav-wrap{height:70px}
  .site-header .brand{min-width:0}
  .site-header .brand img{width:138px;height:54px}
  .site-nav{top:70px}
  .hero.luxury-hero{padding:16px 0 26px}
  .hero-shell{padding:10px;border-radius:20px}
  .hero-copy{padding:16px 8px 8px}
  .luxury-hero h1{font-size:clamp(2.35rem,11.5vw,3.4rem);line-height:1;margin:9px 0 12px}
  .luxury-hero p{font-size:.95rem;line-height:1.5}
  .hero-proof-grid{grid-template-columns:1fr}
  .luxury-hero .hero-visual,.luxury-hero .hero-photo,.hero-visual,.hero-photo{min-height:290px;height:290px}
  .luxury-hero .hero-card{left:9px;right:9px;bottom:9px;width:auto;padding:13px 14px}
  .luxury-hero .hero-card p{display:none}
  .luxury-hero .hero-badge{width:78px;height:78px;top:7px;right:7px}
  .page-hero{padding:40px 0 36px}
}


/* Header logo-only update */
.site-header .brand-text{display:none!important;}
.site-header .brand{min-width:auto!important;gap:0!important;}
.site-header .brand img{width:100px;height:auto;}
@media(max-width:860px){.site-header .brand img{width:92px;}}


/* Image rendering hardening */
.image-slot{display:block;background-repeat:no-repeat!important;background-size:cover!important;background-position:center center!important;}
.hero-photo,.visual-service-photo,.media-panel,.story-photo,.detail-photo,.style-card{display:block;}
.service-van-media img,.trust-badge-thumb img,.footer-brand img,.brand img{display:block;max-width:100%;height:auto;}

/* Fail-safe: website content must never be hidden if JS or animation APIs fail */
.reveal{opacity:1!important;transform:none!important;}


/* Robust image-slot rendering fix */
.image-slot{position:relative;overflow:hidden;}
.image-slot > .image-slot-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0;}
.image-slot > *:not(.image-slot-img){position:relative;z-index:1;}
