:root{
  --ink:#17130f;
  --muted:#675f55;
  --paper:#fbf7ee;
  --lime:#f4ead7;
  --ochre:#c9852f;
  --blue:#123f7a;
  --blue2:#0a274e;
  --line:#ded1bd;
  --white:#fffdf8;
  --focus:#006bd6;
  color-scheme:light;
}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);scroll-behavior:smooth}
body{margin:0;line-height:1.55;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--blue);color:white;padding:.7rem 1rem;z-index:10}
.skip:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:8;background:rgba(251,247,238,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.nav-wrap{max-width:1180px;margin:auto;padding:.8rem 1rem;display:flex;align-items:center;gap:1rem}
.brand{font-family:Georgia,serif;font-size:1.35rem;font-weight:700;text-decoration:none;color:var(--blue2);white-space:nowrap}
.nav-toggle{margin-left:auto;border:1px solid var(--line);background:var(--white);border-radius:6px;padding:.5rem .7rem;display:none}
.nav{margin-left:auto;display:flex;align-items:center;gap:.15rem;flex-wrap:wrap}
.nav a{font-size:.88rem;text-decoration:none;padding:.45rem .55rem;border-radius:5px;color:#302921}
.nav a[aria-current="page"],.nav a:hover{background:#efe2cd;color:var(--blue2)}
.mail-pill{background:var(--blue)!important;color:white!important}
.hero{min-height:76vh;display:grid;align-items:end;position:relative;background:#111;isolation:isolate}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,19,34,.78),rgba(8,19,34,.24) 52%,rgba(8,19,34,.08));z-index:-1}
.hero-text{max-width:1180px;width:100%;margin:auto;padding:7rem 1rem 4rem;color:white}
.kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800;color:var(--ochre)}
h1,h2,h3{line-height:1.08;margin:0 0 1rem}
h1{font-family:Georgia,serif;font-size:clamp(2.5rem,6vw,5.9rem);max-width:850px}
h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.9rem)}
h3{font-size:1.25rem}
p{margin:0 0 1rem}
.lead{font-size:1.18rem;max-width:720px}
.hero-actions,.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.72rem 1rem;border-radius:6px;border:1px solid var(--blue);background:var(--blue);color:white;text-decoration:none;font-weight:800;cursor:pointer}
.btn.secondary{background:transparent;color:inherit;border-color:currentColor}
.btn.light{background:var(--white);color:var(--blue2);border-color:var(--white)}
main section,.band{padding:4.5rem 1rem}
.container{max-width:1180px;margin:auto}
.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:2rem;align-items:center}
.split.reverse{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)}
.panel{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:1.35rem}
.image-panel{border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#ddd}
.image-panel img{width:100%;height:100%;object-fit:cover}
.caption{font-size:.86rem;color:var(--muted);margin-top:.5rem}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:1.2rem}
.stripe{background:linear-gradient(100deg,var(--blue2),#174d91);color:white}
.stripe .kicker{color:#ffcf81}
.list{padding-left:1.2rem;margin:0}
.list li{margin:.45rem 0}
.route-head{padding:4rem 1rem 2rem;background:var(--lime);border-bottom:1px solid var(--line)}
.route-head .container{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:end}
.route-head img{border-radius:8px;max-height:420px;width:100%;object-fit:cover}
.steps{counter-reset:step;display:grid;gap:.8rem}
.step{display:grid;grid-template-columns:3rem 1fr;gap:.8rem;align-items:start}
.step:before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--ochre);color:#1d1205;font-weight:900}
label{display:block;font-weight:800;margin:.7rem 0 .25rem}
input,select,textarea{width:100%;font:inherit;padding:.72rem;border:1px solid #b9ad9d;border-radius:6px;background:white;color:var(--ink)}
textarea{min-height:140px;resize:vertical}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.check{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0}
.check input{width:auto;margin-top:.3rem}
.notice{padding:1rem;border:1px solid var(--line);border-left:5px solid var(--ochre);background:#fff8e9;border-radius:6px}
.planner{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.planner-output{background:#0d2342;color:white;border-radius:8px;padding:1rem;min-height:260px;white-space:pre-wrap}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:1rem;margin:.7rem 0}
.faq summary{font-weight:900;cursor:pointer}
.site-footer{background:#120f0c;color:#f7efe2;padding:3rem 1rem 1.5rem}
.footer-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:2rem}
.site-footer a{color:#f7efe2}
.legal-small{font-size:.86rem;color:#d5c7b4;max-width:1180px;margin:2rem auto 0}
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:20;background:#fffdf8;border:1px solid var(--line);box-shadow:0 16px 50px rgba(0,0,0,.22);border-radius:8px;padding:1rem;max-width:760px;margin:auto;display:none}
.cookie-banner.show{display:block}
.cookie-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.hidden{display:none!important}
table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--line)}
th,td{text-align:left;border-bottom:1px solid var(--line);padding:.8rem;vertical-align:top}
code{background:#eee1ce;padding:.1rem .25rem;border-radius:4px}
@media (max-width:850px){
  .nav-toggle{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:.8rem;flex-direction:column;align-items:stretch}
  .nav.open{display:flex}
  .nav a{padding:.8rem}
  .split,.split.reverse,.route-head .container,.planner,.footer-grid{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .hero{min-height:70vh}
  main section,.band{padding:3rem 1rem}
  table{display:block;max-width:100%;overflow-x:auto}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
