@font-face{font-family:"Libre Caslon Text";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/libre-caslon-text-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Libre Caslon Text";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/libre-caslon-text-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/source-serif-4-latin-wght-normal.woff2) format("woff2")}
:root{--navy:#14233C;--navy2:#0E1A2E;--ink:#1E2430;--char:#3A3F47;--brass:#A8834A;--brass-l:#C9A66B;--paper:#FBFAF7;--soft:#F2F0EA;--line:#E1DDD3;
--serif:"Libre Caslon Text","Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Charter,"Bitstream Charter",Georgia,serif;
--sans:"Inter Tight",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
--mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:18px/1.7 "Source Serif 4",Georgia,serif;color:var(--char);background:var(--paper)}
h1,h2,h3{font-family:var(--serif);color:var(--navy);font-weight:700;letter-spacing:-.01em;line-height:1.15}
h2{font-size:clamp(1.6rem,3vw,2.2rem)}
a{color:var(--navy);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:#7A5E30}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px;border-radius:2px}
.mono{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.site-header{position:sticky;top:0;z-index:20;background:rgba(251,250,247,.86);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.hdr{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;flex-wrap:wrap;gap:8px}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand>span{display:flex;flex-direction:column}
.wm{font-family:var(--sans);font-size:1.3rem;color:var(--char);font-weight:300}.wm b{color:var(--navy);font-weight:700}.wm.light,.wm.light b{color:#fff}
.tag{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#7A5E30;font-weight:600}
nav ul{list-style:none;display:flex;gap:6px;margin:0;padding:0}
nav a{display:block;text-decoration:none;font-weight:500;font-size:.94rem;padding:8px 12px;border-radius:999px}
nav a:hover{background:var(--soft);color:var(--navy)}nav a[aria-current]{background:var(--navy);color:#fff}
.menu-btn{display:none;background:none;border:1px solid var(--line);padding:6px 14px;font:inherit;border-radius:999px;color:var(--navy)}
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 500px at 85% 10%,#22375A 0,transparent 60%),linear-gradient(160deg,var(--navy) 0,var(--navy2) 100%);color:#E9ECF2;padding:96px 0 104px}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--brass),transparent)}
.hero h1{color:#fff;font-size:clamp(2.3rem,5vw,3.9rem);margin:.25em 0 .35em;max-width:16ch}
.hero a{color:#fff}.lead{font-size:1.15rem;max-width:60ch}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.hero-art{width:100%;height:auto}
.small-hero{padding:64px 0 56px}.small-hero h1{font-size:clamp(2rem,4vw,3rem)}
.eyebrow{color:var(--brass-l);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;font-weight:600;margin:0}
main>section:not(.hero) .eyebrow,.post .eyebrow{color:#7A5E30}
.status{display:flex;align-items:center;gap:10px;color:#B9C2D3;margin-top:28px}
.dot{width:8px;height:8px;border-radius:50%;background:#5FD08A;box-shadow:0 0 0 4px rgba(95,208,138,.18)}
.btn{display:inline-block;background:var(--brass);color:#14233C!important;padding:13px 24px;border-radius:999px;text-decoration:none;font-weight:600;border:0;font:600 1rem var(--sans);cursor:pointer;margin:6px 10px 6px 0;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{background:var(--brass-l);transform:translateY(-1px);box-shadow:0 8px 24px rgba(168,131,74,.3)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff!important}.btn.ghost:hover{background:rgba(255,255,255,.08);box-shadow:none}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-top:88px;padding-bottom:88px}
.card{position:relative;background:#fff;border:1px solid var(--line);padding:30px 28px;border-radius:14px;transition:transform .25s,box-shadow .25s,border-color .25s}
.card:before{content:"";position:absolute;left:28px;top:0;width:40px;height:3px;background:var(--brass)}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -20px rgba(20,35,60,.35);border-color:#CFC8B8}
.card h2{margin-top:0;font-size:1.45rem}
.ai{background:var(--navy);color:#DCE2EC;padding:96px 0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:32px 32px}
.ai h2{color:#fff}.ai .eyebrow{color:var(--brass-l)!important}
.flow{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.flow li{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);border-radius:12px;padding:16px 18px;display:grid;gap:2px;color:#B9C2D3;font-size:.95rem}
.flow strong{color:#fff;font-family:var(--serif);font-size:1.15rem;font-weight:600}.flow .mono{color:var(--brass-l)}
.flow li.human{border-color:var(--brass);background:rgba(168,131,74,.12)}
.band{background:var(--soft);padding:88px 0}.two{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.checks{list-style:none;padding:0;margin:0}.checks li{padding:14px 0 14px 30px;border-bottom:1px solid var(--line);position:relative}
.checks li:before{content:"";position:absolute;left:0;top:23px;width:10px;height:10px;border:2px solid var(--brass);transform:rotate(45deg)}
.center{text-align:center;padding-top:88px;padding-bottom:40px}
.sra-note{padding-top:28px;padding-bottom:72px}.sra-note p{max-width:62ch;margin:0 auto;padding:18px 22px;border:1px dashed #CFC8B8;border-radius:12px;font-size:.95rem;background:#fff}

.prose{max-width:800px;padding-top:56px;padding-bottom:80px}.prose h2{margin-top:1.8em}
.callout{border-left:4px solid var(--brass);background:#fff;padding:20px 24px;border-radius:0 12px 12px 0;box-shadow:0 10px 30px -22px rgba(20,35,60,.4)}
.notice{border:1px solid var(--brass);background:#FBF5EA;padding:6px 20px;border-radius:12px;margin-bottom:28px}
.form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 28px 28px}
.form label{display:block;font-weight:600;margin-top:18px;color:var(--navy)}
.form input,.form select,.form textarea{width:100%;padding:12px;border:1px solid #8E95A1;border-radius:8px;font:inherit;background:#fff}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--navy);outline:3px solid rgba(168,131,74,.5);outline-offset:1px}
.hint{margin:2px 0 6px;font-size:.9rem;color:#5A606B}.hp{position:absolute;left:-9999px}
.site-footer{background:var(--navy2);color:#C9D0DC;padding:56px 0 24px;border-top:1px solid var(--brass)}.site-footer a{color:#fff}
.ftr{display:grid;grid-template-columns:1fr 2fr;gap:40px}.small{font-size:.86rem}.muted{color:#5F6570}.copy{padding-top:20px;opacity:.85;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em}
.post .card{margin-bottom:16px}
/* motion */
.accord .p,.accord .res{stroke-dasharray:1;stroke-dashoffset:0;animation:draw 2.6s cubic-bezier(.65,0,.35,1) both}
.accord .p2{animation-delay:.25s}.accord .p3{animation-delay:.12s}.accord .p4{animation-delay:.37s}
.accord .res{animation:draw 2.2s cubic-bezier(.65,0,.35,1) 2.4s both,breathe 7s ease-in-out 4.6s infinite}
.accord .paths{transform-origin:300px 210px;animation:sway 14s ease-in-out 3s infinite}
.accord .drift{animation:drift 18s ease-in-out infinite alternate}
.accord .halo,.accord .ring{transform-box:fill-box;transform-origin:center}
.accord .halo{animation:glow 5s ease-in-out 2.6s infinite}
.accord .ring{opacity:.5;animation:ring 5s ease-out 2.6s infinite}
.accord .core{animation:fade 1s ease 2.2s both}
.accord .ends circle{animation:fade 1s ease both}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes sway{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.94)}}
@keyframes drift{from{transform:translateY(-6px)}to{transform:translateY(6px)}}
@keyframes breathe{0%,100%{opacity:1}50%{opacity:.7}}
@keyframes glow{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}
@keyframes ring{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(2.6)}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:860px){.grid3,.two,.ftr,.hero-grid{grid-template-columns:1fr}.hero{padding:64px 0 72px}.hero-art{max-width:420px;margin:0 auto;opacity:.9}
.grid3,.band,.ai{padding-top:64px;padding-bottom:64px}.menu-btn{display:block}nav{width:100%;display:none}.js nav.open,nav.open{display:block}nav ul{flex-direction:column;padding:10px 0}}
@media(max-width:860px){html:not(.js) nav{display:block}}
.fnav{margin-bottom:10px}.fnav a{color:#fff;text-decoration:none}.fnav a:hover{text-decoration:underline}
@media(min-width:861px) and (max-width:1000px){nav a{padding:8px 9px}}
.prose>h2:first-child,.prose>.callout:first-child+h2{margin-top:0}.fnav a{display:inline;padding:0}
.hero-stage{position:relative;width:100%}
.hero3d{display:none;aspect-ratio:600/420}
.hero-stage.has-3d .hero3d{display:block}
.hero-stage.has-3d .accord{display:none}
@media(max-width:860px){.hero-stage{max-width:420px;margin:0 auto}.hero-stage .hero-art{max-width:none}}
@media (prefers-reduced-motion:reduce){.hero-stage .hero3d{display:none!important}.hero-stage .accord{display:block!important}}
.hero h1.banner{max-width:none;white-space:nowrap;font-size:clamp(1.6rem,4.2vw,3.4rem);margin:.2em 0 .6em}
@media(max-width:700px){.hero h1.banner{white-space:normal}}
.hero-points{list-style:none;padding:0;margin:0 0 1.4em;max-width:58ch}
.hero-points li{position:relative;padding-left:1.3em;margin:.45em 0;font-size:1.05rem;line-height:1.5}
.hero-points li:before{content:"";position:absolute;left:0;top:.62em;width:.5em;height:2px;background:var(--brass)}
.form-status{margin-top:.8em;font-weight:600}
.hero-points li.hp-lead{font-family:inherit;font-size:1.15rem;font-weight:700;line-height:1.7;color:#fff;border-left:3px solid var(--brass);padding-left:14px;margin-bottom:14px}
.hero-points li.hp-lead:before{display:none}
.practice{background:linear-gradient(160deg,var(--navy) 0,var(--navy2) 100%);color:#E9ECF2;padding:80px 0;position:relative}
.practice:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--brass),transparent)}
.practice h2{color:#fff;margin:.3em 0 1em}.practice .eyebrow{color:var(--brass-l)!important}
.pa-grid{display:grid;grid-template-columns:3fr 2fr;gap:28px}
.pa-col{background:rgba(255,255,255,.04);border:1px solid rgba(201,166,107,.35);border-radius:14px;padding:26px 28px}
.pa-col.pa-lead{border-color:var(--brass);background:rgba(168,131,74,.12)}
.pa-col h3{color:var(--brass-l);margin:0 0 .6em;font-size:1rem;letter-spacing:.12em;text-transform:uppercase}
.pa-col ul{list-style:none;margin:0;padding:0}
.pa-col li{padding:12px 0 12px 24px;border-bottom:1px solid rgba(255,255,255,.1);position:relative}
.pa-col li:last-child{border-bottom:0}
.pa-col li:before{content:"";position:absolute;left:0;top:20px;width:8px;height:8px;border:2px solid var(--brass-l);transform:rotate(45deg)}
.pa-col strong{display:block;color:#fff}.pa-col span{font-size:.95rem;color:#C9CFDA}
@media (max-width:800px){.pa-grid{grid-template-columns:1fr}.practice{padding:56px 0}}
/* D. mark + split wordmark (DeSanto pages only via .wm2/.mk-*) */
.mk-disc{flex:none;display:block}
.wm2 i{font-style:normal;color:#C9A66B}
.site-header .wm2 b{color:var(--navy)}
.wm.light.wm2 b{color:#fff}
.mk-foot{display:block;width:60px;height:60px;margin:0 0 12px}
.mk-glyph{display:inline-block;height:1em;width:auto;vertical-align:-.1em}
.mk-pa{height:.95em;margin-right:.6em}
.mk-end{margin:28px 0 22px;line-height:1}
.mk-end .mk-glyph{height:18px}
.mk-cta{display:block;width:40px;height:40px;margin:0 auto 14px}
.mk-h{display:flex;align-items:center;gap:14px}
.mk-h .mk-cta{margin:0;flex:none}
.site-header .wm2 i{color:var(--brass);font-weight:400}
