:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#172e47;background:#f3f6f8;font-size:16px}*{box-sizing:border-box}body{margin:0}header{max-width:1140px;margin:auto;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{font-weight:750;text-decoration:none;color:#193966;font-size:21px}.brand span{color:#ed6e15}.badge{font-size:10px;letter-spacing:1.5px;color:#506179;border:1px solid #cbd5df;border-radius:30px;padding:9px 12px}main{max-width:1060px;margin:20px auto 80px;padding:0 24px}.intro{max-width:760px;padding-bottom:24px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:#36746d}h1{font-size:clamp(35px,5vw,55px);line-height:1.08;letter-spacing:-1.5px;margin:20px 0}p{line-height:1.65;color:#526175}h2{font-size:24px;letter-spacing:-.5px;margin:0 0 18px}h3{margin-top:28px;font-size:18px}aside,.notice{padding:16px 20px;border-left:3px solid #ef861f;background:#fff7ea;font-size:14px;line-height:1.6;border-radius:0 10px 10px 0}.panel{background:white;border:1px solid #dbe3eb;border-radius:18px;padding:32px;margin-top:12px;box-shadow:0 12px 40px #23364a06}.panel section{border-top:1px solid #e2e8ee;margin-top:24px;padding-top:10px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}label{display:block;font-weight:600;font-size:14px;margin-bottom:18px}input,select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #b9c8d5;border-radius:8px;padding:12px;font:inherit;background:white;color:#172e47}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #bdd9f5;border-color:#1e538d}button,.button{cursor:pointer;background:#194d80;color:white;border:1px solid #194d80;border-radius:9px;padding:12px 18px;font:inherit;font-size:14px;font-weight:650;text-decoration:none;display:inline-block;margin:4px 8px 8px 0}button:hover,.button:hover{background:#11395f}button:disabled{opacity:.5;cursor:wait}.secondary{background:white;color:#194d80;border-color:#c2d0dd}.secondary:hover{background:#edf4fa}.check{display:flex;align-items:flex-start;gap:12px;line-height:1.6;font-weight:400}.check input{width:auto;margin-top:6px}.row{display:flex;align-items:center;justify-content:space-between;gap:15px}.row h2{margin:0}.status{display:inline-block;border-radius:8px;background:#e8f3ef;color:#1d6554;padding:8px 14px;font-weight:650;font-size:14px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px;line-height:1.6;color:#526175}.item{padding:12px 0;border-bottom:1px solid #e5eaf0;font-size:14px;overflow-wrap:anywhere}.item small{color:#64768a;display:block;margin-top:5px}.total{font-size:22px;color:#193966;font-weight:700}#message{position:sticky;bottom:12px;background:#17354f;color:white;border-radius:12px;padding:14px 20px;box-shadow:0 4px 20px #0002}#message:empty{display:none}.footer-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:24px}footer{text-align:center;color:#687b8d;line-height:1.8;font-size:12px;padding:20px}form{margin-top:18px}[hidden]{display:none!important}@media(max-width:640px){header{padding:20px}.badge{font-size:8px;padding:7px}.brand{font-size:17px}main{padding:0 16px;margin-top:8px}.panel{padding:22px 18px}.grid{grid-template-columns:1fr}h1{font-size:38px}button{min-height:44px}.row{align-items:flex-start}.intro{padding-bottom:12px}}
/* Keep the current step first; supporting information is available on demand. */
body.has-booking .intro { display:none; }
body.has-booking main { padding-top:12px; }
#booking details { border:1px solid #dce3e9;border-radius:10px;padding:12px;margin:12px 0; }
#booking summary { cursor:pointer;font-weight:600;color:#20394b; }
#booking details pre { white-space:pre-wrap;overflow-wrap:anywhere; }
#booking details[open] summary { margin-bottom:10px; }
#booking .footer-actions { gap:8px; }
#booking .footer-actions button { padding:9px 12px;font-size:13px; }
