/* VueloAssist Mobile — estilos compartidos de /nueva/ (design system: https://claude.ai/artifact/Dj1U33jfU1iaKJ7tzwWJjK) */
:root{
  --paper:oklch(98.5% 0.006 210);--paper-2:oklch(96% 0.010 210);--mist:oklch(91% 0.014 210);--fog:oklch(84% 0.018 210);
  --ink:oklch(23% 0.042 238);--ink-2:oklch(37% 0.036 235);--ink-3:oklch(54% 0.024 228);
  --trust:oklch(40% 0.11 212);--trust-deep:oklch(22% 0.065 243);--trust-tint:oklch(93% 0.032 210);--trust-soft:oklch(70% 0.085 210);
  --channel:oklch(56% 0.22 33);--channel-ink:oklch(51% 0.22 37);--channel-tint:oklch(94% 0.045 38);--channel-soft:oklch(72% 0.16 36);
  --sage:oklch(58% 0.09 158);--sage-tint:oklch(94% 0.04 158);
  --mark-cream:#f1e1ae;--ad-coral:#ff6a3d;--whatsapp:#25d366;--on-whatsapp:#062a17;--focus:var(--trust);
  --font-display:"Bebas Neue","Arial Narrow",Impact,sans-serif;--font-sans:Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--gutter-desktop:56px;
  --r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;
  --shadow-3:0 30px 60px -20px oklch(18% 0.05 220 / .28);--shadow-bar:0 -10px 30px -12px oklch(18% 0.05 220 / .30);--shadow-fab:0 4px 16px rgba(0,0,0,.22);
  --tap-min:48px;--input-h:52px;--topbar-h:56px;--actionbar-h:76px;--column-max:560px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;font:400 16px/24px var(--font-sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-bottom:calc(var(--actionbar-h) + env(safe-area-inset-bottom))}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.dark :focus-visible{outline-color:var(--trust-soft)}
section[id]{scroll-margin-top:calc(var(--topbar-h) + 8px)}
.wrap{max-width:1120px;margin:0 auto;padding:0 var(--space-4)}
.sec{padding:var(--space-12) 0}
.h1{font:800 28px/32px var(--font-sans);letter-spacing:-.5px;text-wrap:balance}
.h2{font:700 22px/28px var(--font-sans)}
.lead{font-size:18px;line-height:28px;color:var(--ink-2)}
.muted{color:var(--ink-2)}
.small{font-size:14px;line-height:20px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-6);border-radius:var(--r-pill);border:0;font:700 16px/20px var(--font-sans);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .18s,transform .18s;-webkit-tap-highlight-color:transparent}
.btn:active{transform:scale(.98)}
.btn svg{flex-shrink:0}
.btn-lg{min-height:56px;font-size:17px;padding:0 var(--space-8)}
.btn-block{display:flex;width:100%}
.btn-primary{background:var(--channel);color:#fff}.btn-primary:hover{background:var(--channel-ink)}
.btn-wa{background:var(--whatsapp);color:var(--on-whatsapp)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink-3)}
.btn[disabled]{opacity:.45;cursor:default;transform:none}
.link{font-weight:600;color:var(--trust);text-decoration:underline;text-underline-offset:3px}

/* TopBar + menu */
.topbar{position:sticky;top:0;z-index:50;height:var(--topbar-h);background:oklch(98.5% 0.006 210 / .94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--fog)}
.topbar .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.brand{display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--ink);font:800 18px/1 var(--font-sans);letter-spacing:-.02em}
.brand img{width:32px;height:32px}
.brand b{color:var(--channel);font-weight:800}
.nav{display:none;gap:var(--space-6);font:500 15px/20px var(--font-sans)}
.nav a{text-decoration:none;color:var(--ink-2)}.nav a:hover,.nav a[aria-current]{color:var(--ink)}
.top-actions{display:flex;align-items:center;gap:var(--space-2)}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-pill);border:0;background:transparent;color:var(--ink);cursor:pointer;text-decoration:none}
.iconbtn-wa{width:40px;height:40px;background:var(--whatsapp);color:var(--on-whatsapp)}
.menu{position:fixed;inset:var(--topbar-h) 0 0 0;z-index:49;background:var(--paper);padding:var(--space-4);display:none;flex-direction:column}
.menu.open{display:flex}
.menu a.m-link{display:flex;align-items:center;min-height:64px;border-bottom:1px solid var(--fog);font:700 22px/28px var(--font-sans);text-decoration:none}
.menu .m-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6)}
.menu .m-contact{margin-top:auto;padding-top:var(--space-6);font-size:15px;color:var(--ink-2);display:flex;flex-direction:column;gap:var(--space-2)}

