/* Shared visitor layout: fit laptop height and cap wide desktop content. */
.mobile-menu-toggle,.mobile-menu-panel{display:none}
.mobile-menu-panel[hidden]{display:none!important}
html{scroll-padding-top:76px}
body{width:100%;max-width:1440px;margin-inline:auto}
header,.about-theme header{height:76px}
.brand-logo{width:180px;max-width:100%}
img{max-width:100%}
.section,.a-story,.a-leadership{padding:clamp(52px,5vw,76px) clamp(24px,6vw,86px)}
h1{font-size:clamp(42px,4.4vw,66px);letter-spacing:-2px}
h2{font-size:clamp(34px,3.4vw,49px);letter-spacing:-1.8px}
.eyebrow{margin-bottom:20px}
.section-heading{gap:30px;margin-bottom:26px}
.gallery-grid{gap:30px 24px}
.image-wrap{height:auto;aspect-ratio:1.6}
.living-gallery .image-wrap{height:auto;aspect-ratio:1.55}
.living-heading{padding-bottom:24px}
.living-heading .eyebrow{margin-top:28px}
.living-gallery{padding-top:12px}
.caption h3,#designs .caption h3{font-size:clamp(20px,1.7vw,24px)}
.service-columns,.about-grid,.contact{gap:clamp(28px,4vw,60px)}
.service-columns h3{font-size:clamp(27px,2.4vw,34px)}
.steps{gap:24px;margin-top:34px}
.steps h3{font-size:16px;margin-top:18px}
.contact form{padding:28px}
.trust{padding-block:18px}
.phone{font-size:21px;margin-top:26px}
.site-footer{padding-top:46px}
.footer-columns{gap:40px}
.footer-location iframe{height:165px}
.footer-logo{width:190px}
.projects-pending{min-height:480px}
.hero-immersive{min-height:clamp(480px,72svh,620px)}
.hero-immersive .hero-copy{padding:56px 6% 82px}
.hero-immersive h1{font-size:clamp(46px,5.1vw,74px);max-width:780px}
.hero-immersive .intro{font-size:15px}
.hero-immersive .eyebrow{font-size:11px;letter-spacing:2.4px}
.hero-immersive .hero-foot{margin-top:30px}
.hero-scroll{left:6%;bottom:22px}
.motion-toggle{right:6%;bottom:22px}
.a-hero{min-height:clamp(500px,76svh,640px);padding:28px 6%}
.a-hero-title{margin:36px 0 44px;max-width:900px}
.a-hero h1{font-size:clamp(44px,5.1vw,74px)}
.a-story-grid{gap:50px}
.a-story-grid h2,.a-leadership-heading h2,.a-closing h2{font-size:clamp(36px,3.7vw,53px)}
.a-section-index{margin-bottom:38px}
.a-person{gap:clamp(32px,5vw,72px)}
.a-person-story h2{font-size:clamp(32px,3vw,43px)}
.a-person+.a-person{margin-top:64px;padding-top:64px}
.a-portrait-inner,.a-portrait-placeholder{width:min(100%,280px)}
.a-person-caption h3{font-size:28px}
.a-leadership-heading{margin-bottom:48px}
.a-closing{padding:66px 6%;min-height:350px}
@media(min-width:701px) and (max-height:800px){
 header,.about-theme header{height:68px}
 .hero-immersive{min-height:480px}
 .hero-immersive .hero-copy{padding-top:38px;padding-bottom:76px}
 .hero-immersive h1{font-size:clamp(44px,4.8vw,66px);margin-bottom:20px}
 .hero-immersive .actions{margin-top:24px}
 .hero-immersive .hero-foot{margin-top:24px}
 .a-hero{min-height:500px}
}
@media(min-width:701px) and (max-width:1100px){
 nav{gap:18px}.brand-logo{width:165px}
 .caption,#designs .caption{display:block}
 .caption span{display:block;margin-top:7px}
 .footer-columns{gap:28px}
}
@media(max-width:700px){
 header{position:relative;z-index:50}
 header>.button.small{display:none}
 .mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:46px;height:46px;padding:10px;border:0;border-radius:0;background:transparent;color:var(--teal);box-shadow:none}
 .mobile-menu-toggle span{display:block;width:20px;height:1.5px;border-radius:1px;background:currentColor;transition:transform .25s ease}
 .mobile-menu-toggle span:nth-child(2){display:none}
 .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(3.75px) rotate(45deg)}
 .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-3.75px) rotate(-45deg)}
 header .mobile-menu-panel{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;gap:0;padding:22px 9% 38px;background:var(--paper);color:var(--teal);border:0;box-shadow:none;max-height:calc(100svh - 70px);overflow-y:auto;transform-origin:top;animation:mobile-menu-drop .28s cubic-bezier(.2,.65,.3,1) both}
 .mobile-menu-panel a{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:8px 0;font-family:'DM Sans',sans-serif;font-size:27px;font-weight:500;letter-spacing:-.8px;line-height:1.35;border:0}
 .mobile-menu-panel a:last-child{border-bottom:0}
 header,.about-theme header{height:70px}
 .brand-logo{width:156px}
 .section,.a-story,.a-leadership{padding:52px 6%}
 h1,.living-heading h1{font-size:clamp(36px,9vw,49px)}
 h2{font-size:clamp(32px,8vw,42px)}
 .hero-immersive{min-height:590px}
 .hero-immersive .hero-copy{padding:48px 6% 90px}
 .hero-immersive h1{font-size:clamp(39px,10vw,55px);letter-spacing:-1.7px}
 .hero-immersive .intro{font-size:14px}
 .hero-immersive .eyebrow{font-size:9px;letter-spacing:2px}
 .hero-immersive .hero-foot{margin-top:30px}
 .hero-immersive .actions{gap:20px}
 .image-wrap,.living-gallery .image-wrap{height:auto;aspect-ratio:1.4}
 .contact form{padding:24px 20px}
 .contact input,.contact select{font-size:16px}
 .contact label{font-size:12px}
 .a-hero{min-height:580px}
 .a-hero h1{font-size:clamp(39px,10vw,51px)}
 .a-hero-title{margin:44px 0}
 .a-person-story h2{font-size:35px}
 .a-portrait-inner,.a-portrait-placeholder{width:min(100%,260px)}
 .a-person+.a-person{margin-top:48px;padding-top:48px}
 .living-gallery{padding-top:12px}.living-heading{padding-bottom:24px}
 .site-footer{padding-top:40px}
}
@keyframes mobile-menu-drop{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){header .mobile-menu-panel{animation:none}.mobile-menu-toggle span{transition:none}}

