/* V12 — immersive architectural scenes, inspired by the approved reference. */
:root {--scene-radius:38px; --scene-panel:rgba(255,255,255,.94); --scene-shadow:0 12px 36px rgba(20,33,31,.09);}
body.is-home,body.is-inner {background:#f2ede4;}
body .hdr {width:calc(100% - 96px); max-width:1344px; margin:24px auto 0; top:20px; min-height:72px; padding:12px 22px; background:rgba(255,255,255,.92); border:1px solid #fff; border-radius:999px; box-shadow:0 6px 24px #14211f06; backdrop-filter:none;}
body .wm::before {border-radius:50%;}
body .lang-toggle,body .menu-btn {border-radius:999px; border-color:#d9dfdb; background:#fff;}
body .menu a {font-size:.7rem;}
body .btn {border-radius:999px;}
body .btn::after {margin-inline-start:10px;}
body .section-art-panel {border-radius:var(--scene-radius);}
body.is-home .hero {display:block; width:100%; max-width:none; margin:-96px 0 0; min-height:max(900px,100svh); padding:0; border:0; border-radius:0; background:var(--section-art-image) center/cover no-repeat; overflow:hidden; isolation:isolate;}
body.is-home .hero>.section-art-panel {position:absolute; inset:116px 32px 28px; width:auto; height:auto; aspect-ratio:auto; grid-row:auto; margin:0; border:2px solid rgba(255,255,255,.98); border-radius:44px; background:linear-gradient(90deg,rgba(248,246,241,.9),rgba(248,246,241,.72) 30%,transparent 65%),var(--section-art-image) center/cover no-repeat; box-shadow:var(--scene-shadow);}
body.is-home .hero-inner {position:relative; top:auto; z-index:2; width:min(560px,calc(100% - 270px)); max-width:none; margin:0; padding:172px 0 0; margin-inline-start:132px; background:none;}
body.is-home .hero[data-section-art] .hero-inner {background:none;}
body.is-home .hero .scene-label {font-size:.68rem; letter-spacing:.1em; margin:0 0 22px; color:#68402c; max-width:none;}
body.is-home .hero-h1 {font-family:var(--type-face-latin); font-size:clamp(3rem,4.5vw,4.5rem); font-weight:400; letter-spacing:-.055em; line-height:1.04; max-width:15ch; margin:0 0 25px; color:#123b37;}
body.is-home .hero-h1 .hero-line:last-child {font-family:inherit; font-style:normal;}
body.is-home .hero-support {max-width:37ch; margin:0; font-size:1.04rem; line-height:1.7; color:#263b37;}
body.is-home .hero-media {position:absolute; z-index:3; inset:auto 64px 60px auto; width:248px; height:248px; max-width:none; aspect-ratio:1; margin:0; padding:10px; border:1px solid #fff; border-radius:28px; background:var(--scene-panel); box-shadow:var(--scene-shadow); overflow:hidden;}
body.is-home .hero-media picture {height:100%; width:100%; border-radius:18px; overflow:hidden;}
body.is-home .hero-media .hero-art {width:100%; height:100%; object-fit:contain; border-radius:0; transform:none; filter:none;}
body.is-home .hero-work-card {position:absolute; z-index:3; inset:auto auto 60px 132px; width:365px; padding:22px; padding-inline-start:112px; border:1px solid #fff; border-radius:26px; background:var(--scene-panel); box-shadow:var(--scene-shadow);}
body.is-home .hero-work-card::before {content:""; position:absolute; inset:12px auto 12px 12px; width:78px; border-radius:16px; background:url('/assets/sections/v1/03-home-selected-work-768.webp') center/cover;}
body.is-home .hero-work-card .hero-proof {font-size:.65rem; line-height:1.6; color:#52615d; font-weight:400; padding:0; margin:0 0 15px; width:auto; letter-spacing:0; border:0; background:none;}
body.is-home .hero-work-card .hero-ctas {display:flex; flex-direction:column; align-items:stretch; gap:6px;}
body.is-home .hero-work-card .btn {min-height:40px; padding:10px 12px; font-size:.64rem; letter-spacing:0;}
body.is-home .hero-work-card .btn-ghost {border:0; padding:6px 0; justify-content:flex-start; text-transform:none; min-height:32px; background:none; text-decoration:underline; color:#123b37;}
body.is-home .hero-work-card .btn-ghost:hover {color:#914827; background:none;}
body.is-home .scene-rail {display:flex; position:absolute; z-index:4; inset:192px auto auto 49px; width:50px; padding:7px 3px; flex-direction:column; align-items:center; gap:9px; border:1px solid #fff; border-radius:999px; background:rgba(255,255,255,.85); box-shadow:0 6px 24px #14211f05;}
body.is-home .scene-rail a {display:grid; place-items:center; width:42px; height:44px; color:#123b37; border-radius:50%; transition:background .25s,transform .25s;}
body.is-home .scene-rail a:first-child,body.is-home .scene-rail a:hover {background:#fff; transform:translateY(-1px);}
body.is-home .scene-rail svg {width:19px; height:19px;}
/* Each chapter is an image-backed environment with a readable floating panel. */
body.is-home main>.sect[data-section-art] {display:block; position:relative; width:calc(100% - 64px); max-width:1376px; margin:40px auto; min-height:700px; padding:310px 44px 44px; border:2px solid #fff; border-radius:var(--scene-radius); background:var(--section-art-image) center top/100% auto no-repeat,#f2ede4; overflow:hidden; box-shadow:0 8px 30px #14211f04;}
body.is-home main>.sect[data-section-art]>.section-art-panel {display:none;}
body.is-home main>.sect[data-section-art]>.eyebrow,body.is-home main>.sect[data-section-art]>.sect-h,body.is-home main>.sect[data-section-art]>.sect-copy {position:relative; z-index:2; margin:0; padding-inline:36px; background:var(--scene-panel); max-width:none; width:100%;}
body.is-home main>.sect[data-section-art]>.eyebrow {padding-top:34px; padding-bottom:18px; border-radius:26px 26px 0 0;}
body.is-home main>.sect[data-section-art]>.sect-h {padding-bottom:28px; font-weight:400;}
body.is-home main>.sect[data-section-art]>.sect-copy {padding-bottom:28px;}
body.is-home main>.sect[data-section-art]>.sect-more {margin:0; padding:24px 36px 30px; background:var(--scene-panel); border-radius:0 0 26px 26px;}
body.is-home .metrics-grid,body.is-home .case-cards,body.is-home .home-expertise-grid,body.is-home .career-strip,body.is-home .client-marquee,body.is-home .rec-grid,body.is-home .post-grid {position:relative; background:var(--scene-panel); padding:10px 36px 30px; border-radius:0 0 26px 26px; margin:0; width:100%;}
body.is-home .metrics .metrics-grid {grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 34px; border-radius:0;}
body.is-home .metrics .metrics-note {background:var(--scene-panel); padding:0 36px 30px; border-radius:0 0 26px 26px; max-width:none; width:100%;}
body.is-home .metrics .metric {min-height:140px;}
body.is-home .metrics .metric-val {font-size:clamp(1.8rem,2.6vw,2.5rem);}
body.is-home main>.featured-work[data-section-art] {padding-top:340px;}
body.is-home .featured-work .section-intro {display:block; position:relative; width:100%; max-width:none; margin:0; padding:34px 36px 28px; border-radius:26px 26px 0 0; background:var(--scene-panel);}
body.is-home .featured-work .section-intro .eyebrow {margin:0 0 18px;}
body.is-home .featured-work .section-intro .sect-h {max-width:22ch; margin-bottom:22px; font-weight:400;}
body.is-home .featured-work .section-intro .sect-copy {max-width:70ch; font-size:1rem;}
body.is-home .featured-work .case-cards {border-radius:0 0 26px 26px; gap:24px;}
body.is-home .featured-work .case-media {border-radius:18px;}
body.is-home .featured-work .case-card:nth-child(n) .case-media {flex:0 0 auto; min-height:0; height:auto; aspect-ratio:16/10;}
body.is-home .featured-work .case-card {padding-bottom:12px; border-bottom:0;}
/* The pillars remain visible around a wide, translucent discipline panel. */
body.is-home main>.disciplines[data-section-art] {padding-top:350px;}
body.is-home main>.disciplines[data-section-art]>.sect-h {padding-top:34px; border-radius:26px 26px 0 0;}
body.is-home .disc-grid {background:var(--scene-panel); padding:0 36px 30px; border-radius:0 0 26px 26px;}
body.is-home .disc-cols {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px;}
body.is-home .disc {padding-block:22px 0;}
body.is-home .disc p {font-size:.95rem;}
body.is-home .disc h3 {font-size:1.3rem;}
body.is-home .home-expertise-grid {border-radius:0;}
/* Philosophy floats on image06, with quote kept in normal document flow. */
body.is-home main>.manifesto[data-section-art] {min-height:920px; padding:120px 44px 56px; background-size:cover; background-position:center;}
body.is-home .man-grid {display:block; width:min(690px,67%); padding:38px; border:1px solid #fff; border-radius:26px; background:var(--scene-panel); box-shadow:var(--scene-shadow);}
body.is-home .man-grid>.film {display:none;}
body.is-home .man-grid .sect-h {font-weight:400; max-width:20ch;}
body.is-home .manifesto .man-body {font-size:1rem;}
body.is-home .manifesto .pull {font-family:var(--type-face-latin); font-size:1.3rem; font-style:normal;}
/* Terrace timeline and the factual client directory. */
body.is-home .career-strip {border-radius:0;}
body.is-home .career-snapshot .page-actions {padding:4px 36px 30px; background:var(--scene-panel); border-radius:0 0 26px 26px;}
body.is-home .career-strip li {grid-template-columns:150px 1fr;}
body.is-home .client-marquee {border-radius:0;}
body.is-home .client-wall {grid-template-columns:repeat(3,minmax(0,1fr)); margin:0;}
body.is-home .clients .metrics-note {padding:0 36px 30px; background:var(--scene-panel); border-radius:0 0 26px 26px; max-width:none;}
body.is-home .rec-grid {border-radius:0;}
body.is-home .rec-quote {font-family:var(--type-face-latin); font-size:1.2rem;}
body.is-home .rec {padding-block:24px;}
body.is-home .post-grid {border-radius:0;}
body.is-home .post-cover {border-radius:16px;}
body.is-home main>.closing[data-section-art] {display:flex; flex-direction:column; justify-content:center; align-items:flex-start; min-height:800px; padding:80px 7%; background-size:cover; background-position:center;}
body.is-home main>.closing[data-section-art]>.eyebrow,body.is-home main>.closing[data-section-art]>.closing-h,body.is-home main>.closing[data-section-art]>.sect-copy {max-width:680px; width:70%; background:rgba(255,255,255,.92); padding-inline:32px; margin:0;}
body.is-home main>.closing[data-section-art]>.eyebrow {padding-top:32px; border-radius:26px 26px 0 0;}
body.is-home main>.closing[data-section-art]>.closing-h {padding-top:18px; padding-bottom:24px; font-size:clamp(2.5rem,4.2vw,4rem); font-weight:400;}
body.is-home main>.closing[data-section-art]>.sect-copy {padding-bottom:24px;}
body.is-home .closing .hero-ctas {max-width:680px; width:70%; padding:0 32px 32px; background:rgba(255,255,255,.92); border-radius:0 0 26px 26px;}
body.is-home .closing-line-wrap {width:100%; margin-top:60px; padding:22px 26px; border:1px solid #fff; border-radius:22px; background:rgba(255,255,255,.94);}
body .ftr[data-section-art] {margin-top:40px; border-radius:36px 36px 0 0; background:#fff;}
body .contact-dock {border-radius:999px; overflow:hidden; background:rgba(255,255,255,.95);}
body .contact-dock a {background:transparent;}
body.is-home .contact-dock {display:none;}
.js body.is-home :is(.hero-line,.hero-h1,.hero-support,.hero-ctas,.hero-proof,.hero-inner>.scene-label) {opacity:1; animation:none; transform:none;}
body.is-home .hero-work-card,body.is-home .hero-media {animation:scene-rise .65s ease both;}
@keyframes scene-rise {from {transform:translateY(12px);} to {transform:translateY(0);}}
@media(max-width:1100px) {
 body .hdr {width:calc(100% - 64px); padding-inline:18px;}
 body .menu {border-radius:0;}
 body.is-home .hero-inner {margin-inline-start:118px; width:min(510px,calc(100% - 180px)); padding-top:170px;}
 body.is-home .hero-h1 {font-size:3.5rem; max-width:15ch;}
 body.is-home .hero-media {width:205px; height:205px; inset-inline-end:52px;}
 body.is-home .hero-work-card {inset-inline-start:118px; width:345px;}
 body.is-home main>.sect[data-section-art] {padding-inline:28px; padding-top:250px;}
 body.is-home .disc-cols {grid-template-columns:minmax(0,1fr); gap:0;}
 body.is-home .man-grid {width:min(680px,82%);}
}
@media(max-width:760px) {
 body .hdr {width:calc(100% - 32px); margin-top:14px; top:12px; padding:10px 12px; min-height:62px;}
 body.is-home .hero {display:flex; flex-direction:column; min-height:0; margin-top:-76px; padding:128px 32px 38px; gap:24px; background-size:auto 100%; background-position:55% center;}
 body.is-home .hero>.section-art-panel {position:absolute; inset:98px 12px 16px; width:auto; height:auto; margin:0; border-radius:28px; background-image:linear-gradient(180deg,rgba(255,255,255,.65),rgba(255,255,255,.08) 60%),var(--section-art-image); background-position:center,55% center; background-size:cover;}
 body.is-home .hero-inner {position:relative; order:0; width:100%; margin:0; padding:0;}
 body.is-home .hero .scene-label {font-size:.64rem; margin-bottom:20px;}
 body.is-home .hero-h1 {font-size:clamp(2.5rem,10.8vw,3.5rem); max-width:14ch; line-height:1.08; letter-spacing:-.045em;}
 body.is-home .hero-support {font-size:1rem; max-width:33ch;}
 body.is-home .hero-work-card {position:relative; inset:auto; order:2; width:100%; margin:0; padding:22px; padding-inline-start:108px; border-radius:24px;}
 body.is-home .hero-media {position:relative; inset:auto; order:1; align-self:flex-end; width:180px; height:180px; margin:8px 0 4px; padding:8px; border-radius:24px;}
 body.is-home .hero-media picture {border-radius:16px;}
 body.is-home .scene-rail {display:none;}
 body.is-home main>.sect[data-section-art] {width:calc(100% - 24px); max-width:none; min-height:0; margin:24px auto; padding:240px 14px 14px; border-radius:28px; background-size:auto 420px; background-position:center top;}
 body.is-home main>.sect[data-section-art]>.eyebrow,body.is-home main>.sect[data-section-art]>.sect-h,body.is-home main>.sect[data-section-art]>.sect-copy {padding-inline:20px; width:100%; max-width:none;}
 body.is-home main>.sect[data-section-art]>.eyebrow {padding-top:26px; padding-bottom:15px; border-radius:22px 22px 0 0;}
 body.is-home main>.sect[data-section-art]>.sect-h {padding-bottom:22px; font-size:1.9rem;}
 body.is-home main>.sect[data-section-art]>.sect-copy {padding-bottom:24px;}
 body.is-home :is(.metrics-grid,.case-cards,.home-expertise-grid,.career-strip,.client-marquee,.rec-grid,.post-grid) {padding:0 20px 24px; width:100%;}
 body.is-home .metrics .metrics-grid {grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px;}
 body.is-home .metrics .metric {min-height:122px;}
 body.is-home .metrics .metric-val {font-size:1.5rem;}
 html[dir="rtl"] body.is-home .metrics .metric-val {white-space:normal; overflow-wrap:normal; font-size:1.4rem; line-height:1.35;}
 body.is-home .metrics .metrics-note,body.is-home .clients .metrics-note {padding:0 20px 26px;}
 body.is-home main>.featured-work[data-section-art],body.is-home main>.disciplines[data-section-art] {padding-top:240px;}
 body.is-home .featured-work .section-intro {padding:26px 20px 24px; border-radius:22px 22px 0 0;}
 body.is-home .featured-work .section-intro .sect-h {font-size:1.9rem;}
 body.is-home .featured-work .case-cards {gap:34px;}
 body.is-home main>.disciplines[data-section-art]>.sect-h {padding-top:26px; border-radius:22px 22px 0 0;}
 body.is-home .disc-grid {padding:0 20px 24px;}
 body.is-home .disc-cols {grid-template-columns:minmax(0,1fr);}
 body.is-home main>.manifesto[data-section-art] {min-height:0; padding:240px 14px 14px; background-size:auto 500px; background-position:center top;}
 body.is-home .man-grid {width:100%; padding:26px 20px; border-radius:22px;}
 body.is-home .man-grid .sect-h {font-size:1.9rem;}
 body.is-home .career-snapshot .page-actions {padding:0 20px 26px;}
 body.is-home .career-strip li {grid-template-columns:minmax(0,1fr); gap:6px;}
 body.is-home .career-strip time,body.is-home .career-strip strong,body.is-home .career-strip span {grid-column:1; grid-row:auto;}
 body.is-home .client-wall {grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px;}
 body.is-home .rec-quote {font-size:1.05rem;}
 body.is-home main>.sect[data-section-art]>.sect-more {padding:8px 20px 26px; border-radius:0 0 22px 22px;}
 body.is-home main>.closing[data-section-art] {min-height:0; padding:280px 14px 14px; background-size:auto 520px; background-position:center top;}
 body.is-home main>.closing[data-section-art]>.eyebrow,body.is-home main>.closing[data-section-art]>.closing-h,body.is-home main>.closing[data-section-art]>.sect-copy {width:100%; padding-inline:20px;}
 body.is-home main>.closing[data-section-art]>.closing-h {font-size:2.2rem;}
 body.is-home .closing .hero-ctas {width:100%; padding:0 20px 26px;}
 body.is-home .closing-line-wrap {margin-top:20px; padding:22px 20px;}
 body .ftr[data-section-art] {border-radius:28px 28px 0 0; margin-top:24px;}
 body .contact-dock {border-radius:999px;}
}
html[dir="rtl"] body.is-home .hero {direction:rtl;}
html[dir="rtl"] body.is-home .hero>.section-art-panel {background-image:linear-gradient(270deg,rgba(248,246,241,.9),rgba(248,246,241,.72) 30%,transparent 65%),var(--section-art-image);}
html[dir="rtl"] body.is-home .hero-media {inset-inline-end:64px; inset-inline-start:auto;}
html[dir="rtl"] body.is-home .hero-work-card {inset-inline-start:132px; inset-inline-end:auto;}
html[dir="rtl"] body.is-home .hero-work-card::before {inset-inline-start:12px; inset-inline-end:auto;}
html[dir="rtl"] body.is-home .scene-rail {inset-inline-start:49px; inset-inline-end:auto;}
html[dir="rtl"] body.is-home .hero-h1 {font-family:var(--type-face-arabic); font-size:clamp(3rem,4.3vw,4.5rem); line-height:1.25; letter-spacing:0;}
html[dir="rtl"] body.is-home .hero-h1 .hero-line:last-child {font-family:inherit;}
html[dir="rtl"] body.is-home .metrics .metric-val {white-space:normal; overflow-wrap:normal; max-width:100%;}
@media(max-width:1100px) {html[dir="rtl"] body.is-home .hero-work-card {inset-inline-start:118px;} html[dir="rtl"] body.is-home .hero-media {inset-inline-end:52px;}}
@media(max-width:760px) {html[dir="rtl"] body.is-home .hero-work-card,html[dir="rtl"] body.is-home .hero-media {inset:auto;} html[dir="rtl"] body.is-home .hero-h1 {font-size:clamp(2.5rem,10.8vw,3.5rem);} html[dir="rtl"] body.is-home .hero>.section-art-panel {background-image:linear-gradient(180deg,rgba(255,255,255,.65),rgba(255,255,255,.08) 60%),var(--section-art-image);}}
@media(prefers-reduced-motion:reduce) {body * {scroll-behavior:auto!important;}}
@media(max-width:359px) {body.is-home .metrics .metrics-grid,body.is-home .client-wall {grid-template-columns:minmax(0,1fr);} body.is-home .hero-h1 {font-size:2.3rem;} body.is-home .hero-work-card {padding-inline-start:100px;} body.is-home .hero-work-card::before {width:68px;}}
@media print {body .hdr,body .scene-rail,body .contact-dock {display:none!important;} body.is-home .hero,body.is-home main>.sect[data-section-art] {background:#fff; min-height:0; margin:0; padding:20px; width:100%; border:0;} body.is-home .hero-inner,body.is-home .hero-work-card,body.is-home .hero-media {position:static; inset:auto; margin:0; width:auto; padding:0; background:none; box-shadow:none;} body .section-art-panel {display:none!important;}}
