/* F2F — design system (Heading Now + TT Norms Pro alts; warm dark palette from PDF) */
:root{
  --bg:        #231f20;   /* charcoal */
  --bg-2:      #1a1717;   /* card surface */
  --bg-3:      #2d2828;   /* hover surface */
  --ink:       #f5f2ee;   /* cream */
  --ink-soft:  #d4cdc1;
  --ink-mute:  #86756a;   /* taupe */
  --rule:      #3a342f;
  --rule-2:    #4d4540;
  --gold:      #f5f2ee;   /* primary accent = cream on dark */
  --gold-2:    #ffffff;   /* emphasis / hover */
  --gold-deep: #86756a;   /* taupe — muted border */
  --blood:     #86756a;
  /* display = Heading Now alternative; body = TT Norms Pro alternative */
  --display: "Bricolage Grotesque","Archivo","Inter Tight",system-ui,sans-serif;
  --body: "Manrope","TT Norms Pro",-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;
  --mono: "JetBrains Mono","IBM Plex Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--body);font-weight:400;font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.35;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.9  0 0 0 0 0.85  0 0 0 0 0.75  0 0 0 0.08 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
::selection{background:var(--gold);color:var(--bg);}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

.wrap{width:min(1320px,92vw);margin:0 auto;position:relative;z-index:2;}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;}
.em{font-family:var(--display);font-style:italic;color:var(--gold);}
.gold{color:var(--gold);}

/* NAV */
nav.top{position:fixed;top:0;left:0;right:0;z-index:60;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 72%,transparent);border-bottom:1px solid var(--rule);}
nav.top .row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:24px;}
.logo{display:flex;align-items:baseline;gap:10px;font-family:var(--display);font-style:normal;font-weight:800;font-size:28px;letter-spacing:-.04em;text-transform:uppercase;}
.logo .tm{font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--gold);transform:translateY(-8px);font-style:normal;}
nav.top .links{display:flex;gap:28px;font-size:13px;}
nav.top .links a{color:var(--ink-soft);transition:color .2s;}
nav.top .links a:hover{color:var(--gold);}
nav.top .cta{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:var(--gold);color:var(--bg);padding:11px 18px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;transition:background .2s,transform .2s;box-shadow:0 0 0 1px var(--gold),0 8px 24px -8px color-mix(in srgb,var(--gold) 50%,transparent);}
nav.top .cta:hover{background:var(--gold-2);transform:translateY(-1px);}
@media (max-width:760px){nav.top .links{display:none;}}
.progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);z-index:70;width:0;transition:width .15s linear;}

/* HERO */
.hero{padding:140px 0 80px;position:relative;background:radial-gradient(900px 600px at 80% 10%,color-mix(in srgb,var(--gold) 14%,transparent),transparent 70%),radial-gradient(700px 500px at 10% 80%,color-mix(in srgb,var(--blood) 8%,transparent),transparent 70%);}
.ticker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:12px 0;margin-bottom:64px;overflow:hidden;white-space:nowrap;}
.ticker span{display:inline-block;animation:scroll 48s linear infinite;}
.ticker b{color:var(--gold);font-weight:400;padding:0 22px;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.top-meta{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;margin-bottom:36px;}
.top-meta .l{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink-mute);}
.top-meta .c{font-family:var(--display);font-style:italic;color:var(--gold);font-size:13px;letter-spacing:.04em;text-align:center;}
.top-meta .r{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink-mute);text-align:right;}

h1.lede{font-family:var(--display);font-weight:800;font-style:normal;font-size:clamp(56px,11vw,200px);line-height:.88;letter-spacing:-.045em;margin:0;text-wrap:balance;text-transform:uppercase;}
h1.lede .upr{font-style:normal;}
h1.lede .out{-webkit-text-stroke:1.5px var(--ink);color:transparent;font-style:italic;font-weight:500;}
h1.lede .au{color:var(--gold);font-style:italic;font-weight:600;}

.hero-grid{margin-top:64px;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;}
.hero-grid .copy .led{font-family:var(--display);font-style:italic;font-size:clamp(22px,2.2vw,32px);line-height:1.3;max-width:34ch;color:var(--ink);margin:0 0 28px;}
.hero-grid .copy .led::before{content:"";display:block;width:48px;height:1px;background:var(--gold);margin-bottom:18px;}
.row-ctas{display:flex;gap:14px;flex-wrap:wrap;}

.btn-primary{display:inline-flex;align-items:center;gap:14px;background:var(--gold);color:var(--bg);padding:18px 26px;border-radius:999px;border:1px solid var(--gold);font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;transition:background .2s,transform .2s;}
.btn-primary:hover{background:var(--gold-2);transform:translateY(-2px);}
.btn-primary .arr{font-family:var(--display);font-style:italic;font-size:20px;letter-spacing:0;text-transform:none;}
.btn-ghost{display:inline-flex;align-items:center;gap:14px;background:transparent;color:var(--ink);padding:18px 22px;border-radius:999px;border:1px solid var(--rule-2);font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;transition:border-color .2s,color .2s;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}

