@font-face{font-family:"DM Sans";src:url(/assets/fonts/dmsans.woff) format("woff");font-weight:100 1000;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(/assets/fonts/spacegrotesk.woff) format("woff");font-weight:300 700;font-style:normal;font-display:swap}
/* Layout: una banda azul noche arriba con la órbita del logo enorme rodeando al perro y al gato;
   abajo, secciones claras en columna con el ritmo de una tienda de producto (elegir, cómo funciona, app, salud, comparar, planes, historia, preguntas, lista de espera). */
:root{
  --bg:#F7F8FB; --surface:#FFFFFF; --panel:#E6EAF2; --ink:#172033; --muted:#4A5568; --line:#D3D9E4;
  --night:#172033; --night-2:#1F2A40; --on-night:#F7F8FB; --on-night-muted:#B8C2D6;
  --signal:#FF7A3D; --on-signal:#172033; --accent-text:#C2410C; --good:#2F7D55;
  --shadow:0 1px 2px rgba(23,32,51,.06),0 12px 32px rgba(23,32,51,.10);
  --display:"Space Grotesk", Arial, sans-serif; --text:"DM Sans", Arial, sans-serif;
  --wrap:1180px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#101827; --surface:#172033; --panel:#1E2A40; --ink:#F7F8FB; --muted:#B8C2D6; --line:#2B3A57;
    --night:#0B111C; --night-2:#152036; --on-night:#F7F8FB; --on-night-muted:#B8C2D6;
    --signal:#FF7A3D; --on-signal:#172033; --accent-text:#FF7A3D; --good:#5CC48E;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px rgba(0,0,0,.35);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#101827; --surface:#172033; --panel:#1E2A40; --ink:#F7F8FB; --muted:#B8C2D6; --line:#2B3A57;
  --night:#0B111C; --night-2:#152036; --on-night:#F7F8FB; --on-night-muted:#B8C2D6;
  --signal:#FF7A3D; --on-signal:#172033; --accent-text:#FF7A3D; --good:#5CC48E;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px rgba(0,0,0,.35);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--night)}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.i-o{color:var(--signal)}
.eyebrow{font:600 13px/1.4 var(--display);letter-spacing:1.6px;text-transform:uppercase;color:var(--accent-text)}
.h2{font:600 clamp(32px,4.4vw,52px)/1.04 var(--display);letter-spacing:-1.4px;text-wrap:balance}
.lead{font-size:19px;line-height:30px;color:var(--muted);max-width:60ch}
.section{padding-block:96px}
.section-head{display:flex;flex-direction:column;gap:14px;margin-bottom:44px;max-width:760px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 24px;border-radius:999px;border:0;font:600 16px var(--text);text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--signal);color:var(--on-signal);box-shadow:0 6px 18px rgba(255,122,61,.28)}
.btn-ghost{background:transparent;color:var(--on-night);box-shadow:inset 0 0 0 1.5px rgba(247,248,251,.35)}
.btn-ink{background:var(--ink);color:var(--bg)}
.btn svg{flex:none}

