/* ==========================================================================
   KETAMINE PAGES — ketamine.html and ketamine-research.html
   Loaded AFTER style.css on those two pages only. Adds to the shared
   stylesheet and overrides nothing it defines for other pages.
   ========================================================================== */

/* ---------- hero: portrait with a program badge ---------- */
.kap-hero h1{font-size:clamp(2.6rem,5.4vw + .6rem,4.6rem);}
.kap-photo{position:relative;padding-bottom:2.25rem;}
.kap-photo .portrait{aspect-ratio:4/5;}
.kap-photo .portrait img{object-position:50% 20%;}
.kap-badge{
  position:absolute;left:-1.25rem;right:1.25rem;bottom:0;
  background:var(--card);border:1px solid var(--line);border-top:3px solid var(--clay);
  border-radius:6px;padding:1.05rem 1.25rem;
  box-shadow:0 12px 32px rgba(36,30,25,.14);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.kap-badge .l{display:flex;flex-direction:column;line-height:1.3;}
.kap-badge .l b{font-family:var(--serif);font-size:1.12rem;font-weight:600;color:var(--ink);}
.kap-badge .l span{font-size:.84rem;color:var(--ink-soft);}
.kap-badge .amt{font-family:var(--serif);font-size:1.9rem;font-weight:600;color:var(--clay-deep);line-height:1;}
.kap-badge .amt small{display:block;font-family:var(--sans);font-size:.72rem;font-weight:500;color:var(--ink-faint);text-align:right;margin-top:.3rem;}
@media (max-width:900px){
  .kap-photo{max-width:440px;}
  .kap-badge{left:.75rem;right:.75rem;}
}

/* ---------- jump links ---------- */
.jump{border-bottom:1px solid var(--line);background:var(--cream);}
.jump-row{display:flex;gap:.55rem;overflow-x:auto;padding:.85rem 0;scrollbar-width:none;}
.jump-row::-webkit-scrollbar{display:none;}
.jump a{
  flex-shrink:0;text-decoration:none;font-size:.88rem;color:var(--ink-soft);
  border:1px solid var(--line);border-radius:999px;padding:.45rem .95rem;background:var(--card);
}
.jump a:hover{border-color:var(--clay);color:var(--clay-deep);}

/* ---------- not-a-clinic comparison (forest band) ---------- */
.cmp{border:1px solid var(--line-dark);border-radius:6px;overflow:hidden;}
.cmp-row{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr) minmax(0,1fr);border-bottom:1px solid var(--line-dark);}
.cmp-row:last-child{border-bottom:0;}
.cmp-row > *{padding:1.1rem 1.3rem;font-size:1.02rem;line-height:1.5;}
/* row labels: plain serif, readable at a glance (was tiny grey mono caps) */
.cmp-row .k{font-family:var(--serif);font-size:1.08rem;font-weight:600;color:#E7E3D6;}
.cmp-row .them{color:#B9B5A5;}
.cmp-row .us{color:#FAF7EE;font-weight:500;background:rgba(217,118,75,.09);border-left:1px solid var(--line-dark);}
.cmp-head > *{font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding-top:.9rem;padding-bottom:.9rem;}
.cmp-head .them{color:#9AA28F;}
.cmp-head .us{color:var(--clay-bright);}
.cmp-row .lbl{display:none;}
@media (max-width:700px){
  .cmp-head{display:none;}
  .cmp-row{grid-template-columns:1fr;}
  .cmp-row > *{padding:.3rem 1.15rem;}
  .cmp-row .k{padding-top:1.05rem;}
  .cmp-row .us{border-left:0;background:transparent;padding-bottom:1.05rem;}
  .cmp-row .lbl{display:inline;font-weight:600;}
  .cmp-row .them .lbl{color:#9AA28F;}
  .cmp-row .us .lbl{color:var(--clay-bright);}
}
.fair{margin-top:1.1rem;font-size:.9rem;color:#9AA28F;max-width:70ch;}

/* ---------- three phases ---------- */
.phase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;}
@media (max-width:860px){.phase-grid{grid-template-columns:1fr;}}
.phase{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1.7rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;}
.phase .when{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--clay-deep);}
.phase h3{font-size:1.35rem;}
.phase p{color:var(--ink-soft);font-size:.97rem;}

/* ---------- a session, step by step ---------- */
.day{margin-top:clamp(2.5rem,5vw,3.5rem);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start;}
@media (max-width:860px){.day{grid-template-columns:1fr;}}
.day h3{font-size:clamp(1.6rem,1.5vw + 1rem,2rem);}
.day > div > p{color:var(--ink-soft);margin-top:.8rem;}
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);}
.timeline li{position:relative;padding:0 0 1.2rem 1.5rem;}
.timeline li:last-child{padding-bottom:0;}
.timeline li::before{content:'';position:absolute;left:-7px;top:.45rem;width:12px;height:12px;border-radius:50%;background:var(--cream);border:2px solid var(--clay);}
.timeline li.next::before{background:var(--clay);}
.timeline li.next{margin-top:.4rem;padding-top:1.1rem;border-top:1px dashed var(--line);}
.timeline li.next::before{top:1.55rem;}
.timeline b{display:block;font-weight:600;color:var(--ink);}
.timeline b i{font-style:normal;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--clay-deep);margin-left:.45rem;font-weight:500;}
.timeline span{color:var(--ink-soft);font-size:.97rem;}

/* ---------- the offer ---------- */
.offer-band{background:var(--cream-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.offer{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;
  box-shadow:0 14px 40px rgba(36,30,25,.08);
}
@media (max-width:860px){.offer{grid-template-columns:1fr;}}
.offer-body{padding:clamp(1.75rem,4vw,2.75rem);}
.offer-body h2{font-size:clamp(1.7rem,1.6vw + 1rem,2.25rem);}
.offer-body > p{color:var(--ink-soft);margin-top:.7rem;}
.incl{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem;}
.incl li{display:flex;gap:.75rem;align-items:flex-start;color:var(--ink-soft);font-size:.98rem;line-height:1.5;}
.incl li b{color:var(--ink);font-weight:600;}
.incl svg{width:18px;height:18px;flex-shrink:0;margin-top:.2rem;color:var(--sage);}
.offer-note{
  margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line);
  font-size:.92rem;color:var(--ink-soft);line-height:1.55;
}
.offer-note b{color:var(--ink);font-weight:600;}
.offer-side{background:var(--forest);color:#DEDACB;padding:clamp(1.75rem,4vw,2.75rem);display:flex;flex-direction:column;gap:1rem;}
.offer-side .tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--clay-bright);}
.offer-side .amt{font-family:var(--serif);font-size:clamp(2.8rem,3vw + 1rem,3.6rem);font-weight:600;color:#F4F1E6;line-height:1;}
.offer-side .per{font-size:.95rem;color:#C9C5B4;}
.pay{border:1px solid var(--line-dark);border-radius:6px;overflow:hidden;}
.pay div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.8rem 1rem;font-size:.93rem;color:#C9C5B4;}
.pay div + div{border-top:1px solid var(--line-dark);}
.pay b{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:#F4F1E6;white-space:nowrap;}
.pay small{display:block;font-size:.78rem;color:#8F9884;}
.offer-side ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem;font-size:.9rem;color:#B9B5A5;}
.offer-side ul li{padding-left:1.1rem;position:relative;}
.offer-side ul li::before{content:'';position:absolute;left:0;top:.6rem;width:6px;height:6px;border-radius:50%;background:var(--clay-bright);}
.offer-side .btn{margin-top:auto;}
.offer-side .fine{font-size:.82rem;color:#9AA28F;text-align:center;}

/* ---------- fit ---------- */
.fit{margin-top:clamp(2.5rem,5vw,3.5rem);}
.elig-no .elig-list li{color:#C9C5B4;}

/* ---------- stories ---------- */
.review-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px;margin:0 auto;}
@media (max-width:760px){.review-grid.two{grid-template-columns:1fr;}}
#stories .sec-head,#stories .disclaimer{margin-left:auto;margin-right:auto;text-align:center;}
.pull{margin-top:clamp(2rem,4vw,2.75rem);text-align:center;}
.pull p{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,1.2vw + 1rem,1.7rem);color:var(--ink);max-width:36ch;margin:0 auto;line-height:1.35;}
.pull .by{margin-top:.8rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--clay-deep);}

/* ---------- research cards (teaser + full page) ---------- */
.study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;}
.study-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:960px){.study-grid.three{grid-template-columns:1fr;}}
@media (max-width:860px){.study-grid{grid-template-columns:1fr;}}
.study{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1.7rem 1.55rem;display:flex;flex-direction:column;gap:.7rem;}
/* the patient's question leads: big, readable serif */
.study .q{font-family:var(--serif);font-size:clamp(1.4rem,.9vw + 1rem,1.65rem);font-weight:600;line-height:1.2;color:var(--clay-deep);}
.study h3{font-family:var(--sans);font-size:1.02rem;font-weight:600;line-height:1.45;color:var(--ink);letter-spacing:0;}
.study p{color:var(--ink-soft);font-size:.96rem;}
.study .limit{font-size:.9rem;color:var(--ink-faint);padding-top:.7rem;border-top:1px dashed var(--line);}
.study .limit b{color:var(--ink-soft);font-weight:600;}
.study .cite{margin-top:auto;font-size:.84rem;}
.study .cite a{color:var(--clay-deep);text-decoration:none;border-bottom:1px solid rgba(176,74,36,.3);}
.study .cite a:hover{border-color:var(--clay-deep);}
.study.wide{grid-column:1/-1;}
.study .big{font-family:var(--serif);font-size:2.6rem;font-weight:600;color:var(--ink);line-height:1;}
.research-more{margin-top:clamp(1.75rem,3.5vw,2.5rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.3rem 1.5rem;border:1px solid var(--line);border-radius:6px;background:var(--card);}
.research-more p{color:var(--ink-soft);font-size:.96rem;flex:1 1 20rem;}
.research-more p b{color:var(--ink);}

/* the straight-answers box */
.straight{
  margin-top:1.5rem;background:var(--forest);color:#DEDACB;border-radius:6px;
  padding:clamp(1.6rem,3.5vw,2.4rem);display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(1.25rem,3vw,2.5rem);
}
@media (max-width:860px){.straight{grid-template-columns:1fr;}}
.straight h2,.straight h3{color:#F2EFE4;font-size:clamp(1.5rem,1.3vw + 1rem,1.9rem);}
.straight > div:first-child p{color:#B9B5A5;font-size:.96rem;margin-top:.7rem;}
.straight ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.1rem;}
.straight li{color:#C9C5B4;font-size:.98rem;line-height:1.6;padding-left:1.1rem;border-left:2px solid var(--clay-bright);}
.straight li b{display:block;color:#F4F1E6;font-weight:600;font-size:1.02rem;margin-bottom:.15rem;}
.straight a{color:var(--clay-bright);}
.further{margin-top:1.4rem;font-size:.88rem;color:var(--ink-faint);line-height:1.7;}
.further a{color:var(--ink-soft);}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{
  list-style:none;cursor:pointer;padding:1.2rem 2.5rem 1.2rem 0;position:relative;
  font-family:var(--serif);font-size:clamp(1.12rem,.5vw + 1rem,1.28rem);font-weight:600;color:var(--ink);line-height:1.35;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:'+';position:absolute;right:.2rem;top:50%;transform:translateY(-50%);
  font-family:var(--sans);font-weight:400;font-size:1.6rem;color:var(--clay);transition:transform .2s;
}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.faq summary:hover{color:var(--clay-deep);}
.faq .a{padding:0 0 1.35rem;color:var(--ink-soft);max-width:70ch;display:flex;flex-direction:column;gap:.7rem;}
.faq .a a{color:var(--clay-deep);}

/* ---------- things to confirm before launch ---------- */
/* Any text wrapped in class="ph" is a draft Nick still needs to confirm. */
.ph{background:rgba(176,74,36,.1);outline:1.5px dashed var(--clay);outline-offset:2px;border-radius:2px;padding:0 .2em;}

/* single-card fit block (the "talk first" panel was removed) */
.elig.solo{grid-template-columns:1fr;max-width:760px;margin:0 auto;}

/* four-stat research teaser on the main ketamine page */
.study-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:1100px){.study-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){.study-grid.four{grid-template-columns:1fr;}}
.study-grid.four .study .q{font-size:clamp(1.25rem,.6vw + 1rem,1.45rem);}
