/* Compra Inteligente · Frances Charleman · reThought Real Estate
   Marca reThought (página pública): lienzo ink, botón sprout con texto ink, azul de marca solo como relleno,
   Poppins / Instrument Sans / Geist Mono. De Frances: sus fotos, su logo y su nombre.
   Una sola banda clara (reseñas) para que contraste con el ink. */

:root{
  --ink:#1B252F;          /* lienzo */
  --ink-deep:#141c24;     /* bandas alternas */
  --ink-0:#0c1014;        /* pie */
  --surface:#202A35;      /* tarjetas sobre ink */
  --surface-2:#273340;
  --paper:#fbfbfb;
  --paper-2:#eef1f4;
  --text:#fbfbfb;
  --soft:rgba(251,251,251,.76);
  --muted:#9aa4b1;
  --line:rgba(251,251,251,.12);
  --line-2:rgba(251,251,251,.22);
  --brand:#034c76;        /* relleno solamente, nunca texto sobre ink */
  --brand-2:#063959;
  --brand-3:#0a6399;
  --sprout:#8cc94e;       /* botones y acentos; texto OK sobre ink */
  --sprout-2:#7ab83d;
  --sprout-soft:#b4dc84;
  --sprout-deep:#2C5E15;  /* sprout como texto sobre fondo claro */
  --on-paper:#1B252F;
  --on-paper-2:#3c4855;
  --on-paper-muted:#5a6674;
  --clay:#AE4536;
  --wa:#1FA855;
  --r:16px;
  --r-lg:24px;
  --display:'Poppins',ui-sans-serif,system-ui,sans-serif;
  --sans:'Instrument Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:var(--sans);background:var(--ink);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color-scheme:dark}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
@media(min-width:760px){.wrap{padding:0 36px}}
.mono{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--sprout);color:var(--on-paper);padding:10px 14px;border-radius:10px;font-weight:700}
.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--sprout);outline-offset:3px;border-radius:6px}

