@font-face{font-family:Crimson Pro;
src:url(fonts/crimson-pro.ttf) format('truetype');
font-weight:200 900;
font-display:swap}

@font-face{font-family:Manrope;
src:url(fonts/manrope.woff2) format('woff2');
font-weight:200 800;
font-display:swap}

:root{color-scheme:dark;
--ink:#0b171c;
--deep:#081216;
--ivory:#fff1d4;
--muted:#b9c4c4;
--gold:#d9aa62;
--line:#65533b;
--cyan:#9be4df;
--panel:#13242a;
--serif:'Crimson Pro',Georgia,serif;
--body:Manrope,Arial,sans-serif;
--page:82.5rem;
--gutter:clamp(1.25rem,4.15vw,5rem)}

*{box-sizing:border-box}
html{scroll-behavior:smooth;
scroll-padding-top:2rem}
body{margin:0;
background:var(--ink);
color:var(--ivory);
font:1rem/1.7 var(--body)}
img{max-width:100%;
display:block}
a{color:var(--gold);
text-underline-offset:.25em}
a:hover{color:var(--ivory)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{touch-action:manipulation}
button,a{ -webkit-tap-highlight-color:transparent}
a,button{transition:color .15s,background-color .15s,border-color .15s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);
outline-offset:4px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);
font-weight:650;
line-height:1.04;
letter-spacing:-.025em}
h1{font-size:clamp(3.2rem,6.3vw,6rem)}
h2{font-size:clamp(2.3rem,3.4vw,3.4rem)}
h3{font-size:1.9rem}
p{margin-bottom:1.25rem}
button,.button,.header-action{display:inline-flex;
align-items:center;
justify-content:center;
min-height:3rem;
padding:.65rem 1.5rem;
border:1px solid var(--gold);
border-radius:3px;
background:#5d3e1c;
color:var(--ivory);
cursor:pointer;
text-decoration:none;
font-weight:650}
button:hover,.button:hover,.header-action:hover{background:#7d5427}
button:disabled{opacity:.55;
cursor:not-allowed}
.quiet{background:transparent}
.primary{border-radius:3rem;
border-color:#dba94e;
background:linear-gradient(125deg,#b67d2c,#714316);
box-shadow:inset 0 1px #f9d58b55;
font:600 1.6rem/1 var(--serif);
padding:1rem 2.8rem;
gap:1rem}
.primary:hover{background:#936023}
.primary span{font-size:2rem}
.text-link{font-weight:650;
text-decoration:none;
border-bottom:1px solid var(--line);
padding-bottom:.3rem}
.caption,.form-status{font-size:.86rem;
color:var(--muted)}

.lede{font-size:1.2rem;
max-width:43rem;
color:var(--muted)}
.sr-only,.skip-link:not(:focus-visible){position:absolute;
width:1px;
height:1px;
overflow:hidden;
clip-path:inset(50%);
white-space:nowrap}
.skip-link:focus-visible{position:fixed;
top:1rem;
left:1rem;
padding:.5rem 1rem;
z-index:20;
background:var(--ink)}

.site-header{min-height:6rem;
display:flex;
align-items:center;
gap:3rem;
padding:1rem var(--gutter);
max-width:100rem;
margin:auto;
position:relative;
z-index:2}
.home .site-header{position:absolute;
top:0;
left:0;
right:0;
background:linear-gradient(#06101799,transparent)}
.wordmark{color:var(--ivory);
font:600 clamp(1.1rem,1.7vw,1.7rem)/1.2 var(--serif);
letter-spacing:.07em;
text-decoration:none;
white-space:nowrap}
.brand-mark{color:var(--gold);
margin-right:.5rem}
.site-header nav{display:flex;
gap:clamp(1.4rem,3.2vw,3rem);
align-items:center}
.site-header nav a{font:500 1.2rem var(--serif);
white-space:nowrap;
color:var(--ivory);
text-decoration:none}
.site-header nav a:hover,.site-header a[aria-current]{color:var(--gold)}
.header-action{font:500 1.1rem var(--serif);
margin-left:auto;
min-width:9.5rem;
border-radius:.7rem;
background:#071318a8;
min-height:2.7rem}
.hero{position:relative;
isolation:isolate;
height:clamp(36rem,47.93vw,48rem);
min-height:38rem;
overflow:hidden}
.hero-art{position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
object-position:center;
z-index:-3}
.hero-shade{position:absolute;
inset:0;
z-index:-2;
background:linear-gradient(90deg,#05121ac4 0%,#06131c61 35%,transparent 57%),linear-gradient(0deg,#07131840,transparent 20%)}
.hero-copy{position:relative;
padding-top:clamp(9.7rem,11.4vw,12rem);
padding-left:var(--gutter);
max-width:44rem}
.hero h1{font-size:clamp(4rem,6.35vw,6.4rem);
line-height:.88;
letter-spacing:-.023em;
margin-bottom:1.5rem;
font-weight:700;
white-space:nowrap}
.hero-copy>p:not(.availability){font:500 clamp(1.2rem,1.67vw,1.65rem)/1.4 var(--serif);
white-space:nowrap;
margin-bottom:1.7rem}
.hero .availability{font:500 1.18rem var(--serif);
margin-top:1rem;
padding-left:.9rem}
.availability::before{content:'•';
color:var(--gold);
margin-right:.6rem}
.cycle{border-top:1px solid var(--gold);
position:relative;
padding:1.3rem var(--gutter) 1.6rem;
isolation:isolate;
overflow:hidden;
background:var(--deep)}
.cycle-heading{text-align:center;
position:relative;
z-index:1}
.cycle h2{font-size:2.25rem;
margin:0 0 .3rem}
.cycle-heading>p:not(.ornament){font:500 1.17rem var(--serif)}
.ornament{position:absolute;
left:50%;
top:-2.6rem;
transform:translateX(-50%);
padding:0 .5rem;
background:var(--ink);
font:2rem var(--serif);
color:var(--gold)}
.cycle-art{position:absolute;
left:0;
top:4.5rem;
width:100%;
height:13.5rem;
object-fit:cover;
object-position:center 44%;
z-index:-1;
opacity:.94;
mask-image:linear-gradient(transparent,#000 12%,#000 62%,transparent 100%)}
.cycle-steps{display:grid;
grid-template-columns:repeat(4,1fr);
gap:2.5rem;
list-style:none;
padding:9.6rem 0 0;
margin:0 auto;
max-width:var(--page)}
.cycle-steps li{position:relative;
padding-left:2.5rem}
.cycle-steps li+li::before{content:'→';
position:absolute;
left:-2.5rem;
top:-.3rem;
color:var(--gold);
font:2rem var(--serif)}
.cycle-steps span{position:absolute;
left:0;
color:var(--gold);
font:1.1rem var(--serif)}
.cycle-steps h3{font-size:1.75rem;
margin-bottom:.3rem}
.cycle-steps p{font:400 1.05rem/1.35 var(--serif);
margin:0}
.companion-section{max-width:var(--page);
margin:0 auto;
padding:7rem var(--gutter);
display:grid;
grid-template-columns:1fr 1fr;
gap:6rem}
.companion-section>div>p:not(.eyebrow){max-width:28rem;
color:var(--muted)}
.feature-links{border-top:1px solid var(--line)}
.feature-links a{display:block;
text-decoration:none;
padding:1.3rem 0;
border-bottom:1px solid var(--line)}
.feature-links span,.feature-links small{display:block;
color:var(--muted);
font-size:.75rem}
.feature-links strong{display:block;
color:var(--ivory);
font:600 2rem/1.2 var(--serif);
padding:.3rem 0}
.feature-links a:hover strong{color:var(--gold)}
.about-strip{max-width:50rem;
margin:0 auto;
padding:0 var(--gutter) 6rem;
text-align:center}
.about-strip>p:not(.eyebrow){color:var(--muted)}
.site-footer{border-top:1px solid var(--line);
padding:2rem var(--gutter);
display:grid;
grid-template-columns:1fr 1fr;
gap:1rem 3rem;
max-width:100rem;
margin:0 auto}
.footer-brand{font:600 1.4rem var(--serif);
text-decoration:none}
.site-footer p{font-size:.75rem;
color:var(--muted);
margin:.6rem 0 0}
.site-footer nav{display:flex;
flex-wrap:wrap;
gap:.8rem 1.5rem;
justify-content:flex-end;
align-content:start;
padding-top:.5rem}
.site-footer nav a{font-size:.78rem;
text-decoration:none}
.site-footer .footer-note{grid-column:1/-1;
font-size:.68rem;
color:#98aaa9}

.page-main{max-width:var(--page);
padding:4.2rem var(--gutter) 6rem;
margin:auto;
min-height:65vh}
.page-intro{padding-bottom:2.5rem;
border-bottom:1px solid var(--line);
margin-bottom:3rem}
.page-intro h1{max-width:60rem;
margin-bottom:1.25rem}
.page-intro .lede{margin-bottom:0}
.article-index{display:flex;
gap:1rem 2rem;
flex-wrap:wrap;
margin:-1rem 0 3rem;
font-size:.85rem}
.prose{max-width:47rem}
.prose h2{font-size:2.35rem;
margin-top:3rem;
margin-bottom:1rem}
.prose h3{font-size:1.8rem;
margin-top:2rem}
.prose p,.prose li{color:#d3dcdb}
.prose p a{overflow-wrap:anywhere}
.prose section+section{padding-top:1rem}
.prose li{margin-bottom:.8rem;
padding-left:.3rem}
.prose ol{padding-left:1.4rem}
.prose>h2:first-child{margin-top:0}
.checklist{display:grid;
gap:.7rem;
margin:1.7rem 0}
.checklist label,.check-label{display:flex;
align-items:flex-start;
gap:.6rem}
.checklist input,.check-label input{accent-color:var(--gold);
width:1.2rem;
height:1.2rem;
flex-shrink:0;
margin-top:.2rem}
.button-row{display:flex;
gap:.8rem;
flex-wrap:wrap}
.notice{padding:1rem 1.25rem;
border-left:3px solid var(--gold);
background:var(--panel)}
label{display:block;
font-size:.86rem;
font-weight:650;
margin-bottom:.4rem}
input:not([type=checkbox]),select,textarea{display:block;
width:100%;
border:1px solid #69797b;
border-radius:3px;
padding:.7rem .8rem;
background:#0b1a20;
color:var(--ivory);
min-height:3rem;
margin-bottom:1.25rem}
input::placeholder,textarea::placeholder{color:#8c9da1}
select{font-size:.9rem}
textarea{resize:vertical}
fieldset{border:0;
margin:0;
padding:0;
min-width:0}
.tool-section{display:grid;
grid-template-columns:1fr 1fr;
gap:5rem;
padding:1rem 0 4rem;
margin-bottom:3rem;
border-bottom:1px solid var(--line)}
.tool-section:last-of-type{border-bottom:0;
margin-bottom:0;
padding-bottom:0}
.tool-section>div>p:not(.eyebrow){color:var(--muted)}
.tool-result{padding:2rem;
background:var(--panel);
border-top:2px solid var(--gold)}
.tool-result h3{margin-bottom:1.3rem}
.tool-result ol{padding-left:1.3rem;
color:#d3dcdb}
.tool-result li{padding-left:.25rem;
margin-bottom:1rem}
.tool-result .form-status{margin:1rem 0 0;
min-height:2.8rem}
.glossary-controls{display:grid;
grid-template-columns:1fr 1fr;
gap:2rem;
align-items:center}
.glossary-controls input[type=search]{margin-bottom:0}
.glossary-list{margin-top:2rem}
.glossary-list article{display:grid;
grid-template-columns:11rem 1fr;
gap:2rem;
border-top:1px solid var(--line);
padding:1.5rem 0}
.glossary-list h2{font-size:1.9rem;
margin:0}
.glossary-list p{margin:0;
color:#d3dcdb;
max-width:45rem}
[hidden]{display:none!important}
.support-layout{display:grid;
grid-template-columns:1fr 1fr;
gap:4rem}
.contact-panel{padding:2rem;
background:var(--panel);
align-self:start;
border-top:2px solid var(--gold)}
.contact-panel h2{font-size:2.3rem}
.contact-panel>p a{overflow-wrap:anywhere}
.contact-panel .caption{font-weight:400}
.honeypot{position:absolute;
left:-10000px;
width:1px;
height:1px;
overflow:hidden}
.prose details{border-top:1px solid var(--line);
padding:1rem 0}
.prose details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;
color:var(--ivory);
font-weight:650}
details p{padding-top:1rem;
margin-bottom:0}
.back-home{display:flex;
gap:2rem;
align-items:center;
flex-wrap:wrap}

@media(min-width:1600px){.hero-copy{padding-left:max(var(--gutter),calc((100vw - 88rem)/2))}
}

@media(max-width:1000px){.site-header{gap:2rem}
.site-header nav{gap:1.3rem}
.header-action{min-width:6rem}
.hero-copy{padding-top:10rem}
.hero{height:40rem}
.hero-art{object-position:60% center}
.hero-shade{background:linear-gradient(90deg,#05121ad9,#06131c80 47%,transparent 85%)}
.hero h1{font-size:5rem}
.hero-copy>p:not(.availability){white-space:normal;
max-width:26rem}
.cycle-steps{gap:1rem}
.cycle-steps li{padding-left:1.8rem}
.cycle-steps li+li::before{display:none}
.companion-section{gap:3rem;
padding-top:5rem;
padding-bottom:5rem}
.tool-section{gap:2.5rem}
.support-layout{gap:2rem}
.site-footer{grid-template-columns:1fr}
.site-footer nav{justify-content:flex-start}
}

@media(max-width:700px){.site-header{padding:.95rem 1.25rem;
min-height:5rem;
flex-wrap:wrap;
gap:.8rem;
justify-content:space-between}
.wordmark{font-size:1.15rem}
.header-action{min-height:2.35rem;
min-width:auto;
padding:.35rem 1rem;
font-size:1rem}
.site-header nav{order:3;
width:100%;
justify-content:space-between;
gap:.5rem;
border-top:1px solid #c99a5033;
padding-top:.7rem}
.site-header nav a{font-size:1.05rem}
.home .site-header{background:linear-gradient(#061017dd,#06101780,transparent)}
.hero{height:47rem;
min-height:0}
.hero-art{object-position:54% bottom}
.hero-shade{background:linear-gradient(180deg,#05121abf 0%,#05121acc 24%,#05121a9c 45%,transparent 70%,#07131833)}
.hero-copy{padding:10.5rem 1.25rem 0;
max-width:none}
.hero h1{font-size:clamp(3rem,10.9vw,4.7rem);
line-height:.94;
letter-spacing:-.03em;
margin-bottom:1.15rem}
.hero-copy>p:not(.availability){font-size:1.3rem;
max-width:21rem;
margin-bottom:1.4rem;
line-height:1.25}
.primary{font-size:1.4rem;
padding:.9rem 1.7rem;
min-height:3.2rem}
.hero .availability{font-size:1.05rem;
padding-left:0}
.cycle{padding-top:1.6rem;
padding-bottom:2rem}
.cycle h2{font-size:2rem}
.cycle-heading>p:not(.ornament){font-size:1.1rem;
line-height:1.3;
margin-left:auto;
margin-right:auto;
max-width:19rem}
.cycle-art{height:8.5rem;
top:6.8rem;
object-position:center 42%}
.cycle-steps{grid-template-columns:1fr 1fr;
gap:1.7rem 1rem;
padding-top:9rem}
.cycle-steps h3{font-size:1.6rem}
.cycle-steps p{font-size:1rem}
.cycle-steps p br{display:none}
.companion-section{grid-template-columns:1fr;
gap:2rem;
padding:3.5rem 1.25rem}
.companion-section h2{font-size:2.7rem}
.about-strip{padding:0 1.25rem 3.5rem;
text-align:left}
.about-strip h2{font-size:2.5rem}
.site-footer{padding:1.8rem 1.25rem;
gap:.8rem}
.site-footer nav{gap:.8rem 1.2rem}
.page-main{padding:2.7rem 1.25rem 4rem}
.page-intro{padding-bottom:2rem;
margin-bottom:2rem}
.page-intro h1{font-size:3.2rem}
.lede{font-size:1rem}
.article-index{gap:.7rem 1rem;
margin-top:0}
.prose h2{font-size:2rem;
margin-top:2.4rem}
.prose{font-size:.95rem}
.tool-section{grid-template-columns:1fr;
gap:1rem;
padding-bottom:2.5rem;
margin-bottom:2.5rem}
.tool-result{padding:1.4rem}
.tool-section h2{font-size:2.5rem}
.glossary-controls{grid-template-columns:1fr;
gap:1rem}
.glossary-list article{grid-template-columns:1fr;
gap:.6rem;
padding:1.3rem 0}
.glossary-list p{font-size:.95rem}
.support-layout{grid-template-columns:1fr;
gap:3rem}
.contact-panel{padding:1.4rem}
.button-row button{width:100%;
font-size:.9rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{transition:none!important}
}


@media(max-width:700px){.hero-art{width:950px;max-width:none;height:auto;left:50%;top:auto;bottom:0;transform:translateX(-56%);object-fit:contain;mask-image:linear-gradient(transparent,#000 18%)}.hero-shade{background:linear-gradient(180deg,#05121a90,transparent 75%)}}
