/* ============================================================
   Julianne Daniel — design system
   Palette + type per DESIGN-DIRECTION.md (clay accent, July 2026)
   ============================================================ */

@font-face { font-family:'Fraunces'; font-style:normal; font-weight:300 700; src:url('../fonts/fraunces-roman.woff2') format('woff2'); font-display:swap; }
@font-face { font-family:'Fraunces'; font-style:italic; font-weight:300 700; src:url('../fonts/fraunces-italic.woff2') format('woff2'); font-display:swap; }
@font-face { font-family:'Outfit'; font-style:normal; font-weight:300 600; src:url('../fonts/outfit.woff2') format('woff2'); font-display:swap; }

:root{
  --ivory:#F7F4EC;
  --cream:#EDE8DB;
  --sage:#C6CBA5;
  --olive:#8F945F;
  --forest:#333D26;
  --ink:#2A2B24;
  --ink-soft:#5A5B4E;
  --clay:#D29A7E;
  --clay-ink:#5C2F1D;
  --clay-soft:#EFD8CB;

  --serif:'Fraunces', Georgia, serif;
  --sans:'Outfit', 'Avenir Next', sans-serif;

  --radius-card:22px;
  --wrap:1100px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  overflow-x:hidden;
  font-family:var(--sans);
  font-weight:300;
  font-size:1.02rem;
  line-height:1.65;
  color:var(--ink);
  background:var(--ivory);
  -webkit-font-smoothing:antialiased;
}

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

h1,h2,h3{
  font-family:var(--serif);
  font-weight:400;
  line-height:1.08;
  margin:0;
  text-wrap:balance;
  font-variation-settings:'opsz' 100;
}
h1 em, h2 em, h3 em, .statement em{ font-style:italic; font-weight:340; }

p{ margin:0; }
a{ color:inherit; }

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

.eyebrow{
  display:block;
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:.72rem;
  font-weight:500;
  color:var(--olive);
}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;
  font-family:var(--sans);
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.74rem;
  border-radius:999px;
  padding:1rem 2rem;
  padding-right:calc(2rem - 0.14em); /* offset trailing letter-spacing so label reads centered */
  border:none;
  cursor:pointer;
  text-decoration:none;
  text-align:center;
  transition:transform .18s ease, box-shadow .18s ease;
}
.btn:hover{ transform:translateY(-1px); }
.btn:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }
.btn-primary{ background:var(--forest); color:var(--ivory); }
.btn-clay{ background:var(--clay); color:var(--clay-ink); }
.btn-ghost{ background:transparent; border:1.5px solid var(--forest); color:var(--forest); }
.btn-ghost-light{ background:transparent; border:1.5px solid var(--sage); color:var(--ivory); }

/* ---------- nav ---------- */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 0;
}
.nav-logo{
  font-family:var(--serif); font-style:italic; font-size:1.5rem;
  color:var(--ink); text-decoration:none; line-height:1;
}
.nav-logo span{ color:var(--olive); }
.nav-links{ display:flex; gap:32px; align-items:center; list-style:none; margin:0; padding:0; }
.nav-links a:not(.btn){
  text-decoration:none; text-transform:uppercase; letter-spacing:.16em;
  font-size:.72rem; font-weight:500; color:var(--ink-soft);
  padding-bottom:3px; border-bottom:1.5px solid transparent;
  transition:color .15s, border-color .15s;
}
.nav-links a:not(.btn):hover, .nav-links a:not(.btn)[aria-current="page"]{ color:var(--ink); border-color:var(--clay); }
.nav-cta{ margin-left:8px; }
.nav-toggle{ display:none; }
@media (max-width:820px){
  .nav-links{ display:none; }
  .nav-links.open{
    display:flex; flex-direction:column; align-items:flex-start;
    position:absolute; top:70px; left:0; right:0; z-index:50;
    background:var(--ivory); padding:24px; gap:20px;
    border-bottom:1px solid rgba(42,43,36,.12);
    box-shadow:0 24px 40px rgba(42,43,36,.12);
  }
  .nav-toggle{
    display:block; background:none; border:none; cursor:pointer;
    font-family:var(--sans); font-size:.72rem; letter-spacing:.16em;
    text-transform:uppercase; font-weight:500; color:var(--ink);
    padding:.6rem .2rem;
  }
}

