/* ============================================================
   planes.css — página de Planes (LucasX). Usa tokens/base de
   lucasx.css; aquí solo lo específico: nav de página, hero de
   precios, toggle, plan cards, enterprise, pagos, FAQ.
   ============================================================ */
:root{ --r-sm:8px; }

/* ---------- Layout de página: en páginas cortas (/cuenta, /gracias…)
   el footer se va al fondo del viewport en vez de quedar flotando ---------- */
body{min-height:100vh; min-height:100svh; display:flex; flex-direction:column;}
.docfoot{margin-top:auto;}

/* ---------- Nav de página (claro, sticky) ---------- */
.pagenav{position:sticky; top:0; z-index:60; background:color-mix(in oklab,var(--bg) 82%,transparent); backdrop-filter:saturate(150%) blur(14px); border-bottom:1px solid transparent; transition:border-color .3s,box-shadow .3s;}
.pagenav.stuck{border-bottom-color:var(--line); box-shadow:0 8px 30px -22px rgba(12,26,24,.4);}
.pagenav__in{max-width:var(--maxw); margin-inline:auto; padding:15px var(--gut); display:flex; align-items:center; gap:16px;}
.pagenav .brandmark{color:var(--ink); font-size:24px;}
.pagenav .brandmark .dot{background:var(--brand); box-shadow:0 0 0 4px color-mix(in oklab,var(--brand) 22%,transparent);}
.pagenav__links{display:flex; align-items:center; gap:2px; margin-left:6px;}
.pagenav__link{font-size:14.5px; font-weight:600; color:var(--ink-soft); padding:9px 12px; border-radius:var(--r-pill); transition:color .2s,background .2s;}
.pagenav__link:hover{color:var(--ink); background:var(--bg-2);}
.pagenav__link.is-active{color:var(--brand-deep);}
.pagenav__sp{flex:1;}
.pagenav__cta{padding:11px 20px; font-size:14.5px;}
@media(max-width:720px){ .pagenav__links{display:none;} }

/* ---------- Hero de precios ---------- */
.phero{background:var(--bg); text-align:center; padding:clamp(70px,10vw,120px) var(--gut) clamp(28px,4vw,40px);}
.phero__in{max-width:820px; margin-inline:auto;}
.phero .pilltag{color:var(--brand-deep);}
.phero__h{font-family:var(--f-display); font-weight:800; font-size:clamp(38px,6vw,72px); line-height:.98; letter-spacing:-0.04em; margin-top:16px; text-wrap:balance;}
.phero__sub{color:var(--ink-soft); font-size:clamp(15.5px,1.4vw,18px); max-width:60ch; margin:16px auto 0; text-wrap:pretty;}
.phero__sub a{color:var(--brand-deep);}
.phero__trial{margin-top:22px;}

/* ---------- Toggle mensual/anual ---------- */
.toggle{display:inline-flex; align-items:center; gap:4px; margin-top:24px; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r-pill); padding:5px;}
.toggle button{font-family:var(--f-body); font-weight:650; font-size:14px; padding:10px 20px; border-radius:var(--r-pill); color:var(--ink-soft); transition:background .2s,color .2s; display:inline-flex; align-items:center; gap:8px;}
.toggle button.on{background:var(--ink); color:#fff;}
.toggle .save{font-family:var(--f-mono); font-size:10.5px; letter-spacing:.02em; color:var(--brand-deep); background:color-mix(in oklab,var(--brand) 16%,white); padding:2px 8px; border-radius:var(--r-pill);}
.toggle button.on .save{background:var(--brand-glow); color:var(--night);}

/* ---------- Selector de camino (segmentación antes de los planes) ---------- */
.segpick{max-width:var(--maxw); margin:0 auto clamp(30px,4vw,46px); padding-inline:var(--gut);}
.segpick__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.segpick__card{display:flex; flex-direction:column; gap:7px; padding:20px 22px; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); position:relative; transition:transform .22s cubic-bezier(.2,.7,.3,1), box-shadow .22s, border-color .2s;}
.segpick__card:hover{transform:translateY(-3px); box-shadow:var(--sh-md); border-color:color-mix(in oklab,var(--brand) 34%,var(--line));}
.segpick__k{font-family:var(--f-mono); font-size:9.5px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:var(--brand-deep);}
.segpick__t{font-family:var(--f-display); font-weight:800; font-size:19px; letter-spacing:-0.02em; color:var(--ink); display:flex; align-items:center;}
.segpick__t svg{width:17px; height:17px; stroke:var(--brand-deep); fill:none; stroke-width:2.4; margin-left:auto; flex:none; transition:transform .2s;}
.segpick__card:hover .segpick__t svg{transform:translateX(4px);}
.segpick__d{font-size:13px; color:var(--ink-soft); line-height:1.5;}
.segpick__note{text-align:center; font-family:var(--f-mono); font-size:11px; letter-spacing:.04em; color:var(--ink-faint); margin-top:16px;}
@media(max-width:860px){ .segpick__grid{grid-template-columns:1fr;} }

