
/* ===== That Recovery Room — design system ===== */
:root{
  --bg:#FBFAF7; --panel:#ffffff; --sand:#F4EFE6; --sage:#ECF1EC;
  --ink:#18211D; --muted:#5B655E; --line:#E7E2D8;
  --brand:#1F5A4C; --brand2:#2E7D68; --gold:#B0894C; --gold-ink:#7A5A20; --gold-soft:#F2E9D8;
  --shadow:0 18px 50px -20px rgba(24,33,29,.28);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden;max-width:100%}
h1,h2,h3,p,a{overflow-wrap:break-word}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,.serif{font-family:"Fraunces","Georgia",serif;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--brand2)}
img{max-width:100%;display:block}
::selection{background:var(--gold-soft)}
.container{max-width:1140px;margin:0 auto;padding:0 26px}
.eyebrow{font-family:"Inter";text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:700;color:var(--gold-ink)}
.lead{font-size:20px;color:var(--muted);line-height:1.6}
.muted{color:var(--muted)}
.center{text-align:center}
.maxw{max-width:680px;margin-left:auto;margin-right:auto}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:"Inter";font-weight:600;font-size:15.5px;
  padding:13px 24px;border-radius:100px;border:1px solid transparent;cursor:pointer;transition:.2s ease;line-height:1}
.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--shadow)}
.btn-primary:hover{background:var(--brand2);color:#fff;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}
.btn-lg{padding:16px 30px;font-size:16.5px}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.82);
  backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line)}
.site-header .bar{display:flex;align-items:center;gap:26px;height:70px}
.brand{font-family:"Fraunces",serif;font-weight:600;font-size:21px;color:var(--ink);letter-spacing:-.02em;white-space:nowrap}
.brand span{color:var(--brand)}
.nav{display:flex;gap:26px;margin-left:8px}
.nav a{font-size:15px;color:var(--muted);font-weight:500}
.nav a:hover{color:var(--ink)}
.header-cta{margin-left:auto}
@media(max-width:760px){.nav{display:none}.header-cta{margin-left:auto}}
@media(max-width:520px){
  .container{padding:0 18px}
  .site-header .bar{height:60px;gap:12px}
  .brand{font-size:17px}
  .btn.header-cta{padding:9px 15px;font-size:13.5px}
  .section{padding:56px 0}.section.tight{padding:44px 0}
  .hero{padding:34px 0 24px}
  .hero h1{font-size:clamp(28px,8.4vw,46px)}
  .article h1{font-size:30px}
  .optin{padding:42px 22px}
  .quote{font-size:24px}
  .hero p.lead{max-width:100%}
  .hero-cta{gap:10px}.hero-cta .btn{flex:1 1 auto;justify-content:center}
}

/* sections */
.section{padding:92px 0}
.section.tight{padding:64px 0}
.section.sand{background:var(--sand)}
.section.sage{background:var(--sage)}
.section h2{font-size:clamp(28px,4vw,40px);line-height:1.15;margin:.2em 0 .35em}
.divider{height:1px;background:var(--line);border:0;margin:0}

