:root{
  --obsidian:#0A070E; --plum:#1A0E28; --plum-2:#241436; --line:rgba(226,192,116,.22);
  --gold:#E2C074; --gold-hi:#F5D282; --gold-deep:#C89B3C; --ivory:#E6D8B8; --muted:#A99C86;
  --display:'Cinzel',Georgia,serif; --serif:'Cormorant Garamond',Georgia,serif; --sans:'Lato',system-ui,sans-serif;
  --wrap:min(1180px,92vw); --pad:clamp(4rem,9vw,8rem);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{color-scheme:dark;background:var(--obsidian);color:var(--ivory);font:400 1rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--gold);color:var(--obsidian);padding:.5rem 1rem}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(10,7,14,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr .in{width:var(--wrap);margin:auto;display:flex;align-items:center;justify-content:space-between;height:76px;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--gold)}
.brand svg{width:40px;height:40px}
.brand b{font:600 .95rem/1.1 var(--display);letter-spacing:.18em;display:block}
.brand small{font:400 .62rem/1 var(--sans);letter-spacing:.32em;color:var(--muted);text-transform:uppercase}
.nav{display:flex;gap:1.8rem;list-style:none;align-items:center}
.nav a{text-decoration:none;font:700 .74rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ivory);opacity:.82;transition:opacity .2s,color .2s}
.nav a:hover,.nav a[aria-current=page]{opacity:1;color:var(--gold-hi)}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--gold);padding:.5rem .8rem;font:700 .7rem var(--sans);letter-spacing:.2em;cursor:pointer}
@media(max-width:900px){
  .menu-btn{display:block}
  .nav{position:absolute;top:76px;left:0;right:0;flex-direction:column;background:var(--obsidian);border-bottom:1px solid var(--line);padding:1.5rem;gap:1.2rem;display:none}
  .nav.open{display:flex}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 1.8rem;font:700 .74rem var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border:1px solid var(--gold);transition:background .25s,color .25s,transform .25s;cursor:pointer}
.btn-gold{background:linear-gradient(180deg,var(--gold-hi),var(--gold-deep));color:var(--obsidian);border-color:var(--gold-hi)}
.btn-gold:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn-ghost{background:transparent;color:var(--gold)}
.btn-ghost:hover{background:rgba(226,192,116,.1)}
.btn-row{display:flex;flex-wrap:wrap;gap:1rem}