/* ---------- hero ---------- */
.hero{ position:relative; padding:40px 0 90px; overflow:hidden; }
.hero-grid{
  display:grid; grid-template-columns:1.15fr .85fr;
  gap:56px; align-items:center;
}
.hero-copy .eyebrow{ margin-bottom:1.2rem; }
.hero-copy h1{ font-size:clamp(2.6rem,5.4vw,4.2rem); margin-bottom:1.4rem; }
.hero-copy p{ max-width:44ch; color:var(--ink-soft); margin-bottom:2rem; }
.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-photo{ position:relative; justify-self:center; }
.hero-photo img{
  width:min(380px,80vw); height:auto; aspect-ratio:3/4; object-fit:cover;
  border-radius:190px 190px var(--radius-card) var(--radius-card);
  box-shadow:0 24px 60px rgba(42,43,36,.18);
}
.hero-stamp{
  position:absolute; top:-26px; right:-30px; width:110px; height:110px;
  animation:spin 26s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .hero-stamp{ animation:none; } .ribbon-track{ animation:none; } }
.hero-bigword{
  position:absolute; bottom:-30px; left:0; right:0;
  text-align:center; pointer-events:none; user-select:none;
  font-family:var(--serif); font-style:italic; font-weight:340;
  font-size:clamp(6rem,15vw,12rem); line-height:1; color:var(--sage);
  opacity:.34; white-space:nowrap; overflow:hidden;
}
@media (max-width:820px){
  .hero{ padding-bottom:60px; }
  .hero-grid{ grid-template-columns:1fr; gap:40px; }
  .hero-photo{ order:-1; }
  .hero-stamp{ right:-10px; }
}

/* ---------- marquee ribbon ---------- */
.ribbon{
  background:var(--clay); color:var(--clay-ink);
  overflow:hidden; padding:13px 0; white-space:nowrap;
  transform:rotate(-1.1deg); margin:0 -20px;
  border-top:1px solid rgba(92,47,29,.15); border-bottom:1px solid rgba(92,47,29,.15);
}
.ribbon-track{
  display:inline-block; animation:slide 120s linear infinite;
  font-family:var(--serif); font-style:italic; font-size:1.05rem;
}
.ribbon-track .sep{ font-family:var(--sans); font-style:normal; font-size:.75rem; vertical-align:2px; padding:0 1.2rem; opacity:.6; }
@keyframes slide{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---------- sections ---------- */
section{ padding:88px 0; }
.section-head{ max-width:60ch; margin-bottom:44px; }
.section-head .eyebrow{ margin-bottom:1rem; }
.section-head h2{ font-size:clamp(1.9rem,3.8vw,2.9rem); }

.statement{
  text-align:center;
  font-family:var(--serif);
  font-size:clamp(1.7rem,3.6vw,2.7rem);
  line-height:1.3;
  max-width:26ch;
  margin:0 auto;
}
.statement-sub{
  text-align:center; color:var(--ink-soft);
  max-width:52ch; margin:1.6rem auto 0;
}

/* help-with chips */
.chips{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:40px; }
.chip{
  border:1px solid var(--olive); color:var(--ink);
  border-radius:999px; padding:.55rem 1.25rem;
  font-size:.85rem; background:#fff6;
}

/* ---------- offers ---------- */
.offers{ background:var(--cream); }
.offer-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:900px){ .offer-grid{ grid-template-columns:1fr; max-width:460px; margin:0 auto; } }
.offer{
  background:var(--ivory); border-radius:var(--radius-card);
  padding:14px 14px 28px; display:flex; flex-direction:column;
  border:1px solid rgba(42,43,36,.07);
}
.offer img{
  width:100%; height:210px; object-fit:cover;
  border-radius:14px 14px 90px 90px;
}
.offer-body{ padding:24px 14px 0; display:flex; flex-direction:column; flex:1; gap:12px; }
.offer-meta{
  display:flex; justify-content:space-between; align-items:baseline; gap:8px;
  font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500; color:var(--olive);
}
.offer h3{ font-size:1.55rem; }
.offer p{ color:var(--ink-soft); font-size:.92rem; flex:1; }
.offer .price{ font-family:var(--serif); font-size:1.3rem; color:var(--clay-ink); }
.offer .btn{ align-self:flex-start; margin-top:6px; }

