/* Boarding a Orlando — hoja de estilos única.
   Tokens del sistema de diseño + layout responsive + componentes.
   Mobile-first: las reglas base son el teléfono; los @media ensanchan. */

@import url("https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,400&family=JetBrains+Mono:wght@400;600&display=swap");

/* ---------- Tokens: color ---------- */
:root{
--navy-900:#07131F;--navy-800:#0B1E30;--navy-700:#12293D;--navy-600:#1B3950;--navy-500:#274C68;--navy-400:#3D6688;--navy-300:#6C8DAA;
--amber-600:#C97B12;--amber-500:#F0A040;--amber-400:#FFA940;--amber-300:#FFB443;--amber-200:#FFCE86;--amber-100:#FFE6C2;
--sunset-600:#D9573A;--sunset-500:#F28060;--sunset-400:#FF9877;--sunset-300:#FFB39B;--sunset-200:#FFD6C7;
--sky-700:#1C88BC;--sky-600:#2E9FD6;--sky-500:#46B4E3;--sky-400:#6FC6EC;--sky-300:#A2DBF4;--sky-200:#CFEDFA;
--cream-500:#F4E2BE;--cream-400:#FBEED6;--cream-300:#FDF5E7;--cream-200:#FFFAF0;--cream-100:#FFFDF8;
--grape-600:#6E3F96;--grape-500:#8B5CB8;--grape-400:#A981CE;
--gray-950:#14171A;--gray-900:#22272C;--gray-800:#343B42;--gray-700:#4C555E;--gray-600:#6A747E;--gray-500:#8B959F;--gray-400:#AEB7C0;--gray-300:#CDD4DA;--gray-200:#E4E8EC;--gray-100:#F1F4F6;--gray-050:#F8FAFB;--white:#fff;
--green-600:#1E8A5F;--green-500:#27A874;--green-100:#DEF4EA;--red-600:#C0392B;--red-500:#E04B39;--red-100:#FBE3DF;--blue-600:#1C88BC;--blue-100:#E2F2FA;--yellow-600:#B4790A;--yellow-100:#FFF2D6;
}

/* ---------- Tokens: tipografía ---------- */
:root{
--font-display:"Baloo 2",system-ui,sans-serif;
--font-body:"Nunito",system-ui,sans-serif;
--font-mono:"JetBrains Mono",ui-monospace,monospace;
--text-display-xl:64px;--text-display-lg:48px;--text-display-md:36px;--text-display-sm:28px;
--text-xl:20px;--text-lg:18px;--text-md:16px;--text-sm:14px;--text-xs:12px;--text-2xs:11px;
--lh-display:1.05;--lh-heading:1.2;--lh-body:1.55;
--fw-regular:400;--fw-semibold:600;--fw-bold:700;--fw-black:800;
--ls-display:-.02em;--ls-heading:-.01em;--ls-label:.02em;--ls-eyebrow:.14em;
}

