*{box-sizing:border-box}
html{scroll-behavior:smooth;text-size-adjust:100%;font-size:16px}
body{margin:0;color:var(--color-fg);background:var(--obsidian);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.65;overflow-x:hidden;position:relative}
a{color:inherit;text-decoration-color:rgba(185,138,72,.5);text-underline-offset:.2em}a:hover{text-decoration-color:var(--gold)}
img,video,iframe{max-width:100%;height:auto}img{display:block}
button,input,textarea,select{font:inherit}button{cursor:pointer}
.container{max-width:var(--container);margin:auto;padding-inline:clamp(1rem,3vw,1.5rem)}
.visually-hidden{position:absolute!important;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden;white-space:nowrap}
.skip-link:focus{clip:auto!important;height:auto;width:auto;left:1rem;top:1rem;padding:.75rem 1rem;background:#fff;color:#111;border-radius:14px;z-index:9999}
.section{padding:clamp(4.6rem,9vw,8rem) 0;position:relative;scroll-margin-top:94px}.section--full{min-height:100svh;display:grid;align-items:center}
.grid{display:grid;gap:clamp(1rem,2.5vw,2rem)}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--center{align-items:center}
@media(max-width:960px){.grid--2{grid-template-columns:1fr}.section{padding:4rem 0}}
.surface{background:linear-gradient(145deg,rgba(255,251,244,.84),rgba(236,214,180,.68));border:1px solid rgba(255,255,255,.42);border-radius:var(--radius);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px) saturate(1.1)}
.lead{font-size:clamp(1.06rem,2.2vw,1.34rem);max-width:70ch;color:rgba(255,248,235,.86)}
.section--marble .lead,.section:not(.section--dark):not(.hero):not(.section--contact) .lead{color:var(--ink-soft)}
.eyebrow{display:inline-flex;gap:.45rem;align-items:center;margin:0 0 1rem;color:var(--gold);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}.eyebrow::before{content:"";width:2rem;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
h1,h2,h3{line-height:1.05;margin:0 0 1rem;font-family:"Cinzel", Georgia, serif}h1{font-size:clamp(2.9rem,7.2vw,6.2rem);letter-spacing:-.03em}h2{font-size:clamp(2rem,4.5vw,4.2rem);letter-spacing:-.02em}h3{font-size:clamp(1.2rem,2.4vw,1.65rem)}
.brand strong,.footer p,.a11y-panel strong{font-family:"Forum", Georgia, serif}
p{margin:0 0 1rem}.mini-note{font-size:.95rem;color:rgba(255,248,235,.8)}.hp{position:absolute!important;left:-9999px!important;opacity:0!important}
.site-scene,.site-papyrus,.grain{position:fixed;inset:0;pointer-events:none}.site-scene{z-index:-5;background:var(--columns-bg) center top / cover no-repeat fixed;opacity:.98}.site-papyrus{z-index:-4;background:linear-gradient(180deg,rgba(250,241,225,.28),rgba(13,9,6,.4)),var(--paper-bg) center center / cover fixed;mix-blend-mode:screen;opacity:.55}.grain{z-index:-3;background-image:radial-gradient(rgba(255,255,255,.05) .7px,transparent .7px);background-size:7px 7px;opacity:.2}
@media(max-width:860px){.site-scene{background-position:center center;background-size:cover}.site-papyrus{opacity:.68}}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:12px}
body.a11y-links a{text-decoration:underline 2px currentColor}
body.a11y-contrast{--ink:#0d0905;--ink-soft:#2d2318;filter:contrast(1.08) saturate(1.02)}
body.a11y-contrast .surface,body.a11y-contrast .site--glass,body.a11y-contrast .tabs{background:rgba(255,248,236,.96)!important;color:#111!important}
body.a11y-dyslexia{font-family:Arial, Verdana, Tahoma, sans-serif}body.a11y-dyslexia h1,body.a11y-dyslexia h2,body.a11y-dyslexia h3,body.a11y-dyslexia .brand strong{font-family:Georgia,serif}
body.a11y-pause *,body.a11y-pause *::before,body.a11y-pause *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.a11y-reading-guide::before{content:"";position:fixed;left:0;right:0;top:var(--reading-y,40%);height:3rem;background:linear-gradient(180deg,transparent,rgba(240,195,107,.18),transparent);pointer-events:none;z-index:999}
body.a11y-large{font-size:18px}body.a11y-small{font-size:15px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
