/* Refinement of the approved moodboard; no new visual system. */
html{scroll-padding-top:100px}section[id],a[id]{scroll-margin-top:100px}
.header,.header.on-dark,.header.on-light{position:sticky;top:0;width:100%;max-width:none;z-index:20;transition:background .2s,border-color .2s;border-bottom:1px solid transparent}
.header.on-dark{position:fixed;background:linear-gradient(#1112109e,transparent)}
.header.is-scrolled,.header.menu-open{background:#f9f8f5fa;color:#141615;border-color:#e6e4df}
.header.on-dark.is-scrolled .official-logo,.header.on-dark.menu-open .official-logo{filter:none}
.header.on-dark.is-scrolled .header-cta,.header.on-dark.menu-open .header-cta{background:#111;color:#fff}
.language-switch{display:flex;gap:2px;align-items:center;flex-shrink:0}
.language-switch a{display:grid;place-items:center;min-width:38px;min-height:44px;font-size:11px;opacity:.7}
.language-switch [aria-current]{opacity:1;text-decoration:underline;text-underline-offset:6px;font-weight:700}
.header-cta{margin-left:0}.button.tiny{min-height:44px}.desktop-nav{gap:22px}
.menu-toggle{cursor:pointer}.menu-toggle span{transition:transform .2s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-nav{max-height:calc(100dvh - 72px);overflow-y:auto;padding-bottom:max(24px,env(safe-area-inset-bottom));box-shadow:none;border-bottom:1px solid var(--border)}
.mobile-nav a{min-height:44px;display:flex;align-items:center}.mobile-languages{display:flex;gap:24px;border-top:1px solid var(--border);padding-top:12px}
body.menu-open{overflow:hidden}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid #9b6400;outline-offset:5px}
.on-dark a:focus-visible,.hero a:focus-visible,.feature a:focus-visible,.feature button:focus-visible{outline-color:#f9d68c}
.text-link,.under-link,.footer-menu a{min-height:44px;align-content:center}.button{transition:background .2s,color .2s,transform .2s}.button>span{transition:transform .2s}
.button:hover{transform:translateY(-1px)}.button.dark:hover{background:#373a34}.button.light:hover{background:#eeece6}.button.outlined:hover{background:#ffffff12}
.hero-photo{background:none;filter:none;inset:0}.hero-photo>img,.hero-photo>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none}
.hero-photo>video{opacity:0;transition:opacity .3s}.hero-photo>video.is-playing{opacity:1}
.hero-gradient{pointer-events:none;background:linear-gradient(90deg,#11120ff5 0%,#11120fe8 28%,#11120fc2 46%,#11120f24 100%),linear-gradient(0deg,#11120f88,transparent 45%)}
.hero-video-toggle{position:absolute;bottom:34px;right:var(--edge);z-index:2;border:1px solid #ffffff80;background:#111210db;color:white;border-radius:30px;padding:10px 16px;font:inherit;font-size:12px;min-height:44px;cursor:pointer}
.brand-intro{animation:brand-intro .9s cubic-bezier(.22,1,.36,1) both}
@keyframes brand-intro{from{opacity:.35;clip-path:inset(0 0 60% 0);transform:translateY(4px)}to{opacity:1;clip-path:inset(0);transform:none}}
.services-home.section{padding-block:64px 66px}.services-home .split-intro{gap:52px;margin:18px 0 30px}.services-home .split-intro h2{font-size:clamp(36px,3.5vw,54px)}
.services-home .service-card{min-height:310px;padding:18px 16px 14px;border:1px solid #e6e4df;transition:border-color .2s,background .2s;transform:none}
.services-home .service-card:hover,.services-home .service-card:focus-visible{transform:none;box-shadow:none;border-color:#8c8f86;background:#f1f0eb}
.services-home .service-card h3{font-size:18px;min-height:44px;margin:12px 0 10px;letter-spacing:-.03em;line-height:1.2}
.services-home .service-card p{font-size:13px;line-height:1.5;color:#55594f}.services-home .service-card>img{height:112px;margin-top:16px;object-fit:cover}
.services-home .under-link{margin-top:10px}.service-row:hover{background:#eeede8}.filter-pills button{min-height:44px}
.privacy{max-width:900px;padding-block:80px}.privacy h1{font-size:clamp(38px,5vw,64px);margin-bottom:30px}.privacy p{font-size:15px;line-height:1.75;margin-block:16px;color:#51534d}.privacy h2{font-size:25px;line-height:1.25;margin-top:36px}.privacy p a{text-decoration:underline;text-underline-offset:4px}.privacy .button{background:#111;color:white;margin-top:24px}
.not-found{padding-block:100px;min-height:50vh}.not-found h1{font-size:48px}.not-found p{margin-block:24px}
@media(max-width:1100px){.header{gap:16px}.desktop-nav{gap:14px}.header-cta{display:none}.hero-gradient{background:linear-gradient(90deg,#11120ff5,#11120fc9 50%,#11120f50)}}
@media(max-width:760px){html{scroll-padding-top:88px}.header{gap:12px}.language-switch{margin-left:auto}.language-switch a{min-width:34px}.menu-toggle{margin-left:0;min-height:44px}.services-home.section{padding-block:46px 48px}.services-home .split-intro{margin-bottom:24px}.services-home .split-intro>div{margin-top:16px}.services-home .service-card{min-height:298px;padding:16px 13px 12px}.services-home .service-card h3{font-size:17px}.services-home .service-card p{font-size:13px}.services-home .service-card>img{height:105px}.hero-photo>img,.hero-photo>video{object-position:62% center}.hero-gradient{background:linear-gradient(90deg,#11120fed,#11120fc4 65%,#11120f75),linear-gradient(0deg,#11120ff2,transparent 80%)}.hero-video-toggle{bottom:17px;font-size:11px;padding:8px 12px}.hero-layout{padding-bottom:80px}.hero,.hero-layout{min-height:740px}.hero-main p{font-size:15px;line-height:1.6}.hero-trust{margin-top:32px}.mobile-nav.open{gap:4px}.service-row p{font-size:13px;line-height:1.5}.service-row h2{font-size:19px}.service-row{padding-block:22px}.service-row .list-num{align-self:start}.privacy{padding-block:56px}}
@media(max-width:360px){.header{gap:5px}.brand .official-logo{width:128px}.language-switch a{min-width:30px}.services-home .service-grid{grid-template-columns:1fr}.services-home .service-card{min-height:0;display:grid;grid-template-columns:1fr 100px;gap:0 12px}.services-home .service-card small,.services-home .service-card h3,.services-home .service-card p{grid-column:1}.services-home .service-card h3{min-height:0}.services-home .service-card>img{grid-column:2;grid-row:1/4;margin:0;align-self:center}.service-row{grid-template-columns:18px 1fr}.service-row>img{display:none}.hero-actions{flex-wrap:wrap;gap:10px 18px}}
@media(prefers-reduced-motion:reduce){.brand-intro{animation:none}.hero-photo>video{display:none}.header,.hero-photo>video{transition:none}}
[data-cms-block]{white-space:pre-line}
/* Complete the two-column mobile grid with one balanced, compact final card. */
@media(min-width:361px) and (max-width:760px){.services-home .service-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 42%;gap:0 20px;min-height:210px;align-content:center}.services-home .service-card:last-child small,.services-home .service-card:last-child h3,.services-home .service-card:last-child p{grid-column:1}.services-home .service-card:last-child h3{min-height:0}.services-home .service-card:last-child>img{grid-column:2;grid-row:1/4;align-self:center;height:auto;aspect-ratio:1.3;margin:0}}
/* About page: retain the workspace portrait and frame the abstract editorial image. */
.about-side img{object-position:61% 48%}
.about-editorial .about-photo img{object-position:65% center}
@media(max-width:760px){.about-editorial .about-photo{height:auto;aspect-ratio:4/3}}
/* Abstract images: retain architectural detail and keep the complete sphere in view. */
.about-slice .about-photo img{object-position:68% center}
.inner-services .inner-side-image img{object-position:72% center}
.contact-photo{width:100%;aspect-ratio:1/1;max-height:520px}
.contact-photo>img{width:100%;height:100%;object-fit:cover;object-position:60% center}

/* Editorial images support the copy: quiet gold tones, retained stone texture.
   The decorative layer does not tint text or intercept pointer/keyboard input. */
.editorial-media{position:relative;isolation:isolate;overflow:hidden;background:#25241f}
.editorial-media>img{filter:saturate(.65)}
.editorial-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(160deg,rgba(18,19,16,.18),rgba(18,19,16,.30))}