/* ---------- Tipografía ---------- */
.kicker{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);margin-bottom:18px}
.kicker .dot{width:8px;height:8px;border-radius:50%;background:var(--sprout);box-shadow:0 0 0 4px rgba(140,201,78,.16);flex:none}
.kicker .sep{color:var(--sprout)}
.kicker.on-paper{color:var(--on-paper-muted)}
.h1{font-family:var(--display);font-weight:600;font-size:clamp(38px,5.4vw,72px);line-height:1.04;letter-spacing:-.035em;margin-bottom:22px;text-wrap:balance}
.hl{position:relative;color:var(--sprout);white-space:nowrap}
.hl svg{position:absolute;left:-2%;right:-2%;bottom:-.16em;width:104%;height:.3em;overflow:visible}
.hl path{fill:none;stroke:var(--sprout);stroke-width:4;stroke-linecap:round;stroke-dasharray:320;stroke-dashoffset:320;animation:draw 1s .9s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.h2{font-family:var(--display);font-weight:600;font-size:clamp(28px,3.6vw,46px);line-height:1.08;letter-spacing:-.03em;text-wrap:balance}
.lead{font-size:clamp(17px,1.5vw,19.5px);line-height:1.6;color:var(--soft);max-width:560px;margin-bottom:28px}
.sec-head{max-width:760px;margin-bottom:clamp(36px,5vw,56px)}
.sec-lead{margin-top:16px;font-size:17px;line-height:1.6;color:var(--soft);max-width:600px}
.sec-lead a{color:var(--sprout);font-weight:600}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--sprout);color:var(--on-paper);font-family:var(--sans);font-weight:700;font-size:16.5px;letter-spacing:-.005em;padding:16px 28px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;box-shadow:0 10px 30px -12px rgba(140,201,78,.65);transition:background .18s,transform .18s var(--ease),box-shadow .18s}
.btn:hover{background:var(--sprout-soft);transform:translateY(-1px);box-shadow:0 14px 34px -12px rgba(140,201,78,.75)}
.btn:active{transform:none}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.btn-block{width:100%}
.btn-ghost{background:transparent;color:var(--text);border:1.5px solid var(--line-2);box-shadow:none}
.btn-ghost:hover{background:var(--paper);color:var(--on-paper);box-shadow:none}
.btn.wa{background:var(--wa);color:#fff;box-shadow:0 10px 30px -12px rgba(31,168,85,.6)}
.btn.wa:hover{background:#23b85e}
.pill{display:inline-block;background:var(--sprout);color:var(--on-paper);text-decoration:none;font-weight:700;font-size:14px;padding:10px 18px;border-radius:999px;white-space:nowrap;transition:background .18s}
.pill:hover{background:var(--sprout-soft)}

/* ---------- Header: reThought primero ---------- */
.hdr{position:sticky;top:0;z-index:40;background:rgba(27,37,47,.82);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:1180px;margin:0 auto;padding:10px 20px}
@media(min-width:760px){.hdr-in{padding:12px 36px}}
.lockup{display:flex;align-items:center;gap:16px;min-width:0}
.lk-rt{height:26px;width:auto;flex:none}
.lk-div{width:1px;height:34px;background:var(--line-2);flex:none}
.lk-fc{height:46px;width:auto}
.hdr-r{display:flex;align-items:center;gap:18px;flex:none}
.hdr-date{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
@media(max-width:899px){.hdr-date{display:none}}
@media(max-width:520px){.hdr-in{padding:8px 16px}.lockup{gap:10px}.lk-rt{height:18px}.lk-div{height:26px}.lk-fc{height:34px}.pill{padding:9px 14px;font-size:13px}.lg-only{display:none}}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(40px,6vw,88px) 0 clamp(64px,8vw,112px)}
.hero-bg{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(55% 75% at 18% 35%,rgba(3,76,118,.6) 0%,rgba(3,76,118,0) 70%),
    radial-gradient(35% 40% at 30% 90%,rgba(140,201,78,.12) 0%,rgba(140,201,78,0) 70%),
    radial-gradient(circle at 1px 1px,rgba(251,251,251,.07) 1px,transparent 1.5px) 0 0/26px 26px;
  -webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);mask-image:linear-gradient(180deg,#000 60%,transparent)}
.hero-grid{position:relative;display:grid;gap:44px;align-items:center}
@media(min-width:960px){.hero-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(56px,6vw,96px)}.hero-media{order:-1}}

.ticket-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:30px;max-width:600px}
.ticket-strip>div{padding:15px 18px 15px 0}
.ticket-strip>div:nth-child(2n){padding-left:20px;border-left:1px dashed var(--line-2)}
.ticket-strip>div:nth-child(n+3){border-top:1px dashed var(--line-2)}
.ticket-strip dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.ticket-strip dd{font-weight:600;font-size:15px;line-height:1.35}
.ticket-strip a{color:var(--text);text-decoration-color:var(--sprout);text-underline-offset:3px}
.ticket-strip .free{color:var(--sprout)}

.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-bottom:34px}
.link-wa{display:inline-flex;align-items:center;gap:8px;color:var(--soft);font-weight:600;font-size:15px;text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:2px;transition:color .18s,border-color .18s}
.link-wa svg{width:18px;height:18px;fill:var(--wa)}
.link-wa:hover{color:var(--text);border-color:var(--wa)}


