/* The Restorative Club — shared stylesheet for SEO landing pages
   Design tokens pulled directly from the live homepage so these pages
   match your existing look exactly. */

:root{
  --olive:#4F5A38;
  --olive-d:#3E4A2C;
  --sage:#8C9A72;
  --char:#3a362e;
  --linen:#F4EEE1;
  --cream:#EEE7D8;
  --sand:#E6D8C1;
  --mist:#9DBBC7;
  --stone:#CBBFA8;
  --mut:#8A806E;
  --body:#5b544a;
  --maxw:1120px;
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--linen);
  color:var(--body);
  font-family:Jost,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.75;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}

a{color:var(--olive);text-decoration:none;transition:color .25s ease}
a:hover{color:var(--olive-d)}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.narrow{max-width:760px}

/* ---------- Type ---------- */

h1,h2,h3{
  font-family:"Sorts Mill Goudy",Georgia,serif;
  color:var(--char);
  font-weight:400;
  line-height:1.2;
  margin:0 0 .5em;
}

h1{font-size:clamp(2.1rem,5vw,3.4rem);letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,3.4vw,2.4rem);margin-top:0}
h3{font-size:1.22rem;line-height:1.35}

.script{
  font-family:Parisienne,cursive;
  color:var(--olive);
  font-size:clamp(1.6rem,3.5vw,2.3rem);
  line-height:1.1;
  font-weight:400;
}

.eyebrow{
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--mut);
  margin:0 0 1rem;
  font-weight:400;
}

.lede{font-size:clamp(1.05rem,2vw,1.22rem);color:var(--body);max-width:62ch}

p{margin:0 0 1.15em}

/* ---------- Layout ---------- */

section{padding:clamp(56px,8vw,92px) 0}
.tight{padding:clamp(40px,5vw,60px) 0}
.bg-cream{background:var(--cream)}
.bg-sand{background:var(--sand)}
.bg-olive{background:var(--olive);color:#EFEADF}
.bg-olive h2,.bg-olive h3{color:#FBF8F1}
.bg-olive .eyebrow{color:var(--stone)}
.bg-olive a{color:#FBF8F1}

.grid{display:grid;gap:28px}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}

.card{
  background:rgba(255,255,255,.5);
  border:1px solid rgba(138,128,110,.22);
  padding:30px 28px;
}
.bg-cream .card{background:rgba(255,255,255,.55)}
.card h3{margin-bottom:.45em}
.card p:last-child{margin-bottom:0}

/* ---------- Nav ---------- */

.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(244,238,225,.94);
  backdrop-filter:blur(9px);
  border-bottom:1px solid rgba(138,128,110,.2);
}
.nav .wrap{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding-top:15px;padding-bottom:15px;
}
.brand{
  font-family:"Sorts Mill Goudy",Georgia,serif;
  font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--char);white-space:nowrap;
}
.navlinks{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.navlinks a{
  font-size:.83rem;letter-spacing:.07em;color:var(--mut);
}
.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--olive)}

/* ---------- Buttons ---------- */