.hero-grid .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;padding-top:32px;border-top:1px solid var(--rule);}
.stat .n{font-family:var(--display);font-style:italic;font-size:36px;color:var(--gold);line-height:1;}
.stat .l{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin-top:8px;}
@media (max-width:880px){.hero-grid{grid-template-columns:1fr;gap:48px;}}

/* before/after slider */
.ba-wrap{position:relative;aspect-ratio:3/4;max-width:520px;width:100%;margin-left:auto;border-radius:6px;overflow:hidden;background:var(--bg-2);box-shadow:0 30px 80px -20px rgba(0,0,0,.6),0 0 0 1px var(--rule);isolation:isolate;user-select:none;}
.ba-img{position:absolute;inset:0;background-size:cover;background-position:center 20%;}
.ba-after{background-image:url("assets/david-before.jpg");background-position:center 12%;}
.ba-before{background-image:url("assets/david-after.jpg");clip-path:inset(0 0 0 50%);background-position:center 12%;}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--gold);transform:translateX(-1px);cursor:ew-resize;z-index:3;box-shadow:0 0 30px var(--gold);}
.ba-handle::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 30%,transparent);}
.ba-handle::after{content:"◀▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--bg);z-index:4;}
.ba-tag{position:absolute;bottom:18px;padding:6px 10px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:color-mix(in srgb,var(--bg) 65%,transparent);color:var(--ink);border:1px solid var(--rule-2);border-radius:2px;backdrop-filter:blur(6px);z-index:2;}
.ba-tag.before{left:18px;}
.ba-tag.after{right:18px;color:var(--gold);border-color:var(--gold);}
.ba-frame{position:absolute;inset:14px;pointer-events:none;border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);z-index:2;border-radius:2px;}
.ba-corner{position:absolute;width:18px;height:18px;border:1px solid var(--gold);z-index:2;pointer-events:none;}
.ba-corner.c1{top:8px;left:8px;border-right:0;border-bottom:0;}
.ba-corner.c2{top:8px;right:8px;border-left:0;border-bottom:0;}
.ba-corner.c3{bottom:8px;left:8px;border-right:0;border-top:0;}
.ba-corner.c4{bottom:8px;right:8px;border-left:0;border-top:0;}

/* SECTION */
section.s{padding:140px 0;border-top:1px solid var(--rule);position:relative;}
.s-head{display:grid;grid-template-columns:220px 1fr;gap:64px;align-items:start;margin-bottom:72px;}
.s-head .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;}
.s-head .eyebrow small{display:block;color:var(--ink-mute);margin-top:4px;font-size:11px;}
.s-head h2{font-family:var(--display);font-weight:800;font-style:normal;font-size:clamp(36px,5vw,78px);line-height:.98;letter-spacing:-.035em;margin:0;max-width:22ch;text-wrap:balance;text-transform:uppercase;}
.s-head h2 .upr{font-style:normal;}
.s-head h2 i{color:var(--gold);font-style:italic;font-weight:600;text-transform:none;}
@media (max-width:760px){section.s{padding:90px 0;}.s-head{grid-template-columns:1fr;gap:14px;margin-bottom:48px;}}

/* PAIN CARDS (¿te suena?) — minimal, amplified pain */
.pains-intro{font-family:var(--display);font-style:italic;font-size:clamp(22px,2.4vw,30px);line-height:1.3;color:var(--ink-soft);margin:0 0 48px;max-width:48ch;}
.pains-intro i{color:var(--gold);font-weight:500;}

.pains-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);}
@media (max-width:960px){.pains-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.pains-grid{grid-template-columns:1fr;}}

.pain-card{
  background:var(--bg-2);padding:40px 32px 32px;
  display:flex;flex-direction:column;gap:18px;
  position:relative;overflow:hidden;min-height:300px;
  transition:background .35s ease;
}
.pain-card:hover{background:var(--bg-3);}
.pain-card .pain-n{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--gold-deep);text-transform:uppercase;}
.pain-card .pain-quote{
  font-family:var(--display);font-style:normal;font-weight:700;
  font-size:clamp(24px,2.4vw,32px);line-height:1.05;letter-spacing:-.035em;
  margin:0;color:var(--ink);text-transform:uppercase;text-wrap:balance;
}
.pain-card .pain-quote i{font-style:italic;font-weight:500;color:var(--gold);text-transform:none;letter-spacing:-.02em;}
.pain-card .pain-amp{
  font-family:var(--body);font-size:14.5px;line-height:1.6;color:var(--ink-soft);
  margin:auto 0 0;padding-top:18px;border-top:1px dashed var(--rule-2);max-width:36ch;
}
.pain-card .pain-amp i{color:var(--ink);font-style:italic;font-weight:600;}

