:root { --ink:#07090a; --paper:#f1f0eb; --acid:#d7ff3f; --orange:#ff6a3c; --line:#bcc5b4; --mono:'DM Mono',monospace; --sans:'Space Grotesk',sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); }
a { color:inherit; }
[hidden] { display:none!important; }
:focus-visible { outline:2px solid #719525; outline-offset:4px; }
.skip { position:fixed; top:8px; left:8px; z-index:5; transform:translateY(-150%); padding:10px; background:var(--acid); }
.skip:focus { transform:none; }
header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:95px; padding:20px clamp(24px,4vw,68px); border-bottom:1px solid #414742; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand svg { width:32px; fill:var(--ink); flex:none; }
.brand span { display:block; font-size:18px; font-weight:500; letter-spacing:.01em; }
.brand small { display:block; font:7px var(--mono); color:#5d685f; letter-spacing:.07em; margin-top:6px; }
nav { display:flex; flex-wrap:wrap; gap:25px; font-size:13px; }
nav a { text-decoration:none; }
.hero { display:grid; grid-template-columns:1.5fr .5fr; border-bottom:1px solid #414742; }
.hero>div { padding:45px clamp(24px,4vw,68px); }
.eyebrow { margin:0; font:10px/1.6 var(--mono); letter-spacing:.08em; }
.eyebrow i { display:inline-block; width:18px; height:2px; margin-right:8px; background:var(--orange); vertical-align:middle; }
h1 { margin:28px 0; font:500 clamp(40px,5.3vw,72px)/1.06 var(--sans); letter-spacing:-.055em; }
h1 em { color:#334b26; font-style:normal; }
.lede { max-width:680px; margin:35px 0 0; font-size:18px; line-height:1.6; color:#4f5d4c; }
.hero aside { display:flex; flex-direction:column; justify-content:center; padding:40px; border-left:1px solid #414742; background:var(--acid); }
.hero aside span { font:10px var(--mono); letter-spacing:.1em; }
.hero aside strong { margin-top:22px; font:500 clamp(33px,3vw,46px)/1.1 var(--sans); letter-spacing:-.045em; }
.hero aside p { max-width:260px; font-size:13px; line-height:1.6; }
.offer { display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; padding:55px clamp(24px,4vw,68px); border-bottom:1px solid #414742; }
.offer h2,.booking h2,.confirmed h2 { margin:18px 0; font:500 clamp(30px,3.2vw,44px)/1.12 var(--sans); letter-spacing:-.045em; }
.offer ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; margin:0; list-style:none; }
.offer li { padding:0 20px; border-left:1px solid var(--line); font-size:12px; line-height:1.65; }
.offer li b { display:block; margin-bottom:25px; font:10px var(--mono); color:#ad5026; }
.offer li strong { display:block; margin-bottom:12px; font-size:17px; font-weight:500; line-height:1.3; }
.booking { display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; padding:65px clamp(24px,4vw,68px); background:#e7e9df; }
.booking-copy>p:not(.eyebrow):not(.support) { max-width:430px; line-height:1.7; color:#53604b; font-size:14px; }
.support { margin-top:35px; font-size:12px; line-height:1.7; }
.support a { overflow-wrap:anywhere; text-underline-offset:4px; }
form { padding:32px; background:#fafaf6; border:1px solid var(--line); border-top:3px solid var(--orange); color:var(--ink); }
label { display:grid; gap:8px; margin-bottom:19px; font-size:12px; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
input,select,textarea { width:100%; min-width:0; padding:13px; border:1px solid #aab39e; border-radius:0; background:white; color:var(--ink); font:15px var(--sans); }
textarea { resize:vertical; }
.check { grid-template-columns:18px 1fr; align-items:start; font-size:11px; line-height:1.65; }
.check input { width:17px; height:17px; margin:0; accent-color:#59762a; }
button { display:flex; justify-content:space-between; align-items:center; gap:20px; width:100%; min-height:50px; padding:15px 18px; border:1px solid #a2b659; background:var(--acid); color:var(--ink); font:500 13px var(--sans); cursor:pointer; }
.status { min-height:20px; margin:16px 0 0; font-size:12px; line-height:1.5; color:#96351b; }
.confirmed { padding:60px clamp(24px,4vw,68px); background:var(--acid); border-top:1px solid #414742; }
.confirmed p:not(.eyebrow) { max-width:600px; line-height:1.6; }
.confirmed a { font-weight:500; }
footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; padding:28px clamp(24px,4vw,68px); background:var(--ink); color:#bdc6bc; font:9px var(--mono); letter-spacing:.06em; }
@media(max-width:1000px) { .offer,.booking { grid-template-columns:1fr; gap:30px; } .offer ol { border-left:0; } .offer li:first-child { border:0; padding-left:0; } .hero aside { padding:28px; } }
@media(max-width:600px) { header { padding:18px 20px; min-height:82px; } .brand span { font-size:15px; } .brand svg { width:26px; } .brand small { font-size:6px; } nav { gap:15px; font-size:11px; } nav>a:not(:first-child) { display:none; } .hero { grid-template-columns:1fr; } .hero>div { padding:35px 22px; } h1 { font-size:clamp(36px,10vw,54px); } .hero aside { padding:25px 22px; border-left:0; border-top:1px solid #414742; } .hero aside strong { margin-top:15px; } .lede { margin-top:25px; font-size:16px; } .offer,.booking { padding:40px 22px; } .offer ol { grid-template-columns:1fr; border-top:1px solid var(--line); } .offer li,.offer li:first-child { display:grid; grid-template-columns:25px 1fr; gap:15px; padding:22px 0; border-left:0; border-bottom:1px solid var(--line); } .offer li b { margin-top:4px; } .offer li strong { margin-bottom:7px; } .split { grid-template-columns:1fr; gap:0; } form { padding:23px; } footer { flex-direction:column; } }
