/* Alma Travel Intake — Brand System v1.3, superficie web */
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500&family=Raleway:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Petrona:ital,wght@1,400&display=swap');
:root {
  --oxblood:#4A120C; --oxblood-600:#6A2317; --pine:#2D4A37; --periwinkle:#C5DCFF; --periwinkle-300:#E0EBFF; --bougainvillea:#D94F70;
  --cream-100:#FCEED8; --cream-50:#FEF8EF; --ink-900:#241A15; --ink-600:#5C4D43; --border:#E7DDD0;
  --display:'Higuen Elegant Serif','Bodoni Moda','Times New Roman',serif; --sans:'Raleway','Helvetica Neue',Arial,sans-serif; --note:'Petrona',Georgia,serif;
}
*{box-sizing:border-box} html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream-50);color:var(--ink-900);font-family:var(--sans);font-size:16px;line-height:1.55}
button,input,select,textarea{font:inherit;color:inherit} img{max-width:100%;display:block} a{color:var(--oxblood)}
.oculto{display:none!important} .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wrap{max-width:720px;margin:0 auto;padding:0 16px 80px}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0 18px;border-bottom:1px solid var(--border)}
.logo img{height:44px;width:auto} @media(min-width:720px){.logo img{height:54px}}
.lang{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--ink-600);text-decoration:none}
.display{font-family:var(--display);font-weight:400;letter-spacing:-.005em;line-height:1.08;margin:0}
.h1{font-size:clamp(30px,5vw,44px)} .h2{font-size:clamp(22px,3.4vw,30px)}
.eyebrow{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--ink-600);margin:0}
.eyebrow.ox{color:var(--oxblood)}
.muted{color:var(--ink-600)} .small{font-size:13.5px;line-height:1.55} p{margin:0 0 12px}
.intro{padding:34px 0 22px}
.prog{display:flex;gap:6px;margin:0 0 26px} .prog span{flex:1;height:3px;background:var(--border)} .prog span.on{background:var(--oxblood)}
.step{display:none} .step.on{display:block}
.card{background:#fff;border:1px solid var(--border);padding:22px 18px} @media(min-width:600px){.card{padding:30px 32px}}
.grid{display:grid;gap:16px} @media(min-width:600px){.grid.g2{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:6px;margin-top:18px} .field:first-child{margin-top:0}
.label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--ink-600)}
.label .req{color:var(--oxblood);font-weight:600;letter-spacing:0;text-transform:none;margin-left:6px}
.label .opt{color:var(--ink-600);font-weight:500;letter-spacing:0;text-transform:none;margin-left:6px}
.field input,.field select,.field textarea{width:100%;padding:12px 13px;font-size:16px;background:#fff;border:1px solid var(--border);border-radius:0;outline:none;color:var(--ink-900)}
.field textarea{resize:vertical;line-height:1.5;min-height:96px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--oxblood);box-shadow:0 0 0 3px var(--periwinkle-300)}
.field.err input,.field.err select,.field.err textarea,.field.err .chips{border-color:var(--bougainvillea)}
.field .msg{font-size:13px;color:var(--bougainvillea);font-weight:600;min-height:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;border:1px solid transparent;padding:1px}
.chip{padding:10px 14px;border:1px solid var(--ink-600);background:transparent;color:var(--ink-900);font-weight:600;font-size:14px;cursor:pointer;border-radius:0;min-height:42px}
.chip[aria-pressed="true"]{background:var(--oxblood);border-color:var(--oxblood);color:var(--cream-50)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:.04em;padding:13px 22px;border:1px solid var(--oxblood);background:transparent;color:var(--oxblood);cursor:pointer;border-radius:0;text-transform:uppercase;min-height:46px;text-decoration:none}
.btn:hover{background:var(--cream-100)} .btn.primary{background:var(--oxblood);color:var(--cream-50)} .btn.primary:hover{background:var(--oxblood-600)}
.btn.quiet{border-color:var(--border);color:var(--ink-900);text-transform:none;letter-spacing:0;font-weight:600}
.btn.link{border:0;padding:6px 2px;text-transform:none;letter-spacing:0;text-decoration:underline;text-underline-offset:3px;font-weight:600;min-height:0;color:var(--ink-600)}
.btn:disabled{opacity:.55;cursor:wait} .btn.block{width:100%}
.btn:focus-visible,input:focus-visible,.chk:focus-within{outline:3px solid var(--periwinkle);outline-offset:2px}
.nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px}
.chk{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.5;margin-top:18px} .chk input{width:18px;height:18px;margin-top:3px;flex:0 0 auto;accent-color:var(--oxblood)}
.errbox{background:var(--cream-100);border-left:3px solid var(--bougainvillea);padding:12px 14px;margin:18px 0 0;font-size:14px} .errbox ul{margin:6px 0 0 18px;padding:0}
.errbox a{cursor:pointer}
.viajero{border-top:1px solid var(--border);padding-top:16px;margin-top:16px}
.viajero .top{display:flex;justify-content:space-between;align-items:baseline}
.note{background:var(--periwinkle);padding:16px 18px;margin-top:22px;position:relative}
.note::before{content:"";position:absolute;left:18px;top:0;width:36px;height:2px;background:var(--oxblood)}
.note .txt{font-family:var(--note);font-style:italic;font-size:17px;line-height:1.35;margin-top:6px}
.ok{padding:40px 0}
.pie{border-top:1px solid var(--border);margin-top:40px;padding-top:16px;font-size:12px;color:var(--ink-600);letter-spacing:.04em}
.hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