.pain-card.cta-card{
  background:linear-gradient(180deg, color-mix(in srgb,var(--gold) 10%,var(--bg-2)), var(--bg-2) 70%);
  border:1px solid var(--gold-deep);
  outline:1px solid var(--gold-deep);outline-offset:-1px;
}
.pain-card.cta-card:hover{background:linear-gradient(180deg, color-mix(in srgb,var(--gold) 14%,var(--bg-2)), var(--bg-3) 70%);}
.pain-card.cta-card .pain-n{color:var(--gold);font-size:24px;font-family:var(--display);font-style:italic;font-weight:500;letter-spacing:0;text-transform:none;line-height:1;}
.pain-card.cta-card .cta-link{
  margin-top:14px;display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);transition:color .2s,gap .2s;
}
.pain-card.cta-card .cta-link:hover{color:var(--ink);gap:14px;}

/* ARCHETYPES (legacy) */
.arch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);}
@media (max-width:1080px){.arch-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.arch-grid{grid-template-columns:1fr;}}
.arch{background:var(--bg-2);padding:36px 32px 32px;min-height:360px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:background .35s ease;}
.arch:hover{background:var(--bg-3);}
.arch .num{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;}
.arch h4{font-family:var(--display);font-style:normal;font-weight:700;font-size:28px;line-height:1.02;letter-spacing:-.035em;margin:0;color:var(--ink);text-transform:uppercase;text-wrap:balance;}
.arch h4 i{font-style:italic;font-weight:600;color:var(--gold);text-transform:none;letter-spacing:-.02em;}
.arch .quote{font-family:var(--display);font-style:italic;font-weight:400;font-size:17px;line-height:1.35;color:var(--ink-soft);margin:6px 0 0;padding-left:14px;border-left:1px solid var(--gold-deep);text-wrap:balance;}
.arch .desc{color:var(--ink-soft);font-size:14px;line-height:1.55;margin:0;}
.arch .desc b{color:var(--ink);font-weight:600;}
.arch .tag{margin-top:auto;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--ink-mute);text-transform:uppercase;padding-top:14px;border-top:1px dashed var(--rule-2);}
.arch .tag b{color:var(--gold);font-weight:400;}
.arch .glow{position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gold) 16%,transparent),transparent 70%);opacity:0;transition:opacity .45s;pointer-events:none;}
.arch:hover .glow{opacity:1;}
.arch-foot{margin-top:48px;border-top:1px solid var(--rule);padding-top:32px;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:20px;}
.arch-foot p{font-family:var(--display);font-style:italic;font-size:22px;color:var(--ink-soft);max-width:46ch;margin:0;line-height:1.35;}

/* PAIN WALL (legacy) */
.pain-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-bottom:48px;}
.pain-intro p{font-family:var(--display);font-style:italic;font-size:24px;line-height:1.35;max-width:42ch;color:var(--ink);margin:0;}
.pain-intro p:nth-child(2){color:var(--ink-soft);}
@media (max-width:760px){.pain-intro{grid-template-columns:1fr;gap:24px;}}

.pain-cat{margin-top:64px;}
.pain-cat-head{display:flex;align-items:baseline;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--rule);margin-bottom:24px;}
.pain-cat-head .num{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;}
.pain-cat-head h3{font-family:var(--display);font-style:normal;font-weight:700;font-size:26px;margin:0;letter-spacing:-.03em;text-transform:uppercase;}
.pain-cat-head h3 i{font-style:italic;font-weight:500;text-transform:none;color:var(--gold);}
.pain-cat-head .cnt{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--ink-mute);}

.pain-grid{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);}
.pain-grid.c4{grid-template-columns:repeat(4,1fr);}
.pain-grid.c3{grid-template-columns:repeat(3,1fr);}
@media (max-width:1080px){.pain-grid.c4{grid-template-columns:repeat(2,1fr);}.pain-grid.c3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.pain-grid.c4,.pain-grid.c3{grid-template-columns:1fr;}}

