@font-face{font-family:Archivo Expanded;src:url(/fonts/ArchivoExpanded-Black-sub.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/HankenGrotesk.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Archivo Expanded Fallback;src:local(Arial),local(Liberation Sans);size-adjust:132.51%;ascent-override:66.26%;descent-override:15.85%;line-gap-override:0%}@font-face{font-family:Hanken Grotesk Fallback;src:local(Arial),local(Liberation Sans);size-adjust:94.03%;ascent-override:106.35%;descent-override:32.22%;line-gap-override:0%}@font-face{font-family:IBM Plex Mono Fallback;src:local(Courier New),local(Liberation Mono);size-adjust:99.98%;ascent-override:102.52%;descent-override:27.5%;line-gap-override:0%}:root{--bg:#0a0c0e;--surface:#12151a;--line:#1e242b;--text:#e9edf0;--text-2:#97a1aa;--accent:#5fd4f4;--amber:#e3b15c;--font-display:"Archivo Expanded", "Archivo Expanded Fallback", sans-serif;--font-body:"Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback", ui-monospace, monospace;--container:76rem;--pad:clamp(1.25rem, 4vw, 2.5rem);--section:clamp(5rem, 12vw, 9rem);--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}[id]{scroll-margin-top:5.5rem}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:1.0625rem;line-height:1.6;overflow-x:clip}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.grain{z-index:90;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:140px 140px;position:fixed;inset:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:.005em;word-spacing:.05em;text-transform:uppercase;text-wrap:balance;font-weight:900;line-height:1.06}.overline{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--text-2);font-size:.75rem;font-weight:500}.overline--accent{color:var(--accent)}.section-title{font-size:clamp(1.55rem,3.6vw,2.7rem)}.container{max-width:var(--container);padding-inline:var(--pad);margin-inline:auto}.section{padding-block:var(--section);position:relative}.section-head{flex-direction:column;gap:1rem;margin-bottom:clamp(2.5rem,6vw,4.5rem);display:flex}.btn{min-height:3rem;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:2px;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1.7rem;font-size:.85rem;font-weight:500;transition:background-color .25s,color .25s,border-color .25s,transform .25s;display:inline-flex}.btn-primary{background:var(--accent);color:#04151c;position:relative;overflow:hidden}.btn-primary:hover{transform:translateY(-1px)}.btn-primary:after{content:"";background:linear-gradient(105deg,#0000,#ffffff8c,#0000);width:45%;height:100%;transition:none;position:absolute;top:0;left:-80%;transform:skew(-20deg)}.btn-primary:hover:after,.btn-primary:focus-visible:after{animation:sheen .7s var(--ease-out)}@keyframes sheen{to{left:130%}}.btn-ghost{border:1px solid var(--line);color:var(--text);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}html.js-anim .anim-in{opacity:0;transform:translateY(28px)}html.js-anim .hero-word>span{animation:hero-word .95s var(--ease-out) forwards;animation-delay:calc(.15s + var(--wi,0) * 90ms);transform:translateY(110%)}html.js-anim [data-hero-el].anim-in{animation:hero-fade .9s var(--ease-out) forwards;animation-delay:calc(.5s + var(--di,0) * .14s)}@keyframes hero-word{to{transform:translateY(0)}}@keyframes hero-fade{to{opacity:1;transform:translateY(0)}}.hero-word{vertical-align:bottom;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:clip}.hero-word>span{display:inline-block}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js-anim .anim-in{opacity:1;animation:none;transform:none}html.js-anim .hero-word>span{animation:none;transform:none}.btn-primary:hover:after,.btn-primary:focus-visible:after{animation:none}video[data-motion]{display:none}.video-poster-fallback{display:block!important}}body.app{--bg:#f4f6f8;--surface:#fff;--line:#e3e8ec;--text:#16191e;--text-2:#5f6a73;--accent:#0b7fa3;--amber:#b45309;--ok:#15803d;--ink:#16191e;--shadow-1:0 1px 2px #1018280d, 0 1px 3px #1018280f;--shadow-2:0 4px 16px #10182817;--r-card:14px;--r-input:10px;background:var(--bg);color:var(--text);font-family:var(--font-body);flex-direction:column;min-height:100dvh;display:flex}body.app .grain{display:none}body.app h1,body.app h2,body.app h3{font-family:var(--font-body);letter-spacing:-.015em;text-transform:none;font-weight:700;line-height:1.18}body.app .section-title{font-size:clamp(1.5rem,3.4vw,2rem)}body.app .overline{font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--text-2);font-size:.9rem;font-weight:600}body.app ::selection{color:var(--text);background:#bfe7f5}.app-shell{max-width:44rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,1.5rem)}.app-header{z-index:100;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0}.app-header-inner{justify-content:space-between;align-items:center;gap:1.5rem;padding-block:.85rem;display:flex}.app-logo{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--text);font-size:1rem;font-weight:900;line-height:1}.app-logo-dot{color:#29b3dd}.app-nav{align-items:center;gap:1.4rem;font-size:.95rem;font-weight:500;display:flex}.app-nav a{color:var(--text-2);align-items:center;min-height:44px;display:inline-flex}.app-nav a:hover{color:var(--text)}.app-nav-btn{font-family:var(--font-body);color:var(--text-2);min-height:44px;padding-inline:.25rem;font-size:.95rem;font-weight:500}.app-nav-btn:hover{color:var(--text)}.app-main{flex:1 0 auto;padding-block:clamp(1.6rem,4vw,3rem) clamp(3rem,6vw,4.5rem)}.app-footer{border-top:1px solid var(--line);background:var(--surface);padding-block:1.6rem}.app-footer-inner{color:var(--text-2);font-size:.82rem}body.app .container{max-width:44rem;padding-inline:clamp(1rem,4vw,1.5rem)}body.app .section{padding-block:0}body.app .btn{font-family:var(--font-body);letter-spacing:0;text-transform:none;border-radius:12px;min-height:48px;padding:.8rem 1.5rem;font-size:1rem;font-weight:600}body.app .btn-primary{background:var(--ink);color:#fff}body.app .btn-primary:after{display:none}body.app .btn-primary:hover{background:#2a3038;transform:none}body.app .btn-primary:disabled{opacity:.55;cursor:not-allowed}body.app .btn-ghost{border:1px solid var(--line);background:var(--surface);color:var(--text)}body.app .btn-ghost:hover{color:var(--text);background:#fafbfc;border-color:#c9d2d9}body.app :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.field{flex-direction:column;gap:.45rem;display:flex}.field[hidden]{display:none}.label{font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--text);font-size:.9rem;font-weight:600}.input,.select,.textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-input);width:100%;min-height:48px;color:var(--text);font-family:var(--font-body);color-scheme:light;padding:.75rem .95rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0b7fa326}.textarea{resize:vertical;min-height:6.5rem;line-height:1.5}.input::placeholder,.textarea::placeholder{color:#9aa4ad}.input:disabled,.select:disabled,.textarea:disabled{color:var(--text-2);cursor:not-allowed;background:#f2f4f6}.help{color:var(--text-2);font-size:.88rem}.help-mono{font-family:var(--font-body);color:var(--accent);font-size:.88rem;font-weight:600}.error-msg{font-family:var(--font-body);color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-left:3px solid #d92d20;border-radius:10px;padding:.7rem .95rem;font-size:.9rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-1);padding:1.4rem}.chip{font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--text-2);white-space:nowrap;background:#eef1f4;border:0;border-radius:999px;align-items:center;padding:.3rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.chip--muted{color:var(--text-2)}.checkbox-row{cursor:pointer;align-items:center;gap:.7rem;min-height:44px;font-size:.98rem;font-weight:500;display:flex}.checkbox-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink);flex-shrink:0}.auth-section{padding-block:clamp(1rem,4vw,2.5rem)}.auth-container{max-width:27rem}.auth-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-1);flex-direction:column;gap:1.1rem;margin-top:1.6rem;padding:clamp(1.2rem,4vw,1.8rem);display:flex}.form-subtitle{margin-top:.4rem;font-size:1.02rem}.auth-submit{width:100%;margin-top:.4rem}.auth-switch{color:var(--text-2);margin-top:1.4rem;font-size:.95rem}.auth-switch a{color:var(--accent);text-underline-offset:3px;font-weight:600;text-decoration:underline}.hr{border:0;border-top:1px solid var(--line)}.car-grid{grid-template-columns:1fr;gap:.8rem;margin-top:1.1rem;display:grid}.car-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-1);align-items:center;gap:1rem;padding:1rem 1.15rem;transition:border-color .15s,box-shadow .15s;display:flex}button.car-card{cursor:pointer;width:100%}button.car-card:hover{box-shadow:var(--shadow-2);border-color:#c9d2d9}.car-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--shadow-1)}.car-avatar{width:46px;height:46px;color:var(--accent);background:#eef6fa;border-radius:12px;flex-shrink:0;place-items:center;font-size:1.05rem;font-weight:700;display:grid}.car-card-body{flex-direction:column;gap:.15rem;min-width:0;display:flex}.car-card h3{font-size:1.02rem;font-weight:600}.car-card .chip{align-self:flex-start}.car-card-remove{font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--text-2);align-items:center;min-height:44px;margin-left:auto;font-size:.88rem;font-weight:500;display:inline-flex}.car-card-remove:hover{color:#b42318}.wizard-container{max-width:44rem}.wizard-head{flex-direction:column;gap:.4rem;display:flex}.step-indicator{gap:.4rem;margin:1.2rem 0 1.8rem;padding:0;list-style:none;display:flex}.step-indicator li{background:var(--line);color:#0000;border-radius:999px;flex:1;height:4px;font-size:0;overflow:hidden}.step-indicator li.is-active,.step-indicator li.is-done{background:var(--ink)}.wizard-step-title{margin-bottom:.4rem;font-size:1.25rem}.wizard-step{flex-direction:column;gap:1rem;display:flex}.wizard-step[hidden]{display:none}.wizard-actions{justify-content:space-between;gap:.8rem;margin-top:.8rem;display:flex}.wizard-secondary-btn{align-self:flex-start}.car-picker,.add-car-panel{flex-direction:column;gap:1.1rem;display:flex}.add-car-panel[hidden]{display:none}.add-car-actions{gap:.8rem;display:flex}.service-list,.presupuesto-list{flex-direction:column;gap:.8rem;display:flex}.service-item{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);cursor:pointer;width:100%;box-shadow:var(--shadow-1);align-items:center;gap:1rem;padding:.85rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.service-item:hover{box-shadow:var(--shadow-2);border-color:#c9d2d9;transform:translateY(-1px)}.service-thumb{object-fit:cover;border-radius:12px;flex-shrink:0;width:72px;height:72px}.service-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.service-name{font-size:1.02rem;font-weight:600;line-height:1.25}.service-meta{color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;display:-webkit-box;overflow:hidden}.service-price{white-space:nowrap;font-size:1.05rem;font-weight:700}.service-price--quote{color:var(--accent);font-size:.92rem;font-weight:600}.service-chevron{color:#9aa4ad;flex-shrink:0;width:20px;height:20px}.presupuesto-block{flex-direction:column;gap:.5rem;margin-top:1.4rem;display:flex}.block-subtitle{font-size:1.05rem}.presupuesto-block .help{margin-bottom:.5rem}.date-list{scrollbar-width:thin;gap:.5rem;padding-bottom:.4rem;display:flex;overflow-x:auto}.date-pill{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;flex-shrink:0;align-items:center;gap:.1rem;min-width:58px;padding:.6rem .4rem;transition:border-color .15s,background .15s;display:flex}.date-pill:hover{border-color:#c9d2d9}.date-pill.is-selected{background:var(--ink);border-color:var(--ink)}.date-pill-dow{letter-spacing:.04em;color:var(--text-2);font-size:.7rem;font-weight:600}.date-pill-day{color:var(--text);font-size:1.15rem;font-weight:700}.date-pill.is-selected .date-pill-dow,.date-pill.is-selected .date-pill-day{color:#fff}.calendario{max-width:420px}.cal-cabecera{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.cal-mes{font-weight:700}.cal-nav{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:2.2rem;height:2.2rem;color:var(--text);border-radius:10px;font-size:1.1rem}.cal-nav:disabled{opacity:.35;cursor:default}.cal-grid{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.cal-dow{text-align:center;letter-spacing:.04em;color:var(--text-2);padding:.2rem 0;font-size:.7rem;font-weight:600}.cal-dia{aspect-ratio:1;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;display:flex}.cal-dia.is-libre{background:var(--surface);border-color:var(--line);color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}.cal-dia.is-libre:hover{border-color:#c9d2d9}.cal-dia.is-selected,.cal-dia.is-selected:hover{background:var(--ink);border-color:var(--ink);color:#fff}.cal-dia.is-completo{color:var(--text-2);background:#eef1f3}.cal-dia.is-off{color:#c3ccd3}.cal-dia.is-hoy:not(.is-selected){box-shadow:inset 0 0 0 2px var(--line)}.slot-list{grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr));gap:.55rem;margin-top:.6rem;display:grid}.slot-pill{border:1px solid var(--line);background:var(--surface);min-height:46px;font-family:var(--font-body);color:var(--text);cursor:pointer;border-radius:10px;font-size:.98rem;font-weight:600;transition:border-color .15s,background .15s,color .15s}.slot-pill.is-selected,.slot-pill:hover{background:var(--ink);border-color:var(--ink);color:#fff}.summary-card{padding:1.2rem 1.4rem}.summary-list{flex-direction:column;margin:0;display:flex}.summary-list>div{justify-content:space-between;align-items:baseline;gap:1rem;padding-block:.55rem;display:flex}.summary-list>div+div{border-top:1px solid var(--line)}.summary-list dt{color:var(--text-2);font-size:.92rem;font-weight:500}.summary-list dd{text-align:right;margin:0;font-weight:600}.summary-price{font-size:1.15rem;font-weight:700}.pago-simulado{flex-direction:column;gap:1rem;display:flex}.pago-banda{letter-spacing:.03em;color:var(--amber);background:#fff7ea;border:1px solid #f4dcb8;border-radius:999px;align-self:flex-start;padding:.3rem .75rem;font-size:.8rem;font-weight:700}.fake-card-fields{flex-direction:column;gap:.9rem;display:flex}.fake-card-row{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.wizard-confirm{align-items:flex-start;gap:.9rem}.confirm-check{width:52px;height:52px;color:var(--ok);background:#e8f6ee;border-radius:50%;place-items:center;display:grid}.confirm-check svg{width:26px;height:26px}.confirm-kicker{color:var(--ok);font-weight:600}.modal-overlay{z-index:200;background:#16191e73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-overlay[hidden]{display:none}.modal{width:100%;max-width:26rem;box-shadow:var(--shadow-2);flex-direction:column;gap:.9rem;display:flex}.modal-actions{justify-content:flex-end;gap:.8rem;display:flex}.bookings-list{flex-direction:column;gap:.8rem;margin-top:1.1rem;display:flex}.booking-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-1);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:1rem 1.2rem;display:flex}.booking-servicio{font-weight:600}.booking-row-side{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.booking-estado{color:var(--text-2);background:#eef1f4}.booking-estado--pendiente{color:var(--amber);background:#fff7ea}.booking-estado--confirmada{color:var(--ok);background:#e8f6ee}.booking-cancel,.booking-reprogramar{min-height:40px;padding:.45rem .95rem;font-size:.9rem}.booking-actions{flex-wrap:wrap;gap:.5rem;display:flex}.booking-cancel-wrap{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.booking-cancel-wrap-buttons{gap:.5rem;display:flex}.booking-cancel-wrap .booking-cancel:disabled,.booking-cancel-wrap .booking-reprogramar:disabled{opacity:.55;cursor:not-allowed}.booking-ventana-nota{font-family:var(--font-body);color:var(--text-2);text-align:right;max-width:14rem;font-size:.78rem}.reprogramar-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-1);flex-direction:column;gap:.8rem;min-width:0;padding:1.1rem 1.2rem 1.3rem;display:flex}.reprogramar-panel[hidden]{display:none}.historial-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1.8rem;display:flex}.historial-head h3{color:var(--text-2);font-size:1rem}.historial-toggle{font-family:var(--font-body);color:var(--accent);min-height:44px;font-size:.9rem;font-weight:600}.historial-list{flex-direction:column;gap:.8rem;margin-top:.6rem;display:flex}.historial-list.is-collapsed .booking-row:nth-child(n+4){display:none}.booking-row--past{opacity:.75;box-shadow:none}.booking-row--past .booking-servicio{font-weight:500}@media (width>=700px){.car-grid{grid-template-columns:1fr 1fr}}.demo-toggle[data-astro-cid-abkqxsjc]{align-items:center;gap:.55rem;margin-left:auto;display:inline-flex}.demo-toggle-tag[data-astro-cid-abkqxsjc]{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-2);font-size:.66rem;font-weight:500}.demo-toggle-seg[data-astro-cid-abkqxsjc]{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:2px;display:inline-flex}.demo-toggle-seg[data-astro-cid-abkqxsjc] button[data-astro-cid-abkqxsjc]{font-family:var(--font-body);color:var(--text-2);border-radius:999px;padding:.34rem .75rem;font-size:.78rem;font-weight:600;line-height:1;transition:color .15s,background-color .15s}.demo-toggle-seg[data-astro-cid-abkqxsjc] button[data-astro-cid-abkqxsjc].is-active{color:#fff}.demo-toggle-seg[data-astro-cid-abkqxsjc] button[data-astro-cid-abkqxsjc][data-demo-modo=cliente].is-active{background:var(--accent)}.demo-toggle-seg[data-astro-cid-abkqxsjc] button[data-astro-cid-abkqxsjc][data-demo-modo=admin].is-active{background:var(--amber)}.demo-toggle-seg[data-astro-cid-abkqxsjc] button[data-astro-cid-abkqxsjc][data-demo-modo=cliente]:not(.is-active):hover{color:var(--accent)}.demo-toggle-seg[data-astro-cid-abkqxsjc] button[data-astro-cid-abkqxsjc][data-demo-modo=admin]:not(.is-active):hover{color:var(--amber)}.demo-toggle-seg[data-astro-cid-abkqxsjc] button[data-astro-cid-abkqxsjc]:disabled{opacity:.6;cursor:wait}@media (width<=640px){.demo-toggle-tag[data-astro-cid-abkqxsjc]{display:none}.demo-toggle-seg[data-astro-cid-abkqxsjc] button[data-astro-cid-abkqxsjc]{padding:.3rem .6rem;font-size:.75rem}}