/* Hero (home) */
.hero{position:relative;overflow:hidden;background:var(--trust-deep);color:#fff}
.hero-art{position:absolute;top:-40px;right:-90px;width:300px;height:300px;pointer-events:none}
.hero-art .disc{fill:var(--channel)}
.hero-art .route{display:none;fill:none;stroke:var(--mark-cream);stroke-width:2.5;stroke-dasharray:8 9;stroke-linecap:round;opacity:.7}
.hero .wrap{position:relative;display:grid;gap:var(--space-6);padding-top:var(--space-8);padding-bottom:var(--space-6)}
.hero-copy{display:flex;flex-direction:column;gap:var(--space-3)}
.hero-copy .btn-wa{margin-top:var(--space-2)}
.hero-title{font:400 48px/46px var(--font-display);letter-spacing:.5px;text-transform:uppercase;text-wrap:balance;max-width:13ch}
.hero-lead{font:700 21px/28px var(--font-sans);color:#fff;letter-spacing:-.2px}
.hero-title em{font-style:normal;color:var(--ad-coral)}
.hero-sub{font-size:16px;line-height:24px;color:oklch(88% 0.02 215);max-width:44ch}
.trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}
.trust li{display:flex;align-items:center;gap:var(--space-2);font:500 15px/20px var(--font-sans)}
.trust svg{color:var(--channel-soft);flex-shrink:0}

/* Page header (subpages) */
.page-head{background:var(--trust-deep);color:#fff;padding:var(--space-8) 0}
.page-head .h1{color:#fff}
.page-head p{margin-top:var(--space-3);color:oklch(88% 0.02 215);font-size:17px;line-height:26px;max-width:46ch}

/* Card + form */
.card{background:var(--paper);color:var(--ink);border-radius:var(--r-lg);box-shadow:var(--shadow-3);padding:var(--space-5)}
.card-flat{box-shadow:inset 0 0 0 1px var(--fog)}
.stepper{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}
.stepper-top{display:flex;justify-content:space-between;align-items:baseline;font:600 14px/20px var(--font-sans);color:var(--ink-2)}
.stepper-track{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.seg{height:6px;border-radius:var(--r-pill);background:var(--mist)}
.seg.done{background:var(--trust)}.seg.cur{background:var(--channel)}
.fstep{display:none;flex-direction:column;gap:var(--space-5)}
.fstep.on{display:flex}
.picker{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.pick{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);min-height:84px;padding:var(--space-4);border-radius:var(--r-md);border:1.5px solid var(--fog);background:var(--paper);color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:border-color .15s,background-color .15s}
.pick svg{color:var(--channel)}
.pick-name{display:block;font:600 18px/24px var(--font-sans)}
.pick-hint{display:block;font-size:14px;line-height:20px;color:var(--ink-2)}
.pick[aria-pressed="true"]{border-color:var(--channel);background:var(--channel-tint);box-shadow:inset 0 0 0 1px var(--channel)}
.pick-wide{grid-column:1/-1;min-height:60px;flex-direction:row;align-items:center}
.pick-wide .pick-hint{display:inline}
.field{display:flex;flex-direction:column;gap:var(--space-2);border:0;margin:0;padding:0;min-width:0}
.label{display:flex;justify-content:space-between;align-items:baseline;font:600 15px/20px var(--font-sans);padding:0}
.tag{font:500 13px/16px var(--font-sans);color:var(--ink-3)}
.input{width:100%;height:var(--input-h);padding:0 var(--space-4);border-radius:var(--r-sm);border:1.5px solid var(--ink-3);background:var(--paper);color:var(--ink);font:400 16px/24px var(--font-sans);outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
textarea.input{height:auto;min-height:96px;padding:var(--space-3) var(--space-4);resize:vertical}
.input:focus{border-color:var(--trust);box-shadow:0 0 0 3px var(--trust-tint)}
.input::placeholder{color:var(--ink-3)}
.hint{font-size:14px;line-height:20px;color:var(--ink-2)}
.field.err .input{border-color:var(--channel)}
.err-msg{color:var(--channel);font-weight:600;font-size:14px;line-height:20px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.chip{min-height:44px;padding:0 var(--space-4);border-radius:var(--r-pill);border:1.5px solid var(--fog);background:var(--paper);color:var(--ink);font:500 15px/20px var(--font-sans);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.consent{display:flex;gap:var(--space-3);align-items:flex-start;font-size:14px;line-height:20px;color:var(--ink-2)}
.consent input{width:24px;height:24px;margin:0;flex-shrink:0;accent-color:var(--trust)}
.form-nav{display:flex;gap:var(--space-3);margin-top:var(--space-5)}
.form-nav .btn-primary{flex:1}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Confirmation */
.done{display:none;flex-direction:column;gap:var(--space-4)}
.done.on{display:flex}
.done h3{font:800 24px/30px var(--font-sans);letter-spacing:-.3px}
.wa-status{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border-radius:var(--r-md);background:var(--sage-tint);font-size:15px;line-height:22px}
.wa-status svg{color:var(--ink);flex-shrink:0;margin-top:1px}
.pass{position:relative;background:var(--mark-cream);color:var(--ink);border-radius:var(--r-lg);overflow:hidden}
.pass-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-5);background:var(--trust-deep);color:#fff;font:600 11px/14px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.pass-head .st{color:var(--channel-soft)}
.pass-route{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-2)}
.iata{font:400 40px/38px var(--font-display);min-width:3ch}
.city{font:500 13px/16px var(--font-sans);color:var(--ink-2);max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plane{flex:1;display:flex;align-items:center;gap:6px;color:var(--channel)}
.plane::before,.plane::after{content:"";flex:1;border-top:1.5px dashed var(--ink-3)}
.pass-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);padding:0 var(--space-5) var(--space-4)}
.pk{font:600 11px/14px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.pv{font:600 15px/20px var(--font-mono);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pass-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5) var(--space-4);border-top:2px dashed oklch(23% 0.042 238 / .25)}
.code{font:600 15px/20px var(--font-mono);letter-spacing:.04em}
.stamp{font:400 20px/20px var(--font-display);letter-spacing:1px;color:var(--channel-ink);border:2px solid var(--channel-ink);border-radius:var(--r-sm);padding:6px 10px 4px;transform:rotate(-4deg)}
.docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}
.doc{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);border-radius:var(--r-sm);border:1.5px solid var(--fog);background:var(--paper)}
.doc-ico{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--paper-2);color:var(--ink-2)}
.doc-name{display:block;font:600 16px/22px var(--font-sans)}
.doc-hint{display:block;font-size:14px;line-height:20px;color:var(--ink-2)}

/* How + guarantee (compact) */
.how{display:grid;gap:var(--space-6)}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4)}
.step{display:grid;grid-template-columns:36px 1fr;gap:var(--space-3);align-items:start}
.step-n{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:400 20px/1 var(--font-display);padding-top:2px;background:var(--paper);color:var(--ink-2);box-shadow:inset 0 0 0 1.5px var(--fog)}
.step:first-child .step-n{background:var(--channel);color:#fff;box-shadow:none}
.step-t{font:700 17px/22px var(--font-sans);margin-top:6px}
.step-d{font-size:15px;line-height:22px;color:var(--ink-2)}
.zero{background:var(--trust-deep);color:#fff;border-radius:var(--r-xl);padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}
.zero-title{font:400 36px/36px var(--font-display);letter-spacing:.5px;text-transform:uppercase}
.zero-row{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid oklch(100% 0 0 / .14);padding:6px 0}
.zero-row b{font:400 28px/28px var(--font-display);color:var(--channel-soft);font-weight:400}
.zero p{font-size:14px;line-height:20px;color:oklch(85% 0.025 215)}
.more{display:grid;gap:var(--space-3);margin-top:var(--space-8)}
.more a{display:flex;justify-content:space-between;align-items:center;min-height:64px;padding:0 var(--space-5);border-radius:var(--r-md);background:var(--paper-2);text-decoration:none;font:700 17px/22px var(--font-sans)}
.more a span{font:400 14px/20px var(--font-sans);color:var(--ink-2);display:block}

/* Subpages */
.lawyer{display:grid;overflow:hidden;padding:0}
.team-grid{display:grid;gap:var(--space-8)}
.lawyer img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 45%}
.lawyer-info{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}
.lawyer-name{font:800 24px/28px var(--font-sans);letter-spacing:-.3px}
.meta{font:600 12px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.faq{border-bottom:1px solid var(--fog)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:64px;padding:var(--space-3) 0;font:600 17px/24px var(--font-sans);cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq-ico{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--paper-2);color:var(--ink);transition:transform .2s}
.faq[open] .faq-ico{transform:rotate(45deg);background:var(--channel-tint);color:var(--channel-ink)}
.faq p{margin:0 0 var(--space-4);color:var(--ink-2);max-width:65ch}
.faq-group{font:700 18px/24px var(--font-sans);margin-top:var(--space-8)}
.cta-band{background:var(--paper-2);border-top:1px solid var(--fog)}
.cta-band .wrap{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-8);padding-bottom:var(--space-8)}

/* Footer */
.footer{background:var(--trust-deep);color:oklch(80% 0.03 220);padding:var(--space-8) 0;font-size:14px;line-height:20px}
.footer .wrap{display:flex;flex-direction:column;gap:var(--space-4)}
.footer .brand{color:#fff}.footer .brand b{color:var(--channel-soft)}
.footer a{color:oklch(88% 0.025 215)}
.f-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}

/* ActionBar (mobile) + FAB (desktop) */
.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1.25fr;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-bottom:max(var(--space-3),calc(var(--space-3) + env(safe-area-inset-bottom)));background:var(--paper);border-top-left-radius:var(--r-xl);border-top-right-radius:var(--r-xl);box-shadow:var(--shadow-bar);transform:translateY(110%);transition:transform .25s}
.actionbar.show{transform:none}
.actionbar .btn{padding:0 var(--space-3);min-height:52px}
.fab{display:none}