/* ---------- Tokens: espacio, radios, sombra, movimiento ---------- */
:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;
--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:36px;--radius-pill:999px;
--shadow-xs:0 1px 2px rgba(7,19,31,.08);--shadow-sm:0 2px 6px rgba(7,19,31,.10);--shadow-md:0 6px 18px rgba(7,19,31,.12);--shadow-lg:0 14px 34px rgba(7,19,31,.16);
--shadow-badge:0 4px 0 rgba(7,19,31,.22);
--ring-focus:0 0 0 3px rgba(70,180,227,.45);
--scrim-bottom:linear-gradient(to top,rgba(7,19,31,.88) 0%,rgba(7,19,31,.55) 38%,rgba(7,19,31,0) 78%);
--gradient-sunset:linear-gradient(180deg,#46B4E3 0%,#8FD3EE 26%,#FFCE86 56%,#FFA940 74%,#F28060 100%);
--gradient-amber:linear-gradient(180deg,#FFB443 0%,#F0A040 100%);
--dur-fast:140ms;--dur-base:220ms;--ease-out:cubic-bezier(.2,.7,.3,1);
}

/* ---------- Alias semánticos ---------- */
:root{
--text-primary:var(--navy-800);--text-secondary:var(--gray-700);--text-muted:var(--gray-600);
--text-inverse:var(--cream-200);--text-inverse-muted:rgba(253,245,231,.78);
--text-accent:var(--sunset-600);--text-link:var(--sky-700);--text-link-hover:var(--navy-700);
--surface-page:var(--cream-300);--surface-card:var(--white);--surface-night:var(--navy-800);
--surface-accent-soft:var(--amber-100);
--border-subtle:var(--gray-200);--border-default:var(--gray-300);--border-warm:var(--cream-500);
--feedback-success:var(--green-600);--feedback-success-surface:var(--green-100);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:var(--text-md);line-height:var(--lh-body);color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-black);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);margin:0}
p{margin:0;text-wrap:pretty}
ul{margin:0;padding:0;list-style:none}
img{max-width:100%;display:block}
[hidden]{display:none!important}
a{color:var(--text-link);text-decoration:none;font-weight:var(--fw-bold)}
a:hover{color:var(--text-link-hover);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
section[id]{scroll-margin-top:70px}

/* ---------- Iconos (máscara CSS, heredan currentColor) ---------- */
.ic{display:inline-block;flex:0 0 auto;width:var(--s,18px);height:var(--s,18px);background:currentColor;-webkit-mask:var(--u) center/contain no-repeat;mask:var(--u) center/contain no-repeat}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}
.sec{padding-block:56px}
.sec-tight{padding-block:40px}
.col{display:flex;flex-direction:column}
.g2{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.g3{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.g4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.split{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:start}
.row-wrap{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.only-desktop{display:none}
.only-mobile{display:block}

/* ---------- Tipos fluidos ---------- */
.hero-title{font-size:clamp(38px,9vw,76px);line-height:1;letter-spacing:var(--ls-display);text-wrap:balance}
.sec-title{font-size:clamp(28px,6vw,48px);line-height:var(--lh-display);letter-spacing:var(--ls-display);text-wrap:balance}
.sec-lead{font-size:clamp(16px,4vw,20px);line-height:var(--lh-body)}
.display-num{font-size:clamp(34px,8vw,56px)}

/* ---------- Encabezado de sección ---------- */
.sec-head{display:flex;flex-direction:column;gap:var(--space-2);max-width:640px}
.eyebrow{font-size:var(--text-2xs);font-weight:var(--fw-black);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--sunset-600)}
.sec-sub{font-size:var(--text-lg);color:var(--text-secondary)}
.on-night .sec-title,.on-night h3{color:var(--cream-200)}
.on-night .eyebrow{color:var(--amber-300)}
.on-night .sec-sub,.on-night p{color:var(--text-inverse-muted)}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--fw-bold);letter-spacing:var(--ls-label);line-height:1;border-radius:var(--radius-pill);border:2px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;transition:transform var(--dur-fast) var(--ease-out),filter var(--dur-fast) var(--ease-out)}
.btn:hover{filter:brightness(1.05);transform:translateY(-2px);text-decoration:none}
.btn:active{transform:translateY(1px) scale(.98)}
.btn-sm{height:36px;padding:0 14px;font-size:var(--text-sm);gap:6px}
.btn-lg{height:54px;padding:0 28px;font-size:var(--text-lg);gap:10px}
.btn-primary{background:var(--amber-400);border-color:var(--amber-400);color:var(--navy-800);box-shadow:var(--shadow-badge)}
.btn-secondary{background:var(--navy-800);border-color:var(--navy-800);color:var(--cream-200);box-shadow:var(--shadow-sm)}
.btn-night{background:transparent;border-color:rgba(253,245,231,.5);color:var(--cream-100)}
.btn-ghost{background:transparent;color:var(--navy-700)}
.btn-full{display:flex;width:100%}

/* ---------- Badge / chip ---------- */
.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:var(--fw-black);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;line-height:1.2;white-space:nowrap;background:var(--amber-400);color:var(--navy-800);border:1px solid transparent}
.badge-cream{background:var(--cream-400);color:var(--navy-700);border-color:var(--border-warm)}
.parkchip{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px;background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);box-shadow:var(--shadow-xs);font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--navy-800);white-space:nowrap}
.parkchip .dot{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--white);background:var(--navy-500)}
.dot-mk{background:var(--sky-500)}.dot-ep{background:var(--grape-500)}.dot-hs{background:var(--sunset-500)}.dot-ak{background:var(--green-500)}.dot-un{background:var(--navy-500)}.dot-vb{background:var(--sky-700)}