/* ---------- Encabezado y portada (banda azul noche en ambos temas) ---------- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--night);border-bottom:1px solid rgba(247,248,251,.08)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--on-night);font:600 30px/1 var(--display);letter-spacing:-1px}
.logo svg{width:36px;height:36px}
.nav{display:flex;gap:28px;font:500 15px var(--text)}
.nav a{color:var(--on-night-muted);text-decoration:none}
.nav a:hover{color:var(--on-night)}
.top .btn{height:44px;padding:0 18px;font-size:15px}
.hero{background:var(--night);color:var(--on-night);overflow:hidden;position:relative}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:center;padding-block:56px 72px}
.badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:7px 14px;border-radius:999px;background:rgba(255,122,61,.14);color:var(--signal);font:600 13px var(--display);letter-spacing:.6px}
.badge i{width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 4px rgba(255,122,61,.25)}
.hero-copy{display:flex;flex-direction:column;gap:24px}
.hero h1{font:600 clamp(44px,6.4vw,84px)/.98 var(--display);letter-spacing:-2.6px;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--signal)}
.hero .lead{color:var(--on-night-muted);font-size:20px;line-height:31px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero-facts{display:flex;gap:28px;flex-wrap:wrap;color:var(--on-night-muted);font-size:15px;padding-top:6px}
.hero-facts span{display:flex;align-items:center;gap:8px}
.hero-facts svg{color:var(--signal)}
.stage{position:relative;aspect-ratio:1/1;max-width:560px;width:100%;justify-self:center}
.stage .orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.stage .pet{position:absolute}
.stage .dog{width:62%;left:9%;bottom:6%}
.stage .cat{width:44%;right:4%;bottom:8%}
.float{position:absolute;display:flex;align-items:center;gap:10px;background:var(--surface);color:var(--ink);border-radius:16px;padding:10px 14px;box-shadow:0 14px 34px rgba(0,0,0,.28);font-size:14px;line-height:19px;max-width:260px}
.float b{font:600 14px var(--display);display:block}
.float .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none}
.f1{top:4%;left:-4%}
.f1 .ic{background:var(--signal);color:var(--on-signal)}
.f2{top:44%;right:-8%}
.f2 .ic{background:rgba(47,125,85,.14);color:var(--good)}
.f3{bottom:6%;left:-2%}
.f3 .ic{background:rgba(255,122,61,.16);color:var(--accent-text)}
.photo{display:block;width:100%;height:100%;object-fit:cover}
.ph{position:absolute;border-radius:50%;overflow:hidden;background:var(--night-2)}
.ph-big{width:70%;aspect-ratio:1;left:15%;top:12%;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.ph-big .photo{object-position:50% 50%}
.ph-small{width:36%;aspect-ratio:1;right:2%;bottom:3%;border:7px solid var(--night)}
.ph-small .photo{object-position:66% 58%}
.credit{font-size:12.5px;color:var(--muted);margin-top:10px}
.studio{margin:0;background:var(--panel);border-radius:28px;padding:56px 32px 40px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:32px}
.dev{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.dev svg{width:100%;max-width:480px;height:auto}
.dev-cat svg{max-width:340px}
.dev b{display:block;font:600 20px var(--display)}
.dev span{font-size:15px;color:var(--muted)}
.studio-note{margin-top:14px;font-size:13.5px;color:var(--muted)}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.float{animation:bob 6s ease-in-out infinite}
.f2{animation-delay:-2s}.f3{animation-delay:-4s}

/* ---------- Franja de promesas ---------- */
.promise{border-bottom:1px solid var(--line);background:var(--surface)}
.promise .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block:28px}
.promise div{display:flex;gap:14px;align-items:flex-start}
.promise svg{color:var(--accent-text);flex:none;margin-top:2px}
.promise b{display:block;font:600 16px var(--display)}
.promise span{font-size:15px;color:var(--muted);line-height:22px}