.pain{background:var(--bg-2);padding:28px;min-height:240px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;cursor:pointer;transition:background .35s ease;}
.pain:hover{background:var(--bg-3);}
.pain .id{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--gold);}
.pain .id .x{color:var(--blood);}
.pain h4{font-family:var(--display);font-style:italic;font-weight:400;font-size:24px;line-height:1.1;letter-spacing:-.01em;margin:0;color:var(--ink);text-wrap:balance;}
.pain .reveal-body{margin-top:auto;padding-top:14px;border-top:1px dashed var(--rule-2);display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease;}
.pain .reveal-body>div{overflow:hidden;}
.pain:hover .reveal-body, .pain:focus-within .reveal-body{grid-template-rows:1fr;}
.pain .think{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--blood);text-transform:uppercase;}
.pain .think b{font-weight:500;}
.pain .actually{font-family:var(--display);font-style:italic;font-size:18px;line-height:1.3;color:var(--gold);margin-top:6px;}
.pain .vs{margin-top:10px;font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--ink-mute);text-transform:uppercase;}
.pain .glow{position:absolute;right:-40px;top:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gold) 30%,transparent),transparent 70%);opacity:0;transition:opacity .45s;pointer-events:none;}
.pain:hover .glow{opacity:1;}
.pain .tap{position:absolute;bottom:14px;right:14px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--ink-mute);text-transform:uppercase;opacity:.8;}
.pain:hover .tap{opacity:0;}

/* METHOD */
.method-canvas{position:relative;padding-top:32px;}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative;z-index:2;}
.pillar{background:var(--bg-2);border:1px solid var(--rule);border-radius:6px;padding:36px 32px 32px;min-height:340px;display:flex;flex-direction:column;gap:16px;position:relative;transition:border-color .3s,transform .3s;}
.pillar:hover{border-color:var(--gold);transform:translateY(-4px);}
.pillar .glyph{font-family:var(--display);font-style:italic;font-size:88px;color:var(--gold);line-height:.9;margin-bottom:8px;}
.pillar h3{font-family:var(--display);font-style:normal;font-weight:800;font-size:36px;margin:0;letter-spacing:-.035em;text-transform:uppercase;}
.pillar h3 i{font-style:italic;font-weight:600;color:var(--gold);text-transform:none;}
.pillar .num{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);}
.pillar p{color:var(--ink-soft);font-size:15px;margin:0;}
.pillar p i{font-style:italic;color:var(--gold);font-family:var(--display);}
.pillar ul{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px;}
.pillar li{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-soft);display:flex;align-items:center;gap:10px;}
.pillar li::before{content:"";width:6px;height:1px;background:var(--gold);}

.ribbon{margin-top:48px;padding:32px;background:linear-gradient(90deg,var(--bg-2),color-mix(in srgb,var(--gold) 20%,var(--bg-2)),var(--bg-2));border:1px solid var(--gold-deep);border-radius:6px;display:grid;grid-template-columns:100px 1fr auto;gap:24px;align-items:center;}
.ribbon .icon{width:64px;height:64px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-style:italic;font-size:32px;color:var(--gold);}
.ribbon h4{font-family:var(--display);font-style:italic;font-weight:400;font-size:28px;margin:0 0 4px;}
.ribbon p{color:var(--ink-soft);font-size:14px;margin:0;max-width:60ch;}
.ribbon .label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--gold);text-transform:uppercase;}
@media (max-width:880px){.pillars{grid-template-columns:1fr;}.ribbon{grid-template-columns:1fr;text-align:center;gap:14px;}.ribbon .icon{margin:0 auto;}}

/* DELIVERABLES */
.deliverables{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);}
.deliv{background:var(--bg-2);padding:32px;min-height:200px;display:flex;flex-direction:column;gap:12px;}
.deliv .n{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--gold);}
.deliv h4{font-family:var(--display);font-style:normal;font-weight:700;font-size:22px;margin:0;letter-spacing:-.025em;line-height:1.15;text-transform:uppercase;}
.deliv p{color:var(--ink-soft);font-size:14px;margin:0;}
@media (max-width:960px){.deliverables{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.deliverables{grid-template-columns:1fr;}}

/* ANTI-PROMISE */
.anti{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.anti-col{background:var(--bg-2);border:1px solid var(--rule);border-radius:6px;padding:36px;}
.anti-col.is-not{border-color:color-mix(in srgb,var(--blood) 50%,var(--rule));}
.anti-col.is{border-color:color-mix(in srgb,var(--gold) 50%,var(--rule));}
.anti-col .head{display:flex;align-items:baseline;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--rule);margin-bottom:24px;}
.anti-col .head .tag{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;}
.anti-col.is-not .head .tag{color:var(--blood);}
.anti-col.is .head .tag{color:var(--gold);}
.anti-col .head h3{font-family:var(--display);font-style:normal;font-weight:800;font-size:28px;margin:0;letter-spacing:-.03em;text-transform:uppercase;}
.anti-col .head h3 i{font-style:italic;font-weight:600;text-transform:none;}
.anti-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;}
.anti-col li{display:flex;gap:14px;align-items:start;font-size:15px;line-height:1.5;color:var(--ink-soft);}
.anti-col li .mark{font-family:var(--display);font-style:italic;font-size:20px;line-height:1;flex-shrink:0;width:24px;}
.anti-col.is-not li .mark{color:var(--blood);}
.anti-col.is li .mark{color:var(--gold);}
.anti-col li b{color:var(--ink);font-weight:500;}
@media (max-width:880px){.anti{grid-template-columns:1fr;gap:24px;}}

