:root{
  --bg:#061322;--bg2:#0b2944;--panel:#0d2238;--line:rgba(255,255,255,.12);
  --text:#f7fbff;--muted:#a8bed1;--blue:#55b9ff;--blue2:#8ed8ff;--ink:#041522;
  --gold:#d6a545;--gold2:#f2d38b;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 82% 0%,rgba(63,168,242,.20),transparent 32%),radial-gradient(circle at 0% 35%,rgba(22,94,147,.22),transparent 34%),linear-gradient(180deg,#081a2c 0%,#061322 56%,#04101b 100%)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 70%)}
body.calendar-open{overflow:hidden}
button,input,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page-shell{width:min(720px,calc(100% - 28px));margin:0 auto;padding:24px 0 38px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 2px 26px}.brand{display:block;line-height:0}.brand img{width:132px;height:132px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 10px 24px rgba(0,0,0,.26))}.micro{font-size:10px;letter-spacing:.15em;font-weight:800;color:#bdd2e3;text-align:right}.hero{padding:8px 2px 24px}.kicker{font-size:11px;letter-spacing:.18em;font-weight:850;color:var(--blue2);margin:0 0 12px}.hero h1{font-size:clamp(38px,9vw,64px);line-height:.96;letter-spacing:-.045em;margin:0 0 14px;max-width:620px}.lead{margin:0;color:var(--muted);font-size:17px;line-height:1.55}
.request-card{position:relative;background:linear-gradient(180deg,rgba(15,42,69,.97),rgba(8,26,44,.98));border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.field{display:grid;gap:8px}.full{grid-column:1/-1}label,.counter-label{font-size:13px;font-weight:800;color:#dce9f3}input,select,.date-trigger{width:100%;height:52px;border:1px solid var(--line);border-radius:14px;padding:0 14px;background:#071a2c;color:var(--text);outline:none}input:focus,select:focus,.date-trigger:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(85,185,255,.13)}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#86cffa 50%),linear-gradient(135deg,#86cffa 50%,transparent 50%);background-position:calc(100% - 18px) 22px,calc(100% - 13px) 22px;background-size:5px 5px;background-repeat:no-repeat;padding-right:38px}.date-picker-field{margin-top:16px}.date-trigger{display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.date-trigger span:last-child{font-size:20px;color:var(--blue2)}
.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.counter-box{border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:16px;padding:12px 12px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.counter{display:flex;align-items:center;gap:10px}.counter output{min-width:24px;text-align:center;font-size:18px;font-weight:900}.counter-btn{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:#071a2c;color:var(--text);font-size:22px;line-height:1;cursor:pointer}.counter-btn:active{transform:scale(.96)}.resort-field{margin-top:2px}.resort-reveal{margin-top:14px;border:1px solid rgba(93,192,255,.28);border-radius:16px;background:linear-gradient(135deg,rgba(67,165,229,.11),rgba(255,255,255,.025));overflow:hidden}.reveal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 15px 12px}.reveal-tag{display:block;font-size:9px;letter-spacing:.14em;font-weight:900;color:var(--blue2);margin-bottom:4px}.reveal-head h2{font-size:18px;margin:0}.toggle-facts{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:rgba(5,19,32,.45);color:white;font-size:19px;cursor:pointer;flex:0 0 auto}.facts-body{border-top:1px solid var(--line);padding:14px}.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.fact-card{min-height:82px;border:1px solid rgba(126,207,255,.18);border-radius:13px;background:rgba(4,18,30,.42);padding:12px;display:flex;flex-direction:column;justify-content:space-between}.fact-value{font-size:19px;font-weight:900;letter-spacing:-.025em;color:#f4fbff}.fact-label{font-size:9px;letter-spacing:.12em;font-weight:850;color:#8eb5cf;text-transform:uppercase;margin-top:8px}.submit{width:100%;margin-top:18px;border:0;border-radius:14px;padding:16px 17px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--blue),var(--blue2));color:var(--ink);font-weight:900;cursor:pointer;box-shadow:0 13px 30px rgba(53,165,238,.18)}.submit:active{transform:translateY(1px)}.helper{text-align:center;color:#8fa9bd;font-size:11px;line-height:1.45;margin:10px 8px 0}.error{color:#ffb8b8;font-size:12px;font-weight:700;min-height:18px;margin:12px 2px -4px}footer{display:flex;align-items:center;justify-content:center;gap:10px;padding:26px 0 0;color:#9db4c7}footer img{width:31px;height:31px;object-fit:contain;border-radius:8px}footer div{display:grid;gap:1px}footer strong{font-size:11px;letter-spacing:.15em;color:#e8f4fc}footer span{font-size:10px}

.calendar-overlay{position:fixed;inset:0;z-index:1000;background:rgba(2,8,13,.72);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:14px}.calendar-overlay[hidden]{display:none}.calendar-modal{width:min(570px,100%);max-height:min(92vh,920px);overflow:auto;border-radius:34px;border:1px solid rgba(255,255,255,.15);background:linear-gradient(180deg,rgba(13,29,38,.99),rgba(8,24,31,.995));box-shadow:0 34px 120px rgba(0,0,0,.55);padding:26px 28px 24px}.calendar-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.calendar-kicker{font-size:12px;letter-spacing:.27em;font-weight:900;color:#e7e8e9}.calendar-nav{display:flex;gap:9px}.calendar-nav button{width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.025);color:#f7f7f7;font-size:25px;cursor:pointer}.calendar-months{display:grid;gap:32px}.month-block h3{text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:400;margin:2px 0 16px}.weekdays,.days-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays{margin-bottom:8px}.weekday{text-align:center;color:#899299;font-size:10px;letter-spacing:.16em;font-weight:900}.day-cell{position:relative;aspect-ratio:1/1;min-height:42px;border:0;background:transparent;color:#ecedef;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px}.day-cell.empty{cursor:default}.day-cell.disabled{color:#495158;cursor:not-allowed}.day-cell.in-range:before{content:"";position:absolute;inset:8px 0;background:rgba(139,101,70,.28);z-index:0}.day-cell.range-start:before,.day-cell.range-end:before{background:linear-gradient(135deg,#c99a3f,#e0b85d);inset:3px;border-radius:16px}.day-cell span{position:relative;z-index:1}.day-cell.range-start span,.day-cell.range-end span{color:white}.calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid rgba(255,255,255,.1);margin-top:24px;padding-top:16px;color:#9da5ab;font-size:12px;font-weight:800;letter-spacing:.06em}.clear-dates{border:0;background:none;color:#c4c7c9;font-size:11px;letter-spacing:.18em;font-weight:900;cursor:pointer}.apply-dates{width:100%;margin-top:15px;border:0;border-radius:14px;height:48px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#17120a;font-weight:900;cursor:pointer}.apply-dates:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:560px){.page-shell{width:min(100% - 18px,720px);padding-top:14px}.topbar{padding-bottom:18px}.brand img{width:100px;height:100px}.micro{font-size:8px;max-width:125px}.hero{padding-bottom:18px}.hero h1{font-size:42px}.lead{font-size:15px}.request-card{padding:17px;border-radius:20px}.people-grid{gap:9px}input,select,.date-trigger{height:50px}.counter-box{padding:10px}.counter{gap:7px}.counter-btn{width:34px;height:34px}.calendar-overlay{padding:8px}.calendar-modal{border-radius:28px;padding:22px 18px 20px;max-height:94vh}.calendar-nav button{width:48px;height:48px}.month-block h3{font-size:27px}.calendar-months{gap:28px}.day-cell{min-height:40px}.fact-value{font-size:18px}}
@media(max-width:370px){.people-grid{grid-template-columns:1fr}.micro{display:none}.brand img{width:88px;height:88px}.calendar-modal{padding-left:12px;padding-right:12px}.day-cell{min-height:36px;font-size:14px}.fact-grid{grid-template-columns:1fr 1fr}}

/* FINAL STORY FORM — ice-blue range, child ages, accommodation */
.day-cell.in-range:before{background:rgba(56,189,248,.22)!important;}
.day-cell.range-start:before,.day-cell.range-end:before{background:linear-gradient(135deg,#38bdf8,#7dd3fc)!important;inset:3px!important;border-radius:16px!important;box-shadow:0 0 20px rgba(56,189,248,.22);}
.day-cell.range-start span,.day-cell.range-end span{color:#04131e!important;font-weight:950;}
.apply-dates{background:linear-gradient(135deg,#38bdf8,#7dd3fc)!important;color:#04131e!important;}
.children-ages{margin:2px 0 16px;padding:14px;border:1px solid rgba(93,192,255,.22);border-radius:16px;background:rgba(255,255,255,.025);}
.children-ages[hidden]{display:none}.age-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:9px}.age-field{display:grid;gap:6px}.age-field span{font-size:10px;letter-spacing:.08em;color:#8eb5cf;text-transform:uppercase}.age-field select{height:46px}.accommodation-field{margin-top:16px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choice-pill input{position:absolute;opacity:0;pointer-events:none}.choice-pill span{min-height:48px;border:1px solid var(--line);border-radius:13px;background:#071a2c;color:#dce9f3;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;font-size:12px;font-weight:850;cursor:pointer}.choice-pill input:checked+span{border-color:#7dd3fc;background:rgba(56,189,248,.18);box-shadow:0 0 0 2px rgba(56,189,248,.10);color:#fff}.submit span:first-child{text-align:left;line-height:1.2;padding-right:10px}
@media(max-width:370px){.choice-grid{grid-template-columns:1fr}.age-grid{grid-template-columns:1fr 1fr}}