/* type */
.eyebrow{font:700 .72rem var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{font-family:var(--display);font-weight:500;color:var(--gold-hi);line-height:1.12;letter-spacing:.04em}
h1{font-size:clamp(2.4rem,5.6vw,4.6rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
h3{font-size:1.2rem;letter-spacing:.08em}
.lede{font:italic 400 clamp(1.25rem,2vw,1.55rem)/1.5 var(--serif);color:var(--ivory)}
.muted{color:var(--muted)}
.serif{font-family:var(--serif);font-size:1.18rem;line-height:1.6}
.divider{display:flex;align-items:center;gap:1rem;color:var(--gold-deep);margin:1.6rem 0}
.divider::before,.divider::after{content:"";height:1px;flex:1;max-width:120px;background:currentColor}
.divider.center{justify-content:center}
.star{width:12px;height:12px;background:var(--gold-hi);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}

/* sections */
.wrap{width:var(--wrap);margin:auto}
section{padding:var(--pad) 0}
.sec-head{max-width:720px;margin-bottom:3rem}
.sec-head.center{text-align:center;margin-inline:auto}
.sec-head h2{margin:.8rem 0 1rem}
.alt{background:radial-gradient(ellipse at 20% 0%,var(--plum-2),transparent 60%),var(--plum)}
.marble{background:linear-gradient(rgba(10,7,14,.78),rgba(10,7,14,.9)),url(img/hero.webp) center/cover}

/* hero */
.hero{position:relative;min-height:calc(100vh - 76px);display:flex;align-items:center;overflow:hidden;padding:5rem 0}
.hero-bg{position:absolute;inset:0;background:url(img/hero.webp) 70% center/cover}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--obsidian) 22%,rgba(10,7,14,.7) 55%,rgba(10,7,14,.25))}
.hero .wrap{position:relative}
.hero-copy{max-width:640px}
.hero h1{margin:1rem 0 .6rem}
.hero h1 em{font-style:normal;display:block;font-size:.55em;letter-spacing:.14em;color:var(--gold)}
.hero .lede{margin:1.2rem 0 2.2rem}
.page-hero{padding:clamp(4rem,8vw,7rem) 0 clamp(3rem,6vw,5rem);text-align:center;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);margin:.9rem 0 1rem}
.page-hero .lede{max-width:680px;margin:auto}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.pillar{position:relative;display:flex;flex-direction:column;min-height:520px;text-decoration:none;overflow:hidden;border:1px solid var(--line)}
.pillar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.pillar::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,7,14,.05) 30%,rgba(10,7,14,.95) 82%)}
.pillar:hover img{transform:scale(1.05)}
.pillar .txt{position:relative;z-index:1;margin-top:auto;padding:2rem}
.pillar h3{font-size:1.5rem;margin:.5rem 0 .6rem}
.pillar p{color:var(--ivory);font-size:.95rem}
.pillar .go{display:inline-block;margin-top:1.2rem;font:700 .7rem var(--sans);letter-spacing:.24em;color:var(--gold);text-transform:uppercase}
@media(max-width:900px){.pillars{grid-template-columns:1fr}.pillar{min-height:420px}}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.split.rev .media{order:2}
.media{position:relative}
.media img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line)}
.media::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--gold-deep);opacity:.5;z-index:-1}
.split p+p{margin-top:1rem}
.checklist{list-style:none;margin:1.6rem 0 2rem;display:grid;gap:.7rem}
.checklist li{display:flex;gap:.8rem;align-items:flex-start}
.checklist li::before{content:"";flex:none;width:10px;height:10px;margin-top:.5rem;background:var(--gold);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
@media(max-width:900px){.split{grid-template-columns:1fr}.split.rev .media{order:0}}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.card{background:rgba(26,14,40,.72);border:1px solid var(--line);padding:2.2rem 2rem;display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
.card:hover{border-color:var(--gold-deep);transform:translateY(-3px)}
.card .num{font:600 2rem var(--display);color:var(--gold-deep)}
.card h3{margin:.8rem 0 .7rem}
.card p{font-size:.95rem;color:var(--ivory)}
.card ul{list-style:none;margin:1rem 0 0;display:grid;gap:.45rem;font-size:.92rem;color:var(--muted)}
.card ul li::before{content:"\2726  ";color:var(--gold-deep)}
.card .price{margin-top:auto;padding-top:1.6rem;font:600 .95rem var(--display);color:var(--gold);letter-spacing:.1em}
.card.feature{border-color:var(--gold-deep);background:linear-gradient(180deg,rgba(200,155,60,.12),rgba(26,14,40,.8))}
.tag{align-self:flex-start;font:700 .62rem var(--sans);letter-spacing:.24em;text-transform:uppercase;background:var(--gold);color:var(--obsidian);padding:.3rem .7rem;margin-bottom:.4rem}

/* books */
.books{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2.4rem 2rem}
.book{display:flex;flex-direction:column}
.book .cover{aspect-ratio:8.5/11;background:var(--plum);overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.8),0 0 0 1px var(--line);transition:transform .4s}
.book:hover .cover{transform:translateY(-6px) rotate(-.6deg)}
.book .cover img{width:100%;height:100%;object-fit:cover}
.book .fmt{margin-top:1.3rem;font:700 .64rem var(--sans);letter-spacing:.24em;color:var(--gold);text-transform:uppercase}
.book h3{margin:.4rem 0 .5rem;font-size:1.08rem;line-height:1.3}
.book p{font-size:.92rem;color:var(--muted);margin-bottom:1.2rem}
.book .btn{margin-top:auto;padding:.85rem 1.2rem;font-size:.66rem}
.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem}
.filters button{background:none;border:1px solid var(--line);color:var(--ivory);padding:.6rem 1.1rem;font:700 .68rem var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.filters button[aria-pressed=true]{background:var(--gold);color:var(--obsidian);border-color:var(--gold)}

/* quote band */
.band{text-align:center;padding:clamp(5rem,10vw,8rem) 0}
.band blockquote{font:italic 400 clamp(1.6rem,3.4vw,2.6rem)/1.35 var(--serif);color:var(--gold-hi);max-width:860px;margin:auto}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:s}
.step{border-top:1px solid var(--gold-deep);padding-top:1.4rem}
.step b{font:600 .8rem var(--display);color:var(--gold);letter-spacing:.2em}
.step h3{margin:.5rem 0}
.step p{font-size:.93rem;color:var(--muted)}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}