/* ---------- process ---------- */
.process-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; counter-reset:step; }
@media (max-width:900px){ .process-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .process-grid{ grid-template-columns:1fr; } }
.step{ counter-increment:step; padding-top:18px; border-top:1.5px solid var(--sage); }
.step::before{
  content:counter(step, decimal-leading-zero);
  font-family:var(--serif); font-style:italic; font-size:1.5rem; color:var(--clay);
  display:block; margin-bottom:.5rem;
}
.step h3{ font-size:1.2rem; margin-bottom:.5rem; }
.step p{ font-size:.9rem; color:var(--ink-soft); }

/* ---------- testimonial (forest) ---------- */
.forest{
  background:var(--forest); color:var(--ivory);
  position:relative; overflow:hidden;
}
.forest-texture{
  position:absolute; inset:0; object-fit:cover; width:100%; height:100%;
  opacity:.14; mix-blend-mode:screen;
}
.forest .wrap{ position:relative; }
.forest .eyebrow{ color:var(--sage); }
.forest blockquote{
  font-family:var(--serif); font-weight:340;
  font-size:clamp(1.5rem,3.2vw,2.3rem); line-height:1.35;
  margin:1.4rem 0 1.6rem; max-width:32ch;
}
.forest blockquote em{ color:var(--sage); }
.forest cite{
  font-style:normal; font-size:.74rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--sage); font-weight:500;
}

/* ---------- quiz teaser ---------- */
.quiz-teaser .wrap{
  display:grid; grid-template-columns:auto 1fr auto; gap:44px; align-items:center;
}
@media (max-width:820px){
  .quiz-teaser .wrap{ grid-template-columns:1fr; text-align:center; justify-items:center; }
}
.quiz-stamp{ width:150px; height:150px; animation:spin 26s linear infinite; }
.quiz-teaser h2{ font-size:clamp(1.8rem,3.4vw,2.6rem); margin-bottom:.8rem; }
.quiz-teaser p{ color:var(--ink-soft); max-width:48ch; }

/* ---------- final cta ---------- */
.final-cta{ background:var(--cream); text-align:center; }
.final-cta h2{ font-size:clamp(2rem,4.4vw,3.2rem); max-width:20ch; margin:0 auto 1rem; }
.final-cta p{ color:var(--ink-soft); max-width:46ch; margin:0 auto 2rem; }

/* ---------- footer ---------- */
footer{ background:var(--forest); color:var(--ivory); padding:56px 0 34px; }
.footer-grid{
  display:flex; justify-content:space-between; align-items:flex-start;
  gap:32px; flex-wrap:wrap; margin-bottom:44px;
}
.footer-logo{ font-family:var(--serif); font-style:italic; font-size:1.6rem; }
.footer-logo span{ color:var(--sage); }
.footer-tag{ font-size:.8rem; color:var(--sage); margin-top:.4rem; letter-spacing:.08em; }
.footer-col h4{
  font-family:var(--sans); font-weight:500; font-size:.7rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--sage); margin:0 0 14px;
}
.footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.footer-col a{ color:var(--ivory); text-decoration:none; font-size:.88rem; opacity:.85; }
.footer-col a:hover{ opacity:1; text-decoration:underline; }
.footer-base{
  border-top:1px solid rgba(247,244,236,.18); padding-top:22px;
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:.72rem; letter-spacing:.1em; color:var(--sage);
}

/* ---------- utilities ---------- */
.center{ text-align:center; }
.mt-2{ margin-top:2rem; }