/* ---------- Productos ---------- */
.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.product{position:relative;display:flex;flex-direction:column;border-radius:28px;background:var(--surface);border:1px solid var(--line);overflow:hidden;scroll-margin-top:96px}
.product .art{position:relative;height:320px;overflow:hidden;background:var(--night)}
.product.dog .art{background:var(--night)}
.product.cat .art{background:var(--night-2)}
.product .art .photo{position:absolute;inset:0}
.product .art .label{position:absolute;left:18px;bottom:16px;background:rgba(23,32,51,.78);color:#F7F8FB;font:600 13px var(--display);letter-spacing:.4px;padding:6px 12px;border-radius:999px}
.product .body{padding:28px 28px 30px;display:flex;flex-direction:column;gap:16px;flex:1}
.product h3{font:600 32px/1.05 var(--display);letter-spacing:-.8px}
.product h3 .i-o{color:var(--signal)}
.product .tag{font-size:17px;color:var(--muted)}
.checks{display:grid;gap:10px}
.checks li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;font-size:16px;line-height:23px}
.checks svg{color:var(--good);margin-top:1px}
.product .foot{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.product .price{font-size:14px;color:var(--muted)}
.product .price b{display:block;font:600 16px var(--display);color:var(--ink)}

/* ---------- Cómo funciona ---------- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:step}
.step{padding:28px;border-radius:24px;background:var(--panel);display:flex;flex-direction:column;gap:12px}
.step .n{font:600 15px var(--display);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--bg)}
.step h3{font:600 22px/1.2 var(--display);letter-spacing:-.3px}
.step p{color:var(--muted);font-size:16px;line-height:24px}

/* ---------- App ---------- */
.app-band{background:var(--surface);border-block:1px solid var(--line)}
.app-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:64px;align-items:center}
.phone{width:320px;max-width:100%;aspect-ratio:320/650;margin:0 auto;border-radius:46px;background:var(--night);padding:11px;box-shadow:var(--shadow);position:relative}
.screen{position:relative;width:100%;height:100%;border-radius:36px;overflow:hidden;background:#EDF0F5}
.screen svg.map{position:absolute;inset:0;width:100%;height:100%}
.scr-top{position:absolute;left:12px;right:12px;top:14px;display:flex;flex-direction:column;gap:8px}
.chipset{display:flex;gap:6px}
.pchip{display:flex;align-items:center;gap:6px;background:#FFFFFF;border-radius:999px;padding:3px 10px 3px 3px;font:600 12px var(--text);color:#172033;box-shadow:0 2px 8px rgba(23,32,51,.12)}
.pchip i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:600 11px var(--display);font-style:normal}
.pchip.on{box-shadow:inset 0 0 0 1.5px #172033,0 2px 8px rgba(23,32,51,.12)}
.scard{background:#FFFFFF;border-radius:16px;padding:11px 12px;box-shadow:0 4px 14px rgba(23,32,51,.14);color:#172033}
.scard b{display:block;font:600 16px/1.2 var(--display)}
.scard span{font-size:11.5px;color:#4A5568}
.scard .chips{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}
.scard .chips em{font-style:normal;font-size:10.5px;padding:3px 8px;border-radius:999px;background:#E6EAF2;color:#172033}
.scard .chips em.g{color:#2F7D55}
.scr-push{position:absolute;left:10px;right:10px;top:150px;background:#FFFFFF;border-radius:16px;padding:10px 12px;display:flex;gap:10px;box-shadow:0 10px 26px rgba(0,0,0,.22);color:#172033}
.scr-push small{display:block;font:600 9.5px var(--display);letter-spacing:1px;color:#4A5568}
.scr-push p{font-size:12px;line-height:16px}
.scr-bottom{position:absolute;left:12px;right:12px;bottom:14px;display:grid;gap:7px}
.scr-bottom .go{height:40px;border-radius:12px;background:#FF7A3D;color:#172033;display:flex;align-items:center;justify-content:center;gap:7px;font:600 13px var(--text)}
.feat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
.feat li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px}
.feat .ic{width:44px;height:44px;border-radius:14px;background:var(--panel);display:grid;place-items:center;color:var(--accent-text)}
.feat b{display:block;font:600 18px/1.25 var(--display);margin-bottom:3px}
.feat p{font-size:15.5px;line-height:23px;color:var(--muted)}
.feat .soon{font:600 10.5px var(--display);letter-spacing:1px;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 6px;margin-left:6px;vertical-align:2px}
.demo-link{display:inline-flex;align-items:center;gap:8px;margin-top:36px;font:600 16px var(--text);color:var(--accent-text);text-decoration:none}
.demo-link:hover{text-decoration:underline;text-underline-offset:4px}

/* ---------- Salud ---------- */
.health{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.name-split{display:grid;gap:18px;margin-top:28px}
.name-split div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center}
.name-split b{font:600 46px/1 var(--display);letter-spacing:-1.5px}
.name-split b.o{color:var(--accent-text)}
.name-split span{color:var(--muted);font-size:16px;line-height:24px}
.vcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.vcard{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:8px}
.vcard.wide{grid-column:1 / -1}
.vphoto{grid-column:1 / -1;position:relative;border-radius:22px;overflow:hidden;aspect-ratio:16/8}
.vphoto .photo{object-position:50% 78%}
.vphoto p{position:absolute;left:14px;bottom:14px;right:14px;background:rgba(23,32,51,.8);color:#F7F8FB;border-radius:14px;padding:10px 14px;font-size:14px;line-height:20px}
.vphoto b{font:600 15px var(--display)}
.vcard h4{font:600 14px var(--text);color:var(--muted)}
.vcard .num{font:600 40px/1 var(--display);letter-spacing:-1px;font-variant-numeric:tabular-nums}
.vcard .num small{font:500 15px var(--text);color:var(--muted);letter-spacing:0;margin-left:4px}
.vcard .pill{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font:600 12.5px var(--text);padding:4px 10px;border-radius:999px;background:var(--panel);color:var(--good)}
.vcard svg.spark{width:100%;height:auto;display:block}
.vcard .note{font-size:13px;color:var(--muted)}
.tagsoon{display:inline-block;font:600 11px var(--display);letter-spacing:1px;text-transform:uppercase;color:var(--accent-text);margin-bottom:2px}
.bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:end;height:110px;margin-top:6px}
.bars div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}
.bars i{display:block;width:100%;border-radius:8px 8px 4px 4px;background:var(--panel);border:1px solid var(--line)}
.bars i.t{background:var(--signal);border-color:var(--signal)}
.bars span{font-size:12px;color:var(--muted)}

/* ---------- Comparación ---------- */
.table-wrap{overflow-x:auto;border-radius:22px;border:1px solid var(--line);background:var(--surface)}
table.cmp{width:100%;min-width:640px;border-collapse:collapse;font-size:15.5px}
.cmp th,.cmp td{padding:16px 20px;text-align:left;border-top:1px solid var(--line);vertical-align:top}
.cmp thead th{border-top:0;font:600 15px var(--display);background:var(--panel)}
.cmp thead th.us{background:var(--night);color:var(--on-night)}
.cmp td.us{background:rgba(255,122,61,.07);font-weight:600}
.cmp tbody th{font-weight:500;color:var(--muted);width:30%}
.yes,.no,.part{display:inline-flex;align-items:center;gap:6px}
.yes svg{color:var(--good)}
.no svg{color:var(--muted)}
.part{color:var(--muted)}

/* ---------- Planes ---------- */
.plan{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0;border-radius:28px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.plan .l{padding:40px;display:flex;flex-direction:column;gap:18px}
.plan .r{padding:40px;background:var(--night);color:var(--on-night);display:flex;flex-direction:column;gap:18px;justify-content:center}
.plan h3{font:600 30px/1.1 var(--display);letter-spacing:-.6px}
.plan .r p{color:var(--on-night-muted)}
.plan .r .big{font:600 22px/1.25 var(--display);color:var(--on-night)}
.plan .opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.plan .opts div{border:1px solid rgba(247,248,251,.18);border-radius:16px;padding:14px 16px}
.plan .opts b{display:block;font:600 17px var(--display)}
.plan .opts span{font-size:14px;color:var(--on-night-muted)}

/* ---------- Historia ---------- */
.story{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.story-fig{display:flex;flex-direction:column}
.story-art{border-radius:28px;background:var(--night);aspect-ratio:4/3;position:relative;overflow:hidden}
.story blockquote{margin:0;font:500 clamp(22px,2.4vw,28px)/1.35 var(--display);letter-spacing:-.3px;text-wrap:pretty}
.story .body{display:flex;flex-direction:column;gap:18px}
.story p{color:var(--muted)}

/* ---------- Preguntas ---------- */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.faq details{border-top:1px solid var(--line);padding:20px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font:600 19px/1.35 var(--display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 26px/1 var(--text);color:var(--accent-text);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:12px;color:var(--muted);max-width:62ch}

/* ---------- Lista de espera ---------- */
.join{background:var(--night);color:var(--on-night)}
.join .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding-block:88px}
.join .h2{color:var(--on-night)}
.join .lead{color:var(--on-night-muted)}
form.wl{background:var(--surface);color:var(--ink);border-radius:26px;padding:30px;display:grid;gap:16px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.field{display:grid;gap:6px}
.field > span,.fs legend{font-size:14px;color:var(--muted)}
.input{height:50px;border-radius:14px;border:1px solid var(--line);background:var(--bg);padding:0 14px;font-size:16px;width:100%;min-width:0}
.input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fs{border:0;padding:0;margin:0;display:grid;gap:8px}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg span{display:flex;align-items:center;justify-content:center;height:46px;border-radius:14px;border:1px solid var(--line);font:600 15px var(--text);background:var(--bg)}
.seg input:checked + span{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.seg input:focus-visible + span{outline:2px solid var(--signal);outline-offset:2px}
.err{color:var(--accent-text);font-size:14px;min-height:20px}
.ok{display:grid;gap:12px;text-align:left}
.ok .mark{width:56px;height:56px;border-radius:50%;background:var(--signal);color:var(--on-signal);display:grid;place-items:center}
.ok h3{font:600 26px/1.15 var(--display)}
.ok p{color:var(--muted)}
.small{font-size:13px;color:var(--muted)}

/* ---------- Pie ---------- */
footer{background:var(--night);color:var(--on-night-muted);border-top:1px solid rgba(247,248,251,.08)}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-block:36px;font-size:14px}
footer .logo{font-size:24px}
footer nav{display:flex;gap:22px;flex-wrap:wrap}
footer a{text-decoration:none}
footer a:hover{color:var(--on-night)}

@media (max-width: 980px){
  .nav{display:none}
  .hero .wrap,.app-grid,.health,.story,.faq,.join .wrap{grid-template-columns:minmax(0,1fr)}
  .hero .wrap{padding-block:32px 64px;gap:28px}
  .stage{max-width:460px}
  .plan{grid-template-columns:minmax(0,1fr)}
  .section{padding-block:72px}
}
@media (max-width: 760px){
  .products,.steps,.promise .wrap,.studio{grid-template-columns:minmax(0,1fr)}
  .studio{padding:40px 20px 28px;gap:40px}
  .dev-dog svg{max-width:300px}
  .dev-cat svg{max-width:215px}
  .feat{grid-template-columns:minmax(0,1fr)}
  .product .art{height:250px}
  .top .btn span{display:none}
  .top .btn{width:44px;padding:0}
  .f1{left:0}
  .f2,.f3{display:none}
  .float{max-width:210px;font-size:12.5px;line-height:17px;padding:8px 10px}
  .float .ic{width:28px;height:28px}
  .plan .l,.plan .r{padding:28px}
  .vcards{grid-template-columns:minmax(0,1fr)}
  .name-split div{grid-template-columns:96px minmax(0,1fr)}
  .name-split b{font-size:38px}
}
@media (max-width: 420px){
  .two,.plan .opts{grid-template-columns:minmax(0,1fr)}
  form.wl{padding:22px}
  .f3{left:12%}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ---------- Agregados del sitio reducido ---------- */
[hidden]{display:none!important}
.vphoto{background:var(--panel)}
/* Portada: la órbita del logo es el borde de la foto */
.stage .ring{position:absolute;left:7%;top:4%;width:86%;aspect-ratio:1}
.stage .ring .ph-big{position:absolute;inset:1.4%;width:auto;left:1.4%;top:1.4%;border-radius:50%;box-shadow:0 24px 60px rgba(0,0,0,.38)}
.stage .ring .orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.stage .ph-small{width:31%;left:-1%;right:auto;bottom:-1%;border:6px solid var(--night)}
.stage .ph-small .photo{object-position:66% 58%}
.stage .f1{top:3%;left:-7%}
.stage .f2{top:38%;right:-9%}
.stage .f3{bottom:3%;right:-3%;left:auto}
@media (max-width:760px){.stage .f1{left:-2%}.stage .ph-small{border-width:5px}}
.doc a.btn-ink{color:var(--bg)}
.doc ul+p{margin-top:12px}
.illus{margin-top:12px;font-size:12.5px;color:var(--on-night-muted)}
.phone-cap{margin-top:14px;text-align:center;font-size:13px;color:var(--muted)}
.check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;font-size:14px;line-height:20px;color:var(--muted);cursor:pointer}
.check input{width:20px;height:20px;margin:0;accent-color:var(--ink);cursor:pointer}
.check a{color:var(--ink);text-underline-offset:3px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.btn[disabled]{opacity:.7;cursor:progress;transform:none}
footer .legal{max-width:62ch}
footer .legal a{text-decoration:underline;text-underline-offset:3px}

/* Páginas de texto (privacidad, gracias, 404) */
.page{padding-block:72px 96px}
.page .wrap{max-width:820px}
.doc h1{font:600 clamp(36px,5vw,56px)/1.04 var(--display);letter-spacing:-1.6px;margin:14px 0 18px}
.doc h2{font:600 24px/1.2 var(--display);letter-spacing:-.4px;margin:44px 0 12px}
.doc p,.doc li{color:var(--muted);max-width:68ch}
.doc p+p{margin-top:12px}
.doc ul{display:grid;gap:8px;margin-top:10px}
.doc li{position:relative;padding-left:20px}
.doc li::before{content:"";position:absolute;left:2px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--signal)}
.doc a{color:var(--accent-text);text-underline-offset:3px}
.doc .meta{font-size:14px;color:var(--muted)}
.doc table{width:100%;border-collapse:collapse;margin-top:12px;font-size:15.5px}
.doc th,.doc td{text-align:left;padding:12px 14px;border-top:1px solid var(--line);vertical-align:top}
.doc th{font-weight:600;color:var(--ink);width:34%}
.doc td{color:var(--muted)}
.done{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.done .mark{width:64px;height:64px;border-radius:50%;background:var(--signal);color:var(--on-signal);display:grid;place-items:center}
@media (max-width:760px){.doc th{width:40%}}
