/* Today's Cure: shared stylesheet. One file for every page.
   Palette and type follow the Mind Cures brand guide (Oct 2026). */
@font-face{font-family:"Playfair Display";src:url(../fonts/playfair.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(../fonts/playfair-italic.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Cinzel";src:url(../fonts/cinzel.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(../fonts/ebgaramond.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(../fonts/ebgaramond-italic.woff2) format("woff2");font-weight:400 800;font-style:italic;font-display:swap}

:root{
  --ink:#111111; --ink-2:#1d1b18; --gold:#B8893B; --sun:#C8923A; --gold-light:#C99A4A;
  --gold-text:#7A5A1E; --cream:#F6EFE2; --paper:#FBF8F1; --line:#E2D6BF; --muted:#5B5348;
  --accent:var(--gold); /* each collection can override --accent */
  --serif-display:"Playfair Display",Georgia,"Times New Roman",serif;
  --caps:"Cinzel","Trajan Pro",Georgia,serif;
  --serif:"EB Garamond",Garamond,Georgia,serif;
  --wrap:72rem; --narrow:44rem; --radius:4px;
  --step--1:clamp(.9rem,.86rem + .2vw,1rem);
  --step-0:clamp(1.08rem,1.02rem + .3vw,1.25rem);
  --step-1:clamp(1.3rem,1.15rem + .7vw,1.65rem);
  --step-2:clamp(1.6rem,1.3rem + 1.4vw,2.4rem);
  --step-3:clamp(2.1rem,1.5rem + 2.8vw,3.8rem);
  --step-4:clamp(2.8rem,1.8rem + 4.8vw,5.6rem);
}
.collection-body{--accent:#8C6A4F}
.collection-soul{--accent:#6E6A86}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--step-0)/1.6 var(--serif);font-kerning:normal;text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-color:var(--gold);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-color:var(--ink)}
:focus-visible{outline:2px solid var(--gold-text);outline-offset:3px}
h1,h2,h3{text-wrap:balance;font-family:var(--serif-display);font-weight:500;line-height:1.1;margin:0 0 .5em;letter-spacing:-.01em}
p{margin:0 0 1em}
.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
.narrow{width:min(100% - 2.5rem,var(--narrow));margin-inline:auto}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-3rem;background:var(--ink);color:var(--cream);padding:.5rem 1rem;z-index:10}
.skip:focus{top:1rem}

/* Small caps labels, Cinzel tracked (brand: "tagline, labels") */
.eyebrow{font-family:var(--caps);font-size:var(--step--1);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text);margin:0 0 1rem}
.on-ink .eyebrow{color:var(--gold-light)}
.rule{display:flex;align-items:center;gap:.75rem;color:var(--gold);margin:1.25rem 0}
.rule::before,.rule::after{content:"";height:1px;background:currentColor;flex:0 0 3.5rem}
.rule span{width:.45rem;height:.45rem;background:currentColor;transform:rotate(45deg)}
.center .rule{justify-content:center}
.center{text-align:center}

/* Header */
.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-family:var(--caps);letter-spacing:.2em;font-size:1rem;white-space:nowrap}
.brand svg{width:2.6rem;height:auto;color:var(--sun)}
.nav ul{list-style:none;display:flex;gap:1.6rem;margin:0;padding:0}
.nav a{text-decoration:none;font-family:var(--caps);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;padding:.5rem 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--gold)}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:var(--radius);padding:.45rem .7rem;font:inherit;font-family:var(--caps);font-size:.75rem;letter-spacing:.15em;color:var(--ink);cursor:pointer}
@media (max-width:760px){
  .nav-toggle{display:inline-block}
  .nav{position:absolute;inset:100% 0 auto 0;background:var(--paper);border-bottom:1px solid var(--line);display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column;gap:0;padding:.5rem 1.25rem 1rem}
  .nav a{display:block;padding:.8rem 0;border-bottom:1px solid var(--line)}
  .no-js .nav{display:block;position:static}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--caps);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:.95rem 1.5rem;border:1px solid var(--ink);background:var(--ink);color:var(--cream);border-radius:var(--radius);cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--cream)}
