/* Airstead design layer (28 Sep 2026): matches the pitch. Loaded after styles.css on every public page.
   Navy bands alternating with light sections, tight Manrope headlines, photo placeholders until the photoshoot. */
:root{--navy:#071d39;--navy2:#0c2b52;--blue:#1266ef;--blue2:#8dc8f5;--sky:#8dc8f5;--ice:#eaf3fe;--light:#f5f8fb;--line:#d8e3ed;--text:#28445f;--muted:#5d7690;--on-navy:#ffffff;--on-navy-2:#b9cde0;--on-navy-line:#ffffff24}
body{background:var(--light);color:var(--text);font-size:17px;line-height:1.6}
h1,h2,h3{font-family:Manrope,'DM Sans',Arial,sans-serif;color:var(--navy);text-wrap:balance}
h1{font-weight:800;letter-spacing:-.05em;line-height:1}
h2{font-weight:800;letter-spacing:-.04em;line-height:1.05}
h3{letter-spacing:-.02em}
::selection{background:#1266ef33}

/* Header */
.site-header{background:#ffffffe6;backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid #e3ebf2}
.site-header nav{gap:30px;font-size:.92rem}
.site-header nav a:not(.nav-book){color:var(--navy);opacity:.82}
.site-header nav a[aria-current="page"]{color:var(--blue);opacity:1}
.nav-book{background:var(--blue);border-radius:10px;padding:12px 18px;box-shadow:0 6px 16px #1266ef33}
.nav-book:hover{background:#0e57d1}

/* Shared parts */
.eyebrow{font-size:.74rem;letter-spacing:.16em;font-weight:800;color:var(--sky);margin-bottom:18px}
.eyebrow.blue{color:var(--blue)}
.button{border-radius:10px;padding:16px 22px;font-size:.93rem}
.button-blue{background:var(--blue)}
.button-blue:hover{background:#0e57d1}
.inline-link{color:var(--blue);border-bottom-width:2px}
.section{padding:104px 0}
.band-navy{background:var(--navy);color:var(--on-navy-2)}
.band-navy h1,.band-navy h2,.band-navy h3{color:var(--on-navy)}
.band-navy .eyebrow{color:var(--sky)}
.band-paper{background:var(--light)}
.band-white{background:#fff}
.lede{font-size:clamp(1.05rem,1.6vw,1.22rem);max-width:58ch;color:var(--muted)}
.band-navy .lede{color:var(--on-navy-2)}
.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}
.section-top h2{margin:0;max-width:18ch}
.section-top .lede{margin:0}

/* Photo placeholders until the photoshoot */
.photo-slot{position:relative;border-radius:18px;overflow:hidden;background:
  radial-gradient(120% 90% at 85% 10%,#1266ef55,transparent 60%),
  linear-gradient(160deg,#0c2b52,#071d39 70%);border:1px solid var(--on-navy-line);display:grid;place-items:center;min-height:320px;aspect-ratio:4/3;max-width:100%;color:var(--on-navy-2)}
.photo-slot::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(circle at 50% 50%,#000 30%,transparent 80%)}
.photo-slot-inner{position:relative;display:grid;justify-items:center;gap:10px;text-align:center;padding:24px}
.photo-slot svg{width:42px;height:42px;stroke:var(--sky);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.photo-slot b{font:800 1.05rem Manrope,sans-serif;color:var(--on-navy);letter-spacing:-.01em}
.photo-slot small{font-size:.84rem;max-width:30ch;line-height:1.45}
.photo-slot.light{background:linear-gradient(160deg,#eaf3fe,#dbe9f8);border-color:var(--line);color:var(--muted)}
.photo-slot.light::before{background-image:linear-gradient(#1266ef12 1px,transparent 1px),linear-gradient(90deg,#1266ef12 1px,transparent 1px)}
.photo-slot.light b{color:var(--navy)}.photo-slot.light svg{stroke:var(--blue)}

/* Home hero */
.hero2{background:var(--navy);color:var(--on-navy-2);padding:86px 0 96px;overflow:hidden}
.hero2-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.hero2 h1{color:#fff;font-size:clamp(2.7rem,5.4vw,4.9rem);margin:0 0 22px;max-width:14ch}
.hero2 h1 em{font-style:normal;color:var(--sky)}
.hero2-lead{font:700 clamp(1.2rem,2vw,1.5rem)/1.3 Manrope,sans-serif;color:#fff;margin:0 0 14px;letter-spacing:-.02em}
.hero2-detail{max-width:52ch;margin:0 0 32px}
.hero2-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero2-actions .ghost{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--on-navy-line);border-radius:10px;padding:15px 20px;color:#fff;font-weight:800;font-size:.93rem}
.hero2-actions .ghost:hover{background:#ffffff12}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px;padding:0;list-style:none}
.chips li{border:1px solid var(--on-navy-line);border-radius:99px;padding:6px 13px;font-size:.84rem;color:#fff}
.hero2-visual{position:relative}
.hero2-card{position:absolute;left:-28px;bottom:-26px;background:#fff;color:var(--navy);border-radius:14px;padding:16px 18px;box-shadow:0 24px 50px #0006;display:grid;gap:4px;min-width:230px}
.hero2-card span{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--blue)}
.hero2-card b{font:800 1.35rem Manrope,sans-serif;letter-spacing:-.02em}
.hero2-card small{color:var(--muted);font-size:.82rem}

/* Promises */
.promises{background:var(--navy);padding:0 0 104px;color:var(--on-navy-2)}
.promises-head{border-top:1px solid var(--on-navy-line);padding-top:72px;display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:end;margin-bottom:40px}
.promises-head h2{color:#fff;margin:0;font-size:clamp(2.3rem,4.4vw,3.8rem)}
.promises-head p{margin:0;font-size:1.08rem;max-width:52ch}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pillar{background:var(--navy2);border:1px solid var(--on-navy-line);border-radius:18px;padding:26px;display:grid;gap:12px;align-content:start}
.pillar svg{width:36px;height:36px;stroke:var(--sky);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pillar h3{color:#fff;font-size:1.3rem;margin:0}
.pillar p{margin:0;font-size:.95rem;line-height:1.55}

/* Arrival windows */
.time2-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.time2-grid h2{font-size:clamp(2.2rem,4vw,3.4rem);margin-bottom:16px}
.day2{background:var(--navy);border-radius:20px;padding:26px;display:grid;gap:14px;box-shadow:0 30px 60px #071d3926}
.day2-hours{display:grid;grid-template-columns:repeat(9,1fr);font-size:.72rem;color:#7f9ab5;font-weight:700;letter-spacing:.04em}
.day2-track{display:grid;grid-template-columns:repeat(9,1fr);min-height:78px;list-style:none;margin:0;padding:0}
.day2-track li{border-radius:12px;padding:12px 14px;margin-right:6px;display:grid;align-content:center}
.day2-track strong{color:#fff;font:800 1.2rem Manrope,sans-serif}
.day2-track span{color:var(--on-navy-2);font-size:.8rem}
.day2-track .w1{grid-column:1/3;background:#1266ef}.day2-track .w2{grid-column:3/5;background:#1f7af2cc}
.day2-track .brk{grid-column:5/6;border:1px dashed var(--on-navy-line);color:#7f9ab5;font-size:.76rem;place-items:center;text-align:center}
.day2-track .w3{grid-column:6/8;background:#2f86f5b3}.day2-track .w4{grid-column:8/10;background:#4a96f799;margin-right:0}
.day2-note{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-top:6px;border-top:1px solid var(--on-navy-line)}
.day2-note p{margin:0;font-size:.84rem;color:var(--on-navy-2);line-height:1.45}
.day2-note b{display:block;color:#fff;font-size:.9rem}

/* Services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:12px;transition:transform .2s,box-shadow .2s}
.svc:hover{transform:translateY(-3px);box-shadow:0 20px 40px #071d3914}
.svc-no{font-size:.74rem;font-weight:800;letter-spacing:.16em;color:var(--blue)}
.svc h3{font-size:1.55rem;margin:0}
.svc p{margin:0;color:var(--muted);font-size:.97rem}
.svc-price{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.svc-price b{font:800 1.35rem Manrope,sans-serif;color:var(--navy);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.svc-price small{color:var(--muted);font-size:.8rem;text-align:right}
.svc-link{color:var(--blue);font-weight:800;font-size:.9rem}

/* A visit, step by step */
.visit2-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.visit2-grid h2{font-size:clamp(2.2rem,4vw,3.4rem);margin-bottom:28px}
.visit2{list-style:none;margin:0;padding:0;counter-reset:v}
.visit2 li{display:grid;grid-template-columns:128px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.visit2 li:first-child{border-top:0;padding-top:0}
.visit2 .when{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);padding-top:4px}
.visit2 b{display:block;font:800 1.12rem Manrope,sans-serif;color:var(--navy);letter-spacing:-.01em;margin-bottom:3px}
.visit2 p{margin:0;color:var(--muted);font-size:.97rem}
.visit2-aside{position:sticky;top:110px;display:grid;gap:14px}
.visit2-aside .photo-slot{aspect-ratio:4/5}

/* Running-cost estimator: keep the tool, refresh its frame */




/* Closing band */
.next2{background:var(--navy);padding:96px 0}
.next2-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.next2 h2{color:#fff;font-size:clamp(2.4rem,5vw,4.2rem);margin:0 0 16px}
.next2 h2 em{font-style:normal;color:var(--sky)}
.next2 p{color:var(--on-navy-2);margin:0;max-width:48ch}
.next2-links{display:grid;gap:10px}
.next2-links a{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--navy2);border:1px solid var(--on-navy-line);border-radius:14px;padding:20px 22px;color:#fff;font-weight:700;transition:background .2s,transform .2s}
.next2-links a:hover{background:#12375f;transform:translateX(4px)}
.next2-links a.primary{background:var(--blue);border-color:var(--blue)}
.next2-links a.primary:hover{background:#0e57d1}

/* Inner pages */
.page-intro{background:var(--navy);padding:92px 0 84px;border:0}
.page-intro h1{color:#fff;font-size:clamp(2.6rem,5vw,4.4rem);max-width:17ch;margin-bottom:18px}
.page-intro p:not(.eyebrow){color:var(--on-navy-2);font-size:1.15rem;max-width:58ch}
.page-intro .eyebrow.blue{color:var(--sky)}
.routes,.experience,.pricing,.coverage{background:#fff}
.care{background:#0a2445;border-top:1px solid var(--on-navy-line)}
.care .care-calculator{box-shadow:0 30px 70px #0006}
.process{background:var(--light)}
.route{border-radius:18px}
.route-primary{background:var(--ice)}
.route-secondary{background:var(--light);border-color:var(--line)}
.route .photo-slot{width:100%;min-height:0;aspect-ratio:16/9;margin:16px 0 22px}
.experience-picture .photo-slot{height:100%;min-height:420px;aspect-ratio:auto}
.price-row strong,.calc-total strong{font-family:Manrope,sans-serif;letter-spacing:-.02em}
.care-calculator,.booking-card,.price-list{border-radius:18px}

/* Footer */
footer{background:var(--navy)!important;color:var(--on-navy-2)!important;padding:72px 0 28px}
footer .brand img{filter:brightness(0) invert(1)}
footer a{color:#fff}
footer strong{color:var(--sky)}
.footer-bottom{border-top:1px solid var(--on-navy-line);color:#7f9ab5}

@media (max-width:1000px){
  .hero2-grid,.time2-grid,.visit2-grid,.next2-grid,.promises-head{grid-template-columns:1fr}
  .pillars{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:1fr}
  .hero2-card{left:16px;bottom:-22px}
  .visit2-aside{position:static}
  .section-top{flex-direction:column;align-items:start}
}
@media (max-width:620px){
  body{font-size:16px}
  .section{padding:72px 0}
  .hero2{padding:56px 0 72px}
  .promises{padding-bottom:72px}.promises-head{padding-top:52px}
  .pillars{grid-template-columns:1fr}
  .day2-hours{display:none}
  .day2-track{grid-template-columns:1fr 1fr;gap:8px}
  .day2-track li{grid-column:auto!important;margin:0}
  .day2-track .brk{display:none}
  .day2-note{grid-template-columns:1fr}
  .visit2 li{grid-template-columns:1fr;gap:4px}
  .photo-slot{min-height:240px}
  .experience-picture .photo-slot{min-height:280px}
  .next2{padding:72px 0}
}
@media (prefers-reduced-motion:reduce){.svc,.next2-links a{transition:none}}

/* Running-cost estimator */
.est2{background:#fff}
.est2-card{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 30px 70px #071d391a}
.est2-controls{padding:34px;display:grid;gap:26px;align-content:start}
.est2-field{display:grid;gap:10px}
.est2-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.est2-head label{font-weight:700;color:var(--navy);display:flex;align-items:center;gap:8px}
.est2-head output{font:800 1.15rem Manrope,sans-serif;color:var(--blue);font-variant-numeric:tabular-nums}
.est2-ends{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted)}
.est2 input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--blue) var(--range-progress,50%),#dfe8f1 var(--range-progress,50%));outline-offset:6px;margin:0}
.est2 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--blue);box-shadow:0 3px 10px #071d3933;cursor:pointer}
.est2 input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--blue);box-shadow:0 3px 10px #071d3933;cursor:pointer}
.dot{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}
.dot.grid{background:#1266ef}.dot.gen{background:#f2a33a}
.est2-refine{border-top:1px solid var(--line);padding-top:18px}
.est2-refine summary{cursor:pointer;font-weight:800;color:var(--blue);font-size:.92rem}
.est2-rates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 10px}
.est2-rates label{font-size:.82rem;font-weight:700;color:var(--navy)}
.est2-rates input{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:11px 12px;font:inherit;color:var(--navy)}
.est2-refine p{font-size:.82rem;color:var(--muted);margin:0}
.est2-result{background:var(--navy);color:var(--on-navy-2);padding:34px;display:grid;gap:14px;align-content:center;background-image:radial-gradient(90% 70% at 100% 0%,#1266ef40,transparent 60%)}
.est2-kicker{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--sky)}
.est2-total{font:800 clamp(3rem,6vw,4.6rem)/1 Manrope,sans-serif;color:#fff;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.est2-sub{margin:0;font-size:.95rem}.est2-sub strong{color:#fff}
.est2-bar{display:flex;height:14px;border-radius:99px;overflow:hidden;background:#ffffff1a;margin-top:6px}
.est2-bar .grid{width:var(--grid-share,58%);background:#1266ef;transition:width .25s}
.est2-bar .gen{flex:1;background:#f2a33a}
.est2-split{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.est2-split div{background:#ffffff0f;border:1px solid var(--on-navy-line);border-radius:12px;padding:12px 14px;display:grid;gap:2px}
.est2-split span{font-size:.8rem;display:flex;align-items:center;gap:7px}
.est2-split strong{font:800 1.3rem Manrope,sans-serif;color:#fff;font-variant-numeric:tabular-nums}
.est2-foot{margin:0;font-size:.78rem;color:#7f9ab5}
.est2-note{margin:18px 0 0;font-size:.86rem;color:var(--muted);max-width:90ch}
.est2-note strong{color:var(--navy)}
.cost-error{color:#a63d4d;font-weight:700;margin:0}
@media (max-width:900px){.est2-card{grid-template-columns:1fr}.est2-result{order:-1}}
@media (max-width:520px){.est2-controls,.est2-result{padding:24px}.est2-rates{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.est2-bar .grid{transition:none}}

/* Problem and promise (services) */
.contrast2{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}
.contrast2>div{padding:32px;display:grid;gap:16px;align-content:start}
.contrast2>div+div{background:var(--ice);border-left:1px solid var(--line)}
.contrast2 h3{margin:0;font:800 .78rem 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.contrast2>div+div h3{color:var(--blue)}
.contrast2 ul{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.contrast2 li{padding-left:24px;position:relative;color:var(--navy);font-size:1rem}
.contrast2>div:first-child li::before{content:"";position:absolute;left:2px;top:.72em;width:11px;height:2px;background:var(--muted)}
.contrast2>div+div li::before{content:"";position:absolute;left:1px;top:.38em;width:12px;height:7px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
@media (max-width:760px){.contrast2{grid-template-columns:1fr}.contrast2>div+div{border-left:0;border-top:1px solid var(--line)}.contrast2>div{padding:24px}}

/* Fixes: the Book now button keeps white text on every page; footer labels stay visible on navy */
.site-header nav a.nav-book,.site-header nav a.nav-book[aria-current="page"]{color:#fff;opacity:1}
footer .footer-contact strong{display:block;color:var(--sky)!important;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