/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;background:rgba(26,14,40,.7);border:1px solid var(--line);padding:clamp(1.6rem,4vw,3rem)}
.form .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:.45rem}
.field label{font:700 .68rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.field input,.field select,.field textarea{background:var(--obsidian);border:1px solid var(--line);color:var(--ivory);font:400 1rem var(--sans);padding:.85rem 1rem;border-radius:0;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field textarea{min-height:130px;resize:vertical}
.field .err{font-size:.8rem;color:#E89A9A;min-height:1em}
.form .note{font-size:.85rem;color:var(--muted)}
.form-ok{display:none;grid-column:1/-1;border:1px solid var(--gold-deep);padding:1rem 1.2rem;color:var(--gold-hi)}
.form-ok.show{display:block}
@media(max-width:700px){.form{grid-template-columns:1fr}}
.tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.4rem}

/* faq */
.faq{max-width:820px;margin:auto}
.faq details{border-bottom:1px solid var(--line);padding:1.3rem 0}
.faq summary{cursor:pointer;font:500 1.05rem var(--display);color:var(--gold-hi);letter-spacing:.04em;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::after{content:"+";color:var(--gold)}
.faq details[open] summary::after{content:"\2013"}
.faq p{margin-top:.8rem;color:var(--ivory)}

/* signup + footer */
.signup{display:flex;gap:.8rem;max-width:520px;margin:2rem auto 0}
.signup input{flex:1;background:var(--obsidian);border:1px solid var(--line);color:var(--ivory);padding:.9rem 1rem;font:400 1rem var(--sans)}
@media(max-width:560px){.signup{flex-direction:column}}
.ftr{border-top:1px solid var(--line);padding:4rem 0 2rem;background:var(--obsidian)}
.ftr .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.ftr h4{font:700 .7rem var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.ftr ul{list-style:none;display:grid;gap:.5rem;font-size:.92rem}
.ftr a{text-decoration:none;opacity:.8}.ftr a:hover{opacity:1;color:var(--gold-hi)}
.ftr .motto{font:italic 1.15rem var(--serif);color:var(--gold-hi);margin-top:1rem}
.ftr .base{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:var(--muted)}
@media(max-width:900px){.ftr .grid{grid-template-columns:1fr 1fr}}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:560px){.ftr .grid{grid-template-columns:1fr}}
.ftr a,.split a{overflow-wrap:anywhere}
.ftr .grid>div{min-width:0}
.hero h1 em{font-size:.42em;letter-spacing:.2em;margin-bottom:.6rem}
.pillar img.top{object-position:top}
.pillar::after{background:linear-gradient(180deg,rgba(10,7,14,0) 20%,rgba(10,7,14,.88) 58%,rgba(10,7,14,.97))}
.gform{background:#fff;border:1px solid var(--gold-deep);box-shadow:0 0 0 6px rgba(226,192,116,.08)}
.gform iframe{display:block;width:100%;height:1500px;border:0}
@media(max-width:700px){.gform iframe{height:1800px}}
.book .buy{margin-top:auto;display:grid;gap:.6rem}
.book .buy .btn{margin-top:0}
.btn-etsy{background:transparent;color:var(--ivory);border-color:rgba(230,216,184,.35);padding:.85rem 1.2rem;font-size:.66rem}
.btn-etsy:hover{border-color:var(--gold);color:var(--gold-hi)}