/* ============================================================
   Inner pages
   ============================================================ */

/* page hero */
.page-hero{ padding:56px 0 40px; }
.page-hero .eyebrow{ margin-bottom:1rem; }
.page-hero h1{ font-size:clamp(2.4rem,5vw,3.8rem); max-width:18ch; }
.page-hero .lede{ max-width:52ch; color:var(--ink-soft); margin-top:1.4rem; }

/* detail offers — alternating rows */
.detail{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; padding:56px 0; border-top:1px solid rgba(42,43,36,.12); }
.detail:first-of-type{ border-top:none; }
.detail img{ width:100%; aspect-ratio:4/3.4; object-fit:cover; border-radius:120px 120px 18px 18px; }
.detail:nth-of-type(even) img{ order:2; border-radius:18px 18px 120px 120px; }
.detail .offer-meta{ margin-bottom:.6rem; }
.detail h2{ font-size:clamp(1.7rem,3vw,2.4rem); margin-bottom:1rem; }
.detail p{ color:var(--ink-soft); margin-bottom:1rem; }
.detail .price{ font-family:var(--serif); font-size:1.5rem; color:var(--clay-ink); display:block; margin:.4rem 0 1.4rem; }
.detail ul{ margin:0 0 1.4rem; padding-left:1.1rem; color:var(--ink-soft); font-size:.94rem; display:flex; flex-direction:column; gap:.4rem; }
@media (max-width:820px){
  .detail{ grid-template-columns:1fr; gap:28px; }
  .detail:nth-of-type(even) img{ order:0; }
}

/* about */
.about-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:start; padding-bottom:40px; }
@media (max-width:820px){ .about-grid{ grid-template-columns:1fr; gap:36px; } }
.about-photo{ position:relative; }
.about-photo img{ border-radius:160px 160px 20px 20px; aspect-ratio:3/3.8; object-fit:cover; box-shadow:0 24px 60px rgba(42,43,36,.16); }
.about-photo .hero-stamp{ top:auto; bottom:-30px; left:-26px; right:auto; }
.about-copy h2{ font-size:clamp(1.6rem,2.8vw,2.2rem); margin:2.2rem 0 .9rem; }
.about-copy h2:first-child{ margin-top:0; }
.about-copy p{ color:var(--ink-soft); margin-bottom:1rem; max-width:58ch; }
.about-inline-img{ border-radius:18px; margin:1.6rem 0; max-width:420px; }

/* forms */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-grid .full{ grid-column:1 / -1; }
@media (max-width:640px){ .form-grid{ grid-template-columns:1fr; } }
label{ display:block; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500; color:var(--ink-soft); margin-bottom:.45rem; }
input[type=text], input[type=email], input[type=tel], select, textarea{
  width:100%; font-family:var(--sans); font-weight:300; font-size:1rem; color:var(--ink);
  background:#fff; border:1px solid rgba(42,43,36,.22); border-radius:14px;
  padding:.9rem 1.1rem; transition:border-color .15s;
}
input:focus, select:focus, textarea:focus{ outline:none; border-color:var(--olive); box-shadow:0 0 0 3px rgba(143,148,95,.18); }
textarea{ min-height:130px; resize:vertical; }
.form-note{ font-size:.8rem; color:var(--ink-soft); margin-top:1rem; }

/* long intake forms (health history / assessment / proposals) */
.intake-shell{ max-width:760px; margin:0 auto; }
.intake-section{ margin:2.6rem 0; }
.intake-section:first-child{ margin-top:0; }
.intake-section h2{ font-size:1.5rem; margin:0 0 .3rem; }
.intake-section .sys-note{ color:var(--ink-soft); font-size:.85rem; margin:0 0 1.4rem; }
.field{ margin-bottom:1.4rem; }
.field label{ margin-bottom:.5rem; }
.field .field-sub{ font-size:.9rem; color:var(--ink); text-transform:none; letter-spacing:normal; font-weight:400; display:block; margin-bottom:.5rem; }
.choice-row{ display:flex; flex-wrap:wrap; gap:.6rem 1.6rem; }
.choice-row label{ display:flex; align-items:center; gap:.5rem; font-size:.95rem; text-transform:none; letter-spacing:normal; font-weight:400; color:var(--ink); margin-bottom:0; cursor:pointer; }
.choice-row input[type=radio], .choice-row input[type=checkbox]{ width:auto; accent-color:var(--olive); }
.yn{ display:flex; gap:1.6rem; }
.field-followup{ margin-top:.7rem; }
.repeat-row{ border:1px solid rgba(42,43,36,.14); border-radius:14px; padding:1.1rem 1.2rem; margin-bottom:1rem; }
.repeat-row .form-grid{ gap:12px; }
.repeat-row-label{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:.7rem; }
.intake-submit{ margin-top:2.6rem; }

