@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Syne:wght@500;600;700;800&display=swap');
:root{--paper:#e8e5dc;--ink:#1d2825;--muted:#657068;--line:#bec5ba;--accent:#b75f45;--cream:#f4f0e7;--dark:#192923;--display:'Syne','Avenir Next',sans-serif;--body:'DM Sans','Avenir Next',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--body)}button,input{font:inherit}button{cursor:pointer}a{color:inherit}::selection{background:var(--accent);color:var(--cream)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip{position:absolute;left:-200vw;top:8px;background:var(--cream);z-index:10;padding:10px}.skip:focus{left:8px}
.booking-head{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(20px,4vw,65px);border-bottom:1px solid var(--line)}.brand{font:800 23px/.95 var(--display);letter-spacing:-.08em;text-decoration:none}.brand small{display:block;font:500 9px/1.8 var(--body);letter-spacing:.24em;text-transform:uppercase;margin-top:4px}.head-right{display:flex;align-items:center;gap:25px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.head-right a{text-decoration:none;border-bottom:1px solid var(--ink)}.head-right .lang{border:0}.head-right .lang span{opacity:.4}.head-right .lang [aria-current]{font-weight:700}
.booking-shell{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);min-height:calc(100dvh - 78px)}.journey{padding:clamp(35px,5vw,80px) clamp(22px,6vw,100px) 100px}.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.23em;font-weight:700;color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font:700 clamp(48px,5.7vw,90px)/.95 var(--display);letter-spacing:-.09em;max-width:850px;margin:25px 0 24px}h1 em{font-style:normal;color:var(--accent)}.intro{font-size:17px;max-width:580px;color:var(--muted);line-height:1.55}.demo-note{display:inline-block;border:1px solid var(--accent);color:#984a35;padding:7px 10px;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:700;margin-bottom:30px}
.steps{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:32px 0 55px}.steps button{flex:1;border:0;background:none;text-align:left;padding:16px 8px 16px 0;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.steps button b{display:block;font:700 24px var(--display);letter-spacing:-.07em}.steps button[aria-current=step]{color:var(--accent)}.steps button:disabled{cursor:not-allowed;opacity:.45}
.panel[hidden]{display:none}.panel-title{font:700 clamp(31px,3vw,48px)/1.07 var(--display);letter-spacing:-.07em;margin-bottom:16px}.panel-lead{color:var(--muted);max-width:540px;margin-bottom:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:9px}.field label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.field input{width:100%;min-height:58px;padding:12px 15px;background:var(--cream);color:var(--ink);border:1px solid var(--line);border-radius:0;color-scheme:light}.field input[aria-invalid=true]{border-color:var(--accent)}.field small{min-height:19px;color:#9e4834;font-size:12px}.field-wide{grid-column:span 2}.field input[type=number]{max-width:200px}.field-hint{font-size:12px;color:var(--muted)}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:40px}.primary,.secondary,.text-button{border:1px solid var(--dark);padding:16px 24px;background:var(--dark);color:var(--cream);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;transition:transform .2s,background .2s}.primary:hover,.secondary:hover{transform:translateY(-2px)}.secondary{background:transparent;color:var(--ink)}.text-button{border:0;background:none;color:var(--muted);padding:16px 8px;text-decoration:underline;text-underline-offset:4px}
.extras{display:grid;gap:10px}.extra{position:relative;display:grid;grid-template-columns:33px 1fr auto;gap:16px;align-items:center;background:var(--cream);border:1px solid var(--line);padding:19px;cursor:pointer;transition:border-color .2s,background .2s}.extra:has(input:checked){border-color:var(--accent);background:#f6e9de}.extra input{width:22px;height:22px;accent-color:var(--accent);cursor:pointer}.extra b{font:700 17px var(--display);letter-spacing:-.04em}.extra small{display:block;color:var(--muted);margin-top:2px;font-size:12px}.extra strong{white-space:nowrap;font-size:14px}.review-details{background:var(--cream);padding:25px;border:1px solid var(--line)}.review-details dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:25px}.review-details dt{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.review-details dd{margin:5px 0 0;font:700 17px var(--display)}.review-note{font-size:13px;line-height:1.55;color:var(--muted);margin-top:25px;max-width:560px}.confirmation{background:var(--dark);color:var(--cream);padding:clamp(26px,4vw,55px)}.confirmation .symbol{font:600 65px/1 var(--display);color:#dfae8f}.confirmation h2{font:700 clamp(36px,4vw,60px)/1 var(--display);letter-spacing:-.075em;margin:20px 0}.confirmation p{max-width:550px;color:#c3d2c5}.confirmation strong{color:var(--cream)}
.summary-side{background:var(--dark);color:var(--cream);position:relative}.summary-sticky{position:sticky;top:0;padding:clamp(25px,4vw,65px);min-height:100dvh;display:flex;flex-direction:column}.summary-image{width:100%;height:clamp(180px,25vh,270px);object-fit:cover;margin:20px 0 30px}.summary-side h2{font:700 32px var(--display);letter-spacing:-.07em;margin:0}.summary-side .location{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:#a9bcb0;margin:4px 0 0}.summary-facts{display:flex;gap:20px;border-bottom:1px solid #506056;padding:20px 0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#b9c9bd}.summary-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 10px}.summary-heading h3{font:700 19px var(--display);letter-spacing:-.04em;margin:0}.summary-heading span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#e3aa92}.breakdown{list-style:none;margin:0;padding:0}.breakdown li{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #48594e;font-size:13px}.breakdown li span:last-child{white-space:nowrap}.total{display:flex;justify-content:space-between;align-items:baseline;padding:24px 0;border-bottom:1px solid #7e9082}.total strong{font:700 clamp(31px,3vw,50px) var(--display);letter-spacing:-.07em}.summary-disclaimer{color:#b5c4b7;font-size:12px;line-height:1.6;margin-top:auto;padding-top:30px}.summary-disclaimer b{color:var(--cream)}
@media(max-width:900px){.booking-shell{grid-template-columns:1fr}.journey{padding-bottom:70px}.summary-sticky{min-height:0}.summary-image{height:260px}.summary-disclaimer{margin-top:10px}.summary-side{order:2}}
@media(max-width:600px){.booking-head{height:69px}.brand{font-size:19px}.head-right{gap:10px;font-size:10px}.head-right .return{max-width:80px;line-height:1.2}.journey{padding:38px 22px 70px}.steps{margin-bottom:40px}.steps button{font-size:10px}.steps button b{font-size:20px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.extra{grid-template-columns:25px 1fr;gap:10px;padding:15px}.extra strong{grid-column:2}.review-details dl{grid-template-columns:1fr 1fr}.summary-sticky{padding:30px 22px}.summary-image{height:200px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}