/* The next content layer scrolls over the pinned opening scene. */
.hero-immersive{position:sticky;top:0;z-index:0}
.hero-immersive .hero-copy{transform:translate3d(0,calc(var(--hero-scroll,0) * -42px),0);opacity:calc(1 - var(--hero-scroll,0) * .55)}
.hero-immersive .hero-backdrops{filter:brightness(calc(1 - var(--hero-scroll,0) * .2))}
.hero-immersive~*{position:relative;z-index:2}
.hero-immersive~.trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:28px 6%;background:var(--paper);border-radius:22px 22px 0 0;border-top:0;box-shadow:0 -15px 40px #07181b26;align-items:center;text-align:center}
.trust>span,.trust>span:first-child{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;line-height:1.5;letter-spacing:0}
#designs,.hero-immersive~.faq{background:var(--paper)}
.hero-immersive~.faq{width:100%;max-width:none;margin:0;padding-inline:max(6%,calc((100% - 860px)/2));isolation:isolate}
@media(max-width:700px){
 .hero-immersive~.trust{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;padding:26px 6%;text-align:left;border-radius:18px 18px 0 0}
 .trust>span,.trust>span:first-child{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
 .hero-immersive{position:relative}
 .hero-immersive .hero-copy{transform:none;opacity:1}
 .hero-immersive .hero-backdrops{filter:none}
}