.btn{
  display:inline-block;
  background:var(--olive);color:#F7F3EA;
  padding:15px 34px;
  font-size:.78rem;letter-spacing:.17em;text-transform:uppercase;
  border:1px solid var(--olive);
  cursor:pointer;
  transition:background .25s ease,color .25s ease;
}
.btn:hover{background:var(--olive-d);color:#fff}
.btn-ghost{
  background:transparent;color:var(--olive);
  border:1px solid rgba(79,90,56,.45);
}
.btn-ghost:hover{background:var(--olive);color:#F7F3EA}
.bg-olive .btn{background:var(--sand);color:var(--olive-d);border-color:var(--sand)}
.bg-olive .btn:hover{background:#fff;color:var(--olive-d)}

.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}

/* ---------- Hero ---------- */

.hero{padding:clamp(60px,9vw,110px) 0 clamp(48px,7vw,80px)}
.hero h1{margin-bottom:.35em}
.crumb{font-size:.78rem;color:var(--mut);margin-bottom:22px;letter-spacing:.04em}
.crumb a{color:var(--mut);text-decoration:underline;text-underline-offset:3px}
.crumb a:hover{color:var(--olive)}

/* ---------- Lists ---------- */

.checks{list-style:none;padding:0;margin:0}
.checks li{
  padding:0 0 14px 30px;position:relative;
}
.checks li::before{
  content:"✦";position:absolute;left:0;top:0;
  color:var(--sage);font-size:.9rem;
}

.steps{list-style:none;counter-reset:s;padding:0;margin:0}
.steps li{
  counter-increment:s;position:relative;
  padding:0 0 22px 52px;
}
.steps li::before{
  content:counter(s);
  position:absolute;left:0;top:-2px;
  width:34px;height:34px;border-radius:50%;
  background:var(--sand);color:var(--olive-d);
  display:flex;align-items:center;justify-content:center;
  font-size:.85rem;
}
.steps strong{
  display:block;color:var(--char);font-weight:400;
  font-family:"Sorts Mill Goudy",Georgia,serif;font-size:1.1rem;
}

/* ---------- FAQ ---------- */

.faq details{
  border-bottom:1px solid rgba(138,128,110,.28);
  padding:20px 0;
}
.faq summary{
  cursor:pointer;list-style:none;
  font-family:"Sorts Mill Goudy",Georgia,serif;
  font-size:1.1rem;color:var(--char);
  display:flex;justify-content:space-between;gap:16px;align-items:center;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--sage);font-size:1.3rem;flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:14px 0 0}

/* ---------- Form ---------- */

.formbox{
  background:rgba(255,255,255,.55);
  border:1px solid rgba(138,128,110,.25);
  padding:clamp(28px,4vw,42px);
}
.bg-olive .formbox{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22)}
.field{margin-bottom:18px}
.field label{
  display:block;font-size:.72rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--mut);margin-bottom:7px;
}
.bg-olive .field label{color:var(--stone)}
.field input,.field textarea,.field select{
  width:100%;padding:13px 15px;
  border:1px solid rgba(138,128,110,.4);
  background:rgba(255,255,255,.75);
  font-family:inherit;font-size:1rem;color:var(--char);
  border-radius:0;
}
.bg-olive .field input,.bg-olive .field textarea,.bg-olive .field select{
  background:rgba(255,255,255,.92);
}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--olive);
}
.field textarea{min-height:120px;resize:vertical}
.formnote{font-size:.8rem;color:var(--mut);margin-top:14px}
.bg-olive .formnote{color:var(--stone)}
.thanks{display:none;color:var(--olive);padding-top:8px}
.bg-olive .thanks{color:var(--sand)}

/* ---------- Footer ---------- */

.foot{
  background:var(--char);color:#CFC8BB;
  padding:56px 0 40px;font-size:.88rem;
}
.foot h2{color:#F4EEE1;font-size:1.1rem;font-family:"Sorts Mill Goudy",serif;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.6em}
.foot a{color:#CFC8BB;text-decoration:none}
.foot a:hover{color:#F4EEE1}
.footlinks{display:flex;gap:20px;flex-wrap:wrap;margin:18px 0}
.foot .fine{color:#8A806E;font-size:.78rem;margin-top:26px}

/* ---------- Utility ---------- */

.center{text-align:center}
.center .lede{margin-left:auto;margin-right:auto}
.mt0{margin-top:0}
.pill{
  display:inline-block;background:var(--sand);color:var(--olive-d);
  padding:6px 15px;font-size:.72rem;letter-spacing:.13em;
  text-transform:uppercase;margin:0 8px 8px 0;
}

@media (max-width:640px){
  .navlinks{gap:15px}
  .navlinks a{font-size:.78rem}
  .brand{font-size:.72rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}