/* Video */
.hero-media{position:relative;justify-self:center;width:min(360px,82vw)}
@media(min-width:960px){.hero-media{justify-self:start;width:100%;max-width:390px}}
.vid{position:relative;aspect-ratio:9/16;border-radius:28px;overflow:hidden;background:var(--ink-0);border:1px solid var(--line-2);box-shadow:0 40px 80px -30px rgba(0,0,0,.7),0 0 0 8px rgba(251,251,251,.03)}
.vid img,.vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vid::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,16,20,.25) 0%,rgba(12,16,20,0) 25%,rgba(12,16,20,0) 55%,rgba(12,16,20,.85) 100%);pointer-events:none}
.vid[data-state=playing]::after{display:none}
.vid-play{position:absolute;left:50%;top:50%;z-index:2;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;border:0;background:var(--sprout);color:var(--on-paper);display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 10px rgba(140,201,78,.22),0 16px 40px rgba(0,0,0,.4);transition:transform .2s var(--ease)}
.vid-play::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(140,201,78,.5);animation:ping 2.4s var(--ease) infinite}
@keyframes ping{0%{transform:scale(.9);opacity:1}80%,100%{transform:scale(1.35);opacity:0}}
.vid-play:hover{transform:scale(1.06)}
.vid-play svg{width:30px;height:30px;fill:currentColor;margin-left:4px}
.vid-cap{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;display:grid;gap:6px}
.vid-cap .mono{color:var(--sprout);font-size:10.5px}
.vid-cap b{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.25;letter-spacing:-.01em}
.vid-tag{display:none;position:absolute;top:14px;left:14px;z-index:2;background:rgba(12,16,20,.7);color:var(--paper);border:1.5px dashed var(--sprout);border-radius:999px;padding:5px 11px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.vid[data-state=placeholder] .vid-tag{display:inline-block}
.vid[data-state=placeholder] .vid-play{cursor:default}
.stub{position:absolute;right:-30px;top:58%;z-index:3;display:grid;justify-items:center;gap:2px;background:var(--paper);color:var(--on-paper);padding:12px 16px;border-radius:12px;transform:rotate(6deg);box-shadow:0 18px 40px -16px rgba(0,0,0,.6)}
.stub::before,.stub::after{content:"";position:absolute;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--ink)}
.stub::before{left:-6px}.stub::after{right:-6px}
.stub .mono{font-size:9.5px;color:var(--on-paper-muted)}
.stub .mono:last-child{color:var(--sprout-deep);font-weight:600}
.stub b{font-family:var(--display);font-size:22px;letter-spacing:-.02em;line-height:1.1}
@media(max-width:520px){.stub{right:-10px;padding:10px 13px}.stub b{font-size:18px}}

/* Entrada del hero */
.ld{opacity:0;transform:translateY(16px);animation:rise .8s var(--ease) forwards;animation-delay:calc(var(--d) * 90ms + 80ms)}
@keyframes rise{to{opacity:1;transform:none}}

/* ---------- Registro: boleto ---------- */
.reg-sec{position:relative;background:var(--ink-deep);padding:clamp(56px,7vw,96px) 0;border-top:1px solid var(--line)}
.ticket{display:grid;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 50px 100px -40px rgba(0,0,0,.8);max-width:1040px;margin:0 auto}
@media(min-width:880px){.ticket{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}}
.t-stub{position:relative;background:var(--brand);color:var(--paper);padding:clamp(28px,4vw,44px);display:flex;flex-direction:column;gap:18px;
  background-image:radial-gradient(120% 80% at 0% 0%,rgba(10,99,153,.9) 0%,rgba(3,76,118,0) 60%),radial-gradient(circle at 1px 1px,rgba(251,251,251,.08) 1px,transparent 1.5px);background-size:auto,22px 22px}