/* signature pad (proposals) */
.sig-tabs{ display:flex; gap:.6rem; margin-bottom:1rem; }
.sig-tab{ background:#fff; border:1.5px solid var(--forest); color:var(--forest); border-radius:99px; padding:.5rem 1.2rem; font-family:var(--sans); font-size:.85rem; cursor:pointer; }
.sig-tab.active{ background:var(--forest); color:var(--ivory); }
.sig-pane[hidden]{ display:none; }
.sig-type-input{ font-family:var(--serif); font-style:italic; font-size:2.2rem; border:none; border-bottom:2px solid var(--ink); border-radius:0; padding:.4rem .2rem; background:transparent; }
.sig-type-input:focus{ box-shadow:none; }
.sig-canvas-wrap{ border:1.5px dashed rgba(42,43,36,.3); border-radius:14px; background:#fff; touch-action:none; }
.sig-canvas-wrap canvas{ display:block; width:100%; height:180px; cursor:crosshair; }
.sig-clear{ margin-top:.6rem; background:none; border:1px solid rgba(42,43,36,.25); border-radius:99px; padding:.4rem 1.1rem; font-size:.78rem; cursor:pointer; color:var(--ink-soft); }
.offer-card{ background:var(--cream); border-radius:18px; padding:1.6rem 1.8rem; margin-bottom:2rem; }
.offer-card .price{ font-family:var(--serif); font-size:1.6rem; color:var(--clay-ink); margin:.3rem 0 1rem; }
.offer-card .terms{ color:var(--ink-soft); font-size:.95rem; line-height:1.7; }
.offer-card .terms p{ margin:0 0 .6rem; }
.offer-card .terms ul, .offer-card .terms ol{ margin:.4rem 0 .8rem 1.4rem; padding:0; }
.offer-card .terms li{ margin:.2rem 0; }
.offer-card .terms h3{ font-family:var(--serif); font-size:1.2rem; color:var(--ink); margin:1rem 0 .4rem; }
.offer-card .terms h4{ font-family:var(--serif); font-size:1.05rem; color:var(--ink); margin:.8rem 0 .3rem; }
.offer-card .terms b, .offer-card .terms strong{ color:var(--ink); }

.contact-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:start; }
@media (max-width:860px){ .contact-grid{ grid-template-columns:1fr; gap:40px; } }
.contact-side p{ color:var(--ink-soft); margin-bottom:1.2rem; max-width:44ch; }
.contact-side img{ border-radius:130px 130px 18px 18px; aspect-ratio:3/3.6; object-fit:cover; max-width:340px; margin-top:1.8rem; }

/* ============================================================
   Quiz
   ============================================================ */
.quiz-shell{ max-width:760px; margin:0 auto; }
.quiz-progress{
  height:4px; background:var(--sage); border-radius:99px; overflow:hidden; margin:28px 0 40px;
}
.quiz-progress span{ display:block; height:100%; width:0%; background:var(--clay); border-radius:99px; transition:width .3s ease; }
.quiz-count{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; font-weight:500; color:var(--olive); margin-bottom:.8rem; display:block; }
.quiz-q{ font-family:var(--serif); font-size:clamp(1.7rem,3.4vw,2.4rem); margin-bottom:1.8rem; }
.quiz-options{ display:flex; flex-direction:column; gap:12px; margin-bottom:2rem; }
.quiz-option{
  display:flex; align-items:center; gap:14px; text-align:left;
  font-family:var(--sans); font-weight:300; font-size:1rem; color:var(--ink); line-height:1.45;
  background:#fff8; border:1.5px solid var(--sage); border-radius:18px;
  padding:1rem 1.3rem; cursor:pointer; width:100%;
  transition:border-color .15s, background .15s, transform .1s;
}
.quiz-option:hover{ border-color:var(--olive); transform:translateX(2px); }
.quiz-option[aria-pressed="true"]{ background:var(--forest); border-color:var(--forest); color:var(--ivory); }
.quiz-option:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.quiz-nav{ display:flex; gap:12px; }
.quiz-nav .btn[disabled]{ opacity:.4; cursor:not-allowed; transform:none; }

/* quiz result */
.result-badge{
  width:110px; height:110px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-style:italic; font-size:2.4rem; margin-bottom:1.6rem;
}
.result-block p{ color:var(--ink-soft); max-width:60ch; }
.result-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-top:2.4rem; }
.result-email{
  background:var(--cream); border-radius:var(--radius-card);
  padding:28px; margin-top:2.6rem;
}
.result-email h3{ font-family:var(--serif); font-weight:400; font-size:1.35rem; margin:0 0 .5rem; }
.result-email p{ font-size:.88rem; color:var(--ink-soft); margin-bottom:1.1rem; }
.result-email form{ display:flex; gap:10px; flex-wrap:wrap; }
.result-email input{ flex:1; min-width:220px; }
[hidden]{ display:none !important; }

