:root{--bg-canvas:#1c1917;--bg-surface:#292420;--bg-surface-hover:#342e28;--text-primary:#f4f1ea;--text-muted:#c4bbae;--accent-primary:#d4a84b;--accent-secondary:#a56c35;--border-subtle:rgba(244,241,234,.17);--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:0 12px 32px -4px rgba(0,0,0,.32);--glow-accent:0 0 24px -4px rgba(212,168,75,.22);--glass-backdrop:blur(16px) saturate(120%);--column:1100px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font-family:Charter,Cambria,Georgia,serif;font-size:17px;line-height:1.75;overflow-wrap:anywhere;hyphens:auto}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3{line-height:1.14;font-weight:500}
h1{font-size:clamp(2.8rem,7vw,6.1rem);letter-spacing:-.045em}
h2{font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.025em}
h3{font-size:1.5rem}
p{max-width:70ch}
a{color:var(--accent-primary);text-underline-offset:.2em}
a:hover{color:#f2cd79}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent-primary);outline-offset:4px}
img,svg{max-width:100%}
.wrap{width:min(calc(100% - 40px),var(--column));margin-inline:auto}
.site-header{position:relative;z-index:5;background:#171412;border-bottom:1px solid var(--border-subtle)}
.header-inner{min-height:82px;display:flex;align-items:center;gap:clamp(20px,4vw,64px)}
.brand{display:flex;align-items:center;gap:12px;color:var(--text-primary);text-decoration:none;font-size:1.05rem;white-space:nowrap;letter-spacing:.02em}
.brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--accent-primary);color:var(--accent-primary);font-size:1.2rem}
.nav-groups{display:flex;align-items:center;justify-content:flex-end;gap:clamp(18px,3vw,44px);margin-left:auto}
.nav-group{display:flex;align-items:center;gap:clamp(12px,2vw,25px)}
.nav-group a,.footer-links a{color:var(--text-muted);text-decoration:none;font-size:.88rem}
.nav-group a:hover,.footer-links a:hover{color:var(--accent-primary)}
.menu-toggle{display:none;margin-left:auto;background:none;color:var(--accent-primary);border:1px solid var(--accent-primary);font:inherit;font-size:1.8rem;line-height:1;padding:6px 12px;cursor:pointer}
.mobile-menu{display:none}
.hero{position:relative;isolation:isolate;min-height:680px;display:grid;place-items:center;text-align:center;background:#201b17;overflow:clip}
.hero:before,.survey-band:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(212,168,75,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(212,168,75,.075) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 92%)}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,17,15,.22),rgba(20,17,15,.93))}
.hero-art{position:absolute;z-index:-2;inset:0;width:100%;height:100%;max-width:none;opacity:.9}
.hero-content{width:min(calc(100% - 36px),880px);padding:90px 0}
.hero h1{max-width:850px;margin:20px auto 24px}
.hero p{margin:0 auto 30px;color:#e0d8ca;font-size:1.15rem}
.eyebrow,.label{font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent-primary);font-variant:small-caps}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 18px;border:1px solid var(--accent-primary);color:var(--text-primary);background:transparent;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;cursor:pointer;transition:transform .35s var(--ease-kinetic),background .25s,color .25s,box-shadow .35s}
.button:hover{transform:translateY(-3px);background:var(--accent-primary);color:#1c1917;box-shadow:var(--shadow-elevation),var(--glow-accent)}
.button.secondary{border-color:var(--border-subtle)}
.section{padding:88px 0}
.section.dark{background:#171412}
.section.warm{background:#211d19}
.section-heading{max-width:760px;margin-bottom:36px}
.section-heading p{color:var(--text-muted)}
.reading{max-width:70ch;margin-inline:auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.card{padding:28px 26px;background:transparent;box-shadow:0 10px 26px rgba(0,0,0,.16);transition:transform .45s var(--ease-kinetic),box-shadow .35s,background .3s}
.card:hover{transform:translateY(-5px) scale(1.015);background:var(--bg-surface-hover);box-shadow:var(--shadow-elevation),var(--glow-accent)}
.card p{color:var(--text-muted)}
.card h3 a{color:var(--text-primary);text-decoration:none}
.card h3 a:hover{color:var(--accent-primary)}
.dossier{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr);gap:28px;padding:30px 0;border-top:1px solid var(--border-subtle)}
.dossier:last-child{border-bottom:1px solid var(--border-subtle)}
.dossier-index{color:var(--accent-primary);font-variant:small-caps;letter-spacing:.15em}
.dossier p{color:var(--text-muted)}
.diagram{margin:28px 0 14px;background:#302922}
.diagram svg{display:block;width:100%;height:auto}
figcaption{padding:10px 12px;color:var(--text-muted);font-size:.85rem}
.caption{color:var(--text-muted);font-size:.88rem}
.survey-band{position:relative;isolation:isolate;background:#211d19}
.table-scroll{overflow-x:auto;margin:30px 0}
table{width:100%;min-width:660px;border-collapse:collapse;background:#211d19}
th,td{padding:15px 16px;border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top}
th{color:var(--accent-primary);font-variant:small-caps;letter-spacing:.08em}
td{color:var(--text-muted)}
details{border-top:1px solid var(--border-subtle);padding:18px 0}
details:last-child{border-bottom:1px solid var(--border-subtle)}
summary{cursor:pointer;color:var(--text-primary);font-size:1.12rem}
details p{color:var(--text-muted);margin:14px 0 0}
.steps{counter-reset:survey}
.step{position:relative;padding:0 0 32px 72px;border-left:1px solid var(--accent-primary);margin-left:23px}
.step:before{counter-increment:survey;content:counter(survey,decimal-leading-zero);position:absolute;left:-24px;top:0;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#302922;color:var(--accent-primary);border:1px solid var(--accent-primary)}
.step:last-child{border-left-color:transparent}
.page-hero{padding:76px 0 44px;background:#211d19}
.page-hero h1{font-size:clamp(2.8rem,6vw,5rem);margin:12px 0 20px}
.page-hero p{color:var(--text-muted);font-size:1.1rem}
.content-section{padding:58px 0}
.content-section p{color:var(--text-muted)}
.callout{padding:24px 28px;border-left:3px solid var(--accent-primary);background:#292420;margin:28px 0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
label{color:var(--text-primary);font-size:.92rem}
input,textarea,select{width:100%;padding:12px 14px;background:#171412;border:1px solid var(--border-subtle);color:var(--text-primary);font:inherit}
textarea{min-height:130px;resize:vertical}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.preview{min-height:240px;white-space:pre-wrap}
.status{min-height:1.5em;color:var(--accent-primary)}
.site-footer{padding:60px 0 24px;background:#12100f;border-top:1px solid var(--border-subtle)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:30px}
.footer-grid h2{font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-primary)}
.footer-grid p,.footer-grid address{color:var(--text-muted);font-size:.9rem;font-style:normal}
.footer-links{display:grid;gap:8px}
.footer-bottom{margin-top:35px;padding-top:18px;border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:.85rem}
.footer-bottom a{color:var(--text-muted)}
.reveal{opacity:0;transform:translateY(22px)}
.reveal.reveal-visible{opacity:1;transform:translateY(0);transition:all .7s var(--ease-kinetic)}
.source-list li{margin:.5em 0;color:var(--text-muted)}
.badge{display:inline-block;padding:4px 10px;border-radius:99px;border:1px solid var(--accent-primary);color:var(--accent-primary);font-size:.78rem}
@media(max-width:1024px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-groups{gap:18px}.nav-group{gap:14px}}
@media(max-width:768px){.header-inner{min-height:70px}.nav-groups{display:none}.menu-toggle{display:block}.mobile-menu{position:absolute;top:100%;left:0;right:0;padding:12px 20px 20px;background:#171412;border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-elevation)}.mobile-menu.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.mobile-menu a{padding:12px 4px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);text-decoration:none}.hero{min-height:590px}.section{padding:66px 0}.dossier{grid-template-columns:1fr;gap:8px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.wrap{width:min(calc(100% - 30px),var(--column))}.brand{font-size:.92rem}.brand-mark{width:32px;height:32px}.hero{min-height:560px}.hero-content{padding:65px 0}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.card{padding:22px 18px}.page-hero{padding:56px 0 34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}