/* ABOUT */
.about{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.about .portrait{position:relative;aspect-ratio:3/4;border-radius:6px;overflow:hidden;background:url("assets/before.jpg") center top / cover var(--bg-2);box-shadow:0 30px 80px -20px rgba(0,0,0,.6),0 0 0 1px var(--rule);}
.about .portrait .signature{position:absolute;bottom:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:end;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);}
.about .portrait .signature .name{font-family:var(--display);font-style:italic;font-size:28px;letter-spacing:-.01em;text-transform:none;line-height:1;}
.about blockquote{font-family:var(--display);font-style:italic;font-size:clamp(28px,3.2vw,44px);line-height:1.18;margin:0 0 32px;padding-left:24px;border-left:2px solid var(--gold);color:var(--ink);max-width:24ch;letter-spacing:-.01em;}
.about p{color:var(--ink-soft);font-size:16px;margin:0 0 18px;max-width:54ch;}
.about p b{color:var(--gold);font-weight:400;font-family:var(--display);font-style:italic;}
.about .sig{margin-top:32px;padding-top:28px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:16px;}
.about .sig .name{font-family:var(--display);font-style:italic;font-size:32px;letter-spacing:-.01em;line-height:1;}
.about .sig .role{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin-top:6px;}
.about .sig .team{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);}
@media (max-width:880px){.about{grid-template-columns:1fr;gap:32px;}}

/* TRANSFORMATIONS — base */
.trans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:960px){.trans{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.trans{grid-template-columns:1fr;}}
.tcard{background:var(--bg-2);border:1px solid var(--rule);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .3s,transform .3s;}
.tcard:not(.featured):hover{border-color:var(--gold-deep);transform:translateY(-4px);}
.tcard .photos{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);aspect-ratio:5/6;}
.tcard .photo{background-size:cover;background-position:center top;position:relative;}
.tcard .photo::after{content:"";position:absolute;left:10px;top:10px;padding:4px 8px;font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--ink);background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(4px);border-radius:2px;}
.tcard .photo.before::after{content:"ANTES";}
.tcard .photo.after::after{content:"DESPUÉS";color:var(--gold);}
.tcard .body{padding:28px;display:flex;flex-direction:column;gap:18px;flex:1;}
.tcard .who{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.tcard .who .n{font-family:var(--display);font-style:normal;font-weight:700;font-size:24px;letter-spacing:-.035em;text-transform:uppercase;line-height:1;}
.tcard .who .n i{color:var(--gold);font-style:italic;font-weight:500;text-transform:none;letter-spacing:-.02em;}
.tcard .who .meta{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--ink-mute);text-transform:uppercase;}
.tcard blockquote{font-family:var(--display);font-style:italic;font-size:18px;line-height:1.35;margin:0;color:var(--ink-soft);text-wrap:balance;}

/* TRANSFORMATIONS */
.results-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:6px;overflow:hidden;
  margin-bottom:48px;
}
.rs{
  background:var(--bg-2);padding:32px 32px 28px;
  display:flex;flex-direction:column;gap:10px;
  position:relative;
  transition:background .25s;
}
.rs:hover{background:var(--bg-3);}
.rs-n{font-family:var(--display);font-style:normal;font-weight:800;font-size:clamp(64px,7vw,108px);line-height:.86;letter-spacing:-.05em;color:var(--gold);}
.rs-n small{font-size:.4em;font-weight:600;letter-spacing:-.02em;color:var(--ink-mute);margin-left:6px;}
.rs-l{font-family:var(--display);font-style:italic;font-size:20px;line-height:1.15;color:var(--ink);max-width:22ch;}
.rs-d{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-mute);margin-top:auto;padding-top:14px;border-top:1px dashed var(--rule-2);line-height:1.45;}
@media (max-width:880px){.results-strip{grid-template-columns:1fr;}}

/* featured (full-width) testimonial card */
.tcard.featured{
  display:grid;grid-template-columns:1.1fr 1fr;gap:1px;background:var(--rule);
  border:1px solid var(--gold-deep);border-radius:8px;overflow:hidden;
  margin-bottom:32px;transition:border-color .3s, transform .3s;
}
.tcard.featured:hover{border-color:var(--gold);transform:none;}
.tcard.featured .photos{aspect-ratio:auto;grid-template-columns:1fr 1fr;min-height:640px;}
.tcard.featured .body{padding:48px;gap:24px;justify-content:space-between;background:var(--bg-2);}
.tcard.featured .who .n{font-size:36px;letter-spacing:-.04em;}
.tcard.featured .who .meta{font-size:11px;}
.tcard.featured blockquote{font-size:24px;line-height:1.25;color:var(--ink);}
.tcard.featured .stats{grid-template-columns:repeat(3,1fr);}
@media (max-width:920px){
  .tcard.featured{grid-template-columns:1fr;}
  .tcard.featured .photos{min-height:520px;}
  .tcard.featured .body{padding:32px;}
  .tcard.featured .stats{grid-template-columns:repeat(2,1fr);}
}