.t-k{color:var(--sprout-soft)}
.t-date{font-family:var(--display);font-weight:700;font-size:clamp(48px,6vw,72px);line-height:.95;letter-spacing:-.04em;text-transform:uppercase}
.t-time{font-family:var(--mono);font-size:14px;letter-spacing:.08em}
.t-place{font-weight:600;font-size:17px;line-height:1.4}
.t-place span{font-weight:400;font-size:14.5px;color:rgba(251,251,251,.78)}
.t-note{margin-top:auto;font-size:13.5px;color:rgba(251,251,251,.78)}
.cd-wrap{padding-top:18px;border-top:1px dashed rgba(251,251,251,.3)}
.cd-wrap .t-k{margin-bottom:10px}
.cd{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cd div{background:rgba(12,16,20,.35);border:1px solid rgba(251,251,251,.14);border-radius:12px;text-align:center;padding:10px 4px 8px}
.cd b{display:block;font-family:var(--mono);font-weight:600;font-size:24px;font-variant-numeric:tabular-nums;line-height:1.1}
.cd small{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(251,251,251,.7)}
.cd-msg{display:none;font-weight:700}
.cd-wrap[data-state=live] .cd,.cd-wrap[data-state=ended] .cd{display:none}
.cd-wrap[data-state=live] .cd-live,.cd-wrap[data-state=ended] .cd-ended{display:block}

/* perforación entre las dos partes */
.t-form{position:relative;background:var(--paper);color:var(--on-paper);color-scheme:light;padding:clamp(28px,4vw,48px)}
.t-form::before{content:"";position:absolute;pointer-events:none;background-repeat:repeat-x;background-image:radial-gradient(circle,var(--ink-deep) 6px,transparent 6.5px);background-size:22px 22px;left:0;right:0;top:-11px;height:22px}
@media(min-width:880px){.t-form::before{background-repeat:repeat-y;left:-11px;top:0;bottom:0;right:auto;width:22px;height:auto}}
.t-h{font-family:var(--display);font-weight:600;font-size:clamp(26px,3vw,34px);letter-spacing:-.03em;line-height:1.1;margin-bottom:8px}
.t-sub{font-size:15.5px;line-height:1.55;color:var(--on-paper-2);margin-bottom:22px;max-width:460px}
.fld{display:block;margin-bottom:14px}
.fld span{display:block;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--on-paper-muted);margin-bottom:7px}
.fld-row{display:grid;gap:0 14px}
@media(min-width:560px){.fld-row{grid-template-columns:1fr 1fr}}
.t-form input[type=text],.t-form input[type=email],.t-form input[type=tel]{width:100%;font:inherit;font-size:16px;color:var(--on-paper);background:#fff;border:1.5px solid rgba(27,37,47,.22);border-radius:12px;padding:14px 15px;transition:border-color .15s,box-shadow .15s}
.t-form input::placeholder{color:#8a94a3}
.t-form input:hover{border-color:rgba(27,37,47,.4)}
.t-form input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(3,76,118,.16)}
.t-form input[aria-invalid=true]{border-color:var(--clay)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:12.5px;line-height:1.55;color:var(--on-paper-2);margin:6px 0 20px;cursor:pointer}
.consent input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:var(--brand)}
.t-fine{text-align:center;font-size:13px;color:var(--on-paper-muted);margin-top:12px}
.err{display:none;background:rgba(174,69,54,.1);color:var(--clay);border-radius:10px;padding:11px 13px;font-size:14px;font-weight:600;margin-bottom:16px}
.err.show{display:block}

/* ---------- Secciones ---------- */
.sec{padding:clamp(72px,9vw,128px) 0}
.sec.deep{background:var(--ink-deep)}

/* Por qué */
.why-grid{display:grid;gap:36px;align-items:end}
@media(min-width:900px){.why-grid{grid-template-columns:1.3fr 1fr;gap:72px}}
.big-quote{position:relative;font-family:var(--display);font-weight:500;font-size:clamp(30px,4.2vw,56px);line-height:1.12;letter-spacing:-.03em;text-wrap:balance}
.qmark{display:block;font-size:2.4em;line-height:.6;color:var(--sprout);font-weight:700;margin-bottom:.12em}
.why-body p{font-size:17.5px;line-height:1.7;color:var(--soft);margin-bottom:16px}
.sig{display:flex;align-items:center;gap:14px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.sig img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:top;background:var(--surface-2)}
.sig b{display:block;color:var(--text);font-size:16px}
.sig .mono{font-size:10px;color:var(--muted)}

