/* The ecosystem owns its grid; the rest of the one-page layout is unchanged. */
.hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:54px;align-items:center;min-height:700px;padding-block:62px 85px}.hero-copy{max-width:530px}.hero h1{font-size:clamp(48px,5.1vw,72px)}.hero-description{max-width:470px}.hero-tagline{max-width:470px}.hero .scroll-link{position:absolute;bottom:24px;left:0;margin:0;display:flex}
.office-ecosystem{width:100%;max-width:none;margin:0;padding:0}.office-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.office-heading h2{margin:0;font:10px/1.5 var(--mono);letter-spacing:1.1px;color:var(--muted)}.office-motion{min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:transparent;font-size:12px;color:var(--muted);cursor:pointer}.office-motion:hover{border-color:var(--accent);color:var(--text)}
.office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;background:transparent;border:0;border-radius:0}.office-card{position:relative;min-width:0;overflow:hidden;border:0;background:transparent;border-radius:0}.office-view{position:relative;display:block;padding:0;width:100%;aspect-ratio:8/5;border:0;background:transparent;cursor:pointer;overflow:hidden;isolation:isolate;touch-action:pan-x pan-y}.office-view canvas,.office-poster{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;pointer-events:none}.office-poster{opacity:0}.office-poster.loaded{opacity:1}.office-card.rendered .office-poster{opacity:0}.office-view canvas{opacity:0}.office-card.rendered canvas{opacity:1}.office-view:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}.room-speech{position:absolute;z-index:2;left:12px;right:12px;top:12px;width:fit-content;max-width:calc(100% - 24px);margin:auto;padding:10px 13px;background:#edf8f6;color:#143b42;border:1px solid #84b9b7;border-radius:5px;font-size:13px;line-height:1.45;font-weight:500;text-align:center;opacity:0;transform:translateY(3px);transition:opacity .25s ease,transform .25s ease;pointer-events:none;box-shadow:0 5px 18px #00141d33}.room-speech:after{content:'';position:absolute;bottom:-5px;left:50%;width:8px;height:8px;background:#edf8f6;border-bottom:1px solid #84b9b7;border-right:1px solid #84b9b7;transform:rotate(45deg)}.greeting .room-speech{opacity:1;transform:none}.office-footnote{display:flex;justify-content:space-between;gap:20px;margin:20px 0 0;font:10px/1.7 var(--mono);letter-spacing:.7px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.office-carousel{display:none}

@media(max-width:1100px){.hero{gap:30px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.hero h1{font-size:clamp(46px,5vw,60px)}.office-heading h2{font-size:9px;letter-spacing:.6px}.office-footnote{font-size:9px;letter-spacing:.2px}.room-speech{font-size:12px;padding:8px;top:8px;left:8px;right:8px;max-width:calc(100% - 16px)}}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:38px;padding-top:45px;padding-bottom:72px}.hero-copy{max-width:600px}.hero h1{font-size:clamp(48px,7vw,68px)}.office-ecosystem{width:100%;max-width:660px;margin:0 auto}.office-heading h2{font-size:11px}.office-grid{gap:0;padding:0}.office-footnote{font-size:10px}}
@media(max-width:600px){.office-grid{display:flex;gap:0;padding:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y}.office-card{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}.office-carousel{display:flex;align-items:center;gap:12px;margin-top:10px}.office-carousel button{width:44px;min-height:44px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font-size:21px}.office-carousel button:disabled{opacity:.35;cursor:default}.office-carousel button:last-child{margin-left:auto}#office-position{font:12px var(--mono);color:var(--text)}.swipe-hint{font-size:12px;color:var(--muted)}.office-footnote{display:none}.hero h1{font-size:clamp(44px,11vw,58px)}.office-heading h2{font-size:10px;letter-spacing:.5px}.office-footnote{font-size:9px}.room-speech{font-size:14px;top:12px;padding:10px 12px}.hero-copy{max-width:100%}}
@media(prefers-reduced-motion:reduce){.room-speech{transition:none;transform:none}}

.office-grid::-webkit-scrollbar{display:none}