/* ---------- Plan cards ---------- */
.plans-sec{background:var(--bg); padding:clamp(28px,4vw,48px) 0 clamp(56px,8vw,96px);}
.plans{max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch;}
.plan{position:relative; display:flex; flex-direction:column; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:30px 26px; transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s;}
.plan:hover{transform:translateY(-4px); box-shadow:var(--sh-md);}
.plan--pop{border:2px solid var(--brand); box-shadow:var(--sh-md);}
.plan__badge{position:absolute; top:-13px; left:50%; transform:translateX(-50%); font-family:var(--f-mono); font-size:10.5px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; background:var(--brand); color:#fff; padding:5px 14px; border-radius:var(--r-pill); white-space:nowrap;}
.plan__name{font-family:var(--f-display); font-weight:800; font-size:24px; letter-spacing:-0.02em;}
.plan__for{font-size:13.5px; color:var(--ink-faint); margin-top:4px;}
.plan__price{display:flex; align-items:flex-end; gap:6px; margin-top:22px;}
.plan__cur{font-family:var(--f-mono); font-size:15px; color:var(--ink-faint); align-self:flex-start; margin-top:5px;}
.plan__amt{font-family:var(--f-mono); font-weight:500; font-size:46px; line-height:1; color:var(--ink); letter-spacing:-0.03em; font-variant-numeric:tabular-nums;}
.plan__per{font-size:14px; color:var(--ink-faint); padding-bottom:5px;}
.plan__note{font-family:var(--f-mono); font-size:11.5px; color:var(--brand-deep); margin-top:8px; min-height:18px;}
.plan__cta{margin-top:22px;}
.btn--block{width:100%;}
.plan__list{list-style:none; padding:0; margin:22px 0 0; display:grid; gap:11px;}
.plan__list li{position:relative; padding-left:28px; font-size:14.5px; color:var(--ink-soft); line-height:1.45;}
.plan__list li::before{content:""; position:absolute; left:0; top:2px; width:18px; height:18px; border-radius:50%; background:color-mix(in oklab,var(--brand) 15%,white); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230A6F62' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:center;}
.plan__list li.key{color:var(--ink); font-weight:650;}
.plan__list li.key b{font-weight:800;}
.plan__list li.muted{color:var(--ink-faint);}
.plan__list li.muted::before{background:var(--bg-2); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%237A8984' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");}
.plans__note{text-align:center; font-family:var(--f-mono); font-size:11.5px; color:var(--ink-faint); max-width:60ch; margin:26px auto 0; line-height:1.7;}
@media(max-width:900px){ .plans{grid-template-columns:1fr; max-width:460px;} .plan--pop{order:-1;} }

/* ---------- Enterprise ---------- */
.entband{max-width:var(--maxw); margin:clamp(24px,3vw,36px) auto 0; padding-inline:var(--gut);}
.ent{position:relative; overflow:hidden; display:grid; grid-template-columns:1.4fr .9fr; gap:clamp(24px,4vw,48px); align-items:center; border:1px solid var(--night-line); border-radius:var(--r-lg); padding:clamp(28px,4vw,44px); background:radial-gradient(120% 150% at 100% 0%,rgba(91,231,206,.16),transparent 55%),var(--night); color:var(--night-text); box-shadow:var(--sh-lg);}
.ent::before{content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:42px 42px; -webkit-mask-image:radial-gradient(80% 90% at 100% 0%,#000 10%,transparent 70%); mask-image:radial-gradient(80% 90% at 100% 0%,#000 10%,transparent 70%);}
.ent>*{position:relative; z-index:1;}
.ent__tag{font-family:var(--f-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--brand-glow); display:inline-flex; align-items:center; gap:8px;}
.ent__tag::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--brand-glow);}
.ent__h{font-family:var(--f-display); font-weight:800; font-size:clamp(22px,2.6vw,30px); line-height:1.08; letter-spacing:-0.02em; color:#fff; margin-top:12px; text-wrap:balance;}
.ent__d{color:var(--night-text); font-size:15px; line-height:1.6; margin-top:12px; max-width:54ch;}
.ent__caps{list-style:none; padding:0; margin:18px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:9px 20px;}
.ent__caps li{position:relative; padding-left:22px; font-size:13.5px; color:var(--night-text); line-height:1.4;}
.ent__caps li::before{content:"\2713"; position:absolute; left:0; top:0; color:var(--brand-glow); font-family:var(--f-mono); font-weight:700;}
.ent__r{display:flex; flex-direction:column; gap:12px; align-items:flex-start;}
.ent__note{font-family:var(--f-mono); font-size:11px; color:var(--night-faint);}
@media(max-width:820px){ .ent{grid-template-columns:1fr;} .ent__caps{grid-template-columns:1fr;} .ent__r{align-items:stretch;} .ent__r .btn{justify-content:center;} }

/* ---------- Pagos ---------- */
.paystrip{text-align:center; margin:clamp(30px,4vw,44px) auto 0; padding-inline:var(--gut);}
.paystrip__row{display:inline-flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:center; font-family:var(--f-mono); font-size:12px; color:var(--ink-faint);}
.pay-chip{border:1px solid var(--line); border-radius:var(--r-sm); padding:5px 10px; background:var(--card); font-weight:500; color:var(--ink-soft);}
.paynote{font-family:var(--f-mono); font-size:11.5px; color:var(--ink-faint); max-width:64ch; margin:14px auto 0; line-height:1.7;}
.paynote a{color:var(--brand-deep);}

/* ---------- FAQ ---------- */
.pfaq{background:var(--bg-2); border-top:1px solid var(--line); padding:clamp(56px,7vw,90px) 0;}
.pfaq__in{max-width:760px; margin-inline:auto; padding-inline:var(--gut);}
.pfaq__eyebrow{color:var(--brand-deep); display:flex; justify-content:center;}
.pfaq__h{font-family:var(--f-display); font-weight:800; font-size:clamp(26px,3.4vw,40px); letter-spacing:-0.03em; text-align:center; margin-top:14px;}
.faq{margin-top:clamp(26px,3vw,38px); border-top:2px solid var(--ink);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{display:flex; justify-content:space-between; align-items:center; gap:16px; cursor:pointer; list-style:none; padding:20px 4px; font-family:var(--f-display); font-weight:700; font-size:clamp(16px,1.6vw,19px); letter-spacing:-0.01em;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{color:var(--brand-deep);}
.faq summary i{flex:none; font-style:normal; font-family:var(--f-mono); font-size:19px; color:var(--brand-deep); transition:transform .28s cubic-bezier(.2,.7,.3,1);}
.faq details[open] summary i{transform:rotate(45deg);}
.faq p{padding:0 4px 20px; color:var(--ink-soft); font-size:15px; line-height:1.65; max-width:64ch;}
.faq p a{color:var(--brand-deep);}

/* ============================================================
   Páginas de SEGMENTO (despachos, pymes, empresas)
   ============================================================ */
/* hero de segmento: reusa .phero, con botones */
.phero__cta{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:24px;}

/* features del segmento */
.segfeat{background:var(--bg); padding:clamp(28px,5vw,56px) 0;}
.segfeat__grid{max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.segcard{background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:26px; transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s,border-color .25s;}
.segcard:hover{transform:translateY(-4px); box-shadow:var(--sh-md); border-color:color-mix(in oklab,var(--brand) 30%,var(--line));}
.segcard__ic{width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:linear-gradient(150deg,color-mix(in oklab,var(--brand) 18%,white),color-mix(in oklab,var(--brand) 6%,white)); margin-bottom:16px;}
.segcard__ic svg{width:23px; height:23px; stroke:var(--brand-deep); fill:none; stroke-width:1.8;}
.segcard__t{font-family:var(--f-display); font-weight:700; font-size:18.5px; letter-spacing:-0.015em;}
.segcard__d{font-size:14.5px; color:var(--ink-soft); margin-top:8px; line-height:1.55;}
@media(max-width:860px){ .segfeat__grid{grid-template-columns:1fr; max-width:480px;} }

/* plan destacado del segmento (una card centrada + intro) */
.planfocus{background:var(--bg-2); border-block:1px solid var(--line); padding:clamp(56px,7vw,90px) 0;}
.planfocus__in{max-width:960px; margin-inline:auto; padding-inline:var(--gut); display:grid; grid-template-columns:1fr .82fr; gap:clamp(28px,4vw,52px); align-items:center;}
.planfocus__intro .pilltag{color:var(--brand-deep);}
.planfocus__h{font-family:var(--f-display); font-weight:800; font-size:clamp(26px,3.4vw,40px); letter-spacing:-0.03em; margin-top:14px; text-wrap:balance;}
.planfocus__d{color:var(--ink-soft); margin-top:14px; font-size:15.5px; max-width:46ch; line-height:1.6;}
.planfocus__link{display:inline-flex; align-items:center; gap:6px; margin-top:18px; font-family:var(--f-body); font-weight:650; font-size:14.5px; color:var(--brand-deep);}
.planfocus .plan{background:var(--card);}
@media(max-width:820px){ .planfocus__in{grid-template-columns:1fr; max-width:440px;} }

/* variante: grid de 2 planes (página pymes) */
.plans--two{grid-template-columns:repeat(2,1fr); max-width:880px;}
@media(max-width:900px){ .plans--two{grid-template-columns:1fr; max-width:460px;} }

/* ============================================================
   Página ENTERPRISE
   ============================================================ */
.pagenav--solid{background:var(--bg); -webkit-backdrop-filter:none; backdrop-filter:none; border-bottom-color:var(--line);}
.enthero{position:relative; overflow:hidden; background:radial-gradient(110% 130% at 100% 0%,rgba(91,231,206,.16),transparent 55%),radial-gradient(80% 120% at 0% 100%,rgba(242,179,61,.10),transparent 60%),var(--night); color:var(--night-text); padding:clamp(90px,13vh,150px) 0 clamp(56px,7vw,92px);}
.enthero::before{content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:46px 46px; -webkit-mask-image:radial-gradient(80% 80% at 100% 0%,#000 8%,transparent 68%); mask-image:radial-gradient(80% 80% at 100% 0%,#000 8%,transparent 68%);}
.enthero__in{position:relative; z-index:1; max-width:880px; margin-inline:auto; padding-inline:var(--gut); text-align:center;}
.enthero__in .pilltag{color:var(--brand-glow);}
.enthero__h{font-family:var(--f-display); font-weight:800; font-size:clamp(38px,6.4vw,78px); line-height:.98; letter-spacing:-0.04em; color:#fff; margin-top:16px; text-wrap:balance;}
.enthero__h .hl{color:var(--brand-glow);}
.enthero__sub{color:var(--night-text); font-size:clamp(15.5px,1.5vw,18.5px); max-width:60ch; margin:18px auto 0; text-wrap:pretty;}
.enthero__sub strong{color:#fff; font-weight:650;}
.enthero__cta{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:28px;}
.enthero__stats{display:flex; flex-wrap:wrap; gap:14px clamp(28px,5vw,56px); justify-content:center; margin-top:38px;}
.enthero__stat b{display:block; font-family:var(--f-mono); font-size:clamp(19px,2.2vw,26px); font-weight:500; color:#fff; letter-spacing:-0.02em;}
.enthero__stat span{font-family:var(--f-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--night-faint);}

/* banda de prueba (stats + logos reales) */
.proofband{background:var(--card); border-bottom:1px solid var(--line); padding:clamp(36px,5vw,56px) 0;}
.proofband__in{max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut);}
.proofband__stats{display:flex; flex-wrap:wrap; gap:16px clamp(34px,6vw,84px); justify-content:center;}
.proofband__stat b{display:block; font-family:var(--f-display); font-weight:800; font-size:clamp(28px,4vw,44px); line-height:1; letter-spacing:-0.03em; color:var(--ink); text-align:center;}
.proofband__stat span{display:block; margin-top:8px; font-family:var(--f-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); text-align:center;}
.logosrow{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:22px clamp(30px,5vw,60px); margin-top:30px; padding-top:26px; border-top:1px dashed var(--line);}
.logosrow img{width:auto; filter:grayscale(1) contrast(1.05) opacity(.62); transition:filter .25s;}
.logosrow img:hover{filter:none;}
.proofband__note{font-family:var(--f-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); margin-top:22px; text-align:center;}

/* encabezado de sección genérico */
.sechead{max-width:780px; margin-inline:auto; padding-inline:var(--gut); text-align:center;}
.sechead .pilltag{color:var(--brand-deep);}
.sechead__h{font-family:var(--f-display); font-weight:800; font-size:clamp(26px,3.4vw,40px); letter-spacing:-0.03em; margin-top:14px; text-wrap:balance;}
.sechead__d{color:var(--ink-soft); margin-top:12px; font-size:15.5px; line-height:1.6;}

/* comparativa autoservicio vs enterprise */
.cmpsec{background:var(--bg); padding:clamp(56px,7vw,90px) 0;}
.cmp{max-width:var(--maxw); margin:clamp(28px,4vw,44px) auto 0; padding-inline:var(--gut); display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start;}
.cmp__card{border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(24px,3vw,36px); background:var(--card);}
.cmp__card--ent{border:2px solid var(--brand); box-shadow:var(--sh-md); background:radial-gradient(120% 140% at 100% 0%,rgba(14,160,140,.07),transparent 60%),var(--card);}
.cmp__tag{font-family:var(--f-mono); font-size:10.5px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint);}
.cmp__card--ent .cmp__tag{color:var(--brand-deep);}
.cmp__t{font-family:var(--f-display); font-weight:800; font-size:clamp(19px,2vw,24px); letter-spacing:-0.015em; margin-top:8px;}
.cmp__list{list-style:none; padding:0; margin:16px 0 0; display:grid; gap:11px;}
.cmp__list li{position:relative; padding-left:26px; font-size:14.5px; color:var(--ink-soft); line-height:1.45;}
.cmp__list li::before{content:"\2713"; position:absolute; left:0; top:0; color:var(--brand-deep); font-family:var(--f-mono); font-weight:700;}
@media(max-width:760px){ .cmp{grid-template-columns:1fr;} }

/* cómo se compra (procurement) */
.buysec{background:var(--bg-2); border-block:1px solid var(--line); padding:clamp(56px,7vw,90px) 0;}
.buyflow{max-width:var(--maxw); margin:clamp(28px,4vw,46px) auto 0; padding-inline:var(--gut); display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.buystep{position:relative;}
.buystep__node{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
.buystep__num{flex:none; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:var(--brand); color:#fff; font-family:var(--f-mono); font-size:15px; font-weight:500; box-shadow:0 8px 20px -8px color-mix(in oklab,var(--brand) 65%,transparent);}
.buystep__line{flex:1; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--brand),color-mix(in oklab,var(--brand) 18%,var(--line)));}
.buystep:last-child .buystep__line{background:linear-gradient(90deg,var(--brand),transparent);}
.buystep__t{font-family:var(--f-display); font-weight:700; font-size:18px; letter-spacing:-0.01em; color:var(--ink);}
.buystep__d{font-size:14.5px; line-height:1.52; color:var(--ink-soft); margin-top:8px;}
.buystep__tag{display:inline-flex; align-items:center; margin-top:13px; font-family:var(--f-mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--brand-deep); background:color-mix(in oklab,var(--brand) 9%,white); border:1px solid color-mix(in oklab,var(--brand) 22%,var(--line)); padding:5px 11px; border-radius:var(--r-pill); line-height:1.3;}
@media(max-width:860px){ .buyflow{grid-template-columns:1fr 1fr; gap:30px 22px;} }
@media(max-width:520px){ .buyflow{grid-template-columns:1fr; gap:26px;} .buystep__line{display:none;} }

/* ============================================================
   Legales + 404
   ============================================================ */
.legalhero{background:var(--bg); padding:clamp(70px,10vw,110px) var(--gut) clamp(8px,2vw,16px); text-align:center;}
.legalhero .pilltag{color:var(--brand-deep);}
.legalhero__h{font-family:var(--f-display); font-weight:800; font-size:clamp(30px,4.4vw,52px); letter-spacing:-0.03em; margin-top:14px;}
.legalhero__d{color:var(--ink-soft); max-width:60ch; margin:14px auto 0; font-size:15.5px;}
.legalsec{background:var(--bg); padding:clamp(26px,4vw,44px) 0 clamp(56px,8vw,96px);}
.legal-copy{max-width:760px; margin-inline:auto; padding-inline:var(--gut);}
.legal-meta{font-family:var(--f-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint);}
.legal-copy h2{font-family:var(--f-display); font-weight:700; font-size:clamp(20px,2.2vw,26px); margin-top:38px; padding-top:20px; border-top:1px solid var(--line); letter-spacing:-0.015em;}
.legal-copy h2:first-of-type{border-top:none; padding-top:0; margin-top:24px;}
.legal-copy p,.legal-copy li{color:var(--ink-soft); font-size:15.5px; line-height:1.75; margin-top:13px;}
.legal-copy a{color:var(--brand-deep);}
.legal-copy ul{padding-left:20px;}
.legal-copy strong{color:var(--ink);}

/* ============================================================
   Checkout embebido (/pago) + gracias
   ============================================================ */
.paysafe{display:inline-flex; align-items:center; gap:7px; font-family:var(--f-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft);}
.paysafe svg{width:15px; height:15px; stroke:var(--brand-deep); fill:none; stroke-width:1.9;}
.pago{background:var(--bg); padding:clamp(40px,6vw,72px) 0 clamp(64px,9vw,110px);}
/* minmax(0,…) en la col del form: su contenido (selects con opciones largas del
   fiscalbox) NO puede robarle ancho al ticket al abrirse — el layout queda quieto */
.pago__in{max-width:980px; margin-inline:auto; padding-inline:var(--gut); display:grid; grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr); gap:clamp(24px,4vw,52px); align-items:start;}
@media(max-width:860px){ .pago__in{grid-template-columns:1fr; max-width:520px;} }

/* resumen estilo comprobante */
.payticket{position:sticky; top:86px; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-md); overflow:hidden;}
@media(max-width:860px){ .payticket{position:static;} }
.payticket__hd{display:flex; align-items:center; gap:11px; padding:18px 20px 14px;}
.payticket__logo{width:34px; height:34px; border-radius:50%; background:color-mix(in oklab,var(--brand) 14%,white); display:grid; place-items:center; flex:none;}
.payticket__logo .dot{width:11px; height:11px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 4px rgba(14,160,140,.18);}
.payticket__id{flex:1; min-width:0;}
.payticket__id b{display:block; font-family:var(--f-display); font-weight:800; font-size:15.5px; letter-spacing:-0.02em;}
.payticket__id span{display:block; font-family:var(--f-mono); font-size:10px; color:var(--ink-faint);}
.payticket__live{display:inline-flex; align-items:center; gap:6px; font-family:var(--f-mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--brand-deep); white-space:nowrap;}
.payticket__live i{width:6px; height:6px; border-radius:50%; background:var(--brand); animation:fpulse 2.2s ease-out infinite;}
.payticket__rip{height:0; border-top:2px dashed var(--line); margin:0 16px; position:relative;}
.payticket__rip::before,.payticket__rip::after{content:""; position:absolute; top:-11px; width:20px; height:20px; border-radius:50%; background:var(--bg);}
.payticket__rip::before{left:-26px;} .payticket__rip::after{right:-26px;}
.payticket__body{padding:16px 20px 14px;}
.payticket__row{display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:8px 0; border-bottom:1px dotted var(--line); font-family:var(--f-mono); font-size:12.5px; color:var(--ink-soft);}
.payticket__row b{color:var(--ink); font-weight:500; text-align:right;}
.payticket__row b.ok{color:var(--brand-deep);}
.payticket__row--total{border-bottom:none;}
.payticket__row--total b{font-size:15px;}
.payticket__note{font-family:var(--f-mono); font-size:10px; line-height:1.6; color:var(--ink-faint); margin-top:10px;}
.payticket__ft{background:var(--night-2); display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 20px;}
.payticket__ft .t{font-family:var(--f-mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--night-faint);}
.payticket__ft .n{font-family:var(--f-mono); font-size:11px; color:#fff; white-space:nowrap;}

/* formulario */
.payform{min-width:0;}
.payform__h{font-family:var(--f-display); font-weight:800; font-size:clamp(24px,3vw,34px); letter-spacing:-0.03em; line-height:1.05;}
.payform__sub{color:var(--ink-soft); font-size:14.5px; margin-top:10px; max-width:52ch;}
.payform__sub b{color:var(--ink);}
#payForm{margin-top:22px;}
.field{display:grid; gap:7px; margin-bottom:16px;}
.field label{font-family:var(--f-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint);}
.field input{font:500 15.5px/1.5 var(--f-body); color:var(--ink); background:var(--card); border:1.5px solid var(--line); border-radius:12px; padding:12px 14px; min-width:0; transition:border-color .2s, box-shadow .2s;}
.field input:focus{outline:none; border-color:var(--brand); box-shadow:0 0 0 3px color-mix(in oklab,var(--brand) 18%,transparent);}
.field input[readonly]{background:var(--bg-2); color:var(--ink-soft);}
/* datos fiscales (opcional, plegado) */
.fiscalbox{border:1.5px dashed var(--line); border-radius:14px; margin:2px 0 16px; background:color-mix(in oklab,var(--brand) 3%,var(--card));}
.fiscalbox summary{list-style:none; cursor:pointer; padding:13px 16px; display:flex; flex-direction:column; gap:2px;}
.fiscalbox summary::-webkit-details-marker{display:none;}
.fiscalbox__t{font-family:var(--f-display); font-weight:700; font-size:14.5px; letter-spacing:-0.01em; color:var(--ink); display:inline-flex; align-items:center; gap:8px;}
.fiscalbox__t::before{content:"+"; font-family:var(--f-mono); color:var(--brand-deep); font-weight:700;}
.fiscalbox[open] .fiscalbox__t::before{content:"−";}
.fiscalbox summary em{font-style:normal; font-family:var(--f-mono); font-size:10px; color:var(--ink-faint); letter-spacing:.04em;}
.fiscalbox[open]{border-style:solid; border-color:color-mix(in oklab,var(--brand) 30%,var(--line));}
.fiscalbox[open] > .field, .fiscalbox[open] .fiscalbox__grid, .fiscalbox[open] .fiscalbox__hint{padding-inline:16px;}
.fiscalbox .field{margin-bottom:13px;}
.fiscalbox__grid{display:grid; grid-template-columns:1.2fr .8fr; gap:12px;}
.fiscalbox__grid .field{margin-bottom:13px;}
@media(max-width:520px){ .fiscalbox__grid{grid-template-columns:1fr;} }
/* el selector de «Pide tu prueba» (¿cuántos RFC?) viste igual que los fiscales: nada de control nativo */
.fiscalbox select, .payform .field select{font:500 15px/1.5 var(--f-body); color:var(--ink); background:var(--card); border:1.5px solid var(--line); border-radius:12px; padding:12px 14px; width:100%; min-width:0; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2344544F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;}
.fiscalbox select:focus, .payform .field select:focus{outline:none; border-color:var(--brand); box-shadow:0 0 0 3px color-mix(in oklab,var(--brand) 18%,transparent);}
.fiscalbox__hint{font-family:var(--f-mono); font-size:10px; line-height:1.7; color:var(--ink-faint); padding-bottom:14px; margin:0;}

.payelement{background:var(--card); border:1.5px solid var(--line); border-radius:14px; padding:14px; margin:4px 0 16px;}
.payform__cta{margin-top:4px;}
.payform__cta.is-busy{opacity:.65; pointer-events:none;}
.payform__msg{font-family:var(--f-mono); font-size:11.5px; line-height:1.6; margin-top:12px; min-height:18px;}
.payform__msg.is-err{color:var(--coral-deep);}
.payform__msg.is-ok{color:var(--brand-deep);}
.payform__legal{font-family:var(--f-mono); font-size:10px; line-height:1.7; color:var(--ink-faint); margin-top:18px;}
.payform__legal a{color:var(--brand-deep);}

/* gracias */
.gracias{background:var(--bg); padding:clamp(56px,9vw,110px) 0;}
.gracias__in{max-width:640px; margin-inline:auto; padding-inline:var(--gut); text-align:center;}
.gracias__seal{width:76px; height:76px; margin:0 auto 22px; border-radius:50%; display:grid; place-items:center; background:color-mix(in oklab,var(--brand) 16%,white);}
.gracias__seal svg{width:38px; height:38px; stroke:var(--brand-deep); fill:none; stroke-width:2.4;}
.gracias__h{font-family:var(--f-display); font-weight:800; font-size:clamp(28px,4vw,42px); letter-spacing:-0.03em; line-height:1.02;}
.gracias__sub{color:var(--ink-soft); margin-top:14px; font-size:15.5px; max-width:52ch; margin-inline:auto;}
.gracias__steps{display:grid; gap:10px; margin-top:26px; text-align:left;}
.gracias__step{background:var(--card); border:1px solid var(--line); border-radius:var(--r-md); padding:14px 18px;}
.gracias__step b{display:block; font-family:var(--f-display); font-weight:700; font-size:15px; letter-spacing:-0.01em;}
.gracias__step span{display:block; font-size:13.5px; color:var(--ink-soft); margin-top:3px;}
.gracias__cta{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:26px;}
.gracias__note{font-family:var(--f-mono); font-size:11px; color:var(--ink-faint); margin-top:20px;}

.e404{min-height:100svh; display:grid; place-items:center; text-align:center; background:radial-gradient(90% 120% at 50% 0%,var(--night-3),var(--night)); color:#fff; padding:40px var(--gut);}
.e404 .pilltag{color:var(--brand-glow);}
.e404__h{font-family:var(--f-display); font-weight:800; font-size:clamp(80px,20vw,200px); line-height:.9; letter-spacing:-0.05em; margin-top:18px;}
.e404__d{color:var(--night-text); margin-top:16px; max-width:44ch; margin-inline:auto;}
.e404__cta{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:30px;}

/* ============================================================
   Cuenta (/cuenta) — magic link al portal de facturación
   ============================================================ */
.cuenta{background:var(--bg); padding:clamp(56px,9vw,104px) 0 clamp(64px,9vw,110px);}
.cuenta__in{max-width:560px; margin-inline:auto; padding-inline:var(--gut);}
.cuenta__eyebrow{font-family:var(--f-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--brand-deep);}
.cuenta__h{font-family:var(--f-display); font-weight:800; font-size:clamp(28px,3.8vw,42px); letter-spacing:-0.03em; line-height:1.03; margin-top:12px;}
.cuenta__sub{color:var(--ink-soft); font-size:14.5px; line-height:1.65; margin-top:12px;}
.cuenta__sub b{color:var(--ink);}
.cuenta__card{background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-md); padding:22px; margin-top:26px;}
.cuenta__card .field{margin-bottom:14px;}
.cuenta__card .btn.is-busy{opacity:.65; pointer-events:none;}
.cuenta__msg{font-family:var(--f-mono); font-size:11.5px; line-height:1.6; margin-top:12px; min-height:18px;}
.cuenta__msg.is-ok{color:var(--brand-deep);}
.cuenta__msg.is-err{color:var(--coral-deep);}
.cuenta__list{display:grid; gap:8px; margin-top:26px;}
.cuenta__it{display:flex; gap:11px; align-items:flex-start; background:var(--card); border:1px solid var(--line); border-radius:var(--r-md); padding:13px 15px; font-size:13.5px; color:var(--ink-soft); line-height:1.5;}
.cuenta__it svg{width:17px; height:17px; flex:none; stroke:var(--brand-deep); fill:none; stroke-width:2; margin-top:2px;}
.cuenta__it b{color:var(--ink); font-weight:650;}
.cuenta__portal{font-family:var(--f-mono); font-size:11px; line-height:1.8; color:var(--ink-faint); margin-top:22px;}
.cuenta__portal a{color:var(--brand-deep);}