/* Banda clara: reseñas */
.paper-band{background:var(--paper);color:var(--on-paper);color-scheme:light}
.rev-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;margin-bottom:36px}
.rev-head .h2{max-width:620px}
.g-score{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid rgba(27,37,47,.1);border-radius:16px;padding:14px 18px;box-shadow:0 10px 30px -18px rgba(27,37,47,.3)}
.g-logo{width:34px;height:34px;flex:none}
.g-score b{font-family:var(--display);font-size:22px;margin-right:8px}
.g-score small{display:block;color:var(--on-paper-muted);font-size:13px}
.stars{color:#F5B400;letter-spacing:2px;font-size:15px}
.reviews{display:grid;gap:18px}
@media(min-width:860px){.reviews{grid-template-columns:repeat(3,1fr)}}
.review{position:relative;background:#fff;border:1px solid rgba(27,37,47,.09);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:16px;box-shadow:0 1px 2px rgba(27,37,47,.05);transition:transform .25s var(--ease),box-shadow .25s}
.review:hover{transform:translateY(-3px);box-shadow:0 22px 40px -24px rgba(27,37,47,.35)}
.review::after{content:"”";position:absolute;top:10px;right:22px;font-family:var(--display);font-size:72px;line-height:1;color:rgba(140,201,78,.35)}
.review blockquote{font-size:16.5px;line-height:1.65;color:var(--on-paper-2);flex:1}
.review figcaption{display:flex;align-items:center;gap:12px;font-size:14.5px;padding-top:16px;border-top:1px solid rgba(27,37,47,.08)}
.review figcaption b{display:block;font-weight:600}
.rev-note{margin-top:18px;font-size:13.5px;color:var(--on-paper-2)}
.review figcaption small{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-paper-muted)}
.r-av{width:40px;height:40px;border-radius:50%;background:var(--brand);color:var(--paper);display:grid;place-items:center;font-family:var(--display);font-weight:600;flex:none}
.rev-link{display:inline-block;margin-top:28px;color:var(--brand);font-weight:700;font-size:15px;text-underline-offset:4px}

/* Aprender: lista editorial */
.learn{list-style:none;border-top:1px solid var(--line)}
.learn li{display:grid;grid-template-columns:52px 1fr;gap:4px 18px;padding:26px 0;border-bottom:1px solid var(--line);transition:background .25s}
@media(min-width:900px){.learn li{grid-template-columns:90px minmax(0,1fr) minmax(0,1.1fr);gap:0 40px;align-items:baseline;padding:32px 0}}
.learn .n{grid-row:span 3;font-family:var(--mono);font-size:14px;color:var(--sprout);padding-top:6px}
@media(min-width:900px){.learn .n{grid-row:auto;font-size:15px}}
.learn h3{font-family:var(--display);font-weight:600;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.025em;line-height:1.15}
.learn .hook{font-size:16px;line-height:1.5;color:var(--sprout);font-weight:500;margin-top:8px}
.learn .desc{font-size:16px;line-height:1.65;color:var(--soft);margin-top:8px}
@media(min-width:900px){.learn .hook{grid-column:2;margin-top:10px}.learn .desc{grid-column:3;grid-row:1 / span 2;margin-top:0}}
.learn li:hover h3{color:var(--sprout-soft)}
.fl-extra{display:grid;gap:12px;margin-top:36px;padding:26px 28px;border-radius:var(--r);background:linear-gradient(120deg,var(--brand) 0%,var(--brand-2) 100%);border:1px solid rgba(251,251,251,.1)}
@media(min-width:900px){.fl-extra{grid-template-columns:200px 1fr;gap:40px;align-items:center}}
.fl-extra .mono{color:var(--sprout-soft)}
.fl-extra h3{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:-.02em;margin-bottom:6px}
.fl-extra p{font-size:16px;line-height:1.6;color:rgba(251,251,251,.82)}

/* La Ruta */
.route{list-style:none;position:relative;display:grid;gap:22px}
.route::before{content:"";position:absolute;left:11px;top:12px;bottom:12px;border-left:2px dashed rgba(140,201,78,.45)}
@media(min-width:980px){.route{grid-template-columns:repeat(4,1fr);gap:20px;padding-top:34px}.route::before{left:12px;right:12px;top:11px;bottom:auto;border-left:0;border-top:2px dashed rgba(140,201,78,.45)}}
.stop{position:relative;margin-left:40px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:14px;transition:border-color .25s,transform .25s var(--ease)}
@media(min-width:980px){.stop{margin-left:0}}
.stop:hover{border-color:rgba(140,201,78,.5);transform:translateY(-3px)}
.pin{position:absolute;left:-40px;top:22px;width:24px;height:24px;border-radius:50%;background:var(--ink-deep);border:2px solid var(--sprout);display:grid;place-items:center}
.pin::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--sprout)}
@media(min-width:980px){.pin{left:0;top:-46px}}
.stop-n{color:var(--sprout);font-size:10.5px}
.person{display:flex;align-items:center;gap:14px}
.person img,.person .ph{width:58px;height:58px;border-radius:50%;object-fit:cover;object-position:top;flex:none;background:var(--surface-2);border:2px solid var(--line-2)}
.person .ph{display:grid;place-items:center;font-family:var(--display);font-size:22px;color:var(--sprout);border-style:dashed}
.person h3{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.01em;line-height:1.2}
.person .role{font-size:13.5px;color:var(--muted);margin-top:2px}
.stop>p:not(.stop-n){font-size:15px;line-height:1.6;color:var(--soft)}
.lic{align-self:flex-start;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:4px 10px}

