/* Grace for the Girl — site stylesheet · "Watercolor Sunrise" theme (Sept 2026)
   Colours are sampled from the final cover (Guided Christian Journal for Identity,
   Anxiety, Healing & Spiritual Growth) and the round logo: forest-green title ink,
   sage leaves, blush + peach watercolor, back-cover pink, logo gold.
   Update (Sept 2026, second pass): greens moved to the logo sage (#5D6850) and
   section grounds are flat colour with soft fades — only the hero keeps the
   watercolor paper texture.
   Headings/accents: Cormorant Garamond Variable + Kaushan Script, self-hosted
   (assets/fonts/, SIL OFL 1.1 — see CORMORANT-LICENSE.txt / KAUSHAN-LICENSE.txt),
   same-origin, font-display:swap, no third-party CDN.
   Body/UI: system sans stack — zero network requests, unchanged.
   Legacy class names are kept so the HTML did not have to change:
   .section--plum = logo-sage band, .section--lav = blush watercolor ground. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-display:swap;font-weight:300 700;src:url(fonts/cormorant-garamond-latin-wght-normal.woff2) format('woff2-variations'),url(fonts/cormorant-garamond-latin-wght-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-display:swap;font-weight:300 700;src:url(fonts/cormorant-garamond-latin-wght-italic.woff2) format('woff2-variations'),url(fonts/cormorant-garamond-latin-wght-italic.woff2) format('woff2')}
@font-face{font-family:'Kaushan Script';font-style:normal;font-display:swap;font-weight:400;src:url(fonts/kaushan-script-latin-400-normal.woff2) format('woff2')}

:root{
/* greens — cover title ink, spine, subtitle box */
--forest-deep:#5D6850;--forest:#5D6850;--forest-ink:#44503B;--moss:#505E45;--leaf-line:#87956F;
/* pinks + peach — sunrise watercolor, blossoms, back-cover pink */
--blush:#FCE9DC;--peach:#FCE9DC;--rose:#D9C3A5;--rose-line:#E6D6C2;--pink:#C0186E;--pink-deep:#8C0F50;--pink-soft:#F6DCCB;
/* logo gold — marks on forest grounds / small gold text on light grounds */
--gold:#F5E3B5;--gold-ink:#80601F;
--cream:#FFFAF4;--char:#5D6850;
--ink:#2A3226;--ink-muted:#4E5A50;--line:#E8DED3;
/* sage: third section ground and the calmer blog categories */
--sage:#E7ECDF;--sage-soft:#F0F2E9;--sage-ink:#4B5940;--sage-line:#87956F;
--serif:'Cormorant Garamond',ui-serif,Georgia,Cambria,'Times New Roman',Times,serif;
--script:'Kaushan Script','Segoe Script','Brush Script MT',cursive;
--sans:ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
--wrap:1180px;--gut:clamp(20px,5vw,48px);
--sec-y:clamp(64px,9vw,124px);
--r:14px;--r-sm:8px;
--sh:0 2px 4px rgba(31,43,34,.05),0 14px 34px rgba(31,58,40,.11);
--sh-lg:0 4px 10px rgba(31,43,34,.07),0 30px 70px rgba(31,58,40,.19);
--head-h:74px;
--leaf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20C9 15 13 10 20 4' stroke='%234B6348' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3Cpath d='M20 4c-5 0-8 2-8.5 6.5 4.5 0 7.5-2 8.5-6.5z' fill='%237E9676'/%3E%3Cpath d='M12 12.5c-4-1.5-7-.5-8.2 2.6 3.2 1.2 6.2.2 8.2-2.6z' fill='%234B6348'/%3E%3Cpath d='M15.5 8.6c.3-3-1.3-5.2-3.6-6.3-1.2 3 .1 5.3 3.6 6.3z' fill='%23A7B79B'/%3E%3C/svg%3E");
--leaf-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20C9 15 13 10 20 4' stroke='%23D8B46A' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3Cpath d='M20 4c-5 0-8 2-8.5 6.5 4.5 0 7.5-2 8.5-6.5z' fill='%23FCE9DC'/%3E%3Cpath d='M12 12.5c-4-1.5-7-.5-8.2 2.6 3.2 1.2 6.2.2 8.2-2.6z' fill='%23C9D4C3'/%3E%3Cpath d='M15.5 8.6c.3-3-1.3-5.2-3.6-6.3-1.2 3 .1 5.3 3.6 6.3z' fill='%23E8EADD'/%3E%3C/svg%3E")}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background-color:var(--cream);background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNDAnIGhlaWdodD0nMTQwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC44NScgbnVtT2N0YXZlcz0nMicgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjxmZUNvbG9yTWF0cml4IHR5cGU9J21hdHJpeCcgdmFsdWVzPScwIDAgMCAwIDAuMTIgIDAgMCAwIDAgMC4xNiAgMCAwIDAgMCAwLjEyICAwIDAgMCAwLjAzIDAnLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJyBmaWx0ZXI9J3VybCgjbiknLz48L3N2Zz4=");color:var(--ink);font:400 clamp(16.5px,1.05vw,18px)/1.72 var(--sans);overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;color:var(--forest-ink);line-height:1.14;margin:0;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:clamp(2.15rem,5.2vw,3.7rem)}
h2{font-size:clamp(1.72rem,3.5vw,2.7rem)}
h3{font-size:clamp(1.18rem,1.7vw,1.5rem)}
h4{font-size:1.05rem}
p{margin:0 0 1.1em;text-wrap:pretty}
p:last-child{margin-bottom:0}
img{max-width:100%;height:auto;display:block}
a{color:var(--moss);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--forest-ink);text-decoration-color:var(--gold)}
:focus-visible{outline:3px solid var(--moss);outline-offset:3px;border-radius:3px}
.section--plum :focus-visible,.footer :focus-visible{outline-color:var(--gold)}
ul,ol{margin:0 0 1.1em;padding-left:1.15em}
li{margin:0 0 .45em}
hr{border:0;height:1px;background:var(--line);margin:2.5rem 0}
::selection{background:var(--blush);color:var(--forest-ink)}
[id]{scroll-margin-top:calc(var(--head-h) + 24px)}

