/* Panoramic hero: reference composition, with the real office district retained. */
.hero.section-shell{display:flex;flex-direction:row;align-items:center;position:relative;isolation:isolate;width:100%;max-width:none;min-height:calc(100svh - var(--header-height,88px));padding:60px 5.5vw 70px;gap:0;overflow:hidden}
.hero-copy{display:block;position:relative;z-index:2;width:min(43vw,600px);max-width:none;padding:0;pointer-events:none}
.hero-copy a{pointer-events:auto}
.hero-copy>.eyebrow{font-size:.72rem;margin:0 0 20px;letter-spacing:.2em}
.hero h1{font-size:clamp(2.7rem,4.1vw,4.5rem);line-height:1.35;letter-spacing:.055em;margin:0 0 24px}
.hero h1 br{display:block}.hero h1 .tea{margin:0}
.hero h1 .tea{color:#61764e}
.hero h1 .gold{color:#ac8451}
.hero .service-line{font-size:clamp(.85rem,1.05vw,1rem);margin:0 0 13px;line-height:1.8}
.hero-intro{font-size:clamp(.87rem,1.05vw,1rem);line-height:1.95;max-width:420px;margin:0}
.hero-intro br{display:none}
.hero-actions{margin:30px 0 0;gap:28px;flex-wrap:wrap}
.hero-foot{display:none}
.hero .city-model-host{position:absolute;z-index:0;top:0;bottom:0;right:-12vw;width:88vw;max-width:none;height:100%;margin:0;border:0;background:transparent}
.hero .city-model-host .city-model-stage{width:100%;height:100%;min-height:0;max-height:none;isolation:auto}
.hero .city-model-stage.is-3d .city-model-canvas{opacity:var(--city-scene-opacity,1)}
.hero .city-model-stage.no-3d .city-model-poster{opacity:var(--city-scene-opacity,1)}
.hero:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,#f5f3ec 0%,#f5f3ecf5 22%,#f5f3ecba 36%,#f5f3ec00 57%)}
/* Leave the permanent address / leader above the soft text-side fade. */
.hero .city-model-host:has(.city-marker){z-index:auto}
.hero .city-marker{z-index:3}
.intro-strip{grid-template-columns:1fr 1.15fr 1.3fr;gap:28px}
.intro-strip>p{grid-column:auto}
.intro-strip>div{gap:22px;padding-left:28px}
.intro-strip strong{font-family:var(--sans);font-size:clamp(2.4rem,3.3vw,3.4rem);font-weight:400;letter-spacing:-.035em;line-height:1;color:#e1bf7c}
.intro-strip div>span{font-size:clamp(1.02rem,1.35vw,1.2rem);font-weight:600;line-height:1.8;max-width:280px;color:#e1bf7c}
html[lang=en] .hero h1{font-family:var(--sans);font-size:clamp(2.5rem,4vw,4.3rem);line-height:1.16;letter-spacing:-.035em}
html[lang=en] .hero-poetry{max-width:410px;font-size:.95rem;line-height:1.8;margin:-4px 0 18px}
@media(min-width:1600px){.hero-copy{width:600px}.hero.section-shell{padding-left:max(5.5vw,calc((100vw - 1600px)/2))}}
@media(min-width:900px) and (max-height:720px){.hero.section-shell{min-height:620px;padding-block:42px}.hero h1{font-size:3rem}.hero-copy>.eyebrow{margin-bottom:12px}.hero-actions{margin-top:24px}}
@media(max-width:1100px){.intro-strip{gap:22px;grid-template-columns:.95fr 1.15fr 1.3fr}.intro-strip>div{gap:15px;padding-left:22px}.intro-strip strong{font-size:2.5rem}.intro-strip div>span{font-size:1rem}.intro-strip>p{font-size:1rem}}
@media(max-width:899px){
 .hero.section-shell{display:flex;flex-direction:column;align-items:stretch;padding:38px var(--gutter) 0;min-height:0;gap:0}
 .hero-copy{width:100%;max-width:630px;padding:0}.hero h1{font-size:clamp(2.5rem,6.8vw,3.5rem);line-height:1.38}.hero h1 br{display:none}.hero h1 .tea{margin-right:.5em}
 .hero .service-line{font-size:.96rem}.hero-intro{font-size:.96rem;max-width:570px}.hero-actions{margin-top:24px}
 .hero .city-model-host{position:relative;top:auto;right:auto;bottom:auto;width:calc(100% + 2 * var(--gutter));height:auto;margin:10px calc(-1 * var(--gutter)) 0}
 .hero .city-model-host .city-model-stage{height:clamp(440px,69svh,680px)}
 .hero:before{display:none}
 .intro-strip{grid-template-columns:1fr 1fr}.intro-strip>p{grid-column:1/-1}.intro-strip>div{border:0;padding-left:0}.intro-strip>div:nth-of-type(2){padding-left:22px;border-left:1px solid #ffffff26}
}
@media(max-width:540px){
 .hero h1{font-size:clamp(2rem,7.8vw,2.7rem);letter-spacing:.02em}.hero h1 .tea{margin-right:.25em}.hero-copy>.eyebrow{font-size:.65rem;margin-bottom:18px}
 .hero .service-line{font-size:.88rem}.hero-intro{font-size:.91rem}.hero-actions{gap:22px;margin-top:24px}
 .hero .city-model-host .city-model-stage{height:clamp(425px,63svh,540px)}
 .intro-strip{grid-template-columns:1fr;gap:22px;padding-block:28px}.intro-strip>p{grid-column:auto}.intro-strip>div,.intro-strip>div:nth-of-type(2){padding:20px 0 0;border:0;border-top:1px solid #ffffff26;min-height:0;gap:26px}
 .intro-strip strong{min-width:110px;font-size:2.8rem}.intro-strip div>span{max-width:235px;font-size:1.04rem}
 html[lang=en] .hero h1{font-size:2.7rem}html[lang=en] .hero h1 br{display:block}
}