/* Es para ti + lugar */
.fit{list-style:none;margin-top:30px;display:grid}
.fit li{position:relative;padding:16px 0 16px 40px;border-bottom:1px solid var(--line);font-size:17.5px;line-height:1.5;color:var(--soft)}
.fit li::before{content:"";position:absolute;left:0;top:17px;width:24px;height:24px;border-radius:50%;background:rgba(140,201,78,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%238cc94e' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}

/* Preguntas */
.faq-grid{display:grid;gap:36px}
@media(min-width:920px){.faq-grid{grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:-.01em;position:relative;transition:color .18s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--sprout-soft)}
.faq summary::after{content:"";position:absolute;right:4px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;border:1px solid var(--line-2);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7v10M7 12h10' stroke='%238cc94e' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 44px 22px 0;font-size:16px;line-height:1.65;color:var(--soft)}
.faq a{color:var(--sprout)}

/* Cierre */
.final{position:relative;overflow:hidden;background:radial-gradient(70% 90% at 80% 100%,rgba(140,201,78,.18) 0%,rgba(140,201,78,0) 60%),linear-gradient(150deg,var(--brand-2) 0%,var(--brand) 55%,#0a5a8a 100%);padding-top:clamp(64px,8vw,104px)}
.final-grid{display:grid;align-items:end;gap:10px}
@media(min-width:860px){.final-grid{grid-template-columns:1.2fr .8fr;gap:40px}}
.final-copy{padding-bottom:clamp(56px,7vw,96px)}
.final .kicker{color:rgba(251,251,251,.82)}
.final-h{font-family:var(--display);font-weight:600;font-size:clamp(36px,5.2vw,68px);line-height:1.02;letter-spacing:-.04em;margin-bottom:18px;text-wrap:balance}
.final-copy>p:not(.kicker){font-size:18px;line-height:1.6;color:rgba(251,251,251,.85);margin-bottom:30px;max-width:480px}
.final-photo{justify-self:center;width:min(340px,70vw);height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.35))}
@media(max-width:859px){.final-photo{margin-top:-10px}}

/* Pie */
.ftr{background:var(--ink-0);color:var(--muted);padding:44px 0 110px;font-size:13px;line-height:1.7}
@media(min-width:900px){.ftr{padding-bottom:44px}}
.ftr-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;padding-bottom:26px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.ftr-logos{display:flex;align-items:center;gap:16px}
.ftr-logos .f-rt{height:24px;width:auto}
.ftr-logos .f-fc{height:44px;width:auto}
.ftr-contact{text-align:left}
@media(min-width:700px){.ftr-contact{text-align:right}}
.ftr a{color:var(--soft)}
.ftr-legal{max-width:900px;font-size:12.5px}

/* Barra fija del celular */
.m-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(20,28,36,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line-2);border-radius:18px;padding:10px 10px 10px 16px;box-shadow:0 20px 40px -10px rgba(0,0,0,.6);transform:translateY(140%);transition:transform .35s var(--ease)}
.m-bar.show{transform:none}
.m-bar b{display:block;font-size:14px}
.m-bar span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.m-bar .btn{padding:12px 20px;font-size:15px;box-shadow:none}
@media(min-width:900px){.m-bar{display:none}}

/* ---------- Página de gracias ---------- */
.ty-hero{position:relative;overflow:hidden;padding:clamp(48px,7vw,88px) 0 clamp(36px,5vw,56px)}
.ty-hero .hero-bg{-webkit-mask-image:none;mask-image:none}
.narrow{max-width:780px}
.ty-check{width:60px;height:60px;border-radius:50%;background:var(--sprout);color:var(--on-paper);display:grid;place-items:center;margin-bottom:22px;box-shadow:0 0 0 10px rgba(140,201,78,.16)}
.ty-check svg{width:30px;height:30px}
.ty-h{font-family:var(--display);font-weight:600;font-size:clamp(34px,5vw,58px);line-height:1.05;letter-spacing:-.035em;margin-bottom:16px}
.ty-hero .lead{max-width:640px;margin-bottom:0}
.steps{display:grid;gap:16px;padding-bottom:clamp(64px,8vw,104px)}
.step{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 28px 28px 84px}
.step-num{position:absolute;left:26px;top:26px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:13px;color:var(--sprout);border:1.5px solid rgba(140,201,78,.5)}
.step.key{border-color:rgba(31,168,85,.55);background:linear-gradient(180deg,rgba(31,168,85,.12),rgba(31,168,85,0) 60%),var(--surface)}
.step.key .step-num{background:var(--wa);border-color:var(--wa);color:#fff}
.step .mono{color:var(--sprout);font-size:10.5px;display:block;margin-bottom:8px}
.step.key .mono{color:#5fd88f}
.step h2{font-family:var(--display);font-weight:600;font-size:24px;letter-spacing:-.02em;margin-bottom:8px}
.step p{font-size:16px;line-height:1.6;color:var(--soft);margin-bottom:18px}
.step ol{margin:4px 0 0 18px;color:var(--soft);font-size:16px;line-height:1.6}
.step ol li+li{margin-top:6px}
.step.quiet{background:transparent;border-style:dashed}
.btn-row{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:560px){.step{padding:24px 22px}.step-num{position:static;margin-bottom:14px}}
.ty-place{font-size:14.5px;color:var(--muted)}
.ty-place a{color:var(--sprout)}

/* ---------- Revelado al hacer scroll ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv,.ld{opacity:1;transform:none;transition:none;animation:none}
  .hl path{animation:none;stroke-dashoffset:0}
  .vid-play::before{animation:none}
}
[hidden]{display:none!important}
@media(min-width:980px){.person{flex-direction:column;align-items:flex-start;gap:12px}.person img,.person .ph{width:64px;height:64px}}

/* ---------- Prueba social del hero: reseñas de Google ---------- */
.with{display:inline-flex;align-items:center;gap:16px;text-decoration:none;color:inherit;padding:10px 18px 10px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(251,251,251,.03);transition:border-color .2s,background .2s}
.with:hover{border-color:var(--line-2);background:rgba(251,251,251,.06)}
.faces{display:flex;flex:none}
.fa{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:15px;color:#fff;background:var(--c,#0a6399);border:2px solid var(--ink);overflow:hidden}
.fa img{width:100%;height:100%;object-fit:cover}
.fa+.fa{margin-left:-11px}
.g-proof{display:grid;gap:2px}
.g-line{display:flex;align-items:center;gap:8px}
.g-line .g-logo{width:18px;height:18px}
.g-line b{font-family:var(--display);font-weight:600;font-size:16px}
.g-line .stars{font-size:14px;letter-spacing:1.5px}
.g-proof small{font-size:13px;color:var(--muted)}

/* ---------- Cierres: banda clara con carrusel ---------- */
.closings{background:var(--paper);color:var(--on-paper);color-scheme:light;padding:clamp(64px,8vw,104px) 0 clamp(56px,7vw,88px);overflow:hidden}
.closings-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 40px;margin-bottom:clamp(28px,4vw,44px)}
.closings-note{font-size:16.5px;line-height:1.55;color:var(--on-paper-2);max-width:360px}
.marquee{position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{list-style:none;display:flex;gap:18px;width:max-content;padding:6px 0 10px;animation:marquee 48s linear infinite}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(calc(-50% - 9px))}}
.shot{flex:none;width:clamp(220px,24vw,300px)}
.shot figure{margin:0}
.shot.wide{width:clamp(300px,34vw,420px)}
.shot.wide img{aspect-ratio:4/3}
.shot img,.shot-ph{width:100%;height:auto;aspect-ratio:4/5;border-radius:20px;object-fit:cover;display:block;box-shadow:0 18px 40px -26px rgba(27,37,47,.5)}
.shot:nth-child(odd) img,.shot:nth-child(odd) .shot-ph{transform:rotate(-1.2deg)}
.shot:nth-child(even) img,.shot:nth-child(even) .shot-ph{transform:rotate(1.2deg) translateY(10px)}
.shot-ph{display:grid;place-content:center;justify-items:center;gap:12px;color:var(--brand);
  background:radial-gradient(circle at 1px 1px,rgba(3,76,118,.14) 1px,transparent 1.5px) 0 0/18px 18px,linear-gradient(160deg,#e9f1f6 0%,#f5f1ea 100%);border:1.5px dashed rgba(3,76,118,.3)}
.shot-ph svg{width:44px;height:44px}
.shot-ph span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-paper-muted)}
.shot figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:16px;padding:0 4px;font-size:14px}
.shot figcaption b{font-weight:600}
.shot figcaption span{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-paper-muted);padding-top:2px}
@media(prefers-reduced-motion:reduce){.marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.marquee-track{animation:none;padding-inline:20px}}

/* ---------- Es para ti (una columna, lista en dos) ---------- */
.fit-wrap .h2{max-width:720px}
@media(min-width:860px){.fit{grid-template-columns:1fr 1fr;column-gap:56px}}

/* ---------- El lugar: banda clara con mapa ---------- */
.venue-band{background:var(--paper);color:var(--on-paper);color-scheme:light}
.venue-grid{display:grid;gap:36px;align-items:stretch}
@media(min-width:920px){.venue-grid{grid-template-columns:.9fr 1.1fr;gap:64px}}
.venue-id{display:flex;align-items:center;gap:18px;margin:20px 0 24px}
.venue-logo{width:96px;height:96px;border-radius:18px;flex:none;box-shadow:0 10px 24px rgba(27,37,47,.18)}
.venue-addr{font-size:19px;line-height:1.5;font-weight:500;margin:0}
.venue-dl{border-top:1px solid rgba(27,37,47,.12);margin-bottom:28px}
.venue-dl div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid rgba(27,37,47,.12)}
.venue-dl dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-paper-muted);padding-top:3px}
.venue-dl dd{font-weight:600;text-align:right}
.venue-ctas{display:flex;flex-wrap:wrap;gap:12px}
.btn-ink-ghost{background:transparent;color:var(--on-paper);border:1.5px solid rgba(27,37,47,.3);box-shadow:none}
.btn-ink-ghost:hover{background:var(--on-paper);color:var(--paper);box-shadow:none}
.map-frame{position:relative;min-height:340px;border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(27,37,47,.12);box-shadow:0 30px 60px -36px rgba(27,37,47,.5);background:#e9eef2}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.85)}
@media(min-width:920px){.map-frame{min-height:460px}}

/* Gracias: mensaje + video de Frances */
.ty-grid{position:relative;display:grid;gap:40px;align-items:center}
.ty-grid{max-width:960px}
@media(min-width:900px){.ty-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:64px}.ty-media{order:-1}}
.ty-media{justify-self:center;width:min(320px,80vw)}
@media(min-width:900px){.ty-media{justify-self:start;max-width:320px}}
.ty-watch{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:15px;color:var(--soft)}
.ty-watch .mono{background:var(--sprout);color:var(--on-paper);padding:5px 10px;border-radius:999px;font-size:10px}
@media(min-width:900px){.ty-watch .mono::before{content:"← "}}
@media(max-width:899px){.ty-watch .mono::after{content:" ↓"}}
.ty-hero+section .steps{padding-top:8px}

/* Trampa para bots (Web3Forms botcheck) */
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
