/* couplestherapy.network — funnel styles
   Warm CTA palette per Golden Rule 7. No nav, single-action pages. */
:root{
  --evergreen:#26453F; --ivory:#FAF7F2; --sand:#E9DFD1; --sage:#789A8B;
  --sage-text:#496459; --terracotta:#C9785C; --terracotta-dk:#B2624A;
  --charcoal:#2D3030; --white:#fff; --muted:#6B7270;
  --radius:20px; --shadow:0 18px 55px rgba(38,69,63,.12);
  --max:760px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
/* ---------- type scale ----------
   Hero    EB Garamond Semibold  56-72px
   H1      EB Garamond Semibold  40-48px
   H2      Inter Semibold        26-32px
   Body    Inter Regular         17-19px
   Caption Inter Medium          13-15px
   Button  Inter Semibold caps   14-16px                       */
body{
  margin:0; background:var(--ivory); color:var(--charcoal);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:18px; font-weight:400; line-height:1.65; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block}
h1{
  font-family:'EB Garamond',Georgia,serif; font-weight:600; color:var(--evergreen);
  line-height:1.12; letter-spacing:-.01em; margin:0 0 .45em;
  font-size:clamp(2rem,5.4vw,3rem);            /* 32 -> 48px */
}
.hero h1{ font-size:clamp(2.375rem,7.4vw,4.5rem); }   /* 38 -> 72px */
h2{
  font-family:'Inter',system-ui,sans-serif; font-weight:600; color:var(--evergreen);
  line-height:1.25; letter-spacing:-.005em; margin:0 0 .55em;
  font-size:clamp(1.375rem,3.1vw,2rem);        /* 22 -> 32px */
}
h3{
  font-family:'Inter',system-ui,sans-serif; font-weight:600; color:var(--evergreen);
  font-size:1.1875rem; line-height:1.3; margin:0 0 .5em;
}
p{margin:0 0 1.1em}
a{color:var(--sage-text)}
.wrap{width:100%; max-width:var(--max); margin:0 auto; padding:0 22px}
.hero{padding:48px 0 12px}
.eyebrow{
  font-size:.8125rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase;
  color:var(--sage-text); margin:0 0 14px;
}
.sub{font-size:1.1875rem; font-weight:400; color:#454b4a; max-width:60ch}
.hero-img{border-radius:var(--radius); box-shadow:var(--shadow); margin:26px 0 6px; width:100%}
.hero-img.tall{max-height:420px; object-fit:cover; object-position:center 35%}

/* ---------- forms ---------- */
.card{
  background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow);
  padding:28px 24px; margin:26px 0;
}
label{display:block; font-weight:500; font-size:.9375rem; margin:0 0 7px; color:var(--evergreen)}
input[type=text],input[type=email]{
  width:100%; padding:15px 16px; font:inherit; font-size:1rem;
  border:1.5px solid #DDD6CB; border-radius:12px; background:#fff; color:var(--charcoal);
  transition:border-color .15s;
}
input[type=text]:focus,input[type=email]:focus{outline:none; border-color:var(--sage)}
.field{margin-bottom:16px}
.btn{
  display:block; width:100%; padding:18px 24px; border:0; border-radius:14px;
  background:var(--terracotta); color:#fff; font-family:'Inter',system-ui,sans-serif;
  font-weight:600; font-size:.9375rem; text-transform:uppercase; letter-spacing:.06em;
  cursor:pointer; text-align:center; text-decoration:none; transition:background .15s,transform .06s;
  box-shadow:0 8px 22px rgba(201,120,92,.28);
}
.btn:hover{background:var(--terracotta-dk)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.55; cursor:not-allowed}
.btn-quiet{background:transparent; color:var(--sage-text); box-shadow:none; font-weight:500; font-size:.875rem; text-decoration:underline}
.btn-quiet:hover{background:transparent; color:var(--evergreen)}
.trust{font-size:.8125rem; font-weight:500; color:var(--muted); text-align:center; margin:12px 0 0; line-height:1.5}
.err{color:#A3402C; font-size:.875rem; font-weight:500; margin:10px 0 0; display:none}
.err.on{display:block}

/* ---------- empathy gap list ---------- */
.gap{background:var(--sand); border-radius:var(--radius); padding:30px 26px; margin:34px 0}
.gap h2{font-size:1.5rem; margin-bottom:.7em}
.gap ul{list-style:none; margin:0; padding:0}
.gap li{position:relative; padding:0 0 0 26px; margin:0 0 13px; font-size:1.04rem; color:#3B4442}
.gap li::before{
  content:""; position:absolute; left:4px; top:.62em; width:8px; height:8px;
  border-radius:50%; background:var(--terracotta);
}
.gap li:last-child{margin-bottom:0}

/* ---------- quiz ---------- */
.slider-hero{background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); padding:26px 24px; margin:24px 0}
.slider-hero p{font-size:.98rem; color:var(--muted); margin:0 0 16px; text-align:center}
.slider-row{display:flex; align-items:center; gap:14px}
.face{font-size:1.7rem; line-height:1; flex:0 0 auto; filter:grayscale(.25)}
input[type=range]{
  -webkit-appearance:none; appearance:none; flex:1 1 auto; height:8px; border-radius:99px;
  background:linear-gradient(90deg,#C9785C 0%,#E9DFD1 50%,#789A8B 100%); outline:none; margin:0;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; width:30px; height:30px; border-radius:50%; background:var(--white);
  border:3px solid var(--evergreen); cursor:grab; box-shadow:0 3px 10px rgba(0,0,0,.18);
}
input[type=range]::-moz-range-thumb{
  width:30px; height:30px; border-radius:50%; background:var(--white);
  border:3px solid var(--evergreen); cursor:grab; box-shadow:0 3px 10px rgba(0,0,0,.18);
}
.q{display:none}
.q.on{display:block; animation:fade .28s ease}
@keyframes fade{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}
.q-num{font-size:.8125rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--sage-text); margin:0 0 8px}
.q h2{font-size:1.5rem; margin-bottom:.85em}
.opts{display:grid; gap:11px}
.opt{
  display:block; width:100%; text-align:left; padding:17px 20px; font:inherit; font-size:1.02rem;
  background:var(--white); border:1.5px solid #DDD6CB; border-radius:14px; cursor:pointer;
  color:var(--charcoal); transition:border-color .15s,background .15s;
}
.opt:hover{border-color:var(--sage); background:#FDFCFA}
.opt.sel{border-color:var(--evergreen); background:#F1F5F3; font-weight:600}
.bar{height:5px; background:var(--sand); border-radius:99px; overflow:hidden; margin:0 0 26px}
.bar i{display:block; height:100%; background:var(--sage); border-radius:99px; transition:width .3s ease; width:0}

/* ---------- score ---------- */
.score-wrap{text-align:center; padding:14px 0 4px}
.score{font-family:'EB Garamond',Georgia,serif; font-size:4.2rem; font-weight:700; color:var(--evergreen); line-height:1}
.score small{font-size:1.4rem; color:var(--muted); font-weight:500}
.band{font-size:1.15rem; font-weight:600; color:var(--terracotta); margin:6px 0 0}

/* ---------- script (lead magnet) ---------- */
.sentence{background:var(--white); border-left:4px solid var(--terracotta); border-radius:0 16px 16px 0;
  box-shadow:var(--shadow); padding:26px 24px; margin:22px 0}
.sentence .n{font-size:.8125rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--sage-text)}
.sentence blockquote{font-family:'EB Garamond',Georgia,serif; font-size:1.5rem; line-height:1.35;
  color:var(--evergreen); margin:10px 0 16px; font-weight:600}
.sentence .why{font-size:.98rem; color:#4A5250; margin:0}
.pull{font-family:'EB Garamond',Georgia,serif; font-size:1.55rem; color:var(--sage-text);
  text-align:center; margin:34px 0; font-style:italic}

/* hero media: video by default, static still for reduced-motion users */
.hero-video{display:block}
.hero-still{display:none}
@media(prefers-reduced-motion:reduce){
  .hero-video{display:none}
  .hero-still{display:block}
}

/* ---------- calendar ---------- */
.cal{background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); padding:10px; margin:24px 0; min-height:680px}
.first20{background:var(--evergreen); color:#EDF2EF; border-radius:var(--radius); padding:32px 28px; margin:34px 0}
.first20 h2{color:#fff; font-size:1.5rem}
.first20 ul{list-style:none; margin:0; padding:0}
.first20 li{position:relative; padding:0 0 0 26px; margin:0 0 15px; color:#DCE6E1}
.first20 li::before{content:""; position:absolute; left:2px; top:.62em; width:8px; height:8px; border-radius:50%; background:var(--terracotta)}
.first20 li:last-child{margin-bottom:0}
.attrib{font-size:.8125rem; font-weight:500; color:#9FB5AC; margin:20px 0 0; font-style:italic}

/* ---------- footer / disclosure ---------- */
footer{border-top:1px solid var(--sand); margin:56px 0 0; padding:26px 0 44px; font-size:.8125rem; font-weight:500; color:var(--muted); line-height:1.6}
footer a{color:var(--muted)}
.esc{background:#F1F5F3; border-radius:16px; padding:22px 24px; margin:30px 0; font-size:1rem; color:#3B4442}
.esc p:last-child{margin-bottom:0}
.center{text-align:center}
.hide{display:none !important}
@media(max-width:520px){
  body{font-size:17px}
  .hero{padding:30px 0 8px}
  .card,.gap,.first20{padding:24px 20px}
  .score{font-size:3.4rem}
}
@media(prefers-reduced-motion:reduce){*{animation:none !important; transition:none !important}}
