:root{--bg-canvas:#3b0d1a;--bg-surface:#501b29;--bg-surface-hover:#602535;--text-primary:#fff6e8;--text-muted:#e0c9bd;--accent-primary:#e8d5a8;--accent-secondary:#cbad79;--border-subtle:#a78372;--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:none;--glow-accent:none;--glass-backdrop:blur(16px) saturate(180%)}
*{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:18px;line-height:1.7;overflow-wrap:anywhere;hyphens:auto}
h1,h2,h3,p,figure{margin:0 0 1rem}
h1,h2,h3{line-height:1.12;font-weight:400;text-wrap:balance}
h1{font-size:clamp(2.5rem,5.7vw,5rem);max-width:17ch}
h2{font-size:clamp(1.9rem,3.6vw,3rem)}
h3{font-size:1.45rem}
a{color:var(--accent-primary);text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{color:var(--text-primary)}
a,button,input,textarea,select{ -webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--accent-primary);outline-offset:5px}
button,input,textarea,select{font:inherit}
button,.button{display:inline-block;border:1px solid var(--accent-primary);border-radius:0;padding:.75rem 1.1rem;background:transparent;color:var(--text-primary);font-size:.77rem;line-height:1.5;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;cursor:pointer;transition:background .25s,transform .4s var(--ease-kinetic)}
button:hover,.button:hover{background:var(--bg-surface-hover);transform:translateY(-3px)}
button:disabled{opacity:.5;cursor:wait}
img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.skip{position:absolute;left:20px;top:-100px;z-index:30;background:var(--bg-canvas);padding:12px}
.skip:focus{top:12px}
.site-header{position:relative;z-index:10;width:calc(100% - 32px);margin:16px auto 0;padding:15px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-surface)}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;font-size:1rem;letter-spacing:.015em;color:var(--text-primary)}
.brand-mark{position:relative;display:block;width:25px;height:25px;border:1px solid var(--accent-primary)}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;background:var(--accent-primary)}
.brand-mark:before{width:1px;height:23px;left:11px;top:0;transform:rotate(35deg)}
.brand-mark:after{height:1px;width:23px;left:0;top:11px}
.site-nav{display:flex;align-items:center;gap:17px}
.site-nav a{font-size:.78rem;line-height:1.3;text-decoration:none;white-space:nowrap}
.site-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;color:var(--text-primary)}
.menu-toggle{display:none;font-size:1.8rem;line-height:1;padding:5px 14px}
.eyebrow,.label{display:block;font-variant:small-caps;letter-spacing:.15em;font-size:.82rem;color:var(--accent-primary);margin-bottom:1.1rem}
.hero{padding-block:68px 44px}
.hero-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end;margin-bottom:36px}
.hero-heading p{max-width:40ch;color:var(--text-muted)}
.hero-image{height:550px;position:relative}
.hero-image>img{object-position:center 56%}
.fact-panel{position:absolute;right:32px;bottom:32px;width:300px;min-height:300px;padding:24px;background:rgba(59,13,26,.94);border:1px solid var(--accent-primary);display:flex;flex-direction:column;justify-content:center}
.fact-panel p{margin:0;padding:11px 0;border-bottom:1px solid var(--border-subtle);font-size:.94rem}
.fact-panel p:last-child{border:0}
.fact-panel strong{font-weight:400;color:var(--accent-primary);font-variant:small-caps;letter-spacing:.07em;display:block}
.image-caption{font-size:.82rem;color:var(--text-muted);margin-top:10px}
.band{position:relative;padding:82px 0;background:var(--bg-surface);isolation:isolate;margin-top:30px}
.band:before{content:"";position:absolute;z-index:-1;inset:-25px 0 auto;height:27px;background:var(--bg-surface);clip-path:polygon(0 85%,100% 0,100% 100%,0 100%)}
.band.soft{border-radius:45% 0 0 0 / 30px 0 0 0}
.essay{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-block:68px}
.essay.reverse .essay-image{order:2}
.essay.reverse .essay-copy{order:1}
.essay-image{aspect-ratio:4/3;margin:0}
.essay-copy p{color:var(--text-muted);max-width:65ch}
.essay-copy .button{margin-top:10px}
.index-number{display:block;font-size:.85rem;color:var(--accent-primary);margin-bottom:18px;letter-spacing:.12em}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.card{border:1px solid var(--border-subtle);background:var(--bg-surface);padding:28px;transition:transform .5s var(--ease-kinetic),background .4s}
.card:hover{transform:translateY(-5px);background:var(--bg-surface-hover)}
.card p{color:var(--text-muted)}
.card-media{aspect-ratio:4/3;margin:-28px -28px 24px}
.card a{font-size:.9rem}
.section-heading{margin-bottom:34px;max-width:70ch}
.section-space{padding-block:70px}
.page-intro{padding-block:70px 40px;max-width:950px}
.page-intro p{max-width:68ch;color:var(--text-muted);font-size:1.14rem}
.page-intro h1{max-width:20ch}
.article-banner{aspect-ratio:16/9;max-height:550px;margin-bottom:12px}
.article-content{max-width:70ch;margin:0 auto;padding:42px 0 70px}
.article-content h2{margin-top:48px;font-size:2rem}
.article-content h3{margin-top:30px}
.article-content p,.article-content li{color:var(--text-muted)}
.article-content ul,.article-content ol{padding-left:24px}
.article-content .label{margin-top:30px}
.article-content .note{margin-block:30px}
.note{border-left:2px solid var(--accent-primary);padding:18px 24px;background:var(--bg-surface);font-size:.95rem}
.note p:last-child{margin-bottom:0}
.joint-diagram{border:1px solid var(--accent-primary);padding:32px;margin-block:35px}
.joint-drawing{height:145px;position:relative;max-width:400px;margin:0 auto 22px}
.joint-member{position:absolute;border:1px solid var(--accent-primary);background:repeating-linear-gradient(0deg,transparent 0,transparent 9px,rgba(232,213,168,.22) 10px,transparent 11px)}
.joint-member.vertical{left:40%;top:0;width:22%;height:145px}
.joint-member.horizontal{left:0;top:50px;width:100%;height:45px;background-color:var(--bg-canvas)}
.joint-member.tenon{left:40%;top:50px;width:22%;height:45px;border-style:dashed;background:var(--bg-surface)}
.joint-diagram figcaption{font-size:.85rem;color:var(--text-muted)}
.process{list-style:none;padding:0!important;counter-reset:process}
.process li{counter-increment:process;border-top:1px solid var(--border-subtle);padding:20px 0 20px 50px;position:relative}
.process li:before{content:"0" counter(process);position:absolute;left:0;color:var(--accent-primary)}
.table-wrap{overflow-x:auto;margin-block:30px}
table{border-collapse:collapse;width:100%;min-width:580px;font-size:.95rem}
caption{text-align:left;color:var(--accent-primary);margin-bottom:12px}
th,td{text-align:left;padding:16px;border:1px solid var(--border-subtle);vertical-align:top}
th{background:var(--bg-surface);font-weight:400;color:var(--accent-primary)}
td{color:var(--text-muted)}
details{border-top:1px solid var(--border-subtle);padding:20px 0}
details:last-child{border-bottom:1px solid var(--border-subtle)}
summary{cursor:pointer;font-size:1.18rem;color:var(--text-primary);padding-right:20px}
details p{margin:16px 0 0;color:var(--text-muted);max-width:70ch}
.faq-list{max-width:850px;margin:0 auto}
.split-contact{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;padding-bottom:70px}
.form-panel,.tool-output{padding:30px;border:1px solid var(--border-subtle);background:var(--bg-surface)}
label{display:block;margin-bottom:7px}
input,textarea,select{display:block;width:100%;background:var(--bg-canvas);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:0;padding:12px;margin-bottom:22px}
textarea{resize:vertical;min-height:160px}
.field-note{font-size:.85rem;color:var(--text-muted);margin-top:-12px}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.tool-output pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--text-muted);font-size:.94rem}
.status{min-height:1.7em;color:var(--accent-primary);font-size:.9rem;margin-top:15px}
.site-footer{border-top:1px solid var(--border-subtle);padding:36px 0 28px;margin-top:30px}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.footer-top p{font-size:.87rem;color:var(--text-muted)}
.footer-links{display:flex;flex-wrap:wrap;gap:22px;font-size:.9rem}
.footer-bottom{font-size:.78rem;color:var(--text-muted);margin-top:22px}
.related{padding:30px;border:1px solid var(--border-subtle);margin-top:40px;background:var(--bg-surface)}
.related a{display:block;margin:8px 0}
.reveal-enabled .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease-kinetic),transform .7s var(--ease-kinetic)}
.reveal-enabled .reveal-visible{opacity:1;transform:translateY(0)}
[hidden]{display:none!important}
@media(min-width:1025px){.site-header{max-width:1440px}.site-nav{gap:16px}}
@media(min-width:769px) and (max-width:1024px){.site-header{padding:14px 18px;gap:14px}.brand{font-size:.85rem}.site-nav{gap:9px}.site-nav a{font-size:.64rem}.hero-heading{gap:35px}.essay{gap:35px}}
@media(max-width:768px){.wrap{width:calc(100% - 40px)}.site-header{padding:12px 18px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 10px);padding:22px;background:var(--bg-surface);border:1px solid var(--accent-primary)}.site-nav.is-open{display:grid;grid-template-columns:1fr 1fr;gap:20px}.site-nav a{font-size:1rem;white-space:normal}.hero{padding-top:44px}.hero-heading{grid-template-columns:1fr;gap:20px}.hero-heading p{max-width:60ch}.hero-image{height:530px}.fact-panel{right:20px;bottom:20px;width:260px;min-height:260px;padding:20px}.essay{grid-template-columns:1fr;gap:30px;padding-block:45px}.essay.reverse .essay-image,.essay.reverse .essay-copy{order:initial}.band{padding-block:40px}.page-intro{padding-top:48px}.split-contact{grid-template-columns:1fr}.footer-top{flex-direction:column}.section-space{padding-block:45px}}
@media(max-width:480px){body{font-size:17px}.wrap{width:calc(100% - 32px)}.brand{font-size:.87rem}.site-header{width:calc(100% - 20px);padding:10px 14px}.hero-image{height:460px}.fact-panel{right:14px;bottom:14px;width:230px;min-height:230px;padding:16px}.fact-panel p{font-size:.85rem}.card-grid{grid-template-columns:minmax(0,1fr)}.card,.form-panel,.tool-output{padding:22px}.card-media{margin:-22px -22px 22px}.page-intro h1{font-size:2.5rem}.button-row{flex-direction:column;align-items:stretch}.joint-diagram{padding:20px}.site-nav.is-open{grid-template-columns:1fr 1fr}.footer-links{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal-enabled .reveal{opacity:1;transform:none}}