/* ---------- Tarjetas ---------- */
.card{background:var(--surface-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden}
.card-pad{padding:var(--space-5)}
.card-sm{box-shadow:var(--shadow-sm)}
.card-lg{box-shadow:var(--shadow-lg);border-radius:var(--radius-2xl)}
.card-paper{background:var(--cream-100)}

/* ---------- Placeholder de foto ---------- */
.photo-slot{position:relative;background:var(--gradient-sunset);display:flex;align-items:center;justify-content:center;overflow:hidden}
.photo-slot span{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(7,19,31,.45);text-align:center;padding:0 16px}
.photo-slot-hero{align-items:flex-end;justify-content:flex-end}
.photo-slot-hero span{color:var(--cream-100);background:rgba(7,19,31,.55);border-radius:999px;padding:7px 14px;margin:0 16px 16px;text-align:right}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:30;background:rgba(11,30,48,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(253,245,231,.12)}
.site-header .wrap{display:flex;align-items:center;gap:16px;height:66px}
.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;text-decoration:none}
.brand:hover{text-decoration:none}
.brand img{width:42px;height:42px;border-radius:50%}
.brand .kicker{font-size:8px;font-weight:800;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--sunset-400)}
.brand .name{font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:var(--ls-display);color:var(--cream-100)}
.nav{flex:1;gap:22px;justify-content:center}
.nav a{font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--cream-200);white-space:nowrap}
.nav a:hover{color:var(--amber-300);text-decoration:none}
.burger{flex:0 0 auto;width:44px;height:44px;border-radius:var(--radius-pill);border:2px solid rgba(253,245,231,.28);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--cream-100)}
.drawer{border-top:1px solid rgba(253,245,231,.12);padding:12px 20px 20px;display:flex;flex-direction:column;gap:4px}
.drawer a{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--cream-200);padding:12px 0;border-bottom:1px solid rgba(253,245,231,.08)}
.drawer .btn{margin-top:12px}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--navy-800)}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,19,31,.96) 0%,rgba(7,19,31,.84) 42%,rgba(7,19,31,.46) 100%)}
.hero .wrap{position:relative;padding-top:56px;padding-bottom:56px}
.hero-copy{display:flex;flex-direction:column;gap:20px;max-width:620px;align-items:flex-start}
.hero p{color:var(--cream-200);max-width:520px}
.proof{display:flex;flex-direction:column;gap:9px;margin-top:12px}
.proof li{display:flex;align-items:center;gap:10px;font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--cream-200)}
.proof .ic{color:var(--amber-300)}

/* ---------- Paquetes ---------- */
.pkg{display:flex;flex-direction:column}
.pkg-photo{position:relative;height:168px;background:var(--gradient-sunset)}
.pkg-photo .label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--fw-black);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:rgba(7,19,31,.5)}
.pkg-photo .scrim{position:absolute;inset:0;background:var(--scrim-bottom)}
.pkg-photo .badge{position:absolute;top:12px;left:12px}
.pkg-photo .nights{position:absolute;bottom:12px;left:14px;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:var(--fw-black);letter-spacing:var(--ls-label);color:var(--cream-100)}
.pkg-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);flex:1}
.pkg-body h3{font-size:var(--text-display-sm);line-height:1.1;letter-spacing:var(--ls-display);color:var(--navy-800);text-wrap:balance}
.incl{display:flex;flex-direction:column;gap:6px}
.incl li{display:flex;gap:8px;align-items:flex-start;font-size:var(--text-sm);line-height:1.45;color:var(--text-secondary)}
.incl .ic{--s:15px;color:var(--feedback-success);margin-top:3px}
.pkg-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:var(--space-2)}
.price{display:flex;flex-direction:column;gap:2px}
.price .from{font-size:var(--text-2xs);font-weight:var(--fw-black);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--sunset-600)}
.price .row{display:flex;align-items:baseline;gap:6px}
.price .was{font-size:12px;font-weight:var(--fw-bold);color:var(--gray-500);text-decoration:line-through}
.price .amt{font-family:var(--font-display);font-size:28px;font-weight:var(--fw-black);line-height:1;letter-spacing:var(--ls-display);color:var(--navy-800)}
.price .cur{font-size:9px;font-weight:var(--fw-black);letter-spacing:var(--ls-label);color:var(--navy-500)}
.price .unit{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-muted)}

