/* Layout: Lindsey's Debut structure (centered nav, ruled sections, filled highlight boxes, offset-shadow photos) recolored from the book cover: forest green, waterfall teal */
:root{
  --forest:#2D5E45;      /* section rules, box fill */
  --forest-dp:#1F4532;   /* headings accent text */
  --teal:#23707D;        /* italic accent lines */
  --ink:#16201B;
  --on-box:#FFFFFF;
  --bg:#FFFFFF;
  --mist:#EEF4EE;
  --muted:#4E5B54;
  --line:rgba(45,94,69,.45);
  --serif:"Lora",Georgia,"Times New Roman",serif;
  --sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
  box-sizing:border-box;background:var(--bg);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0E1512;--mist:#15201A;--ink:#EEF3EE;--muted:#AFBDB4;--forest-dp:#9ED1B3;--teal:#7FC6D1;--line:rgba(158,209,179,.4);color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0E1512;--mist:#15201A;--ink:#EEF3EE;--muted:#AFBDB4;--forest-dp:#9ED1B3;--teal:#7FC6D1;--line:rgba(158,209,179,.4);color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:7rem}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.1rem/1.7 var(--serif);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;letter-spacing:-.025em;line-height:1.05;text-wrap:balance}
p{margin:0 0 1em;max-width:62ch}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:1080px;margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
section{padding-block:clamp(2.75rem,6vw,4.5rem);border-top:2px solid var(--forest)}
.c{text-align:center}.c p{margin-inline:auto}
.eb{font:600 .85rem/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;margin:0 0 1.25rem;color:var(--forest-dp)}
.it{font:italic 400 clamp(1.6rem,5vw,2.7rem)/1.1 var(--serif);color:var(--teal);display:block;margin-bottom:.5rem;letter-spacing:-.01em}
h2{font-size:clamp(2.3rem,6.5vw,4.2rem);margin-bottom:1.5rem}

/* buttons */
.btns{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.btn{display:inline-block;font:600 .85rem var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:1.1rem 1.9rem;border:1px solid var(--ink);color:var(--ink);background:transparent;transition:background .2s,color .2s,transform .15s,box-shadow .15s;text-align:center}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn.main{background:var(--forest);border-color:var(--forest);color:#FFFFFF;box-shadow:4px 4px 0 var(--teal)}
.btn.main:hover{background:var(--forest);color:#FFFFFF;box-shadow:2px 2px 0 var(--teal);transform:translate(2px,2px)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}

/* nav */
.nav{background:var(--bg);text-align:center;padding:1rem 0 1.1rem;position:sticky;top:env(safe-area-inset-top,0px);z-index:9;border-bottom:2px solid var(--forest)}
.nav .name{display:block;font:500 clamp(1.4rem,5vw,2.1rem)/1.1 var(--serif);letter-spacing:-.03em;text-transform:uppercase;margin-bottom:.6rem;text-decoration:none}
.nav ul{display:flex;gap:.6rem 1.4rem;justify-content:center;align-items:center;list-style:none;margin:0;padding:0 1rem;flex-wrap:wrap}
.nav a{font:500 .75rem var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.nav ul a[aria-current="page"]{border-bottom:2px solid var(--forest);padding-bottom:3px}
.nav a.cta{background:var(--forest);color:#FFFFFF;font-weight:600;padding:.65rem 1.2rem;border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.nav a.cta:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}

/* filled box */
.box{--ink:#FFFFFF;--muted:#E3EEE6;--forest-dp:#FFFFFF;--teal:#FFFFFF;--line:rgba(255,255,255,.55);background:var(--forest);color:#fff;padding:clamp(1.75rem,4vw,3rem);outline:1px solid #fff;outline-offset:-12px}
.box .btn{border-color:#fff;color:#fff}
.box .btn:hover{background:#fff;color:var(--forest)}
.box .btn.main{background:#FFFFFF;color:#1F4532;border-color:#FFFFFF;box-shadow:4px 4px 0 #16201B}
.box .btn.main:hover{background:#FFFFFF;color:#1F4532;box-shadow:2px 2px 0 #16201B}

/* green ticker band */
.band{background:var(--forest);color:#fff}
.tick{list-style:none;margin:0 auto;padding:1.2rem 0;max-width:640px;text-align:center}
.tick li{padding:1rem 0;border-top:1px solid rgba(255,255,255,.35);font:600 .85rem var(--sans);letter-spacing:.2em;text-transform:uppercase}
.tick li:first-child{border:0}

/* rows */
.rows{list-style:none;margin:0;padding:0;counter-reset:s}
.rows li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:.4rem 3rem;align-items:baseline;padding:1.5rem 0;border-top:1px solid var(--line)}
.rows li:last-child{border-bottom:1px solid var(--line)}
.rows h3{font-size:clamp(1.7rem,4.2vw,2.7rem);color:var(--forest-dp);font-style:italic;font-weight:400}
.rows p{margin:0;color:var(--muted)}
.steps h3{font:500 1.45rem/1.15 var(--serif);font-style:normal;color:var(--ink);display:flex;gap:1rem;align-items:center;letter-spacing:-.01em}
.steps h3::before{counter-increment:s;content:counter(s);flex:none;width:2.2rem;height:2.2rem;border:1.5px solid currentColor;border-radius:50%;font:600 .75rem/2rem var(--sans);text-align:center}

.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;justify-content:center}
.tags li{padding:.4rem 1rem;border:1px solid var(--forest);color:var(--forest-dp);font:500 .8rem var(--sans);letter-spacing:.12em;text-transform:uppercase}
.loud{font-size:clamp(1.45rem,3vw,2rem);font-style:italic;line-height:1.3;color:var(--teal);margin:0 0 1rem}
.callout{border-left:3px solid var(--teal);padding:.25rem 0 .25rem 1.5rem;margin:2.5rem 0 0;max-width:62ch}
.callout p{margin:0;color:var(--muted)}

/* proof strip */
.proof{padding-block:clamp(2rem,5vw,3.25rem)}
.proof .pq{font:italic 400 clamp(1.4rem,3.4vw,2.3rem)/1.35 var(--serif);max-width:34ch;margin:0 auto .9rem}
.proof .pb{font:600 .8rem/1.6 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:0 auto 1.75rem;max-width:none}
.ps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 3.5rem}
.ps li{font:600 .75rem/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ps b{display:block;font:500 clamp(2rem,4.5vw,3rem)/1.1 var(--serif);letter-spacing:-.01em;text-transform:none;color:var(--forest-dp);margin-bottom:.15rem}

/* quotes */
.qf{margin:2.5rem 0 0;background:var(--forest);color:#fff;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,5vw,4rem);text-align:center;outline:1px solid #fff;outline-offset:-14px}
.qf::before{content:"\201C";display:block;font:400 7rem/.7 var(--serif);height:3.4rem}
.qf p{font-size:clamp(1.15rem,2.2vw,1.5rem);font-style:italic;line-height:1.5;max-width:58ch;margin:0 auto}
.qf .who{font:600 .85rem/1.6 var(--sans);letter-spacing:.18em;text-transform:uppercase;font-style:normal;margin:1.75rem auto 0;max-width:none}
.qs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:2rem}
.qc{background:var(--mist);color:var(--ink);padding:2.6rem 1.5rem 2.2rem;text-align:center;font-style:italic;font-size:1.02rem;margin:0;max-width:none;outline:1px solid var(--forest);outline-offset:-10px}
.qc::before{content:"\201C";display:block;font:400 4.5rem/.6 var(--serif);color:var(--forest-dp);height:2rem;margin-bottom:.5rem}
.qc .qw{display:block;margin-top:1.25rem;font:600 .78rem/1.6 var(--sans);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--muted)}

/* bio */
.bio{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.bio img{width:100%;max-width:360px;height:auto;display:block;box-shadow:-12px 12px 0 -1px var(--forest);justify-self:center}
.bio h2{text-transform:uppercase;font-size:clamp(2.5rem,7vw,4.6rem);letter-spacing:-.04em}
.role{font:600 .82rem/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--forest-dp);margin-bottom:1.5rem}
.verse{font:italic 400 1.2rem/1.5 var(--serif);color:var(--teal);border-left:3px solid var(--teal);padding-left:1.25rem;margin:1.5rem 0}
.verse span{display:block;font:600 .75rem/1.6 var(--sans);letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--muted);margin-top:.4rem}

/* accordion */
details{border-top:1px solid var(--line)}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1.4rem 0;font-size:clamp(1.3rem,3vw,1.8rem);color:var(--forest-dp);line-height:1.15}
summary small{display:block;font:600 .72rem/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;width:2.2rem;height:2.2rem;border:1px solid currentColor;border-radius:50%;text-align:center;font:500 1.3rem/2rem var(--sans)}
details[open] summary::after{content:"\2212"}
details ul{list-style:none;margin:0;padding:0 0 1.4rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.4rem 2rem}
details li{color:var(--muted);padding-left:1.4rem;position:relative;font-size:1rem}
details li::before{content:"";position:absolute;left:.15rem;top:.7em;width:.5rem;height:.5rem;background:var(--forest);transform:rotate(45deg)}

/* contact + footer */
.contact{max-width:680px;margin:3.5rem auto 0;text-align:center}
.contact h3{font-size:clamp(1.7rem,4vw,2.4rem);margin-bottom:.8rem}
.contact p{margin-bottom:1.5rem}
footer{border-top:2px solid var(--forest);padding:2.5rem 0;text-align:center;font:500 .78rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
footer a{margin:0 .8rem;text-decoration:none;display:inline-block;padding:.25rem 0}

@media (max-width:820px){
  .two,.bio,.rows li{grid-template-columns:1fr}
  .qs{grid-template-columns:1fr}
}
@media (max-width:760px){
  .btn{letter-spacing:.1em;padding:1.05rem 1.2rem}
  .nav{padding:.7rem 0 .8rem}
  .nav .name{font-size:1.25rem;margin-bottom:.45rem}
  .nav ul{gap:.4rem .9rem;padding:0 .5rem}
  .nav a{font-size:.64rem;letter-spacing:.1em}
}
@media (prefers-reduced-motion:reduce){.btn,.nav a.cta{transition:none}}

/* contact form */
.cform{display:grid;gap:1rem;text-align:left;margin-top:.5rem}
.cform .row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}
.cform label{display:grid;gap:.4rem;font:600 .75rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#fff}
.cform input,.cform select,.cform textarea{font:400 1rem/1.5 var(--serif);letter-spacing:0;text-transform:none;color:#16201B;background:#fff;border:1px solid #fff;padding:.8rem .9rem;border-radius:0;width:100%}
.cform textarea{resize:vertical}
.cform input:focus-visible,.cform select:focus-visible,.cform textarea:focus-visible{outline:3px solid #9ED1B3;outline-offset:2px}
.cform button{justify-self:center;margin-top:.5rem;cursor:pointer}
.cform .hp{position:absolute;left:-9999px}
.cf-note{font-size:.95rem;text-align:center;margin:0 auto}
@media (max-width:600px){.cform .row{grid-template-columns:1fr}}

/* sneak peek */
.peek{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.page{position:relative;background:var(--mist);padding:clamp(1.75rem,5vw,3.25rem) clamp(1.5rem,5vw,3.25rem) 0;box-shadow:-12px 12px 0 -1px var(--forest);outline:1px solid var(--line);outline-offset:-12px;max-height:44rem;overflow:hidden}
.chno{font:600 .78rem/1.4 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--forest-dp);text-align:center;margin:0 auto .4rem}
.chtitle{font:italic 400 clamp(1.8rem,4vw,2.5rem)/1.1 var(--serif);color:var(--teal);text-align:center;margin-bottom:1.75rem}
.pagetext p{font-size:1.05rem;line-height:1.8;text-indent:1.5em;margin:0 0 .35em;max-width:none}
.pagetext p.first{text-indent:0}
.pagetext p.first::first-letter{float:left;font:500 4.2rem/.8 var(--serif);color:var(--forest-dp);padding:.35rem .5rem 0 0}
.pagefade{position:absolute;inset:auto 0 0 0;height:11rem;display:flex;align-items:flex-end;justify-content:center;padding-bottom:2rem;background:linear-gradient(to bottom,transparent,var(--mist) 62%)}
.toc ol{margin:0;padding:0;list-style:none;counter-reset:ch}
.toc li{counter-increment:ch;display:grid;grid-template-columns:2.4rem 1fr;align-items:baseline;padding:.55rem 0;border-top:1px solid var(--line);font-size:1.05rem}
.toc li:last-child{border-bottom:1px solid var(--line)}
.toc li::before{content:counter(ch);font:600 .75rem var(--sans);letter-spacing:.1em;color:var(--forest-dp);font-variant-numeric:tabular-nums}
@media (max-width:820px){.peek{grid-template-columns:1fr}.page{max-height:38rem}}

/* alternating testimonial colors */
.qf + .qf{background:var(--mist);color:var(--ink);outline-color:var(--forest)}
.qf + .qf::before{color:var(--forest-dp)}
.qs .qc:nth-child(4n+1),.qs .qc:nth-child(4n+4){background:var(--forest);color:#fff;outline-color:#fff}
.qs .qc:nth-child(4n+1)::before,.qs .qc:nth-child(4n+4)::before{color:#fff}
.qs .qc:nth-child(4n+1) .qw,.qs .qc:nth-child(4n+4) .qw{color:#E3EEE6}
@media (max-width:820px){
  .qs .qc:nth-child(n){background:var(--mist);color:var(--ink);outline-color:var(--forest)}
  .qs .qc:nth-child(n)::before{color:var(--forest-dp)}
  .qs .qc:nth-child(n) .qw{color:var(--muted)}
  .qs .qc:nth-child(odd){background:var(--forest);color:#fff;outline-color:#fff}
  .qs .qc:nth-child(odd)::before{color:#fff}
  .qs .qc:nth-child(odd) .qw{color:#E3EEE6}
}

/* course page: start the small cards light, after the green quote */
.qs.flip .qc:nth-child(n){background:var(--mist);color:var(--ink);outline-color:var(--forest)}
.qs.flip .qc:nth-child(n)::before{color:var(--forest-dp)}
.qs.flip .qc:nth-child(n) .qw{color:var(--muted)}
.qs.flip .qc:nth-child(even){background:var(--forest);color:#fff;outline-color:#fff}
.qs.flip .qc:nth-child(even)::before{color:#fff}
.qs.flip .qc:nth-child(even) .qw{color:#E3EEE6}