/* element accents */
.el-wood-bg{ background:#DDE5C4; color:#55613A; }
.el-fire-bg{ background:#F0D3C0; color:#9C5335; }
.el-earth-bg{ background:#EADFC3; color:#8A703B; }
.el-metal-bg{ background:#E8E6DF; color:#75736A; }
.el-water-bg{ background:#CFDCD8; color:#41615C; }

/* about v2 */
.about-intro{ display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:center; }
@media (max-width:820px){ .about-intro{ grid-template-columns:1fr; gap:36px; } }
.training-band{ background:var(--cream); }
.training-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:center; }
@media (max-width:820px){ .training-grid{ grid-template-columns:1fr; gap:32px; } }
.training-grid img{ border-radius:18px 18px 130px 130px; aspect-ratio:3/3.4; object-fit:cover; max-width:400px; justify-self:center; box-shadow:0 20px 50px rgba(42,43,36,.14); }
.training-grid h2{ font-size:clamp(1.7rem,3vw,2.4rem); margin-bottom:1rem; }
.training-grid p{ color:var(--ink-soft); margin-bottom:1rem; max-width:56ch; }

/* ---------- reviews page ---------- */
.review-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
@media (max-width:820px){ .review-grid{ grid-template-columns:1fr; } }
.review-card{
  background:var(--ivory); border:1px solid rgba(42,43,36,.08);
  border-radius:var(--radius-card); padding:32px 28px 26px;
  display:flex; flex-direction:column; gap:16px;
}
.review-mark{ font-family:var(--serif); font-style:italic; font-size:2.6rem; line-height:1; color:var(--clay); }
.review-quote{ font-family:var(--serif); font-size:1.15rem; line-height:1.5; color:var(--ink); flex:1; }
.review-name{ font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500; color:var(--olive); }
.review-loading{ text-align:center; color:var(--ink-soft); padding:40px 0; grid-column:1/-1; }

/* ---------- quiz email-gate + confirmation ---------- */
.gate-badge{ background:var(--clay-soft); color:var(--clay-ink); }
.result-understanding{ margin-top:2.4rem; padding-top:2rem; border-top:1px solid rgba(42,43,36,.12); color:var(--ink-soft); font-size:.9rem; max-width:64ch; }
.result-understanding p{ margin-bottom:.8rem; }
.result-credit{ font-size:.75rem; color:var(--ink-soft); opacity:.75; margin-top:2rem; }
