
:root{
  --blue:#1769e0;--blue2:#0b4fbd;--navy:#071a36;--navy2:#0c2f63;
  --text:#182033;--muted:#6f7b91;--line:#dfe5ef;--soft:#f3f7fc;--white:#fff;
  --shadow:0 24px 65px rgba(14,35,73,.16)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;background:#f5f8fc;color:var(--text)}
.page-shell{min-height:100vh}
.container{width:min(1040px,calc(100% - 32px));margin:auto}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#06152d 0%,#092c59 54%,#0d59c8 100%);color:#fff;padding:28px 0 170px}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:70px;background:#f5f8fc;clip-path:polygon(0 72%,100% 0,100% 100%,0 100%)}
.hero-glow{position:absolute;border-radius:50%;filter:blur(5px);opacity:.26}
.glow-one{width:390px;height:390px;background:#2f8aff;right:-100px;top:-100px}
.glow-two{width:260px;height:260px;background:#73b4ff;left:-130px;bottom:-100px}
.hero-content{position:relative;z-index:1}
.brand-row{display:flex;align-items:center;gap:12px}
.logo-mark{height:46px;width:46px;border:2px solid rgba(255,255,255,.75);border-radius:13px;display:grid;place-items:center;font-weight:700;letter-spacing:-1px}
.brand-name{font-size:15px;font-weight:700;letter-spacing:.17em}
.brand-sub{font-size:9px;letter-spacing:.34em;color:#9fc8ff;margin-top:2px}
.hero-copy{text-align:center;max-width:760px;margin:62px auto 0}
.pill{display:inline-block;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);border-radius:999px;padding:8px 14px;font-size:12px;font-weight:600;letter-spacing:.06em}
.hero h1{font-size:clamp(42px,7vw,73px);line-height:1.02;letter-spacing:-.055em;margin:24px 0 18px;font-weight:700}
.hero h1 span{color:#68a9ff}
.hero-copy p{font-size:17px;line-height:1.75;color:#c8d8ee;max-width:650px;margin:auto}
.main-content{position:relative;margin-top:-108px;z-index:3}
.booking-card{background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:42px;border:1px solid rgba(223,229,239,.9)}
.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:30px}
.section-kicker{font-size:11px;color:var(--blue);font-weight:700;letter-spacing:.18em}
.card-heading h2{font-size:31px;letter-spacing:-.035em;margin:8px 0 8px}
.card-heading p{margin:0;color:var(--muted)}
.price-badge{min-width:112px;text-align:center;padding:14px;border-radius:14px;background:#edf5ff;border:1px solid #d3e7ff;color:var(--blue2)}
.price-badge span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.price-badge strong{display:block;font-size:27px;margin-top:2px}
.form-block{border-top:1px solid var(--line);padding:30px 0}
.block-title{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.block-title span{width:31px;height:31px;border-radius:9px;background:var(--blue);color:white;display:grid;place-items:center;font-weight:700;font-size:13px}
.block-title h3{margin:0;font-size:17px}
.grid{display:grid;gap:17px}
.grid.two{grid-template-columns:1fr 1fr}
.full{grid-column:1/-1}
label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:8px;color:#303a50}
label small{font-weight:400;color:#8b95a7}
input,select,textarea{border:1px solid #cfd7e3;border-radius:10px;padding:13px 14px;background:#fff;outline:0;width:100%;font:inherit;color:var(--text);transition:.15s}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,224,.12)}
textarea{resize:vertical}
.file-input{padding:10px}
.helper{color:var(--muted);font-size:13px;margin:-8px 0 15px}
.addons{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.addon-option{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;border:1px solid #cfd7e3;border-radius:13px;padding:17px;cursor:pointer;transition:.18s;background:#fff}
.addon-option:hover{border-color:#8cb8f1;background:#f7fbff}
.addon-option input{position:absolute;opacity:0;pointer-events:none}
.check-box{width:21px;height:21px;border:2px solid #aab5c5;border-radius:6px;position:relative}
.addon-option input:checked + .check-box{background:var(--blue);border-color:var(--blue)}
.addon-option input:checked + .check-box:after{content:"";position:absolute;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);left:6px;top:3px}
.addon-option:has(input:checked){border-color:var(--blue);background:#eef6ff;box-shadow:0 0 0 2px rgba(23,105,224,.08)}
.addon-text{display:flex;flex-direction:column;gap:3px}
.addon-text strong{font-size:14px}
.addon-text small{font-size:11px}
.addon-option b{color:var(--blue);font-size:14px}
.total-panel{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-radius:15px;padding:20px 23px;margin:8px 0 18px}
.total-panel div{display:flex;flex-direction:column;gap:4px}
.total-panel span{font-size:14px;font-weight:700}
.total-panel small{color:#a9c2e6;font-size:12px}
.total-panel strong{font-size:30px}
button{width:100%;border:0;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:15px;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 10px 24px rgba(23,105,224,.24)}
button:hover{filter:brightness(.97)}
button:disabled{opacity:.6;cursor:not-allowed}
.message{text-align:center;font-size:13px;font-weight:600;min-height:18px;margin:13px 0 0}
.message.error{color:#c12424}.message.success{color:#16804b}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 70px}
.trust-row div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center;display:flex;flex-direction:column;gap:5px}
.trust-row strong{font-size:13px}.trust-row span{font-size:12px;color:var(--muted)}
footer{text-align:center;background:#06152d;color:#8195b2;padding:28px;font-size:12px}
@media(max-width:700px){
  .hero{padding-bottom:150px}.hero-copy{margin-top:45px}.hero h1{font-size:43px}
  .booking-card{padding:25px 18px;border-radius:18px}.card-heading{flex-direction:column}
  .price-badge{align-self:flex-start}.grid.two,.addons,.trust-row{grid-template-columns:1fr}
  .full{grid-column:auto}.total-panel{align-items:flex-start;flex-direction:column;gap:13px}
}
