@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url(/fonts/dmsans-site-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url(/fonts/dmsans-site-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/dmmono-400-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/dmmono-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/dmmono-500-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/dmmono-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/instrumentserif-italic-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/instrumentserif-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --paper:#f7f4ed; --paper-2:#f1ede4; --paper-3:#e9e4d8; --card:#fffdf9;
  --ink:#1c1c1c; --ink-2:#2a2a28; --mid:#6f6d66; --soft:#8f8c84;
  --line:#e3e0d8; --line-2:#d4d0c6; --line-3:#b8b3a9;
  --green:#3a7d4f; --green-2:#2f6a42; --green-soft:#e3eee5; --green-ink:#1f4d2e;
  --amber:#b7791f; --amber-soft:#f6ecd9;
  --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Instrument Serif",Georgia,serif;
  --mono:"DM Mono",ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.22,.8,.2,1);
  --r:18px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.035em;line-height:1.05;text-wrap:balance}
p{margin:0}
em.s{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
::selection{background:var(--green);color:#fff}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
section{padding-block:120px;position:relative}
/* Keep offscreen landing sections in the DOM without laying out every card at startup. */
#top>section:not(.hero){content-visibility:auto;contain-intrinsic-block-size:auto 700px}
#top>#funciones{contain-intrinsic-block-size:auto 2800px}
#top>#planes{contain-intrinsic-block-size:auto 1200px}
@media(min-width:601px) and (max-width:960px){#top>#funciones{contain-intrinsic-block-size:auto 4000px}}
@media(max-width:600px){
  #top>#features{contain-intrinsic-block-size:auto 1080px}
  #top>#flujo{contain-intrinsic-block-size:auto 1320px}
  #top>#funciones{contain-intrinsic-block-size:auto 880px}
  #top>#faq{contain-intrinsic-block-size:auto 1040px}
}
.kick{display:inline-flex;align-items:center;gap:10px;font:500 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mid)}
.kick b{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}
.h2{font-size:clamp(34px,5vw,64px)}
.lead{color:var(--mid);font-size:18px;max-width:56ch}
.head{display:grid;gap:18px;max-width:780px;margin-bottom:56px}
.head.c{margin-inline:auto;text-align:center;justify-items:center}
.mono{font-family:var(--mono)}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font:600 15px var(--sans);transition:transform .2s var(--ease),background .2s,box-shadow .2s;white-space:nowrap;border:1px solid transparent}
.btn:active{transform:scale(.97)}
.btn-ink{background:var(--ink);color:var(--paper);box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 10px 24px -12px rgba(28,28,28,.55)}
.btn-ink:hover{background:#000}
.btn-ln{border-color:var(--line-3);background:rgba(255,255,255,.4)}
.btn-ln:hover{background:#fff}
.btn-g{background:var(--green);color:#fff;box-shadow:0 10px 24px -12px rgba(58,125,79,.8)}
.btn-g:hover{background:var(--green-2)}
.btn .ar{transition:transform .25s var(--ease)}
.btn:hover .ar{transform:translateX(3px)}

/* vidrio sobre papel */
.glass{background:linear-gradient(180deg,rgba(255,253,249,.78),rgba(247,244,237,.62));backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid rgba(28,28,28,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 40px -24px rgba(28,28,28,.35)}

/* NAV flotante */
.nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:50;width:min(1120px,calc(100% - 24px));display:flex;align-items:center;gap:8px;padding:8px 8px 8px 18px;border-radius:999px;transition:box-shadow .3s}
.logo{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:17px;letter-spacing:-.02em}
.logo i{width:11px;height:11px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--ink)}
.logo span{color:var(--soft);font-weight:500}
.nav ul{display:flex;gap:4px;list-style:none;margin:0 auto;padding:0}
.nav ul a{display:block;padding:9px 14px;border-radius:999px;font-size:14.5px;color:var(--ink-2)}
.nav ul a:hover{background:rgba(28,28,28,.06)}
.nav .in{font-size:14.5px;padding:9px 14px;font-weight:500}
.nav .btn{min-height:42px;padding:0 18px;font-size:14px}
@media (max-width:860px){.nav ul,.nav .in{display:none}.nav{justify-content:space-between}}

/* HERO */
.hero{padding-top:150px;padding-bottom:70px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);opacity:.7;pointer-events:none}
.hero .wrap{position:relative;z-index:2;text-align:center;display:grid;justify-items:center;gap:26px}
.hero::before{z-index:1}
.hero-bg{position:absolute;inset:0 0 auto 0;height:min(1000px,100%);width:100%;object-fit:cover;object-position:50% 40%;z-index:0;opacity:0;transition:opacity 1.6s var(--ease);filter:saturate(.55) sepia(.12) brightness(1.06);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 45%,transparent 92%);mask-image:linear-gradient(180deg,#000 0%,#000 45%,transparent 92%);pointer-events:none}
.hero-bg.on{opacity:.38}
.hero-wash{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 62% 48% at 50% 34%,rgba(247,244,237,.92) 0%,rgba(247,244,237,.55) 60%,rgba(247,244,237,.2) 100%);pointer-events:none}
@media (max-width:860px){.hero-bg,.hero-wash{display:none}}
.nets{display:inline-flex;align-items:center;gap:14px;padding:8px 10px 8px 16px;border-radius:999px}
.nets .t{font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mid)}
.nets .ic{display:flex;gap:6px}
.nets img{width:22px;height:22px;border-radius:6px;background:#fff;padding:3px;box-shadow:0 0 0 1px var(--line)}
.hero h1{font-size:clamp(44px,8.2vw,108px);max-width:14ch;letter-spacing:-.05em;line-height:.98}
.hero h1 em.s{color:var(--green);letter-spacing:-.03em}
.board{contain:layout}
.hero .lead{text-align:center;font-size:clamp(17px,1.6vw,19.5px)}
.cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.hero .note{font-size:13.5px;color:var(--mid)}
.hero .note b{color:var(--ink);font-weight:600}

/* tablero de la semana */
.board{position:relative;margin-top:44px;width:100%;max-width:1120px;border-radius:26px;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 0 #fff inset,0 50px 90px -50px rgba(28,28,28,.45),0 0 0 8px rgba(255,255,255,.45);text-align:left;overflow:hidden}
.bar{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:linear-gradient(#fffdf9,#faf8f3)}
.bar .dots{display:flex;gap:6px}.bar .dots i{width:10px;height:10px;border-radius:50%;background:var(--line-2)}
.bar .ttl{font-weight:600;font-size:14px}
.bar .ttl small{color:var(--mid);font-weight:400;margin-left:6px}
.bar .seg{margin-left:auto;display:flex;gap:2px;background:var(--paper-2);border-radius:999px;padding:3px;font-size:12.5px}
.bar .seg span{padding:5px 12px;border-radius:999px;color:var(--mid)}
.bar .seg span.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.week{display:grid;grid-template-columns:repeat(7,1fr);min-height:400px}
.day{border-right:1px solid var(--line);padding:12px 10px;display:flex;flex-direction:column;gap:9px;position:relative}
.day:last-child{border-right:0}
.day .dh{display:flex;justify-content:space-between;align-items:baseline;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-bottom:4px}
.day .dh b{font:600 20px var(--sans);letter-spacing:-.03em;color:var(--ink)}
.day.today{background:linear-gradient(180deg,var(--green-soft),transparent 60%)}
.day.today .dh b{color:var(--green)}
.post{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 10px 10px;box-shadow:0 6px 14px -10px rgba(28,28,28,.35);font-size:12.5px;line-height:1.35}
.post .pt{display:flex;align-items:center;gap:6px;font:500 10.5px var(--mono);color:var(--mid);margin-bottom:6px}
.post .pt img{width:14px;height:14px}
.post .th{height:46px;border-radius:7px;margin-bottom:7px;background:var(--paper-3);position:relative;overflow:hidden}
.th.a{background:linear-gradient(135deg,#d9c7a7,#b98f5a)}
.th.b{background:linear-gradient(135deg,#9fc1a6,#3a7d4f)}
.th.c{background:linear-gradient(135deg,#2a2a28,#55524b)}
.th.d{background:linear-gradient(135deg,#e8d9c4,#d4b08a)}
.th.e{background:linear-gradient(135deg,#cfd8cc,#8aa58f)}
.th .sl{position:absolute;bottom:5px;left:6px;display:flex;gap:3px}.th .sl i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.6)}.th .sl i:first-child{background:#fff}
.post .tx{font-weight:500;color:var(--ink)}
.chip{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font:500 10px var(--mono);letter-spacing:.04em;padding:3px 7px;border-radius:999px;background:var(--paper-2);color:var(--mid)}
.chip::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.chip.ok{background:var(--green-soft);color:var(--green-ink)}
.chip.rev{background:var(--amber-soft);color:#8a5a12}
.chip.pub{background:var(--ink);color:var(--paper)}
/* tarjeta viva */
.post.live{border-color:var(--ink);box-shadow:0 0 0 3px rgba(28,28,28,.06),0 16px 26px -16px rgba(28,28,28,.6)}
.stamp{position:absolute;right:-10px;top:-14px;width:68px;height:68px;border-radius:50%;border:2px solid var(--green);color:var(--green);display:grid;place-items:center;text-align:center;font:500 8.5px/1.15 var(--mono);letter-spacing:.08em;text-transform:uppercase;transform:rotate(-14deg) scale(1.6);opacity:0;background:rgba(255,253,249,.82);pointer-events:none}
.stamp::before{content:"";position:absolute;inset:4px;border-radius:50%;border:1px dashed var(--green)}
.stamp b{display:block;font:600 13px var(--sans);letter-spacing:-.02em;text-transform:none}
.post.live.done .stamp{animation:stamp .5s var(--ease) forwards}
@keyframes stamp{60%{opacity:1;transform:rotate(-14deg) scale(.92)}100%{opacity:1;transform:rotate(-14deg) scale(1)}}
.queue{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:999px;font-size:13px;white-space:nowrap}
.queue .q-i{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(58,125,79,.5)}100%{box-shadow:0 0 0 10px rgba(58,125,79,0)}}
.queue .q-s{font:500 11px var(--mono);padding:5px 10px;border-radius:999px;background:var(--ink);color:var(--paper)}
/* agenda del día (celular) */
.agenda{display:none}
@media (max-width:860px){
  .week{display:none}
  .agenda{display:grid;gap:10px;padding:14px}
  .agenda .ah{display:flex;justify-content:space-between;align-items:baseline;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mid);padding:2px 2px 4px}
  .agenda .ah b{font:600 22px var(--sans);letter-spacing:-.03em;color:var(--ink);text-transform:none}
  .ag{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:start}
  .ag time{font:500 12px var(--mono);color:var(--mid);padding-top:12px;border-top:1px solid var(--line)}
  .ag .post{font-size:13.5px}
  .bar .seg{display:none}
  .stamp{right:4px;top:-10px;width:62px;height:62px}
  .nets{flex-direction:column;gap:8px;padding:10px 14px;border-radius:20px}
  .nets .ic{gap:5px}
  .board{border-radius:22px;margin-top:30px}
  .queue{position:static;transform:none;margin:4px 14px 16px;justify-content:space-between}
}
@media (min-width:641px) and (max-width:860px){.week{display:grid;grid-template-columns:repeat(4,1fr);min-height:360px}.day:nth-child(n+5){display:none}.agenda{display:none}.board .stamp{right:-6px}}
@media (min-width:861px) and (max-width:1080px){.day:nth-child(n+6){display:none}.week{grid-template-columns:repeat(5,1fr)}}

/* DEMO VIDEO */
.demo{padding-block:40px 120px}
.env{position:relative;border-radius:28px;padding:14px;background:var(--ink);box-shadow:0 60px 100px -60px rgba(28,28,28,.7)}
.env::before{content:"";position:absolute;inset:0;border-radius:28px;padding:6px;background:repeating-linear-gradient(135deg,#c94b3c 0 14px,var(--ink) 14px 22px,#3d6fb5 22px 36px,var(--ink) 36px 44px);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.9}
.env video{width:100%;aspect-ratio:16/9;border-radius:16px;background:#111;object-fit:cover}
.env .lbl{position:absolute;left:30px;top:30px;display:flex;gap:8px}
.env .lbl span{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:6px 11px;border-radius:999px;background:rgba(255,253,249,.92);color:var(--ink)}
.cap{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px;flex-wrap:wrap}
.cap p{font-size:clamp(20px,2.4vw,28px);letter-spacing:-.025em;font-weight:500;max-width:30ch}
.cap p em.s{color:var(--green)}

/* CÓMO FUNCIONA — 4 pasos */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--ink)}
.step{padding:28px 24px 0 0;position:relative}
.step+.step{padding-left:24px;border-left:1px solid var(--line)}
.step .n{font:500 13px var(--mono);color:var(--green);display:flex;align-items:center;gap:10px}
.step .n::after{content:"";flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--line-2) 0 4px,transparent 4px 8px)}
.step h3{font-size:24px;margin:22px 0 10px}
.step p{color:var(--mid);font-size:15.5px}
.step .st{margin-top:22px}
@media (max-width:960px){.steps{grid-template-columns:1fr 1fr;row-gap:40px}.step:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:560px){.steps{grid-template-columns:1fr;border-top:0;row-gap:0}.step,.step+.step{padding:24px 0;border-left:0;border-top:1px solid var(--line)}.step h3{margin-top:14px}}

/* FLUJO (oscuro) */
.dark{background:var(--ink);color:var(--paper)}
.dark .kick{color:rgba(247,244,237,.6)}
.dark .kick b{box-shadow:0 0 0 4px rgba(58,125,79,.3)}
.dark .lead{color:rgba(247,244,237,.66)}
.flow{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.phase{display:grid;gap:0}
.ph{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:22px 0;border-top:1px solid rgba(247,244,237,.12);cursor:pointer;transition:opacity .3s}
.ph:last-child{border-bottom:1px solid rgba(247,244,237,.12)}
.ph .k{font:500 12px var(--mono);letter-spacing:.1em;color:rgba(247,244,237,.5);padding-top:6px;min-width:96px}
.ph h3{font-size:clamp(22px,2.4vw,30px)}
.ph p{color:rgba(247,244,237,.62);margin-top:8px;max-width:46ch}
.ph:not(.on){opacity:.42}
.ph.on .k{color:#8fd1a2}
.lane{border-radius:24px;background:#232321;border:1px solid rgba(247,244,237,.1);padding:20px;display:grid;gap:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.lane .lh{display:flex;justify-content:space-between;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(247,244,237,.5)}
.slot{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:14px;background:#2b2b29;border:1px solid rgba(247,244,237,.07);transition:background .4s,border-color .4s,transform .4s var(--ease)}
.slot .ti{width:44px;height:44px;border-radius:10px}
.slot b{display:block;font-weight:600;font-size:14.5px}
.slot small{color:rgba(247,244,237,.55);font:500 11.5px var(--mono)}
.slot .chip{margin:0;background:rgba(247,244,237,.08);color:rgba(247,244,237,.7)}
.slot.hl{background:#30302d;border-color:rgba(143,209,162,.4);transform:translateX(-6px)}
.slot .chip.ok{background:rgba(58,125,79,.28);color:#a6dfb6}
.slot .chip.pub{background:var(--paper);color:var(--ink)}
.slot .chip.rev{background:rgba(183,121,31,.25);color:#f0c27a}
@media (max-width:560px){.lane{padding:14px;border-radius:20px}.slot{grid-template-columns:38px 1fr;gap:4px 12px;padding:11px}.slot .ti{width:38px;height:38px;grid-row:span 2}.slot .chip{justify-self:start}.slot b{font-size:14px}.slot.hl{transform:none}}
@media (max-width:900px){.flow{grid-template-columns:1fr;gap:36px}.ph:not(.on){opacity:1}.ph .k{min-width:0}.ph{grid-template-columns:1fr;gap:6px}}

/* FUNCIONES */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.tab{padding:10px 16px;border-radius:999px;border:1px solid var(--line-2);font-size:14px;font-weight:500;background:rgba(255,255,255,.4);transition:background .2s,color .2s,border-color .2s}
.tab small{font:500 11px var(--mono);color:var(--soft);margin-left:6px}
.tab.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tab.on small{color:rgba(247,244,237,.6)}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
article.ft{position:relative;padding:22px 22px 20px;background:var(--card);border-radius:16px;border:1px solid var(--line);display:grid;gap:8px;align-content:start;transition:transform .3s var(--ease),box-shadow .3s}
article.ft:hover{transform:translateY(-3px);box-shadow:0 18px 30px -20px rgba(28,28,28,.35)}
/* borde perforado tipo estampilla */
article.ft::after{content:"";position:absolute;inset:-1px;border-radius:16px;pointer-events:none;background:radial-gradient(circle at 0 50%,var(--paper) 5px,transparent 5.5px) left/10px 18px repeat-y;opacity:0}
article.ft h3{font-size:17px;letter-spacing:-.02em}
article.ft p{color:var(--mid);font-size:14.5px;line-height:1.5}
article.ft .tag{font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
article.ft[hidden]{display:none}
.feats-more{margin-top:20px;display:none}
@media (max-width:960px){.feats{grid-template-columns:1fr 1fr}}
@media (max-width:600px){
  .tabs{flex-wrap:nowrap;overflow-x:auto;margin-inline:-20px;padding-inline:20px;scrollbar-width:none;scroll-snap-type:x mandatory}
  .tabs::-webkit-scrollbar{display:none}
  .tab{flex:none;scroll-snap-align:start}
  .feats{grid-template-columns:1fr;gap:10px}
  article.ft{grid-template-columns:1fr;padding:18px}
  .feats.clip article.ft:nth-of-type(n+5){display:none}
  .feats-more{display:flex}
}

/* TOOLKIT 10 (estampillas) */
.kit{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.stampc{position:relative;padding:20px 18px 22px;background:var(--card);min-height:220px;display:flex;flex-direction:column;gap:10px;
  -webkit-mask:radial-gradient(circle 5px at 8px 8px,transparent 96%,#000) -8px -8px/16px 16px round,linear-gradient(#000,#000) center/calc(100% - 14px) calc(100% - 14px) no-repeat;
  mask:radial-gradient(circle 5px at 8px 8px,transparent 96%,#000) -8px -8px/16px 16px round,linear-gradient(#000,#000) center/calc(100% - 14px) calc(100% - 14px) no-repeat;
}
.stampc-wrap{filter:drop-shadow(0 12px 18px rgba(28,28,28,.12));transition:transform .35s var(--ease)}
.stampc-wrap:hover{transform:translateY(-4px) rotate(-.6deg)}
.stampc-in{position:absolute;inset:10px;border:1px solid var(--line);pointer-events:none}
.stampc .no{font:500 12px var(--mono);color:var(--green)}
.stampc h3{font-size:18px;letter-spacing:-.02em}
.stampc p{font-size:14px;color:var(--mid);line-height:1.5}
.beta{display:inline-block;font:500 9.5px var(--mono);letter-spacing:.1em;padding:2px 6px;border-radius:5px;background:var(--amber-soft);color:#8a5a12;vertical-align:middle;margin-left:6px}
.stampc-wrap.hi .stampc{background:var(--ink);color:var(--paper)}
.stampc-wrap.hi .stampc p{color:rgba(247,244,237,.66)}
.stampc-wrap.hi .stampc-in{border-color:rgba(247,244,237,.16)}
.stampc-wrap.hi .no{color:#8fd1a2}
@media (max-width:1080px){.kit{grid-template-columns:repeat(3,1fr)}.kit .hi{grid-column:span 2}.stampc{min-height:190px}}
@media (max-width:700px){.kit{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding:6px 20px 18px;scroll-padding-inline:20px;gap:12px;scrollbar-width:none}.kit::-webkit-scrollbar{display:none}.kit .hi{grid-column:auto}.stampc-wrap{scroll-snap-align:start}.stampc-wrap.rv{opacity:1;transform:none}.stampc{min-height:200px;padding:20px 18px 22px}.stampc h3{font-size:16px}.stampc p{font-size:13.5px}}

.swipe-hint{display:none;font:500 12px var(--mono)!important;letter-spacing:.06em;color:var(--soft)!important}
@media (max-width:700px){.swipe-hint{display:block}}
/* BYOK */
.byok{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
.bk{border-radius:24px;padding:34px;background:var(--card);border:1px solid var(--line);display:grid;gap:18px;align-content:start}
.bk.g{background:var(--green);color:#fff;border-color:var(--green)}
.bk.g .lead{color:rgba(255,255,255,.82)}
.bk h3{font-size:clamp(26px,3vw,38px)}
.prov{display:flex;flex-wrap:wrap;gap:8px}
.prov span{font:500 13px var(--mono);padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2)}
.key{font:500 14px var(--mono);background:var(--ink);color:var(--paper);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:12px;overflow:hidden}
.key i{width:9px;height:9px;border-radius:50%;background:#8fd1a2;flex:none}
.key .k{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:rgba(247,244,237,.7)}
.key .k b{color:var(--paper);font-weight:500}
.lst{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.lst li{display:grid;grid-template-columns:22px 1fr;gap:10px;color:var(--ink-2);font-size:15.5px}
.lst li::before{content:"";width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.5L12 5.4' fill='none' stroke='%233a7d4f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
@media (max-width:860px){.byok{grid-template-columns:1fr}.bk{padding:26px}}

/* ANTES / CON */
.vs{display:grid;grid-template-columns:1fr 1fr;border-radius:26px;overflow:hidden;border:1px solid var(--line)}
.vs .col{padding:34px 34px 30px}
.vs .col.no{background:var(--paper-2)}
.vs .col.si{background:var(--card)}
.vs h3{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:22px}
.vs .si h3{color:var(--green)}
.vs .no h3{color:var(--soft)}
.vs ul{list-style:none;margin:0;padding:0;display:grid}
.vs li{padding:16px 0;border-top:1px solid var(--line);font-size:17px;letter-spacing:-.01em;display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start}
.vs .no li{color:var(--mid);text-decoration:line-through;text-decoration-color:rgba(111,109,102,.45)}
.vs .no li::before{content:"×";font:500 18px/1.3 var(--mono);color:var(--line-3)}
.vs .si li{font-weight:500}
.vs .si li::before{content:"✓";font:600 15px/1.6 var(--mono);color:var(--green)}
.vs-sw{display:none}
@media (max-width:760px){
  .vs{grid-template-columns:1fr;border:0;border-radius:0;overflow:visible}
  .vs-sw{display:flex;position:sticky;top:76px;z-index:5;margin:0 auto 14px;padding:5px;border-radius:999px;width:max-content}
  .vs-sw button{padding:10px 18px;border-radius:999px;font-size:14px;font-weight:600;color:var(--mid)}
  .vs-sw button.on{background:var(--ink);color:var(--paper)}
  .vs .col{border-radius:22px;border:1px solid var(--line);padding:24px 22px}
  .vs .col[hidden]{display:none}
  .vs li{font-size:16px}
}

/* PLANES */
.sw{display:inline-flex;padding:5px;border-radius:999px;background:var(--card);border:1px solid var(--line);gap:2px;margin:0 auto 40px}
.sw button{padding:10px 18px;border-radius:999px;font-size:14.5px;font-weight:600;color:var(--mid);display:inline-flex;gap:8px;align-items:center}
.sw button.on{background:var(--ink);color:var(--paper)}
.sw .sv{font:500 10.5px var(--mono);padding:3px 7px;border-radius:999px;background:var(--green-soft);color:var(--green-ink)}
.sw button.on .sv{background:var(--green);color:#fff}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.plan{position:relative;border-radius:26px;padding:30px 28px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:22px}
.plan.hi{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 40px 70px -40px rgba(28,28,28,.7)}
.plan .who{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.plan.hi .who{color:#8fd1a2}
.plan h3{font-size:30px;margin-top:6px}
.price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price .cur{font:500 14px var(--mono);color:var(--mid)}
.plan.hi .price .cur,.plan.hi .per{color:rgba(247,244,237,.6)}
.price b{font-size:46px;font-weight:600;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.per{font-size:14px;color:var(--mid)}
.plan .eq{font:500 12px var(--mono);color:var(--green);min-height:18px}
.plan.hi .eq{color:#8fd1a2}
.plan ul{list-style:none;margin:0;padding:22px 0 0;display:grid;gap:11px;border-top:1px dashed var(--line-2);font-size:15px}
.plan.hi ul{border-color:rgba(247,244,237,.18)}
.plan li{display:grid;grid-template-columns:18px 1fr;gap:10px}
.plan li::before{content:"";width:14px;height:14px;margin-top:4px;border-radius:50%;border:1.5px solid var(--green)}
.plan.hi li::before{border-color:#8fd1a2}
.plan li.sub{grid-template-columns:1fr;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-top:4px}
.plan li.sub::before{display:none}
.plan .btn{margin-top:auto;width:100%}
.plan.hi .btn{background:var(--paper);color:var(--ink)}
.plan .badge{position:absolute;top:-12px;right:24px;font:500 10.5px var(--mono);letter-spacing:.12em;padding:6px 11px;border-radius:999px;background:var(--green);color:#fff}
.trial{font-size:12.5px;color:var(--mid);line-height:1.5}
.ptax{text-align:center;margin-top:26px;color:var(--mid);font-size:14px}
.dots-p{display:none}
@media (max-width:960px){
  .plans{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding:14px 20px 10px;scrollbar-width:none;gap:12px}
  .plans::-webkit-scrollbar{display:none}
  .plan{scroll-snap-align:center}
  .dots-p{display:flex;justify-content:center;gap:8px;margin-top:14px}
  .dots-p button{width:32px;height:32px;display:grid;place-items:center}
  .dots-p button::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--line-3);transition:width .3s,background .3s}
  .dots-p button.on::before{width:24px;background:var(--ink)}
}
@media (min-width:601px) and (max-width:960px){.plans{grid-auto-columns:58%}}

/* RECURSOS */
.res{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rs{border-radius:22px;padding:26px;background:var(--card);border:1px solid var(--line);display:grid;gap:12px;align-content:start;transition:transform .3s var(--ease),box-shadow .3s}
.rs:hover{transform:translateY(-3px);box-shadow:0 20px 34px -22px rgba(28,28,28,.4)}
.rs .tag{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.rs h3{font-size:22px}
.rs p{color:var(--mid);font-size:15px}
.rs .go{font-weight:600;font-size:14.5px;margin-top:8px}
.tpl{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-radius:18px;border:1px dashed var(--line-3)}
.tpl p{font-size:15.5px}
@media (max-width:860px){.res{grid-template-columns:1fr}.tpl{flex-direction:column;align-items:flex-start}}

/* FAQ */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.faq .head{position:sticky;top:110px;margin:0}
.qa{border-top:1px solid var(--line-2)}
.qa details{border-bottom:1px solid var(--line-2)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:18px;font-weight:500;letter-spacing:-.015em}
.qa summary::-webkit-details-marker{display:none}
.qa summary .pm{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);position:relative;transition:background .25s,transform .3s var(--ease)}
.qa summary .pm::before,.qa summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%)}
.qa summary .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s var(--ease)}
.qa details[open] .pm{background:var(--ink)}
.qa details[open] .pm::before,.qa details[open] .pm::after{background:var(--paper)}
.qa details[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.qa .ans{color:var(--mid);padding:0 50px 24px 0;font-size:16px;max-width:64ch}
@media (max-width:860px){.faq{grid-template-columns:1fr;gap:28px}.faq .head{position:static}.qa summary{font-size:16.5px}.qa .ans{padding-right:0}}

/* CTA FINAL */
.final{padding-block:30px 120px}
.fin{position:relative;border-radius:34px;background:var(--ink);color:var(--paper);padding:clamp(40px,7vw,90px) clamp(24px,6vw,80px);overflow:hidden;display:grid;gap:26px;justify-items:start}
.fin::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(247,244,237,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(247,244,237,.06) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,#000 70%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 70%)}
.fin h2{position:relative;font-size:clamp(40px,6.4vw,86px);max-width:13ch;letter-spacing:-.05em}
.fin h2 em.s{color:#8fd1a2}
.fin p{position:relative;color:rgba(247,244,237,.68);font-size:18px;max-width:46ch}
.fin .btn{position:relative;background:var(--paper);color:var(--ink)}
.fin .bigstamp{position:absolute;right:clamp(-40px,4vw,70px);bottom:clamp(-40px,3vw,60px);width:clamp(170px,22vw,280px);aspect-ratio:1;border-radius:50%;border:2.5px solid #8fd1a2;color:#8fd1a2;display:grid;place-items:center;text-align:center;transform:rotate(-14deg);font:500 clamp(10px,1vw,13px)/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.9}
.fin .bigstamp::before{content:"";position:absolute;inset:10px;border-radius:50%;border:1px dashed #8fd1a2}
.fin .bigstamp b{display:block;font:600 clamp(28px,3vw,42px)/1 var(--sans);letter-spacing:-.04em;text-transform:none;margin:6px 0}
@media (max-width:700px){.fin .bigstamp{position:relative;right:auto;bottom:auto;width:150px;justify-self:end;margin-top:-10px}}

/* FOOTER */
footer{border-top:1px solid var(--line-2);padding:70px 0 120px}
.ftop{display:grid;grid-template-columns:1.3fr repeat(5,1fr);gap:30px}
.fbrand p{color:var(--mid);font-size:14.5px;margin-top:14px;max-width:30ch}
.fcol h3{margin:0 0 14px;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fcol a{font-size:14px;color:var(--ink-2)}
.fcol a:hover{color:var(--green)}
.soon{display:inline-block;margin-left:6px;font:500 9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:5px;background:var(--green-soft);color:var(--green-ink);vertical-align:1px}
.fbot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--mid)}
.fbig{font-weight:700;letter-spacing:-.06em;font-size:clamp(80px,21vw,300px);line-height:.8;margin-top:56px;color:transparent;-webkit-text-stroke:1.2px var(--line-3);user-select:none;white-space:nowrap;overflow:hidden}
@media (max-width:1000px){.ftop{grid-template-columns:repeat(3,1fr)}.fbrand{grid-column:1/-1}}
@media (max-width:560px){.ftop{grid-template-columns:1fr 1fr;gap:28px 18px}}

/* barra flotante celular */
.mbar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:60;display:none;align-items:center;gap:10px;padding:8px 8px 8px 16px;border-radius:999px;transform:translateY(140%);transition:transform .45s var(--ease)}
.mbar.on{transform:none}
.mbar .t{font-size:13px;line-height:1.25;flex:1;min-width:0}
.mbar .t b{display:block;font-size:14px}
.mbar .t span{color:var(--mid)}
.mbar .btn{min-height:44px;padding:0 18px;font-size:14px}
@media (max-width:860px){.mbar{display:flex}}

/* aparición */
.rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.post.live .stamp{opacity:1;transform:rotate(-14deg)}}
@media (max-width:600px){section{padding-block:84px}.head{margin-bottom:36px}.lead{font-size:16.5px}}

[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--green);outline-offset:4px}

.lp-network-icons,.lp-net{display:flex;align-items:center;gap:6px}.lp-net img{width:22px;height:22px}.lp-net-review{opacity:.55}.plan .price b{font-size:clamp(30px,3.1vw,46px)}

.fcol .posty-analytics-preferences{display:block;margin-top:9px}
/* Small labels meet WCAG contrast while retaining the approved paper and green palette. */
.logo span,.fcol h3,.plan:not(.hi) .who,.plan:not(.hi) li.sub{color:var(--mid)}
.ptax{color:#69675f}

.env .lbl{align-items:center}.env .lbl button{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 12px;border-radius:999px;background:rgba(255,253,249,.95);color:var(--ink);font:500 11px var(--mono)}.env .lbl button span{padding:0;background:none;font:inherit;letter-spacing:0;text-transform:none}.env .lbl button:hover{background:#fff}.env .lbl button svg{flex:none}
