@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#17211f; --muted:#68736e; --paper:#f4f0e8; --card:#fffdf8; --green:#194f45; --lime:#d5ed67; --orange:#e76f3c; --line:#d8d7cc; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope, sans-serif; }
a { color:inherit; text-decoration:none; }
.topbar { display:flex; justify-content:space-between; align-items:center; max-width:1240px; margin:auto; padding:26px 32px; }
.brand { display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:-.04em; font-size:18px; }
.brand em { color:var(--orange); font-style:normal; }
.brand-mark { display:grid; place-items:center; width:30px; height:30px; color:var(--paper); background:var(--green); font-family:'DM Mono', monospace; font-size:14px; }
nav { display:flex; align-items:center; gap:28px; color:var(--muted); font-size:13px; font-weight:700; }
.nav-cta { padding:11px 16px; color:var(--paper); background:var(--green); }
.hero { display:grid; grid-template-columns:1.1fr .9fr; gap:7vw; align-items:center; max-width:1240px; min-height:590px; margin:auto; padding:70px 32px 100px; }
.kicker { margin:0 0 18px; color:var(--orange); font-family:'DM Mono', monospace; font-size:11px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:690px; margin-bottom:26px; font-size:clamp(56px,8vw,108px); line-height:.94; letter-spacing:-.08em; }
h1 span { color:var(--green); }
.hero-text { max-width:500px; color:var(--muted); font-size:17px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:26px; margin-top:36px; }
.button { display:inline-flex; align-items:center; gap:18px; padding:16px 20px; font-size:13px; font-weight:800; }
.button span { font-size:18px; }
.button-primary { color:var(--paper); background:var(--orange); }
.text-link { border-bottom:1px solid var(--ink); padding-bottom:4px; font-size:12px; font-weight:800; }
.hero-panel { position:relative; padding:34px; color:var(--paper); background:var(--green); box-shadow:22px 22px 0 var(--lime); transform:rotate(2deg); }
.panel-top { color:var(--lime); font-family:'DM Mono', monospace; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.live-dot { display:inline-block; width:7px; height:7px; margin-right:8px; background:var(--lime); border-radius:50%; }
.route-line { display:flex; align-items:center; gap:12px; margin:84px 0 25px; font-family:'DM Mono', monospace; font-size:12px; }
.line { flex:1; height:1px; background:var(--lime); }
.panel-meta { display:flex; justify-content:space-between; padding:15px 0; border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); color:var(--lime); font-size:12px; font-weight:700; }
.panel-note { margin-top:25px; color:#c5d4ce; font-size:13px; line-height:1.6; }
.trust-strip { display:grid; grid-template-columns:repeat(3,1fr); max-width:1240px; margin:auto; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.trust-strip div { display:flex; gap:18px; padding:20px 32px; border-right:1px solid var(--line); font-size:13px; font-weight:700; }
.trust-strip div:last-child { border:0; }.trust-strip strong { color:var(--orange); font-family:'DM Mono',monospace; font-size:11px; }
.section { max-width:1240px; margin:auto; padding:125px 32px; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:48px; }.section-heading h2 { max-width:440px; margin:0; font-size:clamp(34px,4vw,58px); line-height:1; letter-spacing:-.07em; }.section-heading > p:last-child { max-width:250px; margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.route-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }.route-card { min-height:265px; padding:28px; background:var(--card); border:1px solid var(--line); }.route-index { color:var(--orange); font-family:'DM Mono',monospace; font-size:12px; }.route-label { margin:54px 0 10px; color:var(--muted); font-family:'DM Mono',monospace; font-size:10px; text-transform:uppercase; }.route-card h3 { max-width:340px; margin-bottom:8px; font-size:25px; line-height:1.1; letter-spacing:-.05em; }.route-name { color:var(--muted); font-size:12px; }.route-footer { display:flex; align-items:baseline; gap:8px; margin-top:28px; }.route-footer strong { font-size:24px; }.route-footer span { color:var(--muted); font-size:11px; }
.book-band { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:60px; padding:90px max(32px, calc((100vw - 1176px)/2)); color:var(--paper); background:var(--orange); }.book-band h2 { margin:0; font-size:clamp(42px,5vw,72px); line-height:.95; letter-spacing:-.08em; }.book-side { max-width:350px; }.book-side p { color:#ffe2d2; font-size:15px; line-height:1.6; }.button-light { color:var(--ink); background:var(--lime); }
.details-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:10vw; }.details-section h2 { margin:0; font-size:52px; letter-spacing:-.07em; }.details-grid details { padding:20px 0; border-top:1px solid var(--line); }.details-grid details:last-child { border-bottom:1px solid var(--line); }.details-grid summary { cursor:pointer; font-size:15px; font-weight:800; }.details-grid p { max-width:560px; margin:15px 0 0; color:var(--muted); font-size:13px; line-height:1.7; }footer { display:flex; justify-content:space-between; align-items:center; gap:22px; max-width:1240px; margin:auto; padding:28px 32px 40px; color:var(--muted); border-top:1px solid var(--line); font-family:'DM Mono',monospace; font-size:10px; text-transform:uppercase; }.footer-links { display:flex; gap:16px; color:var(--ink); font-size:10px; }.footer-links a { border-bottom:1px solid var(--line); padding-bottom:3px; }.loading { color:var(--muted); }
.legal-page { max-width:820px; margin:auto; padding:70px 32px 110px; }.legal-page h1 { max-width:none; margin-bottom:22px; font-size:clamp(48px,7vw,86px); }.legal-page h2 { margin-top:42px; font-size:24px; letter-spacing:-.04em; }.legal-page p, .legal-page li { color:var(--muted); font-size:15px; line-height:1.8; }.legal-page ul { padding-left:22px; }.legal-back { display:inline-block; margin-bottom:55px; color:var(--orange); font-family:'DM Mono',monospace; font-size:11px; text-transform:uppercase; }
@media (max-width:760px) { .topbar { padding:20px; } nav a:not(.nav-cta) { display:none; }.hero { display:block; min-height:auto; padding:55px 20px 90px; }.hero-text { font-size:15px; }.hero-actions { display:block; }.hero-actions .text-link { display:inline-block; margin-top:24px; }.hero-panel { margin:70px 12px 20px 0; }.route-line { margin-top:60px; font-size:10px; }.trust-strip { display:block; }.trust-strip div { border-right:0; border-bottom:1px solid var(--line); padding:16px 20px; }.section { padding:80px 20px; }.section-heading { display:block; }.section-heading > p:last-child { margin-top:22px; }.route-grid { grid-template-columns:1fr; }.route-card { min-height:240px; }.book-band { display:block; padding:70px 20px; }.book-side { margin-top:35px; }.details-section { display:block; }.details-grid { margin-top:45px; }.details-section h2 { font-size:44px; }footer { display:block; padding:25px 20px; }footer span:last-child { display:block; margin-top:10px; }.footer-links { margin-top:18px; flex-wrap:wrap; } }
