/* ============================================================
   TurboAcupuncture - mock site stylesheet
   Palette and type taken from Dr. Tan's 2018 and 2019 brochures:
     near-black #111  ·  light grey #e8e8e8  ·  red #c8102e
     yellow #ffd700   ·  steel blue #6078a8
   Mobile first. No frameworks. No external fonts.
   ============================================================ */

:root{
  --ink:#111111;
  --ink-soft:#3a3a3a;
  --grey:#e8e8e8;
  --grey-2:#f6f6f6;
  --red:#c8102e;
  --yellow:#ffd700;
  --blue:#6078a8;
  --blue-deep:#3f5680;
  --line:#d6d6d6;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --serif:Georgia,"Times New Roman",serif;
  --wrap:1120px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--serif);
  font-size:17px;
  line-height:1.62;
  color:var(--ink-soft);
  background:#fff;
}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--blue-deep)}
h1,h2,h3,h4,.sans{font-family:var(--sans)}
h1,h2,h3{color:var(--ink);line-height:1.12;margin:0 0 .5em;letter-spacing:-.02em}
h1{font-size:clamp(2rem,6vw,3.4rem);font-weight:800}
h2{font-size:clamp(1.5rem,3.6vw,2.3rem);font-weight:800}
h3{font-size:1.12rem;font-weight:700}
p{margin:0 0 1.1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.sec{padding:64px 0}
.sec--grey{background:var(--grey-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.eyebrow{
  font-family:var(--sans);font-size:.72rem;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--red);margin:0 0 .7em
}
.lede{font-size:1.1rem;color:var(--ink-soft)}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;font-family:var(--sans);font-weight:700;font-size:1rem;
  padding:15px 26px;border-radius:3px;text-decoration:none;text-align:center;
  border:2px solid transparent;transition:transform .12s ease,background .15s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn--red{background:var(--red);color:#fff}
.btn--red:hover{background:#a50d26}
.btn--ink{background:var(--ink);color:#fff}
.btn--ink:hover{background:#000}
.btn--blue{background:var(--blue);color:#fff}
.btn--blue:hover{background:var(--blue-deep)}
.btn--ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--ghost:hover{background:var(--ink);color:#fff}
.btn--ghost-light{border-color:rgba(255,255,255,.65);color:#fff;background:transparent}
.btn--ghost-light:hover{background:#fff;color:var(--ink)}
.btn--wide{display:block;width:100%}

/* ---------- header ---------- */
.hdr{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);backdrop-filter:saturate(180%) blur(8px)
}
.hdr .wrap{display:flex;align-items:center;gap:18px;min-height:64px}
.brand{
  font-family:var(--sans);font-weight:800;font-size:1.06rem;letter-spacing:-.03em;
  font-style:italic;color:var(--ink);text-decoration:none;margin-right:auto
}
.brand sup{font-size:.55em;font-style:normal;font-weight:600;vertical-align:super}
.nav{display:none;gap:22px;font-family:var(--sans);font-size:.9rem;font-weight:600}
.nav a{color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover{border-color:var(--red)}
.hdr .btn{padding:11px 18px;font-size:.86rem}
@media(min-width:820px){.nav{display:flex}}

/* ---------- hero ---------- */
.hero{
  background:var(--ink);color:#fff;padding:56px 0 60px;position:relative;overflow:hidden
}
.hero h1{color:#fff}
.hero .lede{color:rgba(255,255,255,.82);max-width:34em}
.hero__grid{display:grid;gap:34px}
@media(min-width:900px){
  .hero__grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:48px}
}
.hero__shot{position:relative}
.hero__shot img{border-radius:4px;width:100%}
.hero__badge{
  position:absolute;left:-8px;bottom:22px;background:var(--yellow);color:var(--ink);
  font-family:var(--sans);font-weight:800;font-size:.76rem;letter-spacing:.06em;
  text-transform:uppercase;padding:9px 14px;border-radius:2px
}
.claim{font-family:var(--sans);font-weight:800;font-size:1.05rem;color:#fff;margin:0 0 .35em}
.claim span{color:var(--yellow)}

/* ---------- the fork ---------- */
.fork{display:grid;gap:16px;margin-top:34px}
@media(min-width:760px){.fork{grid-template-columns:1fr 1fr;gap:20px}}
.fork__card{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);
  border-radius:4px;padding:24px 22px;text-decoration:none;color:#fff;display:block;
  transition:background .15s ease,border-color .15s ease
}
.fork__card:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.4)}
.fork__card--lead{background:#fff;color:var(--ink);border-color:#fff}
.fork__card--lead:hover{background:#fff}
.fork__who{
  font-family:var(--sans);font-size:.7rem;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--yellow);margin:0 0 .5em
}
.fork__card--lead .fork__who{color:var(--red)}
.fork__title{font-family:var(--sans);font-weight:800;font-size:1.22rem;line-height:1.2;margin:0 0 .5em}
.fork__sub{font-size:.95rem;margin:0;opacity:.85;line-height:1.5}
.fork__go{
  font-family:var(--sans);font-weight:700;font-size:.9rem;margin-top:1em;display:inline-block;
  border-bottom:2px solid currentColor;padding-bottom:2px
}

/* ---------- proof bar ---------- */
.proof{background:var(--grey);border-bottom:1px solid var(--line)}
.proof .wrap{
  display:grid;gap:22px;padding-top:30px;padding-bottom:30px
}
@media(min-width:700px){.proof .wrap{grid-template-columns:repeat(4,1fr);gap:28px}}
.proof__item{text-align:left}
.proof__n{
  font-family:var(--sans);font-weight:800;font-size:1.6rem;color:var(--ink);
  line-height:1;letter-spacing:-.03em;display:block;margin-bottom:.3em
}
.proof__l{font-family:var(--sans);font-size:.82rem;color:var(--ink-soft);line-height:1.4}

/* ---------- generic two column ---------- */
.two{display:grid;gap:36px}
@media(min-width:880px){.two{grid-template-columns:1fr 1fr;gap:56px;align-items:center}}
.two--flip .two__media{order:-1}
@media(min-width:880px){.two--flip .two__media{order:0}}
.two__media img{border-radius:4px}
.caption{
  font-family:var(--sans);font-size:.8rem;color:#777;margin-top:.7em;line-height:1.45
}

/* ---------- the three facts ---------- */
.facts{display:grid;gap:26px;margin-top:8px}
@media(min-width:780px){.facts{grid-template-columns:repeat(3,1fr)}}
.fact{border-top:3px solid var(--ink);padding-top:16px}
.fact__k{
  font-family:var(--sans);font-weight:800;font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--red);display:block;margin-bottom:.6em
}
.fact h3{margin-bottom:.4em}
.fact p{font-size:.96rem;margin:0}

/* ---------- paths ---------- */
.paths{display:grid;gap:22px}
@media(min-width:840px){.paths{grid-template-columns:1fr 1fr}}
.path{border:1px solid var(--line);border-radius:4px;padding:30px 26px;background:#fff}
.path--dark{background:var(--ink);color:rgba(255,255,255,.85);border-color:var(--ink)}
.path--dark h3{color:#fff}
.path--dark .eyebrow{color:var(--yellow)}
.path ul{margin:0 0 1.3em;padding-left:1.1em}
.path li{margin-bottom:.55em;font-size:.97rem}
.path .price{
  font-family:var(--sans);font-size:.86rem;font-weight:700;color:var(--blue-deep);
  background:var(--grey-2);border:1px solid var(--line);border-radius:3px;
  padding:9px 12px;display:inline-block;margin-bottom:1.1em
}

/* ---------- testimonials ---------- */
.vids{display:grid;gap:22px}
@media(min-width:820px){.vids{grid-template-columns:repeat(3,1fr)}}
.vid figure{margin:0}
.vid video{
  width:100%;border-radius:4px;background:#000;aspect-ratio:16/9;object-fit:cover
}
.vid figcaption{
  font-family:var(--sans);font-size:.82rem;color:#666;margin-top:.6em;line-height:1.45
}

/* ---------- founder ---------- */
.founder{display:grid;gap:32px}
@media(min-width:820px){.founder{grid-template-columns:.8fr 1.2fr;gap:52px;align-items:center}}
.founder img{border-radius:4px}
.cred{
  font-family:var(--sans);font-size:.88rem;font-weight:600;color:var(--ink);
  border-left:3px solid var(--yellow);padding-left:14px;margin:1.3em 0
}

/* ---------- close ---------- */
.close{background:var(--ink);color:rgba(255,255,255,.85);text-align:center}
.close h2{color:#fff}
.close .lede{color:rgba(255,255,255,.75);margin-left:auto;margin-right:auto;max-width:30em}
.close__btns{display:grid;gap:14px;margin-top:30px}
@media(min-width:640px){.close__btns{grid-template-columns:1fr 1fr;max-width:560px;margin-left:auto;margin-right:auto}}

/* ---------- footer ---------- */
.ftr{background:#0a0a0a;color:#8f8f8f;font-family:var(--sans);font-size:.86rem;padding:44px 0 34px}
.ftr a{color:#cfcfcf;text-decoration:none}
.ftr a:hover{color:#fff}
.ftr__grid{display:grid;gap:26px}
@media(min-width:760px){.ftr__grid{grid-template-columns:1.4fr 1fr 1fr}}
.ftr h4{color:#fff;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9em}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin-bottom:.55em}
.ftr__note{border-top:1px solid #262626;margin-top:32px;padding-top:20px;font-size:.78rem;line-height:1.6}

/* ---------- mock banner ---------- */
.mock{
  background:var(--yellow);color:var(--ink);font-family:var(--sans);font-size:.8rem;
  font-weight:700;text-align:center;padding:9px 16px;letter-spacing:.01em
}

/* ---------- note / disclaimer block ---------- */
.note{
  font-family:var(--sans);font-size:.84rem;color:#666;margin-top:26px;
  border-top:1px solid var(--line);padding-top:18px;line-height:1.55
}