@media (min-width:900px){
  body{padding-bottom:0}
  .wrap{padding:0 var(--gutter-desktop)}
  .sec{padding:var(--space-16) 0}
  .h1{font-size:36px;line-height:40px}
  .nav{display:flex}
  .menu-btn{display:none}
  .hero .wrap{grid-template-columns:1fr minmax(0,500px);align-items:start;gap:var(--space-12);padding-top:var(--space-12);padding-bottom:var(--space-12)}
  .hero-copy{padding-top:var(--space-8)}
  .hero-title{font-size:76px;line-height:72px}
  .hero-lead{font-size:24px;line-height:32px}
  .hero-sub{font-size:17px;line-height:26px}
  .hero-copy .btn-wa{align-self:flex-start}
  .hero-art{width:520px;height:520px;top:-140px;right:auto;left:38%}
  .hero-art .route{display:inline}
  .card{padding:var(--space-8)}
  .how{grid-template-columns:1.3fr 1fr;gap:var(--space-12);align-items:start}
  .more{grid-template-columns:1fr 1fr}
  .page-head{padding:var(--space-12) 0}
  .team-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start}
  .lawyer{grid-template-columns:.8fr 1.2fr}
  .lawyer img{aspect-ratio:auto;height:100%;min-height:360px}
  .cta-band .wrap{flex-direction:row;align-items:center;justify-content:space-between}
  .footer .wrap{flex-direction:row;justify-content:space-between;align-items:center}
  .actionbar{display:none}
  .fab{display:flex;position:fixed;right:24px;bottom:24px;z-index:60;width:60px;height:60px;border-radius:50%;align-items:center;justify-content:center;background:var(--whatsapp);color:var(--on-whatsapp);box-shadow:var(--shadow-fab)}
}