/* stat cells (bigger, more dramatic) */
.tcard .stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);
  margin-top:auto;border-top:1px solid var(--rule);padding:0;
  font-family:inherit;font-size:inherit;letter-spacing:0;text-transform:none;color:inherit;
}
.tcard:not(.featured) .stats{
  background:transparent;
  grid-template-columns:repeat(auto-fit, minmax(0, 1fr));
  gap:0;
}
.tcard:not(.featured) .stats .stat-cell + .stat-cell{
  border-left:1px solid var(--rule);
}
.stat-cell{
  background:var(--bg-2);padding:18px 12px 16px;
  display:flex;flex-direction:column;gap:4px;
  text-align:left;
}
.tcard.featured .stat-cell{padding:24px 18px;}
.stat-cell .sn{
  font-family:var(--display);font-weight:800;font-style:normal;
  font-size:clamp(34px,3.6vw,48px);line-height:.9;letter-spacing:-.045em;color:var(--gold);
}
.tcard.featured .stat-cell .sn{font-size:clamp(40px,4.4vw,60px);}
.stat-cell .sn small{font-size:.42em;font-weight:600;color:var(--ink-mute);margin-left:3px;letter-spacing:-.01em;}
.stat-cell .sl{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);line-height:1.3;}

/* results foot CTA */
.results-foot{
  margin-top:48px;border-top:1px solid var(--rule);padding-top:36px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
}
.results-foot p{
  font-family:var(--display);font-style:italic;font-size:22px;line-height:1.35;color:var(--ink-soft);
  max-width:56ch;margin:0;
}
.results-foot p i{color:var(--gold);font-weight:500;}
@media (max-width:760px){.results-foot{align-items:flex-start;}}

/* placeholder image (legacy ph stays for daniel/elisabeth) */
.ph{background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 22%,var(--bg-2)),var(--bg-2)),repeating-linear-gradient(45deg,transparent 0 22px,color-mix(in srgb,var(--ink) 5%,transparent) 22px 23px);background-blend-mode:overlay;position:relative;}
.ph::before{content:attr(data-ph);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--ink-mute);text-transform:uppercase;text-align:center;padding:8px;}

/* PROGRAMS */
.programs{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.program{background:var(--bg-2);border:1px solid var(--rule);border-radius:8px;padding:44px 36px;position:relative;display:flex;flex-direction:column;gap:22px;transition:border-color .3s,transform .3s;min-width:0;}
.program:hover{border-color:var(--gold);transform:translateY(-4px);}
.program.featured{border-color:var(--gold);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 10%,var(--bg-2)),var(--bg-2) 40%);}
.program.featured::before{content:"Recomendado · año completo";position:absolute;top:-12px;left:48px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;background:var(--gold);color:var(--bg);padding:5px 12px;border-radius:999px;}
.program .duration{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);}
.program h3{font-family:var(--display);font-style:normal;font-weight:800;margin:0;font-size:clamp(34px,4.2vw,56px);line-height:.92;letter-spacing:-.035em;text-transform:uppercase;word-break:break-word;hyphens:auto;-webkit-hyphens:auto;}
.program h3 i{color:var(--gold);font-style:italic;font-weight:600;text-transform:none;}
.program .price{display:flex;align-items:baseline;gap:12px;}
.program .price .pval{font-family:var(--display);font-weight:400;font-size:48px;color:var(--ink);letter-spacing:-.02em;}
.program .price .pcurr{font-family:var(--mono);font-size:14px;color:var(--ink-mute);}
.program .price .ppmo{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--ink-mute);margin-left:auto;}
.program .price .ppmo b{color:var(--gold);font-weight:400;}
.program .desc{color:var(--ink-soft);font-size:15px;margin:0;}
.program ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.program li{display:flex;gap:12px;align-items:start;font-size:14px;color:var(--ink-soft);line-height:1.5;}
.program li::before{content:"✱";color:var(--gold);font-family:var(--display);font-size:14px;flex-shrink:0;}
.program .cta-line{display:flex;justify-content:flex-start;padding-top:20px;border-top:1px solid var(--rule);margin-top:auto;}
@media (max-width:1024px){.programs{grid-template-columns:1fr;}.program{padding:36px;}}

