/* Photo-first phone layouts; desktop composition remains in the shared styles. */
.mobile-menu-toggle{display:none}
.mobile-reading-detail>summary{list-style:none;pointer-events:none}
.mobile-reading-detail>summary::-webkit-details-marker{display:none}
@media(max-width:700px){
 header{min-height:88px!important;height:auto!important;padding:10px 5%!important;gap:12px!important;flex-wrap:wrap!important}
 header .brand{margin-right:auto}header .brand img{width:170px!important;height:66px!important;object-fit:contain}
 header>.button.small{display:none!important}
 .mobile-menu-toggle{display:block;border:1px solid #d7d7d0;border-radius:24px;background:white;color:#171817;padding:12px 17px;font-size:15px;min-height:44px}
 header nav{display:none!important}
 header.mobile-menu-open nav{display:flex!important;order:3;flex-direction:column;align-items:stretch;width:100%;padding:16px 0;gap:0!important;max-height:calc(100svh - 110px);overflow:auto}
 header.mobile-menu-open nav>a,header.mobile-menu-open .services-menu>summary{display:flex!important;padding:14px 8px;font-size:16px!important;border-bottom:1px solid #eee}
 header.mobile-menu-open .services-dropdown{position:static!important;max-height:none!important;width:100%!important;box-shadow:none;border:0;border-radius:0;background:#f7f7f5;padding:4px 12px}
 header .services-dropdown a{min-height:44px}
 html{scroll-padding-top:105px}
 /* The complete photograph leads each page, without a text wash. */
 .hero-full .hero-stage{display:flex;flex-direction:column;min-height:0;overflow:visible}
 .hero-full .hero-image{position:relative;inset:auto;z-index:auto;width:100%;min-height:0;border-radius:0}
 .hero-full .hero-image img{position:static;display:block;width:100%;height:auto;object-fit:contain}
 .hero-full .hero-stage::before,.service-page .service-hero::before,.whole-home .control-hero::before,.company-hero::before{display:none}
 .hero-full .intro{padding:26px 6% 30px;width:100%}
 .hero-full .intro h1{font-size:clamp(34px,9vw,46px);letter-spacing:-1.8px;margin-bottom:16px}
 .hero-full .intro .eyebrow{font-size:12px;margin-bottom:14px}
 .hero-full .intro p{font-size:16px;line-height:1.55;margin:0 0 20px}
 .hero-scroll,.hero-foot{display:none!important}
 .service-page .service-hero,.whole-home .control-hero,.commercial-page .company-hero,.company-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:0!important;background:white;color:#171817}
 .service-hero .service-lead{display:contents}
 .service-hero .service-image{position:relative;inset:auto;order:-2;z-index:auto;margin:0;width:100%;min-height:0;border-radius:0}
 .service-hero .service-image img,.company-hero-image{position:static;display:block;inset:auto;width:100%;height:auto;min-height:0;object-fit:contain;z-index:auto}
 .company-hero-image{order:-2}
 .service-hero .service-lead>div,.company-hero-copy{padding:24px 6% 30px!important;max-width:none}
 .service-page .service-hero .breadcrumbs,.whole-home .control-hero .breadcrumbs{order:-1;padding:16px 6% 0;margin:0;font-size:12px;color:#646664}
 .commercial-hero .breadcrumbs{font-size:12px;margin:0 0 18px}
 .service-hero .service-lead h1,.commercial-page .company-hero-copy h1,.company-hero h1,.whole-home .control-hero h1{font-size:clamp(34px,9vw,44px);line-height:1.08;letter-spacing:-1.7px;margin:0 0 16px}
 .service-hero .service-lead>div>p,.commercial-page .company-hero-copy p,.company-hero p,.whole-home .control-hero>p{font-size:16px;line-height:1.55;color:#505650;margin:0 0 22px}
 .service-theater .service-hero .eyebrow{color:#876115}
 .service-hero .eyebrow,.company-hero .eyebrow{font-size:12px;line-height:1.5;margin-bottom:14px}
 .whole-home .control-hero::after{position:relative;inset:auto;z-index:auto;order:-2;display:block;width:100%;aspect-ratio:1672/941;background-size:contain;background-color:#f5f5f2}
 .whole-home .control-hero>h1,.whole-home .control-hero>p,.whole-home .control-hero>.eyebrow{margin-left:6%;margin-right:6%}
 .whole-home .control-hero>.eyebrow{margin-top:22px;margin-bottom:14px;font-size:12px}
 .whole-home .control-hero>.button{align-self:flex-start;margin:0 6% 30px}
 .section,.commercial-page .section{padding:44px 6%}
 .section-heading{display:block;margin-bottom:24px}.section-heading>p{margin-top:14px;font-size:16px}
 h2{font-size:32px;letter-spacing:-1.2px}h3{font-size:24px}
 .button{padding:15px 20px;font-size:14px;min-height:48px}
 .scene-section{padding-left:0;padding-right:0}.scene-section>.section-heading{padding:0 6%}
 .scene-layout{display:flex;flex-direction:column;border-radius:0;min-height:0}.scene-visual{width:100%;min-height:0!important}
 .scene-controls{padding:22px 6%}.scene-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.scene-tabs button{font-size:14px;min-height:44px;padding:10px}
 .scene-badge{left:16px;bottom:14px;gap:4px}.scene-badge strong{font-size:20px}.scene-badge span{font-size:12px}.scene-visual .simulation{display:none}
 .scene-details dl{margin:16px 0}.demo-controls{margin:14px 0;padding-top:14px}.demo-controls label{margin:12px 0}.demo-note{font-size:14px}
 .solution-grid,.commercial-grid{grid-template-columns:1fr;gap:0}
 .solution-card,.commercial-card{padding:0;border-top:1px solid #ddd}
 .solution-card>.number,.commercial-card>.number{display:none}
 .mobile-reading-detail>summary{pointer-events:auto;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;min-height:60px}
 .mobile-reading-detail>summary:after{content:'+';font-size:24px;color:#876115}
 .mobile-reading-detail[open]>summary:after{content:'−'}
 .mobile-reading-detail>summary h3{font-size:22px;margin:0!important}
 .mobile-reading-detail>p{font-size:16px;line-height:1.6;margin:0 0 22px!important}
 .service-image:not(.service-hero .service-image) img,.control-gallery img{height:auto!important;min-height:0!important;object-fit:contain}
 .founder-story p,.founder-partnership p{font-size:16px;line-height:1.65}
 .commercial-jump{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding:16px 6%}
 .size-table{overflow-x:auto}.size-table table{min-width:480px}
 .experience-stage{border-radius:0}.demo-caption p{font-size:16px}
}

.mobile-hero-description{display:none}
@media(max-width:700px){.desktop-hero-description{display:none}.mobile-hero-description{display:inline}}
@media(max-width:700px){.hero-full .hero-image img,.service-hero .service-image img,.company-hero-image{aspect-ratio:auto}.service-hero .service-image{aspect-ratio:auto}.service-theater .service-hero .breadcrumbs{color:#646664}}