/* ---------- Alert / tip ---------- */
.alert{display:flex;gap:12px;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--surface-accent-soft);border:1px solid var(--amber-200)}
.alert .ic{color:var(--amber-600);margin-top:2px}
.alert b{display:block;font-family:var(--font-display);font-size:var(--text-lg);color:var(--navy-800);margin-bottom:2px}
.alert p{font-size:var(--text-sm);color:var(--navy-700)}
.alert-ok{background:var(--feedback-success-surface);border-color:#B9E6D2}
.alert-ok .ic,.alert-ok b{color:var(--feedback-success)}

/* ---------- Proceso ---------- */
.step{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:2px solid rgba(253,245,231,.18)}
.step .top{display:flex;align-items:center;justify-content:space-between}
.step .top .ic{--s:26px;color:var(--amber-300)}
.step .n{font-family:var(--font-display);font-size:22px;font-weight:var(--fw-black);color:var(--navy-400)}
.step h3{font-size:var(--text-xl);color:var(--cream-100)}
.step p{font-size:var(--text-sm);color:var(--text-inverse-muted)}

/* ---------- Nosotros ---------- */
.stat{display:flex;flex-direction:column;gap:4px}
.stat .ic{--s:22px;color:var(--sunset-600)}
.stat .v{font-family:var(--font-display);font-weight:var(--fw-black);line-height:1;letter-spacing:var(--ls-display);color:var(--navy-800)}
.stat .l{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-muted)}
.callout{display:flex;gap:16px;padding:var(--space-6);background:var(--navy-800);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}
.callout .avatar{width:48px;height:48px;flex:0 0 auto;border-radius:50%;background:var(--gradient-amber);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:20px;font-weight:var(--fw-black);color:var(--navy-900)}
.callout p{font-size:var(--text-lg);color:var(--cream-200)}
.callout .who{margin-top:8px;font-size:var(--text-xs);font-weight:var(--fw-black);letter-spacing:var(--ls-label);color:var(--amber-300)}

/* ---------- Itinerario ---------- */
.itin{display:flex;gap:var(--space-4)}
.itin .rail{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}
.itin .pill{width:44px;height:44px;border-radius:var(--radius-pill);background:var(--navy-800);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--fw-black);line-height:1}
.itin .pill .k{font-size:9px;letter-spacing:var(--ls-eyebrow);color:var(--cream-400);text-transform:uppercase}
.itin .pill .d{font-size:18px;color:var(--amber-400)}
.itin .line{flex:1;width:2px;background:var(--border-warm);margin-top:6px;min-height:24px}
.itin .body{flex:1;min-width:0;padding-bottom:var(--space-6)}
.itin:last-child .body{padding-bottom:0}
.itin .head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}
.itin h4{font-size:var(--text-xl);color:var(--navy-800)}
.itin .date{font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-muted)}
.itin .plan{display:flex;flex-direction:column;gap:5px}
.itin .plan li{display:flex;gap:10px;font-size:var(--text-sm);line-height:1.5;color:var(--text-secondary)}
.itin .plan .t{flex:0 0 auto;min-width:46px;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;color:var(--navy-500);padding-top:2px}
.itin .tip{display:flex;gap:8px;margin-top:10px;padding:9px 12px;background:var(--surface-accent-soft);border-radius:var(--radius-sm);font-size:var(--text-xs);line-height:1.5;color:var(--navy-700)}
.itin .tip .ic{--s:14px;color:var(--amber-600);margin-top:2px}

/* ---------- Testimonios ---------- */
.review{display:flex;flex-direction:column;gap:14px;padding:var(--space-5)}
.stars{display:flex;gap:2px;color:var(--amber-500)}
.stars .ic{--s:16px}
.review q{quotes:none;font-size:var(--text-md);line-height:var(--lh-body);color:var(--text-primary);flex:1}
.review .who{display:flex;align-items:center;gap:11px;padding-top:10px;border-top:1px solid var(--border-subtle)}
.review .ini{width:40px;height:40px;flex:0 0 auto;border-radius:var(--radius-pill);background:var(--gradient-amber);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:18px;font-weight:var(--fw-black);color:var(--navy-900)}
.review b{font-size:var(--text-sm);color:var(--navy-800);display:block}
.review .meta{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-muted)}