.btn[aria-disabled="true"]{background:transparent;color:var(--muted);border-color:var(--line);border-style:dashed;cursor:default}
.on-ink .btn{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.on-ink .btn:hover{background:transparent;color:var(--cream)}

/* Sections */
section{padding:clamp(3.5rem,8vw,7rem) 0}
.on-ink{background:var(--ink);color:var(--cream)}
.on-ink a{color:var(--cream)}
.on-cream{background:var(--cream)}
.section-head{max-width:40rem;margin-bottom:2.5rem}
.section-head.center{margin-inline:auto}
.section-head h2{font-size:var(--step-3)}
.lede{font-size:var(--step-1);line-height:1.45;color:var(--muted)}
.on-ink .lede{color:#d9cfbd}

/* Home hero */
.hero{padding-top:clamp(4rem,10vw,8rem);text-align:center;position:relative;overflow:hidden}
.hero h1{font-size:var(--step-4);font-weight:500;max-width:18ch;margin-inline:auto}
.hero .lede{max-width:34rem;margin:0 auto 2rem}
.hero .actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}
.horizon{width:min(100%,46rem);margin:3.5rem auto 0;color:var(--sun)}

/* Collections grid */
.collections{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
@media (max-width:900px){.collections{grid-template-columns:1fr}.card{min-height:0}}
.card{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.75rem 1.75rem;min-height:21rem;color:var(--ink);text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s}
.card .icon{width:3.25rem;color:var(--accent);margin-bottom:1.75rem}
.card h3{font-size:var(--step-2)}
.card p{color:var(--muted);flex:1}
.card .status{font-family:var(--caps);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;display:inline-block;padding:.35rem .6rem;border:1px solid var(--line);border-radius:999px;align-self:flex-start;margin-bottom:1.25rem;color:var(--muted)}
.card .more{font-family:var(--caps);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text)}
a.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(17,17,17,.45);border-color:var(--gold)}
a.card .status{border-color:var(--gold);color:var(--gold-text)}
.card.soon{background:transparent;border-style:dashed}
.card.soon h3,.card.soon .icon{opacity:.75}

/* Anatomy of a day (maxim / reflection / cure) */
.anatomy{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;counter-reset:a}
@media (max-width:820px){.anatomy{grid-template-columns:1fr;gap:1.75rem}}
.anatomy div{border-top:1px solid var(--gold);padding-top:1.25rem}
.anatomy h3{font-size:var(--step-1)}
.anatomy p{color:var(--muted);margin:0}
.on-ink .anatomy p{color:#d9cfbd}

/* Featured cure block */
.cure-card{max-width:46rem;margin-inline:auto;text-align:center}
.cure-card .date{font-family:var(--caps);letter-spacing:.22em;text-transform:uppercase;font-size:var(--step--1);color:var(--gold-light)}
.cure-card blockquote{margin:1.25rem 0 0;font-family:var(--serif-display);font-size:var(--step-2);line-height:1.25;font-style:italic}
.cure-card .cure{margin-top:2rem;border:1px solid rgba(201,154,74,.55);padding:1.25rem 1.5rem;border-radius:var(--radius);font-size:var(--step-0);text-align:left}
.cure-label{display:block;font-family:var(--caps);letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;color:var(--gold-light);margin-bottom:.35rem}
.on-cream .cure-label,.paper .cure-label,.page-sample .cure-label{color:var(--gold-text)}

/* Signup placeholder */
.signup{display:flex;flex-wrap:wrap;gap:.6rem;max-width:32rem;margin:1.5rem auto 0}
.signup input{flex:1 1 15rem;font:inherit;font-size:1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink)}
.on-ink .signup input{background:transparent;border-color:#4a4438;color:var(--cream)}
.signup .note{flex-basis:100%;font-size:.92rem;color:var(--muted);margin:.25rem 0 0}
.on-ink .signup .note{color:#bfb39d}
.on-ink .signup .note a{color:inherit}

/* Book page */
.book-hero-section{background:#EFE6D4}
.book-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,5.5rem);align-items:center}
@media (max-width:860px){.book-hero{grid-template-columns:1fr}.book-hero .cover{max-width:19rem;margin-inline:auto}}
.cover{perspective:1600px}
.cover img{width:100%;border-radius:2px 5px 5px 2px;box-shadow:inset 4px 0 0 rgba(0,0,0,.06),0 1px 1px rgba(0,0,0,.08),0 30px 60px -20px rgba(17,17,17,.45),0 12px 24px -12px rgba(17,17,17,.3);transform:rotateY(-8deg);transform-origin:left center;transition:transform .5s}
.cover:hover img{transform:rotateY(0)}
.book-hero h1{font-size:var(--step-4);text-transform:uppercase;letter-spacing:.02em;margin-bottom:.15em}
.book-hero .subtitle{font-family:var(--caps);letter-spacing:.2em;text-transform:uppercase;font-size:var(--step-0);margin:0}
.book-hero .byline{font-family:var(--caps);letter-spacing:.24em;text-transform:uppercase;font-size:var(--step--1);color:var(--gold-text);margin:1.25rem 0 1.5rem}
.facts{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;padding:0;margin:1.5rem 0 2rem;font-family:var(--caps);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.facts li::before{content:"\25C6";color:var(--gold);margin-right:.5rem;font-size:.6rem;vertical-align:.15em}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}

/* A page from the book */
.page-sample{background:var(--paper);color:var(--ink);max-width:40rem;margin-inline:auto;padding:clamp(2rem,6vw,4rem);border:1px solid var(--line);box-shadow:0 30px 60px -35px rgba(0,0,0,.6);position:relative}
.page-sample::before{content:"";position:absolute;inset:.6rem;border:1px solid var(--gold);opacity:.6;pointer-events:none}
.page-sample .day{font-family:var(--caps);letter-spacing:.22em;text-transform:uppercase;font-size:.8rem;color:var(--gold-text);text-align:center;margin:0}
.page-sample h3{text-align:center;font-size:var(--step-2);margin:.4rem 0 1rem}
.page-sample .maxim{font-family:var(--serif-display);font-style:italic;font-size:var(--step-1);text-align:center;line-height:1.35;margin:0 auto 1.5rem;max-width:30rem}
.page-sample .body p{text-indent:1.25em;margin:0;hyphens:auto}
.page-sample .body p:first-child{text-indent:0}
.page-sample .cure{margin-top:1.75rem;border-top:1px solid var(--gold);padding-top:1rem}

.samples{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
@media (max-width:900px){.samples{grid-template-columns:1fr}}
.sample{border:1px solid #3a352d;border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}
.sample .day{font-family:var(--caps);letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;color:var(--gold-light);margin:0}
.sample .maxim{font-family:var(--serif-display);font-style:italic;font-size:var(--step-1);line-height:1.3;margin:0;flex:1}
.sample .cure{border-top:1px solid #3a352d;padding-top:.85rem;margin:0;color:#e6dccb}

.months{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);list-style:none;padding:0;margin:0}
@media (max-width:900px){.months{grid-template-columns:repeat(3,1fr)}}
@media (max-width:480px){.months{grid-template-columns:repeat(2,1fr)}}
.months li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.1rem 1rem}
.months .m{display:block;font-family:var(--caps);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text)}
.months .t{font-family:var(--serif-display);font-size:1.2rem}

.pullquote{font-family:var(--serif-display);font-style:italic;font-size:var(--step-2);line-height:1.3;max-width:44rem;margin:0 auto;text-align:center}
.pullquote cite{display:block;font-style:normal;font-family:var(--caps);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text);margin-top:1.25rem}