/* hero */
.hero{padding:64px 0 40px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-40% -20% auto auto;width:640px;height:640px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(46,125,104,.16),transparent 62%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.hero h1{font-size:clamp(30px,7.2vw,66px);line-height:1.05;margin:.28em 0 .3em}
.hero p.lead{max-width:42ch}
.hero p.lead strong{color:var(--ink);font-weight:700}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero-figure{position:relative;justify-self:center}
.hero-figure .ring{width:min(360px,78vw);aspect-ratio:1;border-radius:50%;padding:14px;
  background:conic-gradient(from 200deg,var(--sage),var(--gold-soft),var(--sage));box-shadow:var(--shadow)}
.hero-figure .ring img{width:100%;height:100%;object-fit:cover;border-radius:50%;background:#fff}
.hero-figure figcaption{margin-top:16px;text-align:center;color:var(--muted);font-size:14.5px}
.hero-figure figcaption b{color:var(--ink);font-weight:600}
@media(max-width:820px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:34px}.hero-figure{order:-1}}

/* trust strip */
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 30px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust span{font-size:14px;color:var(--muted);display:inline-flex;align-items:center;gap:8px}
.trust b{color:var(--brand)}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:14px}
@media(max-width:820px){.cards{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;
  transition:.22s ease;display:block;color:var(--ink)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d9d3c6}
.card .tag{font-family:"Fraunces",serif;font-size:24px;margin:0 0 6px}
.card p{margin:0;color:var(--muted);font-size:15.5px}
.card .more{display:inline-block;margin-top:16px;font-weight:600;font-size:14.5px;color:var(--brand)}
.dot{width:11px;height:11px;border-radius:50%;display:inline-block;margin-right:9px}
.d-sleep{background:#6C63C4}.d-energy{background:#C87F3C}.d-stress{background:#3F9AA6}

/* pull quote / honesty */
.quote{font-family:"Fraunces",serif;font-size:clamp(24px,3.4vw,34px);line-height:1.3;max-width:20ch}
.quote .accent{color:var(--brand)}

/* opt-in block */
.optin{background:var(--brand);color:#fff;border-radius:26px;padding:56px 44px;text-align:center;box-shadow:var(--shadow);position:relative;overflow:hidden}
.optin::after{content:"";position:absolute;inset:auto -10% -60% auto;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.10),transparent 60%)}
.optin h2{color:#fff;font-size:clamp(26px,3.6vw,38px);margin:0 0 10px;position:relative}
.optin p{color:rgba(255,255,255,.9);max-width:46ch;margin:0 auto 26px;position:relative}
.optin .btn{background:#fff;color:var(--brand);position:relative}
.optin .btn:hover{background:var(--gold-soft)}
.optin .fine{margin-top:16px;font-size:13px;color:rgba(255,255,255,.72)}

/* article */
.article{max-width:730px;margin:0 auto}
.article .kicker{margin-bottom:14px}
.article h1{font-size:clamp(32px,5vw,50px);line-height:1.08;margin:.1em 0 .35em}
.article .byline{color:var(--muted);font-size:15px;margin-bottom:6px}
.article .byline b{color:var(--ink)}
.article h2{font-size:26px;margin:1.7em 0 .3em}
.article h3{font-size:19px;margin:1.4em 0 .2em}
.article p,.article li{font-size:18px;line-height:1.75}
.article ul,.article ol{padding-left:22px}.article li{margin:.4em 0}
.tldr{background:var(--sage);border-left:4px solid var(--brand);border-radius:0 14px 14px 0;padding:20px 24px;margin:26px 0;font-size:17px}
.tldr b{color:var(--brand)}
.note{background:var(--gold-soft);border:1px solid #e7d6b4;border-radius:14px;padding:18px 22px;margin:26px 0;font-size:15.5px;color:#5c4a22}
.note b{color:var(--gold-ink)}
.callout{background:var(--brand);color:#fff;border-radius:20px;padding:30px 32px;margin:36px 0;text-align:center}
.callout h3{color:#fff;margin:0 0 6px}.callout p{color:rgba(255,255,255,.9);margin:0 0 16px;font-size:15.5px}
.callout .btn{background:#fff;color:var(--brand)}
.faq .q{font-weight:700;margin:22px 0 2px;font-size:17px}
.faq .a{color:var(--muted);font-size:16.5px}
.authorbox{display:flex;gap:18px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:22px 24px;margin:38px 0;background:var(--panel)}
.authorbox img{width:168px;height:auto;border-radius:14px;object-fit:contain;background:#fff;border:1px solid var(--line);flex:none;padding:10px}
@media(max-width:520px){.authorbox{flex-direction:column;align-items:flex-start}.authorbox img{width:180px}}
.authorbox .t{font-size:15px;color:var(--muted)}.authorbox .t b{color:var(--ink)}
.disclaimer{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:34px;line-height:1.6}
.related{margin:38px 0 8px;padding:20px 22px;background:var(--sage);border:1px solid var(--line);border-radius:14px}
.related h3{margin:0 0 8px;font-size:16px}
.related p{margin:0;font-size:15px;color:var(--muted);line-height:1.9}
.related a{font-weight:600}

/* footer */
.site-footer{background:#14201B;color:#cdd8d1;padding:64px 0 40px;margin-top:0}
.site-footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
@media(max-width:760px){.site-footer .cols{grid-template-columns:1fr;gap:26px}}
.site-footer .brand{color:#fff}.site-footer .brand span{color:#8fd3bf}
.site-footer p{color:#9fb0a6;font-size:14.5px;max-width:38ch}
.site-footer h2{font-family:"Inter";text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:#9aaaa2;margin:0 0 12px}
.site-footer a{color:#cdd8d1;font-size:14.5px;display:block;margin:8px 0}
.site-footer a:hover{color:#fff}
.site-footer .fine{border-top:1px solid #26332c;margin-top:40px;padding-top:22px;font-size:12.5px;color:#7f918a;line-height:1.65}

/* ===== opt-in page + MailerLite embedded form (brand overrides) ===== */
.optin-wrap{max-width:560px;margin:0 auto}
.optin-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:30px 30px 26px}
.optin-badges{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin:22px 0 4px;
  color:var(--muted);font-size:14.5px}
.optin-badges span{display:inline-flex;align-items:center;gap:7px}
.optin-badges b{color:var(--brand);font-weight:700}
/* Neutralize MailerLite's own chrome and re-skin to the brand */
.ml-form-embedContainer,.ml-form-embedWrapper,.ml-form-embedBody,.ml-form-embedContent{
  background:transparent!important;border:0!important;box-shadow:none!important;
  max-width:100%!important;width:100%!important;margin:0!important;padding:0!important}
.ml-form-embedWrapper.embedForm{max-width:100%!important}
/* Hide MailerLite's built-in title/description — the page supplies its own */
.ml-form-embedContent,.ml-form-embedContent h4,.ml-form-embedContent p{display:none!important}
.ml-form-embedContainer .ml-form-fieldRow{margin:0 0 14px!important}
.ml-form-embedContainer .ml-form-fieldRow input.form-control,
.ml-form-embedContainer input[type=email]{
  width:100%!important;box-sizing:border-box!important;
  font-family:"Inter",sans-serif!important;font-size:16px!important;color:var(--ink)!important;
  background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;
  padding:15px 16px!important;height:auto!important;line-height:1.4!important}
.ml-form-embedContainer .ml-form-fieldRow input.form-control:focus,
.ml-form-embedContainer input[type=email]:focus{
  border-color:var(--brand)!important;outline:none!important;box-shadow:0 0 0 3px rgba(31,90,76,.15)!important}
.ml-form-embedContainer .ml-form-embedSubmit{margin:0!important}
.ml-form-embedContainer .ml-form-embedSubmit button,
.ml-form-embedContainer button.primary{
  width:100%!important;font-family:"Inter",sans-serif!important;font-weight:700!important;
  font-size:16.5px!important;letter-spacing:.01em!important;color:#fff!important;
  background:var(--brand)!important;background-color:var(--brand)!important;
  border:0!important;border-radius:12px!important;padding:15px 20px!important;
  cursor:pointer!important;transition:background .15s ease!important;box-shadow:none!important}
.ml-form-embedContainer .ml-form-embedSubmit button:hover,
.ml-form-embedContainer button.primary:hover{background:var(--brand2)!important}
.ml-form-embedContainer .ml-form-embedSubmit button.loading{background:var(--brand2)!important}
/* success message after signup */
.ml-form-successBody,.ml-form-embedSuccessBody{padding:0!important}
.ml-form-successContent h4,.ml-form-embedSuccessContent h4{
  font-family:"Fraunces",Georgia,serif!important;color:var(--ink)!important}
.ml-form-successContent p,.ml-form-embedSuccessContent p{color:var(--muted)!important}
.ml-form-embedPermissions,.ml-form-embedContainer .ml-form-embedPermissions{
  font-size:12.5px!important;color:var(--muted)!important}

/* ===== accessibility landmarks + homepage rich content (AEO/GEO) ===== */
.skip{position:absolute;left:-999px;top:0;background:var(--brand);color:#fff;padding:10px 16px;border-radius:0 0 12px 0;z-index:2000;font-weight:600}
.skip:focus{left:0}
.prose{max-width:760px;margin:0 auto}
.prose h2{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:clamp(24px,3.4vw,34px);line-height:1.15;margin:1.5em 0 .3em;color:var(--ink)}
.prose h3{font-size:19px;margin:1.3em 0 .2em;color:var(--ink)}
.prose p{color:var(--muted);line-height:1.8;margin:.6em 0;font-size:16.5px}
.prose ul,.prose ol{color:var(--muted);line-height:1.85;padding-left:22px;margin:.5em 0}
.prose li{margin:.3em 0}
.prose a{color:var(--brand);font-weight:600}
.toc{background:var(--sage);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin:10px auto 6px;max-width:760px}
.toc b{font-family:"Inter";text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--gold-ink)}
.toc ul{margin:8px 0 0;padding-left:18px;color:var(--muted)}
@media(min-width:640px){.toc ul{columns:2}}
.toc a{color:var(--brand);font-weight:600}
dl.glossary{margin:12px 0}
dl.glossary dt{font-weight:700;color:var(--ink);margin-top:10px}
dl.glossary dd{margin:2px 0 6px;color:var(--muted);line-height:1.7}
table.compare{width:100%;border-collapse:collapse;margin:16px 0;font-size:15.5px}
table.compare caption{caption-side:top;text-align:left;color:var(--muted);font-size:14px;margin-bottom:8px}
table.compare th,table.compare td{border:1px solid var(--line);padding:11px 13px;text-align:left;vertical-align:top}
table.compare thead th{background:var(--sage);color:var(--ink);font-family:"Inter";font-weight:700}
table.compare tbody th{background:#fff;color:var(--ink);font-weight:700}
table.compare td{color:var(--muted)}
blockquote.expert{border-left:3px solid var(--gold-ink);background:var(--sage);margin:16px 0;padding:16px 20px;border-radius:0 12px 12px 0;color:var(--ink)}
blockquote.expert p{color:var(--ink);font-style:italic;margin:0}
blockquote.expert cite{display:block;margin-top:10px;font-style:normal;font-size:14px;color:var(--muted)}
.takeaways{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px 26px;margin:20px 0}
.takeaways h2{margin:0 0 6px}
.takeaways ul{margin:0;padding-left:20px;color:var(--muted);line-height:1.95}
.homefaq{margin:6px 0}
.homefaq details{border-bottom:1px solid var(--line);padding:12px 0}
.homefaq summary{font-weight:600;color:var(--ink);cursor:pointer;font-size:17px;list-style:none}
.homefaq summary::-webkit-details-marker{display:none}
.homefaq summary::before{content:"+ ";color:var(--gold-ink);font-weight:700}
.homefaq details[open] summary::before{content:"\\2013 "}
.homefaq p{margin:.6em 0 0;color:var(--muted);line-height:1.75}
.updated{font-size:13px;color:var(--muted);text-align:center;margin-top:26px}
.updated time{font-weight:600;color:var(--ink)}