/* FINAL */
.final{background:radial-gradient(800px 500px at 80% 30%,color-mix(in srgb,var(--gold) 20%,transparent),transparent 70%),var(--bg-2);border-top:1px solid var(--gold-deep);padding:160px 0 140px;position:relative;overflow:hidden;}
.final::after{content:"F2F";position:absolute;right:-40px;bottom:-160px;font-family:var(--display);font-style:normal;font-weight:800;font-size:600px;line-height:.7;letter-spacing:-.06em;color:color-mix(in srgb,var(--gold) 6%,transparent);pointer-events:none;user-select:none;}
.final .meta{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
.final h2{font-family:var(--display);font-style:normal;font-weight:800;font-size:clamp(56px,9.2vw,140px);line-height:.92;letter-spacing:-.04em;margin:28px 0 48px;max-width:16ch;text-wrap:balance;text-transform:uppercase;}
.final h2 .upr{font-style:normal;}
.final h2 i{color:var(--gold);font-style:italic;font-weight:600;text-transform:none;}
.final .row{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;position:relative;z-index:2;}
.final .row .left{max-width:56ch;color:var(--ink-soft);font-size:15px;}
.final .row .left b{color:var(--gold);font-weight:400;font-family:var(--display);font-style:italic;font-size:18px;}
.final .row .apply{display:inline-flex;align-items:center;gap:16px;background:var(--gold);color:var(--bg);padding:26px 36px;border-radius:999px;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;transition:background .2s,transform .2s;box-shadow:0 20px 60px -10px color-mix(in srgb,var(--gold) 50%,transparent);}
.final .row .apply:hover{background:var(--gold-2);transform:translateY(-2px);}
.final .row .apply .arr{font-family:var(--display);font-style:italic;font-size:24px;letter-spacing:0;text-transform:none;}

/* FOOTER */
footer{padding:64px 0 48px;border-top:1px solid var(--rule);background:var(--bg);position:relative;z-index:5;}
footer .row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;align-items:end;}
footer .brand{font-family:var(--display);font-style:normal;font-weight:800;font-size:88px;line-height:1;letter-spacing:-.05em;text-transform:uppercase;}
footer .brand i{color:var(--gold);font-style:italic;font-weight:600;text-transform:none;}
footer .col h4{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 14px;font-weight:500;}
footer .col a{color:var(--ink-soft);display:block;padding:5px 0;font-size:14px;transition:color .2s;}
footer .col a:hover{color:var(--gold);}
footer .bottom{margin-top:64px;padding-top:24px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);}
@media (max-width:760px){footer .row{grid-template-columns:1fr;gap:32px;}footer .brand{font-size:56px;}}

/* reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}


/* ─────── WhatsApp-direct conversion components ─────── */

/* pain cards as links — preserve display, no underline */
.pain-link{
  text-decoration:none;color:inherit;cursor:pointer;
  display:flex;flex-direction:column;gap:18px;
  position:relative;overflow:hidden;
}
.pain-link:hover .pain-quote i{color:var(--gold-2);}
.pain-link::after{
  content:"→ WhatsApp";
  position:absolute;top:32px;right:28px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-mute);opacity:0;transition:opacity .25s,transform .25s;
  transform:translateX(-6px);
}
.pain-link:hover::after{opacity:1;transform:translateX(0);color:var(--gold);}

/* hidden price */
.price-hidden{display:flex;align-items:center;gap:14px;border-top:1px dashed var(--rule-2);border-bottom:1px dashed var(--rule-2);padding:18px 0;}
.pval-hidden{
  font-family:var(--display);font-style:normal;font-weight:700;
  font-size:clamp(22px,2.6vw,34px);letter-spacing:-.025em;color:var(--ink);text-transform:uppercase;
}
.pval-hidden b{color:var(--gold);font-weight:700;font-style:italic;text-transform:none;letter-spacing:-.02em;}
.price-hidden .ppmo{margin-left:auto;}