.formats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;max-width:52rem;margin-inline:auto}
@media (max-width:700px){.formats{grid-template-columns:1fr}}
.format{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);padding:2rem}
.format h3{font-size:var(--step-2);margin-bottom:.25rem}
.format .spec{color:var(--muted);font-size:1rem;margin-bottom:1.25rem}
.price{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.25rem}
.price .now{font-family:var(--serif-display);font-size:2.4rem;line-height:1}
.price .was{color:var(--muted);text-decoration:line-through}
.price-note{font-size:.95rem;color:var(--muted);margin-bottom:1.5rem}

.author{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(2rem,6vw,5rem);align-items:start}
@media (max-width:820px){.author{grid-template-columns:1fr}}
.author-mark{aspect-ratio:4/5;background:var(--ink);color:var(--gold-light);display:grid;place-items:center;border-radius:var(--radius);font-family:var(--caps);letter-spacing:.3em;font-size:clamp(1.5rem,3vw,2.2rem);text-align:center;padding:1rem}
.author-mark small{display:block;font-size:.7rem;letter-spacing:.2em;color:#bfb39d;margin-top:1rem}

/* Coming-soon pages */
.soon-hero{min-height:62vh;display:grid;place-items:center;text-align:center}
.soon-hero .icon{width:4rem;margin:0 auto 1.5rem;color:var(--accent)}
.soon-hero h1{font-size:var(--step-4)}

/* Footer */
.site-footer{background:var(--ink);color:#d9cfbd;padding:3.5rem 0 2.5rem;font-size:1rem}
.site-footer a{color:var(--cream)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr}}
.site-footer h2{font-family:var(--caps);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);font-weight:400}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}
.site-footer .brand{color:var(--cream);margin-bottom:1rem}
.site-footer .legal{border-top:1px solid #2e2a24;margin-top:2.5rem;padding-top:1.5rem;font-size:.88rem;color:#a99d88}

/* Merge 25 Oct 2026 (Jarvis): utility classes replacing inline style attributes */
.h-step3{font-size:var(--step-3)}
.mt-2{margin-top:2rem}

/* Rights & Permissions page (25 Oct 2026) */
.draft-banner{background:#FFF4D6;border-bottom:2px solid var(--gold);color:var(--ink);text-align:center;padding:.85rem 1.25rem;font-family:var(--caps);letter-spacing:.14em;text-transform:uppercase;font-size:.85rem}
.prose-section{padding-top:clamp(3rem,7vw,5rem)}
.prose h1{font-size:var(--step-3)}
.prose h2{font-size:var(--step-1);margin-top:2rem}
.prose p{max-width:38rem}
