/* Local-only editorial direction. Original logo files and brand colours are untouched. */
body.has-mechanism { background:var(--color-bg,#f4f1ec); }
.has-mechanism .brand-topbar { background:var(--color-topbar-bg,rgba(244,241,236,.95)); }
.has-mechanism .brand-hero::before,.has-mechanism .brand-hero::after { content:none; }
.has-mechanism .brand-hero { background:var(--color-bg,#f4f1ec); padding:clamp(56px,8vw,112px) 0 64px; }
.brand-home.has-mechanism .home-hero { background:var(--color-bg,#f4f1ec); }
.brand-home.has-mechanism .home-hero .brand-title { max-width:1020px; font-size:clamp(42px,7.3vw,108px); line-height:1.02; letter-spacing:-.065em; }
.has-mechanism .home-offer { font-size:clamp(18px,2vw,24px); max-width:750px; }
.has-mechanism .brand-eyebrow { letter-spacing:.12em; }
.has-mechanism .brand-btn { transition:background-color .2s,color .2s,border-color .2s; }
.has-mechanism .brand-btn:hover { background:var(--color-text,#0b0b0b); color:var(--color-bg,#fff); }
.has-mechanism .brand-btn:focus-visible { outline:2px solid var(--color-accent-dark,#7c6336); outline-offset:5px; }
.mechanism { position:relative; background:var(--color-surface,#fff); border-block:1px solid var(--color-line,rgba(11,11,11,.15)); }
.mechanism-ready { height:200svh; }
.mechanism-stage { min-height:680px; position:relative; background:var(--color-surface,#fff); }
.mechanism-ready .mechanism-stage { position:sticky; top:var(--mechanism-header,96px); height:calc(100svh - var(--mechanism-header,96px)); min-height:0; }
.mechanism-shell { width:min(100% - 64px,1440px); margin:auto; height:100%; display:grid; grid-template-columns:minmax(200px,.75fr) minmax(0,2fr); gap:24px; align-items:center; }
.mechanism-copy { z-index:1; padding-block:40px; align-self:center; }
.mechanism-index { font:11px var(--font-brand-mono); color:#7c6336; letter-spacing:.15em; text-transform:uppercase; margin:0 0 34px; }
.mechanism-title { font:700 clamp(35px,4.1vw,66px)/1.02 var(--font-brand); letter-spacing:-.055em; margin:0 0 24px; }
.mechanism-description { color:#4a4a4a; max-width:280px; font-size:15px; line-height:1.65; }
.mechanism-art { width:100%; min-width:0; position:relative; aspect-ratio:2240/1870; }
.mechanism-art>img { position:absolute; width:72.857%; height:auto; left:13.839%; top:5.882%; }
.mechanism-art>img[hidden] { display:none; }
.mechanism-svg { display:block; width:100%; height:100%; overflow:visible; transform-origin:center; }
.mechanism-svg g { transform-box:view-box; }
.mechanism-readout { margin-top:38px; border-top:1px solid var(--color-line,#d8d2c8); padding-top:16px; max-width:280px; }
.mechanism-phase { font:12px var(--font-brand-mono); text-transform:uppercase; letter-spacing:.08em; }
.mechanism-meter { height:2px; background:var(--color-line,#e9e4dc); margin-top:14px; overflow:hidden; }
.mechanism-meter span { display:block; height:100%; background:#a8884b; transform:scaleX(0); transform-origin:left; }
.mechanism-counter { float:right; color:#7c6336; font:12px var(--font-brand-mono); }
.mechanism-cue { position:absolute; bottom:22px; left:32px; color:#655b4b; font:10px var(--font-brand-mono); letter-spacing:.1em; text-transform:uppercase; }
.has-mechanism .brand-section { border-top:1px solid rgba(11,11,11,.12); }
.mechanism[data-mechanism="atelier"] .mechanism-title { font-size:clamp(42px,5vw,78px); }
.mechanism-reduced { height:auto; }
.mechanism-reduced .mechanism-stage { position:relative; top:auto; height:auto; min-height:600px; }
.mechanism-reduced .mechanism-readout,.mechanism-reduced .mechanism-cue { display:none; }
@media(min-width:1100px){
  .has-mechanism .brand-hero-grid { grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr); gap:52px; }
  .has-mechanism .brand-hero-panel { align-self:end; background:transparent; box-shadow:none; border-width:1px 0 0; padding:28px 0 0; }
  .has-mechanism .brand-hero-panel .brand-logo-watermark { display:none; }
}
@media(max-width:760px){
  .has-mechanism .brand-hero { padding:42px 0; }
  .brand-home.has-mechanism .home-hero .brand-title { font-size:clamp(38px,10vw,70px); }
  .mechanism-ready { height:160svh; }
  .mechanism-shell { width:calc(100% - 36px); grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); gap:0; }
  .mechanism-copy { padding:24px 0 0; }
  .mechanism-index { margin:0 0 14px; font-size:9px; }
  .mechanism-title,.mechanism[data-mechanism="atelier"] .mechanism-title { font-size:clamp(28px,8vw,44px); margin:0 0 10px; max-width:360px; }
  .mechanism-description { max-width:470px; font-size:13px; margin:0; }
  .mechanism-art { align-self:center; max-width:600px; max-height:100%; margin:auto; }
  .mechanism-readout { margin-top:16px; padding-top:10px; max-width:none; }
  .mechanism-meter { margin-top:8px; }
  .mechanism-phase,.mechanism-counter { font-size:10px; }
  .mechanism-cue { bottom:10px; left:18px; font-size:9px; }
  .mechanism-stage { min-height:600px; }
  .mechanism-reduced .mechanism-stage { height:auto; min-height:0; }
}
@media(max-height:600px) and (min-width:761px){
  .mechanism-title { font-size:32px; }
  .mechanism-description { font-size:12px; }
  .mechanism-index { margin-bottom:16px; }
  .mechanism-readout { margin-top:18px; }
  .mechanism-art { max-height:90%; }
}
@media(prefers-reduced-motion:reduce){
  .mechanism-ready { height:auto; }
  .mechanism-ready .mechanism-stage { position:relative; top:auto; height:auto; min-height:0; }
  .mechanism-readout,.mechanism-cue { display:none; }
  .has-mechanism .brand-btn { transition:none; }
}
/* The SVG fits the available stage height, including short laptop and mobile screens. */
.mechanism-ready .mechanism-art { height:100%; min-height:0; aspect-ratio:auto; }
.mechanism-reduced .mechanism-art { height:auto; aspect-ratio:2240/1870; }
@media(prefers-reduced-motion:reduce){
  .mechanism-ready .mechanism-art { height:auto; aspect-ratio:2240/1870; }
}

/* Compositor-friendly logo layers. Geometry and colours come from the original image. */
.mechanism-viewport { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.mechanism-plane { position:relative; flex:none; transform-origin:center; }
.mechanism-part { position:absolute; display:block; max-width:none; pointer-events:none; backface-visibility:hidden; }
.mechanism-plane .mechanism-intact { position:absolute; left:13.8392857%; top:5.8823529%; width:72.8571429%; height:81.0160428%; max-width:none; opacity:0; pointer-events:none; }
.mechanism-plane.is-assembled .mechanism-part { opacity:0; }
.mechanism-plane.is-assembled .mechanism-intact { opacity:1; }
.mechanism-active .mechanism-part { will-change:transform; }

/* A mechanical centre for the previously empty right-hand side of the hero. */
.brand-home.has-mechanism .home-hero .brand-shell { width:min(100% - 64px,1440px); }
.home-hero-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:clamp(24px,4vw,72px); align-items:start; }
.home-hero-copy { min-width:0; }
.brand-home.has-mechanism .home-hero .brand-title { font-size:clamp(44px,5.6vw,88px); max-width:780px; }
.archon-core { --core-open:0; position:sticky; top:140px; min-width:0; margin:18px 0 0; align-self:start; }
.core-registration,.core-caption { display:flex; justify-content:space-between; gap:20px; color:#7c6336; font:9px var(--font-brand-mono); letter-spacing:.12em; text-transform:uppercase; }
.core-registration { padding-bottom:18px; border-bottom:1px solid rgba(168,136,75,.35); }
.core-stage { position:relative; aspect-ratio:1; perspective:900px; isolation:isolate; }
.core-axis { position:absolute; background:rgba(168,136,75,.18); pointer-events:none; }
.core-axis--x { width:100%; height:1px; left:0; top:50%; }
.core-axis--y { height:100%; width:1px; top:0; left:50%; }
.core-carrier { position:absolute; inset:7%; transform-style:preserve-3d; pointer-events:none; }
.core-carrier--one { transform:translate3d(calc(var(--core-open) * -22px),calc(var(--core-open) * -26px),0); }
.core-carrier--two { inset:12%; transform:translate3d(calc(var(--core-open) * 30px),calc(var(--core-open) * 12px),0); }
.core-carrier--three { inset:4%; transform:translate3d(0,calc(var(--core-open) * 38px),0); }
.core-ring { position:absolute; inset:0; border:1.3px solid #a8884b; border-radius:50%; backface-visibility:visible; transform-style:preserve-3d; animation:core-orbit-one 28s linear infinite; }
.core-ring--two { border-color:rgba(11,11,11,.65); border-width:1px; animation:core-orbit-two 36s linear infinite; }
.core-ring--three { border-color:rgba(168,136,75,.6); border-width:1px; animation:core-orbit-three 44s linear infinite; }
.core-ring i { position:absolute; left:50%; top:-4px; width:7px; height:7px; margin-left:-3px; border-radius:50%; background:#a8884b; }
.core-ring--two i { background:#0b0b0b; width:5px; height:5px; top:-3px; }
.core-logo { position:absolute; z-index:2; left:19%; top:21%; width:62%; height:auto; transform:translate3d(0,calc(var(--core-open) * -12px),0); }
.core-node { position:absolute; width:4px; height:4px; border:1px solid #a8884b; border-radius:50%; top:50%; }
.core-node--one { left:-2px; }.core-node--two { right:-2px; }
.core-caption { padding-top:18px; border-top:1px solid rgba(168,136,75,.35); }
.core-paused .core-ring,.core-hidden .core-ring { animation-play-state:paused; }
@keyframes core-orbit-one {
  from { transform:rotateX(62deg) rotateY(-18deg) rotateZ(0deg); }
  to { transform:rotateX(62deg) rotateY(-18deg) rotateZ(360deg); }
}
@keyframes core-orbit-two {
  from { transform:rotateX(-28deg) rotateY(62deg) rotateZ(35deg); }
  to { transform:rotateX(-28deg) rotateY(62deg) rotateZ(-325deg); }
}
@keyframes core-orbit-three {
  from { transform:rotateX(46deg) rotateY(32deg) rotateZ(90deg); }
  to { transform:rotateX(46deg) rotateY(32deg) rotateZ(450deg); }
}
@media(max-width:1000px){
  .home-hero-layout { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:24px; }
  .brand-home.has-mechanism .home-hero .brand-title { font-size:clamp(38px,5.8vw,64px); }
  .archon-core { top:160px; }
  .core-registration,.core-caption { font-size:8px; letter-spacing:.06em; }
}
@media(max-width:760px){
  .brand-home.has-mechanism .home-hero .brand-shell { width:calc(100% - 36px); }
  .home-hero-layout { grid-template-columns:1fr; gap:18px; }
  .home-hero-copy { display:contents; }
  .home-hero-copy>.brand-eyebrow { grid-row:1; margin-bottom:0; }
  .home-hero-copy>.brand-title { grid-row:2; }
  .brand-home.has-mechanism .home-hero .brand-title { font-size:clamp(38px,9.5vw,68px); }
  .archon-core { grid-row:3; position:relative; top:auto; width:min(100%,440px); justify-self:center; margin:12px 0; }
  .core-registration,.core-caption { font-size:8px; }
  .home-hero-copy>.home-offer,.home-hero-copy>.home-note,.home-hero-copy>.home-founder-line { margin-top:0; }
}
@media(prefers-reduced-motion:reduce){
  .core-ring { animation:none; }
  .core-ring--one { transform:rotateX(62deg) rotateY(-18deg); }
  .core-ring--two { transform:rotateX(-28deg) rotateY(62deg) rotateZ(35deg); }
  .core-ring--three { transform:rotateX(46deg) rotateY(32deg) rotateZ(90deg); }
  .mechanism-active .mechanism-part { will-change:auto; }
  .core-carrier,.core-logo { transform:none; }
}

/* The square architectural emblem fits without stretching. */
.mechanism-art>img { left:16.4508929%; width:67.6339286%; top:5.8823529%; height:auto; }