.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--forest);color:#FFFAF4;padding:12px 18px;border-radius:0 0 var(--r-sm) var(--r-sm);font:700 .9rem var(--sans);text-decoration:none;transition:top .18s}
.skip:focus{top:0;color:#FFFAF4}

/* ---- header ---- */
.hdr{position:sticky;top:0;z-index:100;background:rgba(255,250,244,.86);backdrop-filter:saturate(150%) blur(14px);border-bottom:1px solid rgba(75,99,72,.16);box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
.hdr-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);height:var(--head-h);display:flex;align-items:center;gap:clamp(14px,1.8vw,24px)}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1;flex:0 0 auto}
.brand b{font:400 1.24rem/1 var(--serif);color:var(--forest-ink);letter-spacing:.012em}
.brand-t>span{font:400 .62rem/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--gold-ink);margin-top:6px;white-space:nowrap}
.brand:hover b{color:var(--moss)}
.nav{margin-left:auto;display:flex;align-items:center;gap:clamp(11px,1.1vw,15px)}
.nav a{position:relative;font:400 .76rem/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--ink);text-decoration:none;white-space:nowrap;padding:10px 0;transition:color .18s}
.nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:4px;height:1px;background:var(--gold);transition:left .22s,right .22s}
.nav a:hover{color:var(--forest-ink)}
.nav a:hover::after{left:0;right:0}
.nav a[aria-current=page]{color:var(--forest-ink)}
.nav a[aria-current=page]::after{left:0;right:0;background:var(--moss);height:1.5px}
.nav a.btn{text-transform:none;letter-spacing:.01em}
.nav a.btn::after{display:none}
.nav>a.btn{margin-left:8px;position:relative}
.nav>a.btn::before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:1px;height:22px;background:rgba(75,99,72,.26)}
.nav a.btn.btn-sm{min-height:40px;padding:10px 17px;font-size:.82rem;font-weight:700;box-shadow:0 1px 2px rgba(31,43,34,.16)}
.nav a.btn.btn-sm:hover{box-shadow:0 3px 10px rgba(31,58,40,.24)}
.nav a.btn.btn-sm svg{width:14px;height:14px}
.burger{display:none;margin-left:auto;background:none;border:1px solid rgba(75,99,72,.3);border-radius:999px;width:46px;height:42px;align-items:center;justify-content:center;cursor:pointer;color:var(--forest-ink);transition:background .18s,border-color .18s}
.burger:hover{background:var(--blush);border-color:var(--moss)}
.burger svg{width:21px;height:21px}
.mnav{display:none}
@media (max-width:1180px){
 .nav{display:none}
 .burger{display:flex}
 .mnav{display:block;position:fixed;inset:var(--head-h) 0 auto 0;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:var(--sh);padding:14px var(--gut) 26px;max-height:calc(100vh - var(--head-h));overflow-y:auto;transform:translateY(-14px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;z-index:99}
 .mnav[data-open=true]{transform:none;opacity:1;visibility:visible}
 .mnav ul{list-style:none;margin:0 0 18px;padding:0}
 .mnav li{margin:0;border-bottom:1px solid var(--line)}
 .mnav a{display:block;padding:15px 2px;font:400 1.02rem/1.2 var(--sans);color:var(--ink);text-decoration:none;min-height:48px}
 .mnav a[aria-current=page]{color:var(--forest-ink);font-weight:700}
}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:50px;padding:14px 26px;border-radius:999px;font:700 .95rem/1.2 var(--sans);text-decoration:none;border:2px solid transparent;cursor:pointer;text-align:center;transition:background .16s,color .16s,border-color .16s,transform .16s}
.btn:hover{transform:translateY(-1px)}
.btn.btn-primary{background:var(--forest);color:#FFFAF4;border-color:var(--forest)}
.btn.btn-primary:hover{background:var(--forest-ink);border-color:var(--forest-ink);color:#FFFAF4}
.btn-primary:active{background:#5D6850}
.btn.btn-secondary{background:transparent;color:var(--forest-ink);border-color:var(--moss)}
.btn-secondary:hover{background:var(--blush);border-color:var(--forest-ink);color:var(--forest-ink)}
.btn-secondary:active{background:#F6DCCB}
.section--plum .btn.btn-secondary,.bleed .btn.btn-secondary,.footer .btn.btn-secondary{color:#FFFAF4;border-color:#E4E9DD}
.section--plum .btn-secondary:hover,.bleed .btn-secondary:hover,.footer .btn-secondary:hover{background:rgba(255,250,244,.16);border-color:#FFFAF4;color:#FFFAF4}
.btn.btn-onplum{background:var(--cream);color:var(--forest-ink);border-color:var(--cream)}
.btn.btn-onplum:hover{background:var(--blush);border-color:var(--blush);color:var(--forest-ink)}
.btn.btn-onplum:active{background:#F6DCCB;color:var(--forest-deep)}
.btn.btn-outline-light{background:transparent;color:#FFFAF4;border-color:#E4E9DD}
.btn-outline-light:hover{background:rgba(255,250,244,.12);border-color:#F1F4EC;color:#fff}
.btn-sm{min-height:44px;padding:11px 20px;font-size:.87rem}
.btns{display:flex;flex-wrap:wrap;gap:14px}
.btn svg{width:17px;height:17px;flex:0 0 auto}
.pricenote{font:400 .82rem/1.5 var(--sans);color:var(--ink-muted);margin-top:12px}
.section--plum .pricenote,.bleed .pricenote{color:#E4E9DD}

/* ---- layout ---- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:760px}
.section{position:relative;padding:var(--sec-y) 0;overflow:hidden}
.section--lav{background:var(--blush)}
.section--sage{background:var(--sage)}
.section--plum{background:var(--forest-deep);color:#F1F4EC}
.section--plum h1,.section--plum h2,.section--plum h3{color:#FFFAF4}
.section--plum a:not(.btn):not(.social),.bleed a:not(.btn):not(.social){color:#FFFAF4}
.section--plum p{color:#EEF1E8}
.section--tight{padding:clamp(44px,6vw,72px) 0}
.eyebrow{display:block;font:700 .76rem/1.3 var(--sans);letter-spacing:.19em;text-transform:uppercase;color:var(--moss);margin:0 0 16px}
.section--plum .eyebrow,.bleed .eyebrow{color:#FCE9DC}
.lede{font:400 clamp(1.06rem,1.5vw,1.28rem)/1.62 var(--sans);color:var(--ink-muted);max-width:62ch}
.section--plum .lede,.bleed .lede{color:#EEF1E8}
.accent{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.5;color:var(--moss);text-wrap:pretty}
.section--plum .accent,.bleed .accent{color:#FFFAF4}
.sec-head{max-width:70ch;margin-bottom:clamp(34px,4.5vw,56px)}
.sec-head .lede{margin-top:18px}
.center{text-align:center}.narrow.center{margin-left:auto;margin-right:auto}
.center .sec-head,.center .lede{margin-left:auto;margin-right:auto}
.rule{display:flex;align-items:center;gap:14px;margin:22px 0;color:var(--gold)}
.rule::before,.rule::after{content:"";height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);flex:1;max-width:120px}
.center .rule{justify-content:center}
.star{color:var(--gold-ink);font-style:normal}
.section--plum .star,.bleed .star,.strip .star,.footer .star{color:var(--gold)}

/* ---- ornament ---- */
.orn{position:absolute;pointer-events:none;user-select:none;z-index:0;opacity:.17;mix-blend-mode:multiply}
.section--plum .orn{opacity:.14;mix-blend-mode:screen}
.orn-tl{top:-70px;left:-90px;width:clamp(190px,26vw,360px)}
.orn-tr{top:-60px;right:-80px;width:clamp(180px,24vw,340px)}
.orn-br{bottom:-90px;right:-90px;width:clamp(200px,26vw,370px)}
.orn-bl{bottom:-80px;left:-100px;width:clamp(190px,25vw,350px)}
.orn-stars{top:8%;right:-30px;width:clamp(90px,11vw,160px);opacity:.2}
.orn-moon{top:14%;left:-24px;width:clamp(80px,9vw,130px);opacity:.2}
.section>.wrap{position:relative;z-index:1}
@media (max-width:620px){.orn{opacity:.12}.orn-stars,.orn-moon{display:none}}

/* ---- hero ---- */
.hero{position:relative;background:linear-gradient(168deg,var(--blush) 0%,var(--cream) 58%,var(--sage) 100%);padding:clamp(48px,6vw,86px) 0 clamp(56px,7vw,96px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,72px);align-items:center;position:relative;z-index:1}
.hero h1{margin:6px 0 0}
.hero .promise{font-family:var(--serif);font-style:italic;font-weight:700;font-size:clamp(1.16rem,2.1vw,1.62rem);line-height:1.42;color:var(--moss);margin:22px 0 0;max-width:24ch}
.hero .support{margin:20px 0 30px;max-width:52ch;color:var(--ink-muted)}
.hero-media{position:relative}
.hero-photo{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-lg);background:var(--blush)}
.hero-photo img{width:100%;aspect-ratio:437/600;object-fit:cover}
.hero-media::before{content:"";position:absolute;inset:auto -18px -18px 22%;height:62%;border-radius:var(--r);background:var(--blush);z-index:-1}
.hero-cover{position:absolute;left:-34px;bottom:-30px;width:39%;box-shadow:var(--sh-lg);border-radius:3px;overflow:hidden;border:1px solid rgba(31,58,40,.1)}
@media (max-width:880px){.hero-grid{grid-template-columns:1fr}.hero-media{max-width:440px}.hero-cover{width:34%;left:-14px;bottom:-18px}}
@media (max-width:520px){.hero-cover{position:static;width:132px;margin:22px auto 0}}

/* ---- trust strip ---- */
.strip{background:var(--forest);color:#F1F4EC}
.strip ul{list-style:none;margin:0;padding:20px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px 20px}
.strip li{margin:0;display:flex;align-items:center;justify-content:center;gap:.55em;font:700 .84rem/1.35 var(--sans);letter-spacing:.11em;text-transform:uppercase;text-align:center;color:#F1F4EC}
.strip li+li{border-left:1px solid rgba(214,226,208,.3)}
.strip .star{color:var(--gold)}
@media (max-width:760px){.strip ul{grid-template-columns:repeat(2,1fr);padding:18px 0}.strip li+li{border-left:0}.strip li:nth-child(n+3){border-top:1px solid rgba(214,226,208,.18);padding-top:12px}.strip li:nth-child(-n+2){padding-bottom:12px}}

/* ---- cards ---- */
.grid{display:grid;gap:clamp(18px,2.4vw,30px)}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,2.4vw,30px);box-shadow:0 1px 2px rgba(31,43,34,.04)}
.section--lav .card,.section--sage .card{background:var(--cream)}
.section--plum .card{background:rgba(255,250,244,.08);border-color:rgba(214,226,208,.3)}
.card h3{margin-bottom:10px}
.card p{color:var(--ink-muted);font-size:.985rem}
.section--plum .card p{color:#EEF1E8}
.card .num{display:block;font:700 .78rem/1 var(--sans);letter-spacing:.17em;color:var(--gold-ink);margin-bottom:14px}
.section--plum .card .num{color:var(--gold)}
.card-link{display:block;text-decoration:none;color:inherit;transition:border-color .16s,box-shadow .16s,transform .16s}
.card-link:hover{border-color:var(--leaf-line);box-shadow:var(--sh);transform:translateY(-2px);color:inherit}
.card-link:hover h3{color:var(--moss)}

/* pathway cards */
.paths{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media (max-width:760px){.paths{grid-template-columns:1fr}}
.path{display:flex;gap:18px;align-items:flex-start;background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.path-n{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--blush);color:var(--forest-ink);display:flex;align-items:center;justify-content:center;font:700 .92rem/1 var(--sans);border:1px solid var(--leaf-line)}
.path h3{font-size:1.1rem;margin-bottom:6px;color:var(--forest-ink)}
.section--plum .path,.bleed .path{background:var(--cream);border-color:var(--line)}
.section--plum .path h3,.bleed .path h3{color:var(--forest-ink)}
.section--plum .path p,.bleed .path p{color:var(--ink-muted)}
.section--plum .path .kick,.bleed .path .kick{color:var(--gold-ink)}
.section--plum .path .accent,.bleed .path .accent{color:var(--moss)}
.section--plum .path .feel,.bleed .path .feel{color:var(--moss);background:var(--blush)}
.path .kick{display:block;font:700 .7rem/1.3 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:8px}
.path p{font-size:.95rem;color:var(--ink-muted);margin:0}
.path .feel{display:inline-block;margin-top:12px;font:700 .72rem/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--moss);background:var(--blush);border-radius:999px;padding:7px 12px}

/* ---- buy band ---- */
.buy{background:var(--blush);padding:clamp(48px,6.5vw,86px) 0;border-bottom:1px solid rgba(75,99,72,.2)}
.buy-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:clamp(28px,4.5vw,64px);align-items:center}
.buy-cover img{width:100%;max-width:400px;border-radius:4px;box-shadow:var(--sh-lg);border:1px solid rgba(31,58,40,.12)}
.buy-copy h2{font-size:clamp(1.55rem,3vw,2.35rem)}
.buy-sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.02rem,1.7vw,1.28rem);color:var(--moss);margin:12px 0 0}
.buy-spec{font:700 .78rem/1.5 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--gold-ink);margin:14px 0 0}
.buy-checks{margin-top:22px}
.buy-checks li{color:var(--ink)}
.retailers{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.btn-buy{min-height:56px;padding:16px 30px;font-size:1rem}
.nav-social{display:flex;align-items:center;gap:9px;margin-left:8px;position:relative;flex:0 0 auto}
.nav-social::before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:1px;height:22px;background:rgba(75,99,72,.26)}
.nav-social a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(75,99,72,.32);color:var(--forest-ink);text-decoration:none;transition:background .18s,border-color .18s}
.nav-social a::after{display:none}
.nav-social a:hover{background:var(--blush);border-color:var(--moss);color:var(--forest-ink)}
.nav-social a:active{background:#F6DCCB}
.nav-social svg{width:17px;height:17px}
.mnav-social{margin:16px 0 0;gap:12px}
.mnav-social::before{display:none}
.mnav-social a{width:48px;height:48px}
.mnav-social svg{width:20px;height:20px}
.footer-buys{display:flex;flex-wrap:wrap;gap:10px}
.btn.is-soon{flex-direction:column;gap:2px;cursor:not-allowed;color:var(--leaf-line);border-color:rgba(75,99,72,.45);background:transparent}
.btn.is-soon .soon{font:700 .64rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
@media (max-width:860px){.buy-grid{grid-template-columns:1fr;justify-items:start}.buy-cover img{max-width:260px}.retailers{width:100%}.btn-buy{flex:1 1 240px}}

/* ---- checklist ---- */
.checks{list-style:none;padding:0;margin:0;display:grid;gap:13px}
.checks li{margin:0;display:flex;gap:.75em;align-items:flex-start;font-size:1rem}
.checks .star{flex:0 0 auto;line-height:1.7}
.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{margin:0}
.chips a{display:inline-flex;align-items:center;min-height:44px;background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:10px 17px;font:400 .93rem/1.3 var(--sans);color:var(--ink);text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s}
.chips a:hover,.chips a:focus-visible{background:var(--blush);border-color:var(--leaf-line);color:var(--forest-ink);transform:translateY(-1px)}
.section--plum .chips a{background:rgba(255,250,244,.1);border-color:rgba(214,226,208,.32);color:#F1F4EC}
.section--plum .chips a:hover,.section--plum .chips a:focus-visible{background:rgba(255,250,244,.18);border-color:#F1F4EC;color:#FFFAF4}
/* Chips keep their cream ground on photo bands, so they keep dark text: the generic
   .bleed link colour would render them at ~1.2:1 on their own background. */
.bleed .chips a:not(.btn):not(.social){color:var(--ink)}
.bleed .chips a:not(.btn):not(.social):hover,.bleed .chips a:not(.btn):not(.social):focus-visible{color:var(--forest-ink)}

/* ---- gallery ---- */
.gal{display:grid;gap:clamp(14px,2vw,24px);grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.gal{grid-template-columns:repeat(3,1fr)}}
@media (max-width:620px){.gal{grid-template-columns:repeat(2,1fr)}}
.gal-item{margin:0;position:relative}
.gal-btn{display:block;width:100%;padding:0;border:1px solid var(--line);background:#fff;border-radius:var(--r-sm);overflow:hidden;cursor:zoom-in;box-shadow:0 1px 3px rgba(31,43,34,.06);transition:box-shadow .16s,transform .16s,border-color .16s}
.gal-btn:hover{box-shadow:var(--sh);transform:translateY(-2px);border-color:var(--leaf-line)}
.gal-btn img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:top}
.gal-item figcaption{font:400 .82rem/1.45 var(--sans);color:var(--ink-muted);margin-top:9px}
.gal-item figcaption b{display:block;font:700 .78rem/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--moss);margin-bottom:3px}

.lb{position:fixed;inset:0;z-index:300;background:rgba(31,43,34,.9);display:none;align-items:center;justify-content:center;padding:clamp(12px,3vw,40px)}
.lb[data-open=true]{display:flex}
.lb-fig{margin:0;max-width:min(760px,100%);max-height:100%;display:flex;flex-direction:column;gap:12px}
.lb-fig img{max-height:calc(100vh - 150px);width:auto;margin:0 auto;background:#fff;border-radius:4px;box-shadow:var(--sh-lg)}
.lb-fig figcaption{color:#F1F4EC;font:400 .9rem/1.5 var(--sans);text-align:center}
.lb-close{position:absolute;top:14px;right:14px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(220,230,214,.4);background:rgba(31,43,34,.6);color:#F1F4EC;font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-close:hover{background:var(--moss)}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(220,230,214,.4);background:rgba(31,43,34,.6);color:#F1F4EC;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-nav:hover{background:var(--moss)}
.lb-prev{left:10px}.lb-next{right:10px}

/* ---- media rows ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,64px);align-items:center}
.split--narrowimg{grid-template-columns:.85fr 1.15fr}
@media (max-width:860px){.split,.split--narrowimg{grid-template-columns:1fr}}
.figframe{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);background:var(--blush)}
.bookshot{margin:0;position:relative}
.bookshot img{border-radius:3px;box-shadow:var(--sh-lg);border:1px solid rgba(31,58,40,.1);width:100%;max-width:400px}
.banner{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);border:1px solid var(--line)}

/* ---- steps ---- */
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:clamp(18px,2.4vw,28px);grid-template-columns:repeat(3,1fr)}
@media (max-width:820px){.steps{grid-template-columns:1fr}}
.steps li{margin:0;padding-top:22px;border-top:2px solid var(--gold)}
.steps li::before{counter-increment:s;content:counter(s,decimal-leading-zero);display:block;font:700 .82rem/1 var(--sans);letter-spacing:.16em;color:var(--gold-ink);margin-bottom:12px}
.steps h3{font-size:1.12rem;margin-bottom:8px}
.steps p{color:var(--ink-muted);font-size:.97rem}

/* ---- faq ---- */
.faq{border-top:1px solid var(--line);max-width:820px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 44px 20px 0;position:relative;font:700 1.03rem/1.45 var(--serif);color:var(--forest-ink);min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font:400 1.6rem/1 var(--sans);color:var(--gold-ink)}
.faq details[open] summary::after{content:"\2013"}
.faq summary:hover{color:var(--moss)}
.faq .a{padding:0 44px 22px 0;color:var(--ink-muted)}

/* ---- article ---- */
.article{max-width:720px;margin:0 auto}
.article-body{font-size:clamp(1.02rem,1.1vw,1.13rem);line-height:1.78}
.article-body h2{font-size:clamp(1.4rem,2.3vw,1.85rem);margin:2.2em 0 .55em}
.article-body h3{margin:1.9em 0 .5em}
.article-body blockquote{margin:2em 0;padding:0 0 0 26px;border-left:2px solid var(--gold);font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--moss)}
.article-body blockquote cite{display:block;font:700 .78rem/1.4 var(--sans);font-style:normal;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-ink);margin-top:12px}
.meta{font:400 .82rem/1.4 var(--sans);color:var(--ink-muted);display:flex;flex-wrap:wrap;gap:.6em;align-items:center}
.tag{display:inline-block;font:700 .72rem/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--moss);background:var(--blush);border-radius:999px;padding:7px 12px}
/* Faith & Rest and Peace & Anxiety carry .tag--sage so the calmer categories read apart at a glance. */
.tag--sage{color:var(--sage-ink);background:var(--sage)}
.crumbs{font:400 .8rem/1.5 var(--sans);color:var(--ink-muted);padding-top:18px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.5em;margin:0;padding:0}
.crumbs li{margin:0}
.crumbs li+li::before{content:"/";margin-right:.5em;color:var(--leaf-line)}
.pullbox{background:var(--blush);border-radius:var(--r);padding:clamp(22px,3vw,32px);margin:2.4em 0}
.pullbox h3{margin-bottom:10px}
.pullbox p{color:var(--ink-muted)}
.artcard img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 32%;background:var(--blush)}
.artcard .body{padding:22px clamp(20px,2.2vw,26px) 26px}
.artcard{padding:0;overflow:hidden}
.artcard h3{margin:12px 0 9px}
/* ---- small "more recent" cards under a featured post ---- */
.minicards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.6vw,18px);margin-top:clamp(16px,2vw,22px)}
.minicard{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:14px;background:var(--cream);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 16px 10px 10px;text-decoration:none;color:inherit;min-height:44px;transition:border-color .16s,box-shadow .16s,transform .16s}
.minicard:hover,.minicard:focus-visible{border-color:var(--leaf-line);box-shadow:var(--sh);transform:translateY(-2px);color:inherit}
.minicard img{width:88px;height:66px;object-fit:cover;border-radius:calc(var(--r-sm) - 4px);background:var(--blush);display:block}
.minicard .mc-body{min-width:0}
.minicard h4{font:700 .96rem/1.28 var(--serif);color:var(--forest-ink);margin:0;letter-spacing:-.005em}
.minicard:hover h4{color:var(--moss)}
.minicard .meta{margin-top:5px;font-size:.8rem}
@media (max-width:700px){.minicards{grid-template-columns:1fr}}
@media (max-width:380px){.minicard{grid-template-columns:70px 1fr;gap:11px}.minicard img{width:70px;height:56px}}

.field{display:block;margin:0 0 16px}
.field label{display:block;font:700 .82rem/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--forest-ink);margin-bottom:7px}
.section--plum .field label{color:#F1F4EC}
.field input{width:100%;min-height:50px;padding:13px 16px;border:1px solid var(--leaf-line);border-radius:var(--r-sm);background:var(--cream);font:400 1rem var(--sans);color:var(--ink)}
.field input:hover{border-color:var(--moss)}
.hint{font:400 .82rem/1.55 var(--sans);color:var(--ink-muted);margin-top:12px}
.section--plum .hint,.bleed .hint{color:#E4E9DD}
.consent{display:flex;gap:.7em;align-items:flex-start;font:400 .87rem/1.5 var(--sans);color:var(--ink-muted);margin:0 0 18px}
.consent input{width:20px;height:20px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--moss)}
.section--plum .consent{color:#E4E9DD}

/* ---- social ---- */
.socials{display:flex;flex-wrap:wrap;gap:14px}
.social{display:inline-flex;align-items:center;gap:.6em;min-height:50px;padding:13px 22px;border-radius:999px;border:2px solid var(--leaf-line);text-decoration:none;font:700 .93rem var(--sans);color:var(--forest-ink);background:var(--cream)}
.social:hover{background:var(--blush);border-color:var(--moss);color:var(--forest-ink)}
.section--plum .social,.bleed .social{background:transparent;border-color:#E4E9DD;color:#FFFAF4}
.section--plum .social:hover,.bleed .social:hover{background:rgba(255,250,244,.16);border-color:#FFFAF4;color:#FFFAF4}
.social svg{width:20px;height:20px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.8vw,20px)}
@media (max-width:760px){.tiles{grid-template-columns:1fr 1fr}}
.tile{position:relative;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line);background:var(--blush)}
.tile img{width:100%;aspect-ratio:1;object-fit:cover}
.tile-note{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:18px;background:var(--blush);color:var(--forest-ink);font:400 .88rem/1.5 var(--sans)}

/* ---- footer ---- */
.footer{background:var(--forest-deep);color:#EEF1E8;padding:clamp(48px,6vw,74px) 0 34px;font-size:.94rem}
.footer h2{font-size:1.2rem}
.footer a:not(.btn):not(.social){color:#F1F4EC;text-decoration:none}
.footer a:not(.btn):not(.social):hover{color:#fff;text-decoration:underline;text-decoration-color:var(--gold)}
.footer-top{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:clamp(28px,4vw,56px);padding-bottom:38px;border-bottom:1px solid rgba(214,226,208,.2)}
@media (max-width:860px){.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media (max-width:520px){.footer-top{grid-template-columns:1fr}}
.footer-brand b{display:block;font:700 1.3rem/1 var(--serif);color:#FFFAF4}
.footer-brand .tag2{display:block;font:400 .6rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:7px}
.footer-brand .promise{font-family:var(--serif);font-style:italic;font-size:1.02rem;line-height:1.55;color:#EEF1E8;margin:20px 0 24px;max-width:34ch}
.footer h3{font:700 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.footer li{margin:0}
.icons{display:flex;gap:12px;margin-top:20px}
.icons a{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(214,226,208,.45);color:#F1F4EC}
.icons a:hover{background:rgba(255,250,244,.12);border-color:#F1F4EC;color:#fff}
.icons svg{width:21px;height:21px}
/* ---- author's other books invitation ---- */
.footer-more{padding:26px 0 2px;display:flex;justify-content:center;text-align:center;border-bottom:1px solid rgba(214,226,208,.2)}
.footer-more .btn{margin-bottom:26px}
@media (max-width:520px){.footer-more .btn{width:100%;justify-content:center}}
.footer-bot{padding-top:26px;display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;font-size:.83rem;color:#E4E9DD}
.footer-bot nav{display:flex;flex-wrap:wrap;gap:10px 20px}
.legal{max-width:var(--wrap);margin:22px auto 0;padding:0 var(--gut);font-size:.78rem;line-height:1.65;color:#E4E9DD}

/* ---- misc ---- */
.confirm{display:inline-block;font:700 .7rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#7A4A12;background:#FBEFD8;border:1px solid #E4CB9B;border-radius:4px;padding:5px 8px;vertical-align:middle}
.notice{background:var(--sage-soft);border-left:3px solid var(--gold);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:20px 24px;font-size:.96rem;color:var(--ink-muted)}
.notice strong{color:var(--forest-ink)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.err{background:var(--cream);text-align:center;padding:clamp(70px,10vw,130px) 0;position:relative;overflow:hidden}
.err>.wrap{position:relative;z-index:1}
.btn-block{width:100%}
kbd{font:400 .85em var(--sans);background:var(--blush);border:1px solid var(--line);border-radius:4px;padding:2px 6px}

/* ---- bleed image bands ---- */
.bleed{position:relative;padding:clamp(58px,8vw,104px) 0;overflow:hidden;background:var(--forest-deep);color:#F1F4EC;isolation:isolate}
.bleed>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.bleed::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(96deg,rgba(82,93,71,.95) 0%,rgba(82,93,71,.88) 44%,rgba(82,93,71,.52) 78%,rgba(82,93,71,.34) 100%)}
.bleed h1,.bleed h2,.bleed h3{color:#FFFAF4}
.bleed p{color:#EEF1E8}
.bleed-copy{max-width:40ch}
.bleed .btns{margin-top:28px}
.bleed--right::before{background:linear-gradient(264deg,rgba(82,93,71,.95) 0%,rgba(82,93,71,.88) 44%,rgba(82,93,71,.52) 78%,rgba(82,93,71,.34) 100%)}
.bleed--right .bleed-copy{margin-left:auto}
@media (max-width:700px){.bleed::before,.bleed--right::before{background:linear-gradient(180deg,rgba(82,93,71,.88) 0%,rgba(82,93,71,.94) 60%)}.bleed-copy{max-width:none}.bleed--right .bleed-copy{margin-left:0}}

/* ---- lifestyle photo grid ---- */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px)}
@media (max-width:760px){.photo-grid{grid-template-columns:1fr 1fr}.photo-grid figure:last-child{grid-column:1/-1}}
.photo-grid figure{margin:0;border-radius:var(--r-sm);overflow:hidden;box-shadow:0 1px 3px rgba(31,43,34,.08);background:var(--blush)}
.photo-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}

/* ---- offset figure ---- */
.fig-offset{position:relative;margin:0}
.fig-offset img{border-radius:var(--r);box-shadow:var(--sh-lg);width:100%}
.fig-offset::after{content:"";position:absolute;inset:auto -16px -16px 30%;height:56%;border-radius:var(--r);background:var(--blush);z-index:-1}
.fig-offset{isolation:isolate}

/* ---- entrance ---- */
/* Content is never hidden by CSS: a scroll-reveal that depends on JS or an observer
   can fail and leave a page blank, which is far worse than no animation. Sections
   simply fade up once, on load, and are fully visible without JavaScript. */
.reveal{opacity:1;transform:none}
html.js .reveal{animation:riseIn .7s cubic-bezier(.2,.7,.3,1)}
@keyframes riseIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.twinkle{animation:tw 5.5s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:.2}50%{opacity:.34}}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
 html.js .reveal{animation:none}
 .btn:hover,.card-link:hover,.gal-btn:hover{transform:none}
}
@media print{.hdr,.mnav,.footer,.lb{display:none}body{background:#fff}}

/* ---- layout utilities (replace inline styles) ---- */
.mt-10{margin-top:10px}.mt-14{margin-top:14px}.mt-16{margin-top:16px}.mt-18{margin-top:18px}.mt-20{margin-top:20px}.mt-22{margin-top:22px}.mt-24{margin-top:24px}.mt-26{margin-top:26px}.mt-28{margin-top:28px}.mt-30{margin-top:30px}.mt-32{margin-top:32px}.mt-34{margin-top:34px}.mt-38{margin-top:38px}.mt-40{margin-top:40px}
.mb-28{margin-bottom:28px}.mb-30{margin-bottom:30px}
.mt-flow{margin:16px 0 0}.mb-flush-34{margin:0 0 34px}.mb-flush-22{margin:0 0 22px}
.mx-auto{margin-left:auto;margin-right:auto}.mx-auto-mb-30{margin:0 auto 30px}
.accent--18{font-size:18px}
/* Editorial pull-quote: breaks the centered text column with a large decorative
   mark and a slight offset, used sparingly (currently once, in #empathy) rather
   than as a sitewide default — a deliberate one-off accent, not a new pattern
   applied everywhere. */
.pullquote{position:relative;font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(1.55rem,2.7vw,2.15rem);line-height:1.34;color:var(--forest-ink);max-width:30ch;margin:30px 0 0 6px}
.pullquote::before{content:'\201C';position:absolute;left:-.5em;top:-.28em;font-family:var(--serif);font-style:normal;font-weight:700;font-size:2.8em;line-height:1;color:var(--gold);opacity:.5;z-index:-1;pointer-events:none}
@media (max-width:620px){.pullquote{margin-left:0}}
.ta-center{text-align:center}.jc-center{justify-content:center}.ai-start{align-items:start}
.mt-fluid{margin-top:clamp(24px,3vw,38px)}.mt-fluid-lg{margin-top:clamp(34px,4vw,54px)}
.photo-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ar-16-9{aspect-ratio:16/9}
.who-photo{aspect-ratio:5/4;object-fit:cover;object-position:36% center}

/* ---- nav dropdown (Encouragement) ---- */
.nav-drop{position:relative}
.nav-drop>a{display:flex;align-items:center;gap:4px}
.nav-drop .chev{width:12px;height:12px;transition:transform .18s}
.nav-drop:hover .chev,.nav-drop:focus-within .chev{transform:rotate(180deg)}
.nav-drop-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(4px);background:var(--cream);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:10px;min-width:220px;display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s,transform .16s;z-index:60}
.nav-drop:hover .nav-drop-panel,.nav-drop:focus-within .nav-drop-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.nav-drop-panel a{display:block;font:400 .86rem/1.4 var(--sans);color:var(--ink);text-decoration:none;text-transform:none;letter-spacing:0;padding:9px 14px;border-radius:6px;white-space:nowrap}
.nav-drop-panel a:hover{color:var(--forest-ink);background:var(--blush)}
.nav-drop-panel a::after{display:none}
.nav-drop-all{font-weight:700;border-bottom:1px solid var(--line);border-radius:6px 6px 0 0;margin-bottom:6px;padding-bottom:12px!important}
/* mobile accordion */
.mnav-drop{border-bottom:1px solid var(--line)}
.mnav-drop details{margin:0}
.mnav-drop summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 2px;font:400 1.02rem/1.2 var(--sans);color:var(--ink);min-height:48px}
.mnav-drop summary::-webkit-details-marker{display:none}
.mnav-drop .chev{width:14px;height:14px;flex:0 0 auto;transition:transform .18s}
.mnav-drop details[open] .chev{transform:rotate(180deg)}
.mnav-sub{list-style:none;margin:0 0 12px;padding:0 0 0 6px;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--line)}
.mnav-sub li{border-bottom:none}
.mnav-sub a{display:block;padding:11px 14px;font:400 .92rem/1.3 var(--sans);color:var(--ink-muted);min-height:auto}
/* The same disclosure markup is reused in the footer, on the deep forest ground. */
.footer .mnav-drop summary{color:#F1F4EC}
.footer .mnav-drop summary:hover{color:#fff}
.footer .mnav-drop{border-bottom-color:rgba(214,226,208,.2)}
.footer .mnav-sub{border-left-color:rgba(214,226,208,.2)}

/* ---- encouragement index: sidebar TOC ---- */
.enc-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:clamp(32px,5vw,64px);align-items:start}
.enc-toc{position:sticky;top:calc(var(--head-h) + 28px)}
.enc-toc .eyebrow{display:block;margin-bottom:14px}
.enc-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--line)}
.enc-toc a{display:block;padding:9px 16px;font:400 .88rem/1.3 var(--sans);color:var(--ink-muted);text-decoration:none;border-left:2px solid transparent;margin-left:-1px;transition:color .16s,border-color .16s}
.enc-toc a:hover{color:var(--forest-ink);border-left-color:var(--leaf-line)}
.enc-toc a.is-active{color:var(--forest-ink);border-left-color:var(--moss);font-weight:700}
.enc-feed{display:flex;flex-direction:column;gap:20px}
.enc-card{border:1px solid var(--line);background:var(--cream);border-radius:var(--r);overflow:hidden;transition:border-color .16s,box-shadow .16s}
.enc-card.is-hidden{display:none}
.enc-card:hover{border-color:var(--leaf-line);box-shadow:var(--sh)}
.enc-card-link{display:grid;grid-template-columns:220px 1fr;text-decoration:none;color:inherit}
.enc-card-media{aspect-ratio:4/3;overflow:hidden}
.enc-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.enc-card-body{padding:18px 22px;display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0}
.enc-card-body h3{font-size:1.05rem;margin:0}
.enc-card-body p{color:var(--ink-muted);font-size:.92rem;margin:0}
.enc-card--feature{border-color:var(--leaf-line)}
.enc-card--feature .enc-card-link{grid-template-columns:1.1fr 1fr}
.enc-card--feature .enc-card-media{aspect-ratio:16/10}
.enc-card--feature .enc-card-body{padding:clamp(20px,3vw,36px);gap:12px}
.enc-card--feature .enc-card-body h3{font-size:clamp(1.3rem,2vw,1.7rem)}
.enc-card--feature .enc-card-body p{font-size:1rem}
@media (max-width:640px){.enc-card-link{grid-template-columns:1fr}.enc-card--feature .enc-card-link{grid-template-columns:1fr}}
@media (max-width:900px){
 .enc-layout{grid-template-columns:1fr}
 .enc-toc{position:static;order:-1;margin-bottom:8px}
 .enc-toc ul{flex-direction:row;flex-wrap:wrap;border-left:none;gap:8px}
 .enc-toc a{border:1px solid var(--line);border-radius:999px;padding:7px 14px;margin-left:0}
}
.fig-narrow{max-width:280px}
.img-bordered{border:1px solid var(--line);border-radius:8px}
.card-flush{background:var(--cream);align-items:flex-start}
.card-flush-h{font-size:clamp(1.4rem,2.4vw,1.95rem);margin-bottom:12px}
.card-flush-p{font-size:clamp(1.02rem,1.4vw,1.15rem);margin-bottom:14px}

/* ---- pathways hero (photo ground, copy right) ---- */
.photo-hero{position:relative;overflow:hidden;background:#FCE9DC;isolation:isolate}
.photo-hero>img.ph-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:0% 50%;z-index:-2}
.photo-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(252,233,220,0) 38%,rgba(252,233,220,.26) 44%,rgba(252,233,220,.95) 50%,rgba(252,233,220,.98) 56%)}
.photo-hero .ph-grid{display:grid;grid-template-columns:52% minmax(0,1fr);gap:clamp(16px,3vw,40px)}
.photo-hero .ph-copy{grid-column:2}
@media (max-width:900px){.photo-hero>img.ph-bg{object-position:26% 30%}.photo-hero::before{background:linear-gradient(180deg,rgba(252,233,220,.55) 0%,rgba(252,233,220,.94) 34%)}.photo-hero .ph-grid{grid-template-columns:minmax(0,1fr)}.photo-hero .ph-copy{grid-column:1;padding-top:clamp(120px,32vw,220px)}}


/* ---- tablet ---- */
@media (min-width:861px) and (max-width:1180px){
 .hdr-in{gap:16px}
 .split{gap:clamp(24px,3.4vw,40px)}
 .g4{grid-template-columns:repeat(2,1fr)}
 .bleed-copy{max-width:74%}
}
@media (max-width:900px){.strip ul{grid-template-columns:repeat(2,1fr);padding:18px 0}.strip li+li{border-left:0}}
@media (min-width:621px) and (max-width:900px){.paths{grid-template-columns:1fr}.tiles,.photo-grid{grid-template-columns:1fr 1fr}}

/* =====================================================================
   Watercolor Sunrise — theme layer (Sept 2026)
   Everything below restyles existing classes only; no markup contract
   changed apart from the logo image in .brand / .footer-brand and the
   home-page hero book stack (.hero-books).
   ===================================================================== */
body{background-color:var(--cream)}
h1,h2,h3,h4{color:var(--forest-ink);line-height:1.08;letter-spacing:0}
h1{font-size:clamp(2.45rem,5.8vw,4.15rem)}
h2{font-size:clamp(1.95rem,3.9vw,3rem)}
h3{font-size:clamp(1.32rem,1.9vw,1.66rem)}
h4{font-size:1.18rem}
a{color:var(--moss)}
a:hover{color:var(--forest-ink);text-decoration-color:var(--pink)}
:focus-visible{outline-color:var(--pink)}
::selection{background:var(--pink-soft);color:var(--forest-ink)}

/* header — round logo beside the wordmark */
.hdr{background:rgba(255,250,244,.9);border-bottom-color:rgba(75,99,72,.16)}
.brand{flex-direction:row;align-items:center;gap:11px}
.brand-logo{width:54px;height:54px;flex:0 0 auto;filter:drop-shadow(0 2px 4px rgba(31,58,40,.16))}
.brand-t{display:flex;flex-direction:column;line-height:1}
.brand b{font:700 1.45rem/1 var(--serif);color:var(--forest-ink);letter-spacing:.005em}
.brand-t>span{font-weight:700;color:var(--pink)}
.brand:hover b{color:var(--moss)}
.nav a{font-weight:600}
.nav a::after{height:2px;border-radius:2px;background:var(--rose)}
.nav a[aria-current=page]::after{background:var(--pink);height:2px}
@media (max-width:420px){.brand-logo{width:44px;height:44px}.brand-t>span{display:none}}

/* type accents pulled from the back cover */
.eyebrow{color:var(--pink)}
.accent{color:var(--pink)}
.hero .promise{color:var(--pink);font-weight:600;font-size:clamp(1.3rem,2.3vw,1.8rem)}
.buy-sub{color:var(--moss);font-weight:600;font-size:clamp(1.12rem,1.8vw,1.38rem);max-width:40ch}
.pullquote{color:var(--forest-ink)}
.pullquote::before{color:var(--rose);opacity:.7}
.article-body blockquote{border-left-color:var(--rose);color:var(--forest-ink);font-size:1.28rem}
.faq summary{font-size:1.24rem;color:var(--forest-ink)}
.faq summary::after{color:var(--pink)}
.faq summary:hover{color:var(--moss)}
.minicard h4{font-size:1.14rem;color:var(--forest-ink)}
.minicard:hover h4,.card-link:hover h3{color:var(--moss)}
.footer-brand b{font-size:1.6rem}
.enc-card-body h3{font-size:1.28rem}
.path h3{font-size:1.3rem}
.steps h3{font-size:1.36rem}

/* buttons: spine green by default, back-cover pink for the buy buttons */
.btn.btn-primary{box-shadow:0 6px 16px -9px rgba(31,58,40,.7)}
.btn.btn-primary.btn-buy,.nav a.btn.btn-primary{background:var(--pink);border-color:var(--pink);color:#fff;box-shadow:0 6px 16px -9px rgba(192,24,110,.7)}
.btn.btn-primary.btn-buy:hover,.nav a.btn.btn-primary:hover{background:var(--pink-deep);border-color:var(--pink-deep);color:#fff}
.btn.btn-secondary{border-color:var(--moss);background:rgba(255,250,244,.55)}
.btn-secondary:hover{background:var(--sage);border-color:var(--forest);color:var(--forest-ink)}
.btn-secondary:active{background:#DCE2CD}
.btn.is-soon{color:var(--ink-muted)}

/* section grounds: only the hero keeps the watercolor paper texture (faded); every other ground is flat colour with soft fades */
.hero{background:radial-gradient(40% 58% at 74% 56%,rgba(58,68,50,.30) 0%,rgba(58,68,50,.12) 48%,transparent 74%),linear-gradient(180deg,rgba(58,68,50,.07),transparent 14%),linear-gradient(0deg,rgba(58,68,50,.16),transparent 26%),url(texture/wash-hero.jpg) center/cover,var(--blush)}
.section--lav{background:radial-gradient(70% 70% at 88% 0%,rgba(255,250,244,.6),transparent 70%),var(--blush)}
.section--sage{background:radial-gradient(70% 70% at 90% 0%,rgba(255,250,244,.6),transparent 70%),var(--sage)}
.buy{background:radial-gradient(70% 70% at 85% 10%,rgba(255,250,244,.6),transparent 70%),var(--blush);border-bottom-color:rgba(217,195,165,.5)}
.pullbox,.tile-note{background:var(--blush)}
.tile-note{color:var(--forest-ink)}
kbd{background:var(--sage)}
@media (max-width:700px){
 .hero{background:radial-gradient(60% 40% at 50% 78%,rgba(58,68,50,.22),transparent 72%),linear-gradient(0deg,rgba(58,68,50,.12),transparent 20%),url(texture/wash-hero-sm.jpg) center/cover,var(--blush)}
}
.photo-hero{background:var(--blush)}

/* watercolor florals — the new art is cropped to its corner, full colour */
.orn{opacity:.92;mix-blend-mode:normal}
.orn-tl{top:0;left:0;width:clamp(170px,24vw,340px)}
.orn-tr{top:0;right:0;width:clamp(170px,24vw,340px)}
.orn-br{bottom:0;right:0;width:clamp(190px,26vw,360px)}
.orn-bl{bottom:0;left:0;width:clamp(180px,25vw,350px)}
.section--plum .orn,.bleed .orn{opacity:.28;mix-blend-mode:normal}
.err .orn{opacity:.85}
@media (max-width:620px){.orn{opacity:.5}}

/* the star glyph becomes the cover's leaf sprig (glyph stays in the markup for screen readers, aria-hidden) */
.star{display:inline-block;width:1.05rem;height:1.05rem;font-size:0;line-height:0;color:transparent;background:var(--leaf) center/contain no-repeat;vertical-align:-.1em;flex:0 0 auto}
.section--plum .star,.bleed .star,.strip .star,.footer .star{background-image:var(--leaf-light);color:transparent}
.checks .star{margin-top:.34em;line-height:0}
.rule{color:var(--rose)}
.rule::before,.rule::after{background:var(--rose-line);height:1px}
.rule .star{width:1.7rem;height:1.7rem;transform:rotate(-20deg)}
.section--plum .rule::before,.section--plum .rule::after,.bleed .rule::before,.bleed .rule::after{background:rgba(252,233,220,.45)}

/* trust strip */
.strip{background:var(--forest);color:#F1F4EC}
.strip li{color:#F1F4EC}

/* cards, tags, chips */
.card-link:hover,.minicard:hover,.minicard:focus-visible,.enc-card:hover,.gal-btn:hover{border-color:var(--rose-line)}
.enc-card--feature{border-color:var(--rose-line)}
.tag{color:var(--pink-deep);background:var(--pink-soft)}
.tag--sage{color:var(--sage-ink);background:var(--sage)}
.card .num{color:var(--pink)}
.path-n{background:var(--sage);color:var(--forest-ink);border-color:var(--leaf-line);font-family:var(--script);font-weight:400;font-size:1.25rem}
.path .feel,.section--plum .path .feel,.bleed .path .feel{color:var(--pink-deep);background:var(--pink-soft)}
.chips a:hover,.chips a:focus-visible{background:var(--pink-soft);border-color:var(--rose-line);color:var(--forest-ink)}
.bleed .chips a:not(.btn):not(.social){background:rgba(255,250,244,.95);border-color:transparent}
.bleed .chips a:not(.btn):not(.social):hover,.bleed .chips a:not(.btn):not(.social):focus-visible{background:var(--pink-soft);color:var(--forest-ink)}
.social{border-color:var(--leaf-line);color:var(--forest-ink)}
.social:hover{background:var(--pink-soft);border-color:var(--rose);color:var(--forest-ink)}
.nav-social a{color:var(--forest-ink)}
.nav-social a:hover{background:var(--pink-soft);border-color:var(--rose);color:var(--forest-ink)}
.nav-social a:active{background:#F6DCCB}
.enc-toc a.is-active{border-left-color:var(--pink)}
.nav-drop-panel a:hover{background:var(--blush)}

/* steps: gold rule becomes the cover's blush hairline, numbers in script */
.steps li{border-top:1px solid var(--rose-line)}
.steps li::before{font:400 1.7rem/1 var(--script);letter-spacing:0;color:var(--pink);content:counter(s)}
.notice{border-left-color:var(--rose)}

/* gallery + real pages */
.gal-btn{border-radius:6px;box-shadow:0 2px 6px rgba(31,43,34,.08)}
.gal-btn:hover{transform:translateY(-3px) rotate(-.6deg)}
.gal-item figcaption b{color:var(--pink)}
.img-bordered{box-shadow:var(--sh)}
.lb{background:rgba(82,93,71,.92)}
.lb-close:hover,.lb-nav:hover{background:var(--moss)}
.lb-fig figcaption{color:#F1F4EC}

/* media frames */
.fig-offset::after{background:var(--sage)}
.figframe{background:var(--blush)}
.photo-grid figure{box-shadow:0 2px 8px rgba(31,43,34,.08)}
.bookshot img,.buy-cover img{border:0;border-radius:3px 6px 6px 3px}

/* home hero — the real front and back covers, fanned */
.hero-books{position:relative;max-width:470px;width:100%;margin:0 auto;padding:8% 0 9% 12%}
.hero-books img{display:block;border-radius:3px 6px 6px 3px}
.hero-books .hb-back{position:absolute;top:0;left:0;width:62%;transform:rotate(-7deg);box-shadow:var(--sh)}
.hero-books .hb-front{position:relative;width:88%;margin-left:auto;transform:rotate(3deg);box-shadow:var(--sh-lg)}
@media (max-width:880px){.hero-books{max-width:380px}}
@media (max-width:520px){.hero-books{max-width:300px}}

/* home hero title set like the cover lockup (same words, same h1) */
.lockup{line-height:.9}
.lockup .l1{display:block;font-family:var(--script);font-weight:400;font-size:clamp(4.4rem,10.5vw,8rem);line-height:.98;transform:rotate(-4deg);transform-origin:left bottom;margin-left:-.03em}
.lockup .l2{display:block;font-family:var(--script);font-weight:400;font-size:clamp(2.1rem,4.8vw,3.45rem);margin:.02em 0 0 1.5em;transform:rotate(-4deg);transform-origin:left bottom}
.lockup .l3{display:block;font-family:var(--serif);font-weight:700;font-size:clamp(1.95rem,4.4vw,3.2rem);letter-spacing:.09em;text-transform:uppercase;margin-top:.26em}

/* image bands + photo heroes */
.bleed::before{background:linear-gradient(96deg,rgba(82,93,71,.94) 0%,rgba(82,93,71,.84) 44%,rgba(82,93,71,.45) 78%,rgba(82,93,71,.28) 100%)}
.bleed--right::before{background:linear-gradient(264deg,rgba(82,93,71,.94) 0%,rgba(82,93,71,.84) 44%,rgba(82,93,71,.45) 78%,rgba(82,93,71,.28) 100%)}
@media (max-width:700px){.bleed::before,.bleed--right::before{background:linear-gradient(180deg,rgba(82,93,71,.86) 0%,rgba(82,93,71,.93) 60%)}}

/* footer */
.footer{position:relative}
.footer::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#D9C3A5}
.footer-logo{display:block;width:110px;height:110px;margin-bottom:18px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25))}
.footer-brand .tag2{font-weight:700;color:#FCE9DC}
.footer a:not(.btn):not(.social):hover{color:#FCE9DC;text-decoration-color:#FCE9DC}
.hero-media::before{display:none}
.hero-media{display:flex;justify-content:center}

/* second pass: logo-sage buttons and bands */
.btn.btn-primary{box-shadow:0 6px 16px -9px rgba(68,80,59,.7)}
.btn.btn-primary:hover{background:#4A5540;border-color:#4A5540;color:#FFFAF4}
.strip{background:var(--forest)}
.section--plum .star,.bleed .star,.strip .star,.footer .star{background-image:var(--leaf-light)}
/* header subtitle is the book's longer subtitle: tighter tracking, allowed to wrap on mid widths */
.brand-t>span{letter-spacing:.06em;white-space:normal;max-width:34ch;line-height:1.25}
@media (min-width:1181px) and (max-width:1320px){.brand-t>span{max-width:27ch}}

/* =====================================================================
   Premium pass (Sept 2026): one pink ground (#FCE9DC), one pink accent
   (#C0186E), one pink tint for tags/hovers (#F6DCCB), warm hairlines
   (#D9C3A5), and sage shading on the heroes for depth.
   ===================================================================== */
h1,h2,h3,h4{font-weight:600}
.lockup .l3{font-weight:600}
.hdr{border-bottom:1px solid rgba(217,195,165,.6);box-shadow:0 10px 30px -24px rgba(40,48,34,.45)}
.nav a::after{background:var(--rose)}
.eyebrow{letter-spacing:.24em}
.btn{letter-spacing:.015em}
.card,.enc-card,.minicard,.faq details{border-color:var(--rose-line)}
.card{box-shadow:0 1px 2px rgba(40,48,34,.04),0 14px 34px -22px rgba(40,48,34,.22)}
.strip{box-shadow:inset 0 1px 0 rgba(245,227,181,.35),inset 0 -1px 0 rgba(245,227,181,.35)}
.fig-offset::after{background:var(--rose-line)}

/* hero drama: sage shadow pooled behind the books, shaded top and foot */
.hero-books .hb-front{box-shadow:0 44px 70px -26px rgba(34,42,29,.62),0 12px 26px rgba(34,42,29,.22)}
.hero-books .hb-back{box-shadow:0 30px 50px -24px rgba(34,42,29,.45)}
.buy-cover img,.bookshot img{box-shadow:0 36px 60px -28px rgba(34,42,29,.55),0 10px 22px rgba(34,42,29,.16)}

/* page heroes (first section of every inner page) */
main>section.section:first-of-type:not(.photo-hero){background:radial-gradient(55% 90% at 100% 0%,rgba(58,68,50,.12),transparent 62%),linear-gradient(0deg,rgba(58,68,50,.10),transparent 32%),var(--blush);border-bottom:1px solid rgba(217,195,165,.6)}
.photo-hero{border-bottom:1px solid rgba(217,195,165,.6)}
.photo-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(58,68,50,.28) 0%,rgba(58,68,50,.08) 22%,transparent 40%),linear-gradient(0deg,rgba(58,68,50,.14),transparent 22%)}
@media (max-width:900px){.photo-hero::after{background:linear-gradient(180deg,rgba(58,68,50,.18),transparent 30%)}}
@media (max-width:700px){
 main>section.section:first-of-type:not(.photo-hero){background:linear-gradient(0deg,rgba(58,68,50,.12),transparent 30%),var(--blush)}
 main>section.section:first-of-type .orn{opacity:.3}
 .photo-hero::after{background:linear-gradient(0deg,rgba(58,68,50,.12),transparent 26%)}
}
/* eyebrows sitting on the shaded heroes use a deeper cut of the same pink */
.hero .eyebrow,.photo-hero .eyebrow,main>section.section:first-of-type .eyebrow{color:#A3125E}
.fig-offset::after{background:var(--pink-soft)}
.section--sage .fig-offset::after{background:#DCE2CD}

/* =====================================================================
   Green sections (Sept 2026): some sections now sit on the logo-sage
   green (.section--plum) with cream text, for variety against the pink.
   ===================================================================== */
.section--plum{background:var(--forest-deep)}
.section--plum .path h2,.section--plum .path h3{color:var(--forest-ink)}
.section--plum .path .accent{color:var(--pink)}
.section--plum .pullquote{color:#FFFAF4}
.section--plum .pullquote::before{color:#FCE9DC;opacity:.45}
.section--plum .steps li{border-top-color:rgba(252,233,220,.35)}
.section--plum .steps li::before{color:#FCE9DC}
.section--plum .steps p{color:#EEF1E8}
.section--plum .gal-item figcaption{color:#EEF1E8}
.section--plum .gal-item figcaption b{color:#FCE9DC}
.section--plum .fig-offset::after{background:rgba(252,233,220,.22)}
.section--plum .fig-offset img{box-shadow:0 30px 60px -24px rgba(20,26,17,.6)}
.section--plum .meta{color:#E4E9DD}
.section--plum .btn.btn-primary{background:var(--cream);border-color:var(--cream);color:var(--forest-ink)}
.section--plum .btn.btn-primary:hover{background:var(--blush);border-color:var(--blush);color:var(--forest-ink)}
.section--plum .checks li,.section--plum strong{color:#F1F4EC}
.section--plum .notice strong{color:var(--forest-ink)}
.section--plum .notice{color:var(--ink)}
.section--plum .orn{opacity:.22}

/* Home: buy section on cream so it never sits pink-on-pink under the hero (Journal page buy stays pink between cream sections) */
.hero+.buy{background:radial-gradient(70% 70% at 85% 10%,rgba(231,236,223,.45),transparent 70%),var(--cream);border-top:1px solid rgba(217,195,165,.6);border-bottom-color:rgba(217,195,165,.5)}