/* ---------- Tips ---------- */
.post{display:flex;flex-direction:column;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.post:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.post .photo-slot{height:132px}
.post .body{padding:var(--space-5);display:flex;flex-direction:column;gap:10px;flex:1;align-items:flex-start}
.post h3{font-size:var(--text-xl);line-height:1.15;color:var(--navy-800);text-wrap:balance}
.post p{font-size:var(--text-sm);color:var(--text-secondary);flex:1}
.post .read{display:inline-flex;align-items:center;gap:7px;font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--text-link)}
.post .read .ic{--s:13px}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;gap:10px}
.faq details{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}
.faq details[open]{border-color:var(--border-default);box-shadow:var(--shadow-sm)}
.faq summary{display:flex;align-items:center;gap:14px;padding:var(--space-4) var(--space-5);cursor:pointer;list-style:none;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--fw-bold);line-height:1.3;letter-spacing:var(--ls-heading);color:var(--navy-800)}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{flex:1}
.faq summary .ic{color:var(--navy-600);--s:20px;transition:transform var(--dur-base) var(--ease-out)}
.faq details[open] summary .ic{transform:rotate(180deg)}
.faq p{padding:0 var(--space-5) var(--space-5);font-size:var(--text-md);color:var(--text-secondary)}

/* ---------- Formulario ---------- */
.reasons{display:flex;flex-direction:column;gap:11px}
.reasons li{display:flex;gap:10px;align-items:flex-start;font-size:var(--text-sm);line-height:1.5;color:var(--text-secondary)}
.reasons .ic{--s:17px;color:var(--sunset-600);margin-top:2px}
.form{display:flex;flex-direction:column;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--navy-700)}
.field input,.field select{width:100%;height:46px;padding:0 14px;font-family:var(--font-body);font-size:var(--text-md);color:var(--navy-800);background:var(--white);border:2px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease-out)}
.field input:focus,.field select:focus{border-color:var(--sky-500);outline:none;box-shadow:var(--ring-focus)}
.field .help{font-size:var(--text-xs);color:var(--text-muted)}
.tags{display:flex;flex-wrap:wrap;gap:7px}
.tag{height:32px;padding:0 13px;border-radius:var(--radius-pill);border:2px solid var(--border-default);background:var(--white);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--navy-700);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}
.tag[aria-pressed="true"]{background:var(--navy-800);border-color:var(--navy-800);color:var(--cream-200)}
.check{display:flex;gap:11px;align-items:flex-start;cursor:pointer}
.check input{width:22px;height:22px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--navy-800)}
.check b{display:block;font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--navy-800)}
.check span{font-size:var(--text-xs);color:var(--text-muted)}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-900);border-top:3px solid var(--amber-400)}
.site-footer .lock{display:flex;align-items:center;gap:12px}
.site-footer .lock img{width:64px;height:64px;border-radius:50%}
.site-footer p{font-size:var(--text-sm);color:var(--text-inverse-muted);max-width:340px}
.contact{display:flex;flex-direction:column;gap:8px}
.contact a,.contact .line{display:flex;align-items:center;gap:9px;font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--cream-200)}
.contact a:hover{color:var(--amber-300);text-decoration:none}
.contact .ic{--s:16px;color:var(--amber-300)}
.fcol{display:flex;flex-direction:column;gap:9px}
.fcol .t{font-size:var(--text-2xs);font-weight:var(--fw-black);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--amber-300)}
.fcol a{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--cream-200)}
.fcol a:hover{color:var(--amber-300);text-decoration:none}
.legal{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid rgba(253,245,231,.14)}
.legal span{font-size:var(--text-xs);color:var(--text-inverse-muted)}
.social{display:flex;gap:8px}
.social a{width:36px;height:36px;border-radius:var(--radius-pill);border:1px solid rgba(253,245,231,.24);display:flex;align-items:center;justify-content:center;color:var(--cream-200)}
.social a:hover{border-color:var(--amber-300);color:var(--amber-300)}
.social .ic{--s:16px}

/* ---------- WhatsApp flotante ---------- */
.wa-float{display:flex;align-items:center;gap:9px;position:fixed;right:16px;bottom:16px;z-index:40;height:54px;padding:0 20px;border-radius:var(--radius-pill);background:var(--amber-400);color:var(--navy-900);font-size:var(--text-md);font-weight:var(--fw-black);box-shadow:0 5px 0 var(--amber-600),var(--shadow-lg)}
.wa-float:hover{color:var(--navy-900);text-decoration:none}

/* ---------- Breakpoints ---------- */
@media (min-width:720px){
.wrap{padding:0 32px}
.sec{padding-block:80px}
.sec-tight{padding-block:56px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.g3{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center}
.split-top{align-items:start}
.only-desktop{display:flex}
.only-mobile,.burger,.drawer{display:none}
.hero .wrap{padding-top:96px;padding-bottom:88px}
.wa-float{display:none}
}
@media (min-width:1000px){
.sec{padding-block:96px}
.split{gap:64px}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
