:root{--purple:#6c52a2;--purple-deep:#4f397e;--ink:#24212b;--muted:#625f6b;--line:#ddd9e3}
html{scroll-behavior:smooth}
body{background:#f7f5f8;color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.site-header{height:76px;background:var(--purple);padding:0 max(24px,calc((100vw - 1180px)/2));gap:24px}
.site-header .brand{display:inline-flex;align-items:center}
.site-header img{width:192px;height:auto;display:block}
.site-header span{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.hero{min-height:510px;display:flex;align-items:end;color:#fff;background:linear-gradient(90deg,rgba(3,8,18,.79),rgba(3,8,18,.21) 78%),url('/assets/kiruna-landscape.jpg') center 56%/cover no-repeat}
.hero-inner{width:min(1180px,100%);margin:0 auto;padding:82px 24px 72px}
.hero .eyebrow{color:#e1d6f3;margin:0 0 15px}
.hero h1{max-width:720px;color:#fff;font-size:clamp(44px,6.4vw,78px);letter-spacing:-.045em;line-height:1.02;margin:0 0 22px;font-weight:800}
.hero .lead{max-width:600px;color:#fff;font-size:clamp(18px,2vw,22px);font-weight:600;line-height:1.5;margin:0 0 32px}
.hero-link{display:inline-flex;align-items:center;gap:22px;background:#fff;color:var(--purple-deep);padding:13px 19px;border-radius:3px;font-weight:800;text-decoration:none}
.hero-link:hover{background:#ede7f5}
main{max-width:1060px;margin:0 auto;padding:76px 24px 80px}
.section-intro{max-width:730px}
.section-intro .eyebrow,.status-page .eyebrow{color:var(--purple-deep);margin:0 0 10px}
.section-intro h2{font-size:clamp(32px,4vw,48px);line-height:1.12;letter-spacing:-.035em;margin:0 0 16px}
.section-intro p:last-child{font-size:18px;color:var(--muted);margin:0}
.card{border-radius:5px;box-shadow:0 14px 40px rgba(34,24,51,.08);padding:40px;margin:35px 0 0;border:1px solid #ece8f1}
.card h3{font-size:25px;letter-spacing:-.02em;margin:0 0 20px}
.direction{display:flex;gap:10px;border:0;padding:0;margin:0 0 12px;flex-wrap:wrap}
.direction legend{font-size:14px;font-weight:700;color:#312d39;margin-bottom:8px}
.direction label{display:flex;align-items:center;gap:8px;margin:0;background:#f2eef6;border:1px solid #e3dce9;border-radius:4px;padding:10px 15px;cursor:pointer}
.direction input{width:auto;min-height:0;margin:0;accent-color:var(--purple)}
.flight-note,.stop-note{font-size:13px;color:var(--muted);margin:7px 0 18px}
.total-box{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:24px;margin-top:30px;font-weight:700}
.total-box strong{color:var(--purple-deep);font-size:26px}
label{font-size:14px;color:#312d39;margin:18px 0 4px}
input,select{border-color:#cfc9d7;border-radius:4px;padding:13px 14px;min-height:49px;color:var(--ink)}
input:focus,select:focus{outline:2px solid var(--purple);outline-offset:1px;border-color:var(--purple)}
.grid{gap:22px}
.price{border-top:1px solid var(--line);padding-top:24px;margin-top:30px;color:var(--purple-deep);font-size:26px}
.muted{color:var(--muted)}
button{background:var(--purple);border-radius:4px;min-height:50px;padding:13px 28px}
button:hover{background:var(--purple-deep)}
.after-form{text-align:center;color:var(--muted);font-size:13px;margin:34px 0 0}
.status-page{max-width:820px}
.status-page h1{font-size:clamp(34px,5vw,50px);letter-spacing:-.03em}
.status-page .card{margin-top:30px}
.status-page a{color:var(--purple-deep);font-weight:700}
@media(max-width:640px){.site-header{height:70px;padding:0 18px}.site-header img{width:164px}.site-header span{font-size:10px;letter-spacing:.05em}.hero{min-height:500px;background-position:64% center}.hero-inner{padding:72px 22px 52px}.hero h1{font-size:48px}.hero .lead{font-size:18px}main{padding:52px 18px 62px;margin:0}.card{padding:23px 20px}.grid{grid-template-columns:1fr;gap:0}}
.site-header{background:#100f14;border-bottom:1px solid #ffffff2a}
.home-main{max-width:none;margin:0;padding:0}
.booking-hero{color:#fff;background:linear-gradient(90deg,#100f14 0%,rgba(16,15,20,.9) 38%,rgba(16,15,20,.56) 100%),url('/assets/kiruna-buss-sprinter.jpg') center/cover no-repeat}
.booking-hero-inner{max-width:1280px;margin:0 auto;padding:76px 24px 100px;display:grid;grid-template-columns:minmax(0,1fr) minmax(410px,500px);gap:60px;align-items:start}
.booking-pitch{padding-top:130px;max-width:620px}
.booking-pitch .eyebrow{color:#b9a2e8;margin:0 0 18px}
.booking-pitch h1{font-size:clamp(48px,5.3vw,72px);line-height:.98;letter-spacing:-.055em;color:#fff;margin:0 0 28px}
.booking-pitch .lead{color:#e8e3ed;font-size:19px;line-height:1.65;max-width:570px}
.highlights{display:flex;flex-wrap:wrap;gap:13px 22px;margin-top:35px;color:#ece7f0;font-size:14px;font-weight:700}
.highlights span:before{content:'✦';color:#b9a2e8;margin-right:9px}
.booking-card{margin:0;padding:31px 32px;border-radius:18px;color:var(--ink);box-shadow:0 26px 70px #0007}
.booking-card>.eyebrow{color:var(--purple);font-size:11px;margin:0 0 8px}
.booking-card h2{font-size:29px;line-height:1.1;letter-spacing:-.025em;margin:0 0 8px}
.card-intro{font-size:14px;color:var(--muted);margin:0 0 24px}
.booking-card .grid{gap:13px}
.booking-card label{margin-top:12px}
.booking-card input,.booking-card select{min-height:45px;padding:10px 12px}
.booking-card .direction label{margin-top:0}
.booking-card .direction input{min-height:0}
.booking-card .total-box{margin-top:24px}
.booking-card button{width:100%;font-weight:800;background:#17131d}
.booking-card button:hover{background:var(--purple-deep)}
.form-error{border:1px solid #eab6ba;background:#fff3f3;color:#8c2630;border-radius:5px;padding:12px;font-size:14px}
#payment-panel[hidden],#booking-form[hidden],.form-error[hidden]{display:none}
#payment-panel .eyebrow{color:var(--purple)}
#payment-panel h2{margin:6px 0 8px}
#payment-panel .card-intro{margin-bottom:18px}
#checkout{min-height:360px}
.booking-steps{background:#f5f2f8;padding:72px 24px 85px;color:var(--ink)}
.booking-steps>div{max-width:1180px;margin:auto}
.booking-steps .eyebrow{color:var(--purple)}
.booking-steps h2{font-size:clamp(32px,4vw,46px);letter-spacing:-.04em;margin:8px 0 30px}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.steps-grid article{background:#fff;border:1px solid #e5dfe9;border-radius:16px;padding:26px}
.steps-grid span{color:var(--purple);font-weight:800}
.steps-grid h3{font-size:20px;margin:14px 0 6px}
.steps-grid p{color:var(--muted);margin:0}
.site-footer{text-align:center;background:#100f14;color:#c7bfcc;padding:30px 20px;font-size:13px}
@media(max-width:900px){.booking-hero-inner{grid-template-columns:1fr;gap:38px;padding-top:62px}.booking-pitch{padding-top:0}.booking-card{max-width:620px}.booking-hero{background-position:56% center}}
@media(max-width:640px){.booking-hero-inner{padding:45px 18px 60px}.booking-pitch h1{font-size:47px}.booking-pitch .lead{font-size:17px}.booking-card{padding:24px 20px}.booking-card .grid{grid-template-columns:1fr;gap:0}.steps-grid{grid-template-columns:1fr}.booking-steps{padding:55px 18px}.highlights{font-size:13px}}