/* ─────── FAQ ─────── */
.faq-list{
  border-top:1px solid var(--rule);
  display:flex;flex-direction:column;
}
.faq-item{
  border-bottom:1px solid var(--rule);
  background:transparent;
  transition:background .25s;
}
.faq-item[open]{background:var(--bg-2);}
.faq-item summary{
  list-style:none;cursor:pointer;
  display:grid;grid-template-columns:60px 1fr 40px;gap:24px;align-items:center;
  padding:24px 0;
  transition:padding .25s;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item[open] summary{padding:24px 28px;}
.faq-item summary:hover{color:var(--gold);}
.faq-item .q-n{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;}
.faq-item .q-text{
  font-family:var(--display);font-style:normal;font-weight:600;
  font-size:clamp(20px,2.2vw,28px);letter-spacing:-.025em;line-height:1.15;
}
.faq-item .q-arrow{
  font-family:var(--display);font-style:italic;font-weight:500;
  font-size:32px;color:var(--gold);text-align:right;line-height:1;
  transition:transform .35s ease, color .25s;
}
.faq-item[open] .q-arrow{transform:rotate(45deg);color:var(--ink);}
.faq-answer{
  padding:0 28px 28px 84px;
  max-width:64ch;
}
.faq-answer p{margin:0;color:var(--ink-soft);font-size:15.5px;line-height:1.65;}
.faq-answer p i{color:var(--gold);font-style:italic;font-weight:500;}
@media (max-width:680px){
  .faq-item summary{grid-template-columns:1fr 32px;gap:14px;}
  .faq-item .q-n{display:none;}
  .faq-item .q-text{font-size:19px;}
  .faq-answer{padding:0 16px 24px 16px;}
  .faq-item[open] summary{padding:24px 16px;}
}
.faq-foot{
  margin-top:32px;text-align:center;
  font-family:var(--display);font-style:italic;font-size:22px;color:var(--ink-soft);
}
.faq-foot a{color:var(--gold);border-bottom:1px solid var(--gold-deep);transition:border-color .2s;}
.faq-foot a:hover{border-color:var(--gold);}

/* ─────── Final CTA — message preview ─────── */
.final-msg{padding:140px 0 120px;}
.final-msg::after{display:none;}
.final-msg h2{margin-bottom:64px;}

.msg-grid{
  display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:stretch;
  position:relative;z-index:2;
}
@media (max-width:920px){.msg-grid{grid-template-columns:1fr;gap:24px;}}

/* chat preview */
.msg-preview{
  background:#0e0c0a;
  border:1px solid var(--rule-2);
  border-radius:14px;
  overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.6);
}
.msg-head{
  display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;
  padding:16px 20px;
  background:#171411;
  border-bottom:1px solid var(--rule);
}
.msg-avatar{
  width:42px;height:42px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:700;font-size:22px;color:var(--bg);letter-spacing:-.04em;
}
.msg-name{font-family:var(--display);font-weight:700;font-size:16px;letter-spacing:-.02em;color:var(--ink);}
.msg-status{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:#3fa56b;text-transform:uppercase;margin-top:3px;}
.msg-status::before{content:"●";color:#3fa56b;margin-right:5px;font-size:10px;}
.msg-wa{font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--ink-mute);text-transform:uppercase;}

.msg-body{
  padding:24px 20px;display:flex;flex-direction:column;gap:10px;
  background:
    radial-gradient(circle at 30% 20%, color-mix(in srgb,var(--gold) 4%,transparent), transparent 60%),
    #0a0807;
  min-height:280px;
}
.bubble{
  max-width:75%;padding:11px 14px;border-radius:14px;
  font-size:14.5px;line-height:1.4;color:var(--ink);
  position:relative;animation:bubblePop .35s ease;
}
@keyframes bubblePop{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.bubble-them{align-self:flex-start;background:#222019;border-bottom-left-radius:4px;}
.bubble-you{align-self:flex-end;background:#2b4d35;border-bottom-right-radius:4px;color:#eaf3ec;}
.bubble-you::after{
  content:"✓✓";position:absolute;right:8px;bottom:-2px;font-size:10px;color:#7bb38f;
}
.msg-typing{
  align-self:flex-start;
  font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--ink-mute);
  padding:6px 12px;background:#1a1814;border-radius:14px;border-bottom-left-radius:4px;
  margin-top:6px;
  position:relative;
}
.msg-typing::after{
  content:" .";animation:dots 1.4s steps(4) infinite;color:var(--ink-mute);
}
@keyframes dots{0%{content:" ."}33%{content:" .."}66%{content:" ..."}100%{content:" ."}}

/* chips */
.msg-chips{display:flex;flex-direction:column;gap:14px;}
.msg-chips-label{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--gold);text-transform:uppercase;margin-bottom:6px;}

.chip{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:18px 22px;
  background:var(--bg-2);border:1px solid var(--rule-2);border-radius:10px;
  font-family:var(--display);font-style:normal;font-weight:600;font-size:18px;letter-spacing:-.02em;
  color:var(--ink);
  cursor:pointer;
  transition:background .2s,border-color .2s,transform .2s;
}
.chip:hover{background:var(--bg-3);border-color:var(--gold);transform:translateX(4px);}
.chip .chip-r{font-family:var(--display);font-style:italic;font-size:22px;color:var(--gold);}

.msg-main-btn{
  margin-top:12px;
  display:flex;align-items:center;justify-content:center;gap:12px;
  padding:22px 28px;
  background:#25D366;color:#0a3b1e;
  border-radius:999px;border:1px solid #25D366;
  font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  transition:background .2s,transform .2s,box-shadow .2s;
  box-shadow:0 20px 60px -10px color-mix(in srgb,#25D366 50%,transparent);
}
.msg-main-btn:hover{background:#1eb858;transform:translateY(-2px);}
.msg-main-btn .wa-ico{display:flex;align-items:center;color:#0a3b1e;}
.msg-main-btn .arr{font-family:var(--display);font-style:italic;font-size:20px;letter-spacing:0;text-transform:none;}

