/* Ivory, ink and brass: the same objects and composition in daylight. */
:root{color-scheme:dark;--focus:#e8ce9f;--ink-hover:#ded6c4;--muted-hover:#d1ccbd;--wordmark-luminance:1}
[data-theme=light]{color-scheme:light;--bg:#f5f1e8;--surface:#eee8db;--text:#242720;--muted:#626354;--line:#c9c2b2;--gold:#806027;--gold-light:#866126;--gold-deep:#68471b;--focus:#765421;--ink-hover:#383b31;--muted-hover:#484b3d;--wordmark-luminance:0}
/* Ink and surfaces switch together, without transient low-contrast text.
   Existing transform/opacity choreography continues through the switch. */
[data-theme-changing] *,[data-theme-changing] *:before,[data-theme-changing] *:after{transition-property:transform,opacity,filter!important}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:var(--focus)}
.theme-toggle{width:44px;height:44px;flex:0 0 44px;padding:11px;display:none;place-items:center;border:1px solid var(--line);background:transparent;position:relative;transition:border-color .4s,background .4s;color:var(--gold)}
[data-theme] .theme-toggle{display:grid}
.theme-toggle svg{position:absolute;width:20px;height:20px;transition:opacity .3s,transform .5s var(--ease)}
.theme-toggle .theme-moon{opacity:0;transform:rotate(-35deg) scale(.8)}
[data-theme=light] .theme-toggle .theme-sun{opacity:0;transform:rotate(35deg) scale(.8)}
[data-theme=light] .theme-toggle .theme-moon{opacity:1;transform:none}
.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--gold);background:var(--surface)}
.header{gap:28px}.desktop-nav{margin-left:auto}.header>.language{margin-left:0}
.theme-filters{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
[data-theme=light] ::selection{background:#d2b777;color:#242720}
/* Preserve the symbol's pixels; theme only the original wordmark's ink. */
.brand-wordmark{filter:brightness(var(--wordmark-luminance))}
[data-theme=light] .brand{background:transparent;border:0}
/* Italic glyphs extend beyond their advance width. Keep gradient paint space
   around them without changing the text's line wrapping or alignment. */
.hero h1 em,.section h2 em,.vision-statement blockquote em,.page-title em,.page-section-title em,.page-cta>strong em{padding-inline:.12em;margin-inline:-.12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
[data-theme=light] .hero-copy>p,[data-theme=light] .discipline-rail,[data-theme=light] .service p,[data-theme=light] .tags,[data-theme=light] .detail-row,[data-theme=light] .form-group label,[data-theme=light] .footer-brand p{color:var(--muted)}
[data-theme=light] .service-number,[data-theme=light] .pillar-index{color:var(--gold)}
[data-theme=light] .hero h1 em,[data-theme=light] .section h2 em,[data-theme=light] .vision-statement blockquote em,[data-theme=light] .page-title em,[data-theme=light] .page-section-title em,[data-theme=light] .page-cta>strong em{background:linear-gradient(115deg,#714c18 4%,#987128 29%,#75541c 54%,#94702e 77%,#684619 98%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
[data-theme=light] .button:hover,[data-theme=light] .button:focus-visible{color:#fffaf0}
[data-theme=light] .language:hover,[data-theme=light] .language:focus-visible{background:var(--gold);color:#fffaf0}
[data-theme=light] .footer{background:#ebe5d8}
[data-theme=light] .vision{background:#eee8db}
[data-theme=light] .vision-copy>p{color:var(--muted)}
[data-theme=light] .service:hover h3,[data-theme=light] .service.is-active h3,[data-theme=light] .service:focus-visible h3{color:var(--gold)}
[data-theme=light] #mobile-nav{background:var(--bg);box-shadow:0 25px 40px #453a2314}
[data-theme=light] input:not([type=hidden],[type=checkbox]),[data-theme=light] textarea{background:#ece6d9;border-color:#a69a82;color:var(--text)}
[data-theme=light] input:not([type=hidden],[type=checkbox]):focus,[data-theme=light] textarea:focus{background:#fffaf0;border-color:var(--gold)}
[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:#6b6b5b}
[data-theme=light] .field-error,[data-theme=light] .form-error{color:#a03523}
[data-theme=light] input.error,[data-theme=light] textarea.error{border-color:#a03523}
[data-theme=light] .form-success{color:#416033}
[data-theme=light] .email img{filter:url(#contact-ink)}
[data-theme=light] .tilt-permission{background:var(--surface);color:var(--gold);border-color:#ab9872}
[data-theme=light] .portal{background:linear-gradient(135deg,#fff9ea,#e7ddc7);box-shadow:15px 18px 35px #63471e15}
[data-theme=light] .portal:after{background:linear-gradient(135deg,#fffdf8,#e0d3b9)}
[data-theme=light] .project-visual{background:radial-gradient(ellipse at 48% 48%,#fffaf0,#e8dfcc 72%)}
[data-theme=light] .project-visual:after{background:linear-gradient(110deg,transparent 43%,#fff5d344 47%,#fffdf49c 50%,transparent 55%)}
[data-theme=light] .scene-stage:before{background:radial-gradient(ellipse at 50% 55%,#b7914820,transparent 68%)}
[data-theme=light] .scene-stage:after{background:#63471e25}
[data-theme=light] .mechanism ellipse[fill="#000"],[data-theme=light] .artifact ellipse[fill="#000"]{fill:#806027;opacity:.12;filter:blur(4px)}
[data-theme=light] .interior-page .btn-primary{color:#fffaf0}
[data-theme=light] .interior-page .btn-primary:before{background:#694918}
[data-theme=light] .breadcrumb span:not(:last-child){color:#8a7958}
[data-theme=light] .page-list li,[data-theme=light] .page-list li:first-child,[data-theme=light] .page-card,[data-theme=light] .page-step,[data-theme=light] .page-figure-overlay{border-color:var(--line)}
[data-theme=light] .page-step:after{background:var(--gold)}
[data-theme=light] .btn-ghost,[data-theme=light] .page-links-list a{border-color:#b39b6b}
[data-theme=light] .ambient-weft{stroke:#866126;opacity:.11}
[data-theme=light] .ambient-light{stroke:#8d6222}
[data-theme=light] .section:before,[data-theme=light] .page-section:before{background:linear-gradient(120deg,#b28a350b,transparent 52%)}
@media(hover:hover) and (pointer:fine){
  .hero-copy>p:hover,.vision-copy>p:hover,.contact-copy>p:hover{color:var(--ink-hover)}
  .service:hover .service-copy p{color:var(--muted-hover)}
  [data-theme=light] .hero h1:hover em,[data-theme=light] .section h2:hover em,[data-theme=light] .page-title:hover em,[data-theme=light] .page-section-title:hover em{filter:brightness(.94)}
}
@media(max-width:760px){.header{gap:12px}.header>.language{margin-left:auto}.theme-toggle{width:40px;height:40px;flex-basis:40px;padding:9px}[data-theme=light] .brand{padding:7px 8px;margin:-7px -8px}.interior-page .header{gap:12px}}
@media(max-width:360px){.header{gap:9px}.header .brand{width:116px}.header .language{padding:10px}.theme-toggle{width:36px;height:40px;flex-basis:36px}.interior-page .header{gap:9px}}
@media(prefers-reduced-motion:reduce){.theme-toggle svg{transition:none}}
