  :root{
    --ink:#08080a;--char-1:#0e0e10;--char-2:#141417;--char-3:#1c1c20;--char-4:#26262b;--char-5:#34343a;
    --line:rgba(255,255,255,0.06);--line-2:rgba(255,255,255,0.1);--line-3:rgba(255,255,255,0.18);
    --bone:#f5f3ee;--bone-2:#e8e5dd;--bone-3:#a4a09a;--mute:#76767a;--mute-2:#5a5a5e;
    --amber:#d49951;--amber-bright:#e8b873;--amber-deep:#a8763a;
    --amber-soft:rgba(212,153,81,0.12);--amber-glow:rgba(212,153,81,0.4);
    --green:#5fc880;--sans:'Inter',sans-serif;--mono:'JetBrains Mono',monospace;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{background:var(--ink);color:var(--bone);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip;}
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
  input{font-family:inherit;border:none;outline:none;background:none;color:inherit;}
  ::selection{background:var(--amber);color:var(--ink);}

  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:0.05;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>");
  }

  .topstrip{background:var(--ink);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--mute);letter-spacing:0.02em;}
  .topstrip-inner{max-width:1400px;margin:0 auto;padding:9px 32px;display:flex;align-items:center;justify-content:space-between;gap:18px;}
  .topstrip-left,.topstrip-right{display:flex;align-items:center;gap:18px;min-width:0;}
  .topstrip-right{flex-wrap:wrap;justify-content:flex-end;}
  .topstrip-left{display:flex;align-items:center;gap:18px;}
  .topstrip-left .live{color:var(--amber);display:flex;align-items:center;gap:7px;}
  .topstrip-left .live::before{content:"";width:6px;height:6px;background:var(--amber);border-radius:50%;box-shadow:0 0 0 3px rgba(212,153,81,0.2);animation:livePulse 2s ease-in-out infinite;}
  @keyframes livePulse{0%,100%{box-shadow:0 0 0 3px rgba(212,153,81,0.2);}50%{box-shadow:0 0 0 6px rgba(212,153,81,0.05);}}
  .topstrip-divider{width:1px;height:11px;background:var(--line-2);}
  .topstrip a{color:var(--bone-3);transition:color .15s;}
  .topstrip a:hover{color:var(--amber-bright);}

  header.nav{position:sticky;top:0;z-index:100;background:transparent;border-bottom:1px solid var(--line);transition:box-shadow .25s ease;}
  /* Frosted backdrop lives on a pseudo-layer behind the content, NOT on the
     nav itself. Putting backdrop-filter on the element re-rasterizes its
     children (logo/text) on some mobile browsers, which softens/blurs them. */
  header.nav::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(8,8,10,0.85);backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);transition:background .25s ease;pointer-events:none;}
  header.nav.scrolled{box-shadow:0 8px 30px rgba(0,0,0,0.35);}
  header.nav.scrolled::before{background:rgba(8,8,10,0.96);}
  .nav-inner{max-width:1400px;margin:0 auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
  .brand{display:flex;align-items:center;gap:12px;}
  /* Logo sizing is HEIGHT-driven (fills the bar) and shrinks on scroll for the
     sticky-header effect. Sizes come from CSS vars set by the Customizer
     (functions.php), with sane fallbacks here. A generous max-width is the only
     catastrophe guard, so it never fights the chosen height. */
  img.custom-logo{max-width:280px;}
  .brand .custom-logo-link{display:inline-flex;align-items:center;line-height:0;}
  .brand img.custom-logo{height:var(--logo-h,64px);width:auto;display:block;object-fit:contain;transition:height .28s ease;transform:translateZ(0);backface-visibility:hidden;image-rendering:-webkit-optimize-contrast;}
  header.nav.scrolled .brand img.custom-logo{height:var(--logo-h-sm,44px);}
  footer .brand img.custom-logo{height:var(--logo-h-foot,64px);width:auto;}
  .foot-brand .brand .custom-logo-link{margin-left:0;}
  /* Phones: fixed compact logo, no shrink jump. */
  @media (max-width:640px){
    .brand img.custom-logo,
    header.nav.scrolled .brand img.custom-logo{height:46px;}
  }
  .brand-mark{width:38px;height:38px;background:var(--amber);color:var(--ink);font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;}
  .brand-mark::after{content:"";position:absolute;inset:-3px;border:1px solid var(--amber-deep);border-radius:50%;opacity:0.4;}
  .brand-text{line-height:1.1;}
  .brand-name{font-weight:700;font-size:18px;color:var(--bone);letter-spacing:-0.015em;}
  .brand-sub{font-family:var(--mono);font-size:9px;color:var(--amber);letter-spacing:0.25em;text-transform:uppercase;margin-top:1px;}
  .nav-links{display:flex;gap:0;flex:1 1 auto;justify-content:center;}
  .nav-links ul.nav-menu{display:flex;gap:0;list-style:none;margin:0;padding:0;align-items:center;}
  .nav-links ul.nav-menu li{list-style:none;margin:0;padding:0;}
  .nav-links a{display:block;padding:10px 16px;font-size:13px;font-weight:500;color:var(--bone-3);transition:color .2s;position:relative;}
  .nav-links a:hover{color:var(--bone);}
  .nav-links a::after{content:"";position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:0;height:1px;background:var(--amber);transition:width .25s ease;}
  .nav-links a:hover::after{width:18px;}
  .nav-links li.current-menu-item > a{color:var(--bone);}
  .nav-links li.current-menu-item > a::after{width:18px;}
  .nav-right{display:flex;align-items:center;gap:14px;}
  .nav-phone{display:flex;align-items:center;gap:10px;color:var(--bone);font-family:var(--mono);font-size:13px;font-weight:500;padding:8px 14px;border:1px solid var(--line-2);transition:all .2s;}
  .nav-phone:hover{border-color:var(--amber);}
  .nav-phone-icon{width:24px;height:24px;background:var(--amber);color:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .nav-cta{background:var(--amber);color:var(--ink);padding:11px 22px;font-size:13px;font-weight:700;letter-spacing:0.02em;transition:all .2s;display:flex;align-items:center;gap:8px;position:relative;overflow:hidden;}
  .nav-cta::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);transition:left .6s ease;}
  .nav-cta:hover::before{left:100%;}
  .nav-cta:hover{background:var(--amber-bright);transform:translateY(-1px);box-shadow:0 8px 24px var(--amber-glow);}

  .img-wrap{background:linear-gradient(135deg, var(--char-3), var(--char-1));position:relative;overflow:hidden;}
  .img-wrap img{width:100%;height:100%;object-fit:cover;display:block;}
  .img-wrap.failed::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top, var(--amber-soft), transparent 60%),linear-gradient(135deg, var(--char-3), var(--char-1));}
  .img-wrap.failed::after{content:attr(data-fallback);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--amber);font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;text-align:center;padding:24px;}

  .hero{position:relative;min-height:auto;overflow:hidden;isolation:isolate;background:var(--ink);}
  .hero-bg{position:absolute;inset:0;z-index:1;}
  .hero-bg .img-wrap{width:100%;height:100%;background:var(--ink);}
  .hero-bg .img-wrap img{filter:brightness(0.7) contrast(1.04) saturate(0.95);transform:scale(1.05);animation:slowZoom 30s ease-in-out infinite alternate;}
  @keyframes slowZoom{from{transform:scale(1);}to{transform:scale(1.08);}}
  .hero-veil{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg, rgba(8,8,10,0.72) 0%, rgba(8,8,10,0.45) 40%, rgba(8,8,10,0.15) 75%, rgba(8,8,10,0.05) 100%),linear-gradient(180deg, rgba(8,8,10,0.18), rgba(8,8,10,0.45) 60%, var(--ink));}
  .hero-glow{position:absolute;bottom:-100px;right:-50px;width:500px;height:500px;background:radial-gradient(circle, var(--amber-glow), transparent 65%);z-index:2;filter:blur(80px);opacity:0.5;pointer-events:none;}
  .hero-content{position:relative;z-index:5;max-width:1400px;margin:0 auto;padding:40px 32px 56px;display:grid;grid-template-columns:1fr 460px;gap:56px;align-items:start;}
  .hero-left{padding-bottom:0;}
  .hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;color:var(--amber);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:22px;padding:4px 0;}
  .hero-eyebrow .line{width:32px;height:1px;background:var(--amber);}
  .hero-h{font-size:60px;font-weight:300;line-height:1.0;letter-spacing:-0.04em;color:var(--bone);margin-bottom:22px;max-width:640px;}
  .hero-h strong{font-weight:700;color:var(--bone);display:block;}
  .hero-h .amber{color:var(--amber-bright);font-weight:700;}
  .hero-sub{font-size:16px;color:var(--bone-3);margin-bottom:28px;max-width:480px;line-height:1.55;font-weight:400;}
  .hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:32px;}
  .hero-meta-row{display:flex;align-items:center;gap:32px;padding-top:26px;border-top:1px solid var(--line);flex-wrap:wrap;}
  .hero-meta{display:flex;align-items:center;gap:12px;}
  .hero-meta-num{font-size:32px;font-weight:300;line-height:1;color:var(--bone);letter-spacing:-0.03em;}
  .hero-meta-num .amber{color:var(--amber-bright);}
  .hero-meta-label{font-family:var(--mono);font-size:10px;color:var(--bone-3);letter-spacing:0.15em;text-transform:uppercase;line-height:1.4;}
  .hero-meta-label strong{color:var(--bone);font-weight:500;display:block;}

  .hero-form{background:linear-gradient(180deg, var(--char-2), var(--char-1));border:1px solid var(--line-3);border-radius:2px;box-shadow:0 40px 80px -15px rgba(0,0,0,0.6),0 0 0 1px rgba(212,153,81,0.1),inset 0 1px 0 rgba(255,255,255,0.06);position:relative;}
  .hero-form::before, .hero-form::after{content:"";position:absolute;width:14px;height:14px;border:1.5px solid var(--amber);}
  .hero-form::before{top:-1px;left:-1px;border-right:none;border-bottom:none;}
  .hero-form::after{bottom:-1px;right:-1px;border-left:none;border-top:none;}
  .hf-head{padding:20px 24px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;}
  .hf-head-l{display:flex;align-items:center;gap:10px;}
  .hf-head-icon{width:32px;height:32px;background:var(--amber-soft);color:var(--amber-bright);border-radius:50%;display:flex;align-items:center;justify-content:center;}
  .hf-head-text{font-size:14px;font-weight:600;color:var(--bone);letter-spacing:-0.005em;}
  .hf-head-text small{display:block;font-size:11px;color:var(--bone-3);font-weight:400;margin-top:2px;}
  .hf-head-r{font-family:var(--mono);font-size:11px;color:var(--green);display:flex;align-items:center;gap:6px;}
  .hf-head-r .dot{width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 0 3px rgba(95,200,128,0.2);animation:livePulse 2s infinite;}
  /* When the real booking widget is present it carries its own header/card,
     so the hero column drops the theme chrome and just hosts the widget. */
  .hero-form.has-widget{background:none;border:none;box-shadow:none;border-radius:0;}
  .hero-form.has-widget::before,.hero-form.has-widget::after{display:none;}
  .hf-tabs{display:flex;padding:6px;background:var(--char-1);margin:14px;border:1px solid var(--line);}
  .hf-tab{flex:1;padding:10px 14px;font-size:11px;font-weight:600;color:var(--bone-3);letter-spacing:0.05em;text-transform:uppercase;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px;}
  .hf-tab:hover{color:var(--bone);}
  .hf-tab.active{background:var(--amber);color:var(--ink);}
  .hf-fields{padding:0 14px 14px;display:flex;flex-direction:column;gap:8px;}
  .hf-field{background:var(--char-1);border:1px solid var(--line);padding:14px 18px;transition:border-color .15s;cursor:text;}
  .hf-field:focus-within, .hf-field:hover{border-color:var(--amber);}
  .hf-field-label{font-family:var(--mono);font-size:10px;color:var(--amber);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:6px;}
  .hf-field-input{font-size:15px;font-weight:600;color:var(--bone);width:100%;background:transparent;letter-spacing:-0.01em;}
  .hf-field-input::placeholder{color:var(--mute);font-weight:400;}
  .hf-field-sub{font-family:var(--mono);font-size:10px;color:var(--bone-3);margin-top:4px;}
  .hf-field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .hf-price{background:linear-gradient(135deg, var(--amber-deep), var(--amber));color:var(--ink);padding:18px 22px;margin:0 14px 14px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;}
  .hf-price::before{content:"";position:absolute;top:0;left:0;width:60%;height:100%;background:linear-gradient(90deg, rgba(255,255,255,0.1), transparent);pointer-events:none;}
  .hf-price-left{position:relative;z-index:2;}
  .hf-price-label{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;opacity:0.75;margin-bottom:2px;}
  .hf-price-num{font-size:28px;font-weight:800;letter-spacing:-0.03em;line-height:1;font-family:var(--mono);}
  .hf-price-right{text-align:right;position:relative;z-index:2;}
  .hf-price-route{font-family:var(--mono);font-size:11px;font-weight:600;margin-bottom:2px;opacity:0.85;}
  .hf-price-time{font-family:var(--mono);font-size:10px;opacity:0.7;}
  .hf-cta{background:var(--ink);color:var(--amber-bright);padding:18px;width:calc(100% - 28px);margin:0 14px 14px;font-size:13px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ink);}
  .hf-cta:hover{background:var(--amber);color:var(--ink);border-color:var(--amber);}
  .hf-cta svg{transition:transform .2s;}
  .hf-cta:hover svg{transform:translateX(4px);}
  .hf-trust{padding:14px 22px;background:var(--char-1);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--bone-3);letter-spacing:0.05em;}
  .hf-trust span{display:flex;align-items:center;gap:6px;}
  .hf-trust svg{color:var(--green);flex-shrink:0;}

  .scroll-cue{position:absolute;left:32px;bottom:32px;z-index:5;display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:10px;color:var(--bone-3);letter-spacing:0.2em;text-transform:uppercase;}
  .scroll-cue-line{width:48px;height:1px;background:linear-gradient(90deg, var(--amber), transparent);position:relative;overflow:hidden;}
  .scroll-cue-line::after{content:"";position:absolute;top:0;left:0;width:12px;height:1px;background:var(--amber-bright);animation:scrollLine 2s ease-in-out infinite;}
  @keyframes scrollLine{0%{left:-12px;opacity:0;}20%{opacity:1;}80%{opacity:1;}100%{left:48px;opacity:0;}}

  .benefits-bar{background:var(--char-1);border-bottom:1px solid var(--line);padding:20px 0;overflow:hidden;}
  .benefits-track{display:flex;gap:60px;white-space:nowrap;animation:beltScroll 50s linear infinite;}
  .benefits-item{display:flex;align-items:center;gap:14px;flex-shrink:0;font-size:13px;color:var(--bone-2);font-weight:500;}
  .benefits-item .icon{width:32px;height:32px;background:var(--amber-soft);color:var(--amber-bright);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .benefits-divider{width:6px;height:6px;background:var(--amber);border-radius:50%;flex-shrink:0;align-self:center;}
  @keyframes beltScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  section{padding:120px 32px;position:relative;}
  .section-inner{max-width:1400px;margin:0 auto;}
  .section-mark{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:64px;flex-wrap:wrap;}
  .section-tag{font-family:var(--mono);font-size:11px;color:var(--amber);letter-spacing:0.25em;text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:12px;}
  .section-tag::before{content:"";width:24px;height:1px;background:var(--amber);}
  .section-h{font-size:54px;font-weight:300;line-height:1.05;letter-spacing:-0.035em;color:var(--bone);max-width:760px;}
  .section-h strong{font-weight:700;color:var(--bone);}
  .section-h .amber{color:var(--amber-bright);font-weight:700;}
  .section-lede{font-size:16px;color:var(--bone-3);max-width:480px;line-height:1.6;}

  /* Services — editorial alternating rows */
  .services-rows{display:flex;flex-direction:column;gap:18px;}
  .srow{display:grid;grid-template-columns:0.95fr 1.05fr;border:1px solid var(--line);background:var(--char-1);overflow:hidden;min-height:248px;color:inherit;text-decoration:none;position:relative;transition:border-color .3s ease,transform .3s ease;}
  .srow:hover{border-color:var(--amber);transform:translateY(-3px);}
  .srow-media{position:relative;overflow:hidden;min-height:248px;}
  .srow-media .img-wrap{position:absolute;inset:0;width:100%;height:100%;transition:transform .7s ease;}
  .srow:hover .srow-media .img-wrap{transform:scale(1.05);}
  .srow-media::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg, transparent 58%, rgba(8,8,10,0.55));pointer-events:none;}
  .srow-badge{position:absolute;top:18px;left:18px;z-index:2;background:var(--amber);color:var(--ink);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:6px 11px;}
  .srow-body{padding:40px 46px;display:flex;flex-direction:column;justify-content:center;}
  .srow-index{font-family:var(--mono);font-size:11px;color:var(--amber);letter-spacing:0.2em;margin-bottom:14px;}
  .srow-title{font-size:25px;font-weight:600;color:var(--bone);letter-spacing:-0.015em;line-height:1.1;margin-bottom:12px;}
  .srow-desc{font-size:14.5px;color:var(--bone-3);line-height:1.6;max-width:48ch;margin-bottom:22px;}
  .srow-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;}
  .srow-meta{font-family:var(--mono);font-size:12px;color:var(--amber);letter-spacing:0.06em;}
  .srow-meta b{color:var(--bone);font-weight:700;font-size:15px;}
  .srow-arrow{width:44px;height:44px;flex-shrink:0;background:var(--amber-soft);border:1px solid var(--amber-deep);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--amber-bright);transition:all .25s ease;}
  .srow:hover .srow-arrow{background:var(--amber);color:var(--ink);transform:rotate(-45deg);}
  /* every other row: image on the right */
  .srow.is-flipped .srow-media{order:2;}
  .srow.is-flipped .srow-media::after{background:linear-gradient(255deg, transparent 58%, rgba(8,8,10,0.55));}
  @media (max-width:820px){
    .srow,.srow.is-flipped{grid-template-columns:1fr;}
    .srow-media,.srow.is-flipped .srow-media{order:0;min-height:200px;}
    .srow-body{padding:26px 24px;}
    .srow-title{font-size:22px;}
  }

  .fleet-section{background:var(--char-1);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:120px 32px;overflow:hidden;}

  /* Fleet — image accordion: active pane expands, others collapse to spines */
  .fleet-acc{display:flex;gap:8px;height:480px;}
  .fleet-pane{position:relative;flex:0.5 1 0;min-width:56px;overflow:hidden;border:1px solid var(--line);cursor:pointer;transition:flex .6s cubic-bezier(.4,.8,.3,1);}
  .fleet-pane.on{flex:4 1 0;cursor:default;}
  .fleet-pane-media,.fleet-pane-media .img-wrap{position:absolute;inset:0;width:100%;height:100%;}
  .fleet-pane-media .img-wrap{transition:transform 6s ease;}
  .fleet-pane-media .img-wrap img{width:100%;height:100%;object-fit:cover;}
  .fleet-pane.on .fleet-pane-media .img-wrap{transform:scale(1.08);}
  .fleet-pane::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 32%, rgba(8,8,10,0.92));z-index:1;}
  .fleet-pane-label{position:absolute;left:0;bottom:0;writing-mode:vertical-rl;transform:rotate(180deg);padding:18px 0 20px 18px;font-family:var(--mono);font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--bone-2);z-index:2;white-space:nowrap;transition:opacity .3s;}
  .fleet-pane.on .fleet-pane-label{opacity:0;pointer-events:none;}
  .fleet-pane-detail{position:absolute;left:0;right:0;bottom:0;padding:32px 36px;z-index:3;opacity:0;transform:translateY(14px);transition:opacity .45s .12s,transform .45s .12s;pointer-events:none;}
  .fleet-pane.on .fleet-pane-detail{opacity:1;transform:none;pointer-events:auto;}
  .fleet-pane-cat{font-family:var(--mono);font-size:11px;color:var(--amber);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:10px;}
  .fleet-pane-name{font-size:30px;font-weight:300;line-height:1;color:var(--bone);letter-spacing:-0.025em;}
  .fleet-pane-name strong{font-weight:700;}
  .fleet-pane-specs{display:flex;gap:30px;margin:16px 0 20px;}
  .fleet-pane-spec .l{font-family:var(--mono);font-size:9px;color:var(--bone-3);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:5px;}
  .fleet-pane-spec .v{font-size:16px;font-weight:600;color:var(--bone);}
  .fleet-pane-spec .v .amber{color:var(--amber-bright);}
  .fleet-acc-rail{position:relative;height:3px;margin-top:16px;background:var(--line);}
  .fleet-acc-bar{position:absolute;left:0;top:0;height:3px;background:var(--amber);width:0;}
  .fleet-acc-bar.run{transition:width 5s linear;width:100%;}

  .btn-amber{background:var(--amber);color:var(--ink);padding:14px 26px;font-size:13px;font-weight:700;letter-spacing:0.05em;transition:all .2s;display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;}
  .btn-amber:hover{background:var(--amber-bright);box-shadow:0 8px 24px var(--amber-glow);}
  .btn-outline{background:transparent;color:var(--bone);padding:14px 22px;font-size:13px;font-weight:600;border:1px solid var(--line-3);transition:all .2s;display:inline-flex;align-items:center;gap:8px;letter-spacing:0.03em;}
  .btn-outline:hover{border-color:var(--amber);color:var(--amber-bright);}

  .routes-section{background:var(--ink);}
  .routes-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:0;border:1px solid var(--line);}
  .route-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;transition:background .3s ease;overflow:hidden;position:relative;}
  .route-card:nth-child(4n){border-right:none;}
  .route-card:nth-last-child(-n+4){border-bottom:none;}
  .route-card:hover{background:var(--char-2);}
  .route-card-img{aspect-ratio:5/3;overflow:hidden;position:relative;background:var(--char-1);}
  .route-card-img .img-wrap{width:100%;height:100%;transition:transform .6s ease;}
  .route-card:hover .route-card-img .img-wrap{transform:scale(1.06);}
  .route-card-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 50%, rgba(8,8,10,0.6));}
  .route-card-body{padding:20px 22px 22px;}
  .route-card-route{font-family:var(--mono);font-size:10px;color:var(--amber);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:6px;}
  .route-card-route .arrow{color:var(--bone-3);}
  .route-card-name{font-size:20px;font-weight:600;color:var(--bone);margin-bottom:8px;letter-spacing:-0.015em;}
  .route-card-meta{display:flex;gap:16px;font-family:var(--mono);font-size:11px;color:var(--bone-3);margin-bottom:14px;}
  .route-card-foot{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--line);}
  .route-card-price{font-family:var(--mono);font-size:11px;color:var(--bone-3);}
  .route-card-price b{color:var(--amber-bright);font-size:16px;font-weight:700;margin-right:2px;}
  .route-card-arrow{color:var(--bone-3);transition:all .2s;}
  .route-card:hover .route-card-arrow{color:var(--amber-bright);transform:translate(2px,-2px);}

  .events-band{position:relative;overflow:hidden;isolation:isolate;padding:140px 32px;}
  .events-bg{position:absolute;inset:0;z-index:1;}
  .events-bg .img-wrap{width:100%;height:100%;}
  .events-bg .img-wrap img{filter:brightness(0.58) saturate(0.95);}
  .events-veil{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg, rgba(8,8,10,0.8) 0%, rgba(8,8,10,0.5) 40%, rgba(8,8,10,0.2) 78%, rgba(8,8,10,0.08) 100%),linear-gradient(180deg, rgba(8,8,10,0.18), rgba(8,8,10,0.5));}
  .events-content{position:relative;z-index:5;max-width:600px;}
  .events-content h2{font-size:54px;font-weight:300;line-height:1.05;letter-spacing:-0.035em;color:var(--bone);margin-bottom:18px;}
  .events-content h2 strong{font-weight:700;}
  .events-content h2 .amber{color:var(--amber-bright);font-weight:700;}
  .events-content p{font-size:16px;color:var(--bone-2);line-height:1.6;margin-bottom:32px;max-width:480px;}
  .events-list{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:32px;}
  .events-list li{list-style:none;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--bone-2);font-family:var(--mono);letter-spacing:0.02em;}
  .events-list li svg{color:var(--amber);flex-shrink:0;}

  .reviews-section{background:var(--char-1);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .reviews-summary{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:64px;padding:48px;background:var(--char-2);border:1px solid var(--line);}
  .reviews-summary-l h3{font-family:var(--mono);font-size:11px;color:var(--amber);letter-spacing:0.25em;text-transform:uppercase;margin-bottom:14px;}
  .reviews-summary-rating{display:flex;align-items:baseline;gap:14px;margin-bottom:14px;}
  .reviews-summary-num{font-size:80px;font-weight:700;color:var(--amber-bright);letter-spacing:-0.04em;line-height:1;font-family:var(--mono);}
  .reviews-summary-stars-wrap{display:flex;flex-direction:column;gap:4px;}
  .reviews-summary-stars{color:var(--amber);font-size:20px;letter-spacing:2px;}
  .reviews-summary-count{font-family:var(--mono);font-size:12px;color:var(--bone-3);}
  .reviews-summary-text{font-size:14px;color:var(--bone-3);line-height:1.6;}
  .reviews-summary-r{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;}
  .reviews-summary-source{text-align:center;}
  .reviews-summary-source-num{font-size:28px;font-weight:700;color:var(--bone);letter-spacing:-0.02em;margin-bottom:4px;font-family:var(--mono);}
  .reviews-summary-source-name{font-family:var(--mono);font-size:10px;color:var(--amber);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:6px;}
  .reviews-summary-source-stars{color:var(--amber);font-size:11px;letter-spacing:1px;}
  .reviews-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;}
  .review-card{background:var(--char-2);border:1px solid var(--line);padding:32px;transition:all .3s ease;position:relative;}
  .review-card:hover{border-color:var(--amber);transform:translateY(-3px);}
  .review-card-quote{position:absolute;top:20px;right:24px;font-family:Georgia,serif;font-size:80px;color:var(--amber);line-height:0.6;opacity:0.3;pointer-events:none;}
  .review-stars{color:var(--amber);font-size:13px;letter-spacing:1px;margin-bottom:18px;}
  .review-text{font-size:15px;color:var(--bone);line-height:1.6;margin-bottom:24px;font-weight:400;}
  .review-author{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid var(--line);}
  .review-avatar{width:42px;height:42px;background:var(--amber);color:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;}
  .review-info{flex:1;}
  .review-name{font-size:14px;font-weight:600;color:var(--bone);margin-bottom:2px;}
  .review-meta{font-family:var(--mono);font-size:11px;color:var(--bone-3);display:flex;align-items:center;gap:6px;}
  .review-meta .source{color:var(--amber);font-weight:600;}

  .faq-section{background:var(--ink);}
  .faq-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:flex-start;}
  details.faq{border-bottom:1px solid var(--line);padding:24px 0;cursor:pointer;}
  details.faq:first-of-type{border-top:1px solid var(--line);}
  details.faq summary{font-size:16px;font-weight:600;color:var(--bone);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;transition:color .2s;}
  details.faq summary:hover{color:var(--amber-bright);}
  details.faq summary::-webkit-details-marker{display:none;}
  details.faq summary::after{content:"+";font-family:var(--mono);font-size:18px;color:var(--amber);width:32px;height:32px;background:var(--char-2);border:1px solid var(--line-2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s;}
  details.faq[open] summary::after{content:"−";background-color:var(--amber);color:var(--ink);border-color:var(--amber);}
  details.faq[open] summary{color:var(--amber-bright);}
  details.faq p{font-size:14px;color:var(--bone-3);margin-top:14px;line-height:1.7;padding-right:48px;}

  .final-cta{background:linear-gradient(135deg, var(--amber-deep), var(--amber));color:var(--ink);padding:120px 32px;position:relative;overflow:hidden;}
  .final-cta::before{content:"";position:absolute;top:-200px;right:-100px;width:600px;height:600px;background:radial-gradient(circle, rgba(255,255,255,0.15), transparent 70%);pointer-events:none;}
  .final-cta::after{content:"";position:absolute;bottom:-100px;left:-100px;width:400px;height:400px;background:radial-gradient(circle, rgba(0,0,0,0.15), transparent 70%);pointer-events:none;}
  .final-cta-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center;position:relative;z-index:2;}
  .final-cta-tag{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--amber-bright);padding:8px 16px;font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;margin-bottom:24px;}
  .final-cta h2{font-size:64px;font-weight:300;color:var(--ink);line-height:1;letter-spacing:-0.04em;margin-bottom:18px;}
  .final-cta h2 strong{font-weight:800;}
  .final-cta-sub{font-size:17px;color:rgba(8,8,10,0.8);line-height:1.55;margin-bottom:36px;max-width:520px;}
  .final-cta-actions{display:flex;gap:14px;flex-wrap:wrap;}
  .btn-dark{background:var(--ink);color:var(--amber-bright);padding:18px 32px;font-size:14px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;transition:all .2s;display:inline-flex;align-items:center;gap:10px;}
  .btn-dark:hover{background:var(--char-2);transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,0.25);}
  .btn-light{background:transparent;color:var(--ink);padding:18px 32px;font-size:14px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;border:2px solid var(--ink);transition:all .2s;display:inline-flex;align-items:center;gap:10px;}
  .btn-light:hover{background:var(--ink);color:var(--amber-bright);}
  .final-cta-card{background:var(--ink);color:var(--bone);padding:36px;border-radius:2px;box-shadow:0 30px 60px rgba(0,0,0,0.3);position:relative;}
  .final-cta-card::before, .final-cta-card::after{content:"";position:absolute;width:14px;height:14px;border:1.5px solid var(--amber);}
  .final-cta-card::before{top:-1px;left:-1px;border-right:none;border-bottom:none;}
  .final-cta-card::after{bottom:-1px;right:-1px;border-left:none;border-top:none;}
  .final-cta-card-h{font-family:var(--mono);font-size:11px;color:var(--amber);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:24px;display:flex;align-items:center;gap:10px;}
  .final-cta-card-h::before{content:"";width:24px;height:1px;background:var(--amber);}
  .final-cta-card-row{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);}
  .final-cta-card-row:last-child{border-bottom:none;}
  .final-cta-card-icon{width:42px;height:42px;background:var(--amber-soft);border:1px solid var(--amber-deep);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--amber-bright);flex-shrink:0;}
  .final-cta-card-row strong{display:block;font-size:14px;font-weight:600;color:var(--bone);margin-bottom:2px;}
  .final-cta-card-row span{font-size:12px;color:var(--bone-3);font-family:var(--mono);}

  footer{background:var(--char-1);border-top:1px solid var(--line);padding:80px 32px 32px;}
  .foot-inner{max-width:1400px;margin:0 auto;}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--line);margin-bottom:32px;}
  /* Defensive: keep every column able to shrink and wrap so text can never
     overflow its track and bleed into the neighbouring column. */
  .foot-grid > *{min-width:0;overflow-wrap:break-word;}
  @media (max-width:1200px){ .foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;} }
  .foot-brand p{font-size:14px;color:var(--bone-3);line-height:1.6;margin:18px 0 24px;max-width:300px;}
  .foot-badges{display:flex;flex-wrap:wrap;gap:8px;}
  .foot-badge{background:var(--char-2);border:1px solid var(--line);padding:6px 12px;font-family:var(--mono);font-size:10px;font-weight:600;color:var(--bone-3);letter-spacing:0.05em;display:flex;align-items:center;gap:6px;}
  .foot-badge svg{color:var(--amber);}
  .foot-col h4{font-size:13px;font-weight:700;color:var(--amber);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:18px;}
  .foot-feature{display:block;font-size:13px;color:var(--bone-3);padding:5px 0;line-height:1.4;}
  .foot-col ul.foot-menu{list-style:none;margin:0;padding:0;}
  .foot-col ul.foot-menu li{list-style:none;margin:0;padding:0;}
  .foot-col a{display:block;font-size:13px;color:var(--bone-3);padding:5px 0;transition:color .15s;}
  .foot-col a:hover{color:var(--amber-bright);}
  .foot-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-family:var(--mono);font-size:11px;color:var(--mute);}

  @media (max-width:1100px){
    .topstrip-inner{padding:9px 20px;flex-wrap:wrap;justify-content:center;text-align:center;}
    .nav-inner{padding:14px 20px;}
    .nav-links{display:none;}
    .nav-phone span{display:none;}
    .hero-content{grid-template-columns:1fr;gap:40px;padding:40px 20px 60px;}
    .hero-h{font-size:48px;}
    .hero-meta-row{gap:20px;}
    .scroll-cue{display:none;}
    section{padding:80px 20px;}
    .section-h{font-size:40px;}
    .fleet-section{padding:80px 20px;}
    .fleet-acc{flex-direction:column;height:auto;gap:8px;}
    .fleet-pane{flex:none;height:66px;min-width:0;}
    .fleet-pane.on{height:400px;}
    .fleet-pane-label{writing-mode:horizontal-tb;transform:none;padding:22px 24px;}
    .fleet-pane-detail{padding:24px;}
    .fleet-pane-name{font-size:26px;}
    .fleet-pane-specs{gap:22px;}
    .routes-grid{grid-template-columns:1fr 1fr;}
    .route-card{border-right:1px solid var(--line) !important;border-bottom:1px solid var(--line) !important;}
    .route-card:nth-child(2n){border-right:none !important;}
    .events-band{padding:80px 20px;}
    .events-content h2{font-size:40px;}
    .reviews-summary{grid-template-columns:1fr;gap:32px;padding:32px;}
    .reviews-grid{grid-template-columns:1fr;}
    .faq-grid{grid-template-columns:1fr;gap:32px;}
    .final-cta{padding:80px 20px;}
    .final-cta-inner{grid-template-columns:1fr;gap:32px;}
    .final-cta h2{font-size:44px;}
    .foot-grid{grid-template-columns:1fr 1fr;gap:32px;}
  }
  @media (max-width:640px){
    .hero-h{font-size:36px;}
    .hero-meta-row{flex-direction:column;align-items:flex-start;gap:14px;}
    .section-h{font-size:32px;}
    .events-content h2{font-size:32px;}
    .reviews-summary-r{grid-template-columns:1fr;}
    .routes-grid{grid-template-columns:1fr;}
    .route-card{border-right:none !important;}
    .final-cta h2{font-size:32px;}
    .foot-grid{grid-template-columns:1fr;}
    .foot-bot{flex-direction:column;align-items:flex-start;}
  }

  /* ============================================================
     SHARED INNER-PAGE COMPONENTS  (added for multi-page site)
     Uses the same design tokens as the homepage.
     ============================================================ */

  /* --- Active nav link state --- */
  .nav-links a.active{color:var(--bone);}
  .nav-links a.active::after{width:18px;}

  /* --- Page banner (inner-page hero) --- */
  .page-banner{position:relative;overflow:hidden;isolation:isolate;background:var(--ink);border-bottom:1px solid var(--line);}
  .page-banner-bg{position:absolute;inset:0;z-index:1;}
  .page-banner-bg .img-wrap{width:100%;height:100%;background:var(--ink);}
  .page-banner-bg .img-wrap img{filter:brightness(0.62) contrast(1.04) saturate(0.92);transform:scale(1.04);}
  .page-banner-veil{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg, rgba(8,8,10,0.82) 0%, rgba(8,8,10,0.58) 38%, rgba(8,8,10,0.22) 70%, rgba(8,8,10,0.1) 100%),linear-gradient(180deg, rgba(8,8,10,0.12), rgba(8,8,10,0.42) 100%);}
  .page-banner-glow{position:absolute;top:-120px;right:-60px;width:480px;height:480px;background:radial-gradient(circle, var(--amber-glow), transparent 65%);z-index:2;filter:blur(90px);opacity:0.4;pointer-events:none;}
  .page-banner-inner{position:relative;z-index:5;max-width:1400px;margin:0 auto;padding:48px 32px 44px;}
  .page-banner-crumbs{font-family:var(--mono);font-size:11px;color:var(--bone-3);letter-spacing:0.1em;margin-bottom:26px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .page-banner-crumbs a{color:var(--bone-3);transition:color .15s;}
  .page-banner-crumbs a:hover{color:var(--amber-bright);}
  .page-banner-crumbs .sep{color:var(--mute-2);}
  .page-banner-crumbs .cur{color:var(--amber);}
  .page-banner h1{font-size:60px;font-weight:300;line-height:1.0;letter-spacing:-0.04em;color:var(--bone);max-width:780px;margin-bottom:22px;}
  .page-banner h1 strong{font-weight:700;}
  .page-banner h1 .amber{color:var(--amber-bright);font-weight:700;}
  .page-banner-sub{font-size:17px;color:var(--bone-3);max-width:560px;line-height:1.55;}
  .page-banner-stats{display:flex;gap:40px;flex-wrap:wrap;margin-top:40px;padding-top:32px;border-top:1px solid var(--line);}
  .page-banner-stat-num{font-size:30px;font-weight:300;line-height:1;color:var(--bone);letter-spacing:-0.03em;margin-bottom:7px;}
  .page-banner-stat-num .amber{color:var(--amber-bright);}
  .page-banner-stat-label{font-family:var(--mono);font-size:10px;color:var(--bone-3);letter-spacing:0.15em;text-transform:uppercase;}

  /* --- Generic prose / content blocks --- */
  .prose{max-width:760px;}
  .prose h2{font-size:32px;font-weight:600;color:var(--bone);letter-spacing:-0.02em;margin:48px 0 18px;line-height:1.1;}
  .prose h2:first-child{margin-top:0;}
  .prose h3{font-size:20px;font-weight:600;color:var(--bone);margin:32px 0 12px;letter-spacing:-0.01em;}
  .prose p{font-size:15px;color:var(--bone-3);line-height:1.75;margin-bottom:18px;}
  .prose p strong, .prose li strong{color:var(--bone);font-weight:600;}
  .prose a{color:var(--amber-bright);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--amber-deep);transition:color .15s;}
  .prose a:hover{color:var(--amber);}
  .prose ul, .prose ol{margin:0 0 18px;padding-left:4px;list-style:none;}
  .prose ul li{font-size:15px;color:var(--bone-3);line-height:1.7;margin-bottom:12px;padding-left:28px;position:relative;}
  .prose ul li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;background:var(--amber);border-radius:50%;}
  .prose ol{counter-reset:n;}
  .prose ol li{font-size:15px;color:var(--bone-3);line-height:1.7;margin-bottom:12px;padding-left:36px;position:relative;counter-increment:n;}
  .prose ol li::before{content:counter(n);position:absolute;left:0;top:0;width:22px;height:22px;background:var(--amber-soft);color:var(--amber-bright);border:1px solid var(--amber-deep);border-radius:50%;font-family:var(--mono);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;}
  .prose .updated{font-family:var(--mono);font-size:11px;color:var(--mute);letter-spacing:0.05em;margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid var(--line);}

  /* --- Two-column content layout (sidebar) --- */
  .content-cols{display:grid;grid-template-columns:1fr 320px;gap:64px;align-items:start;}
  .content-aside{position:sticky;top:120px;}
  .aside-card{background:var(--char-2);border:1px solid var(--line);padding:28px;margin-bottom:20px;position:relative;}
  .aside-card::before,.aside-card::after{content:"";position:absolute;width:12px;height:12px;border:1.5px solid var(--amber);}
  .aside-card::before{top:-1px;left:-1px;border-right:none;border-bottom:none;}
  .aside-card::after{bottom:-1px;right:-1px;border-left:none;border-top:none;}
  .aside-card h4{font-family:var(--mono);font-size:11px;color:var(--amber);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:10px;}
  .aside-card h4::before{content:"";width:20px;height:1px;background:var(--amber);}
  .aside-card p{font-size:13px;color:var(--bone-3);line-height:1.6;margin-bottom:16px;}
  .aside-contact-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);}
  .aside-contact-row:last-of-type{border-bottom:none;}
  .aside-contact-row .ic{width:34px;height:34px;background:var(--amber-soft);border:1px solid var(--amber-deep);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--amber-bright);flex-shrink:0;}
  .aside-contact-row .tx small{display:block;font-family:var(--mono);font-size:9px;color:var(--bone-3);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:2px;}
  .aside-contact-row .tx span{font-size:14px;color:var(--bone);font-weight:500;}

  /* --- Form elements (contact / booking shells) --- */
  .form-card{background:linear-gradient(180deg, var(--char-2), var(--char-1));border:1px solid var(--line-3);position:relative;padding:8px;}
  /* Live widget present → host it bare (no theme card chrome). */
  .form-card.has-widget{background:none;border:none;padding:0;}
  .form-card.has-widget::before,.form-card.has-widget::after{display:none;}
  .form-card::before,.form-card::after{content:"";position:absolute;width:14px;height:14px;border:1.5px solid var(--amber);z-index:2;}
  .form-card::before{top:-1px;left:-1px;border-right:none;border-bottom:none;}
  .form-card::after{bottom:-1px;right:-1px;border-left:none;border-top:none;}
  .form-card-head{padding:24px 24px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
  .form-card-head h3{font-size:18px;font-weight:600;color:var(--bone);letter-spacing:-0.01em;}
  .form-card-head p{font-size:12px;color:var(--bone-3);margin-top:3px;}
  .form-body{padding:24px;}
  .field{margin-bottom:16px;}
  .field-label{font-family:var(--mono);font-size:10px;color:var(--amber);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:7px;}
  .field input, .field select, .field textarea{width:100%;background:var(--char-1);border:1px solid var(--line);padding:14px 16px;font-size:15px;color:var(--bone);transition:border-color .15s;border-radius:0;}
  .field input::placeholder, .field textarea::placeholder{color:var(--mute);}
  .field input:focus, .field select:focus, .field textarea:focus{border-color:var(--amber);}
  .field textarea{resize:vertical;min-height:120px;line-height:1.6;}
  .field select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23d49951' stroke-width='2.5'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px;}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .field-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
  .form-note{font-family:var(--mono);font-size:11px;color:var(--bone-3);margin-top:6px;line-height:1.5;}
  /* Reusable rate/booking disclaimer under routes & rates. */
  .rate-disclaimer{max-width:780px;margin:32px auto 0;padding-top:22px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.65;color:var(--bone-3);text-align:center;}
  @media (max-width:640px){ .rate-disclaimer{font-size:12px;margin-top:24px;padding-top:18px;text-align:left;} }
  .btn-amber.full{width:100%;justify-content:center;border:none;font-size:14px;padding:18px;}
  .btn-amber.full svg{transition:transform .2s;}
  .btn-amber.full:hover svg{transform:translateX(4px);}

  /* --- Booking-plugin drop zone --- */
  .plugin-slot{background:var(--char-1);border:1px dashed var(--line-3);padding:48px 32px;text-align:center;border-radius:0;}
  .plugin-slot .tag{font-family:var(--mono);font-size:10px;color:var(--amber);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:14px;}
  .plugin-slot p{font-size:14px;color:var(--bone-3);line-height:1.6;max-width:440px;margin:0 auto;}

  /* --- Rates table --- */
  .rates-table{width:100%;border-collapse:collapse;border:1px solid var(--line);background:var(--char-2);margin-bottom:16px;}
  .rates-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:16px;}
  @media (max-width:640px){
    .rates-table{min-width:520px;}
    .rates-table thead th,.rates-table tbody td{padding:14px 14px;}
    .rates-table .price{font-size:16px;}
  }
  .rates-table thead th{background:var(--char-1);font-family:var(--mono);font-size:10px;color:var(--amber);letter-spacing:0.15em;text-transform:uppercase;text-align:left;padding:16px 20px;border-bottom:1px solid var(--line-2);font-weight:600;}
  .rates-table thead th:last-child, .rates-table tbody td:last-child{text-align:right;}
  .rates-table tbody td{padding:18px 20px;border-bottom:1px solid var(--line);font-size:14px;color:var(--bone-2);}
  .rates-table tbody tr:last-child td{border-bottom:none;}
  .rates-table tbody tr{transition:background .2s;}
  .rates-table tbody tr:hover{background:var(--char-3);}
  .rates-table .route-name{font-weight:600;color:var(--bone);font-size:15px;}
  .rates-table .route-sub{font-family:var(--mono);font-size:11px;color:var(--bone-3);margin-top:3px;}
  .rates-table .price{font-family:var(--mono);font-size:18px;font-weight:700;color:var(--amber-bright);}
  .rates-table .price small{font-size:11px;color:var(--bone-3);font-weight:400;display:block;margin-top:2px;}

  /* --- Pricing / info cards grid --- */
  .info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .info-grid.two{grid-template-columns:repeat(2,1fr);}
  .info-card{background:var(--char-2);border:1px solid var(--line);padding:30px;transition:all .3s ease;}
  .info-card:hover{border-color:var(--amber);transform:translateY(-3px);}
  .info-card .ic{width:48px;height:48px;background:var(--amber-soft);border:1px solid var(--amber-deep);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--amber-bright);margin-bottom:20px;}
  .info-card h3{font-size:18px;font-weight:600;color:var(--bone);margin-bottom:10px;letter-spacing:-0.01em;}
  .info-card p{font-size:14px;color:var(--bone-3);line-height:1.65;}
  .info-card .price-big{font-family:var(--mono);font-size:30px;font-weight:700;color:var(--amber-bright);letter-spacing:-0.02em;margin-bottom:6px;}
  .info-card .price-big small{font-size:13px;color:var(--bone-3);font-weight:400;}

  /* --- Team / drivers grid --- */
  .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .team-card{background:var(--char-2);border:1px solid var(--line);overflow:hidden;transition:all .3s ease;}
  .team-card:hover{border-color:var(--amber);transform:translateY(-3px);}
  .team-card-img{aspect-ratio:4/3;overflow:hidden;}
  .team-card-img .img-wrap{width:100%;height:100%;transition:transform .6s ease;}
  .team-card:hover .team-card-img .img-wrap{transform:scale(1.05);}
  .team-card-body{padding:22px 24px;}
  .team-card-body h4{font-size:17px;font-weight:600;color:var(--bone);margin-bottom:4px;}
  .team-card-body .role{font-family:var(--mono);font-size:11px;color:var(--amber);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:12px;}
  .team-card-body p{font-size:13px;color:var(--bone-3);line-height:1.6;}

  /* --- Blog grid --- */
  .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
  .blog-card{background:var(--char-2);border:1px solid var(--line);overflow:hidden;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;}
  .blog-card:hover{border-color:var(--amber);transform:translateY(-4px);}
  .blog-card-img{aspect-ratio:16/10;overflow:hidden;position:relative;}
  .blog-card-img .img-wrap{width:100%;height:100%;transition:transform .7s ease;}
  .blog-card:hover .blog-card-img .img-wrap{transform:scale(1.05);}
  .blog-card-cat{position:absolute;top:16px;left:16px;background:var(--amber);color:var(--ink);padding:5px 11px;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;z-index:2;}
  .blog-card-body{padding:24px;flex:1;display:flex;flex-direction:column;}
  .blog-card-meta{font-family:var(--mono);font-size:10px;color:var(--bone-3);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:12px;}
  .blog-card-body h3{font-size:19px;font-weight:600;color:var(--bone);line-height:1.25;letter-spacing:-0.015em;margin-bottom:10px;}
  .blog-card-body p{font-size:13px;color:var(--bone-3);line-height:1.6;margin-bottom:18px;flex:1;}
  .blog-card-foot{font-family:var(--mono);font-size:12px;color:var(--amber-bright);display:flex;align-items:center;gap:8px;}

  /* --- Contact split layout --- */
  .contact-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
  .contact-detail-row{display:flex;align-items:flex-start;gap:18px;padding:24px 0;border-bottom:1px solid var(--line);}
  .contact-detail-row:first-of-type{border-top:1px solid var(--line);}
  .contact-detail-row .ic{width:46px;height:46px;background:var(--amber-soft);border:1px solid var(--amber-deep);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--amber-bright);flex-shrink:0;}
  .contact-detail-row h4{font-size:11px;font-family:var(--mono);color:var(--amber);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:6px;}
  .contact-detail-row .big{font-size:20px;font-weight:600;color:var(--bone);letter-spacing:-0.01em;margin-bottom:4px;}
  .contact-detail-row p{font-size:13px;color:var(--bone-3);line-height:1.55;}
  .contact-map{aspect-ratio:16/10;background:var(--char-2);border:1px solid var(--line);overflow:hidden;position:relative;margin-top:40px;}
  .contact-map iframe{width:100%;height:100%;border:0;filter:grayscale(1) invert(0.92) contrast(0.9);}
  /* Full-width map row: spans both columns under the split, capped height so a
     wide container does not blow the 16/10 ratio up to ~900px tall. */
  .contact-map-full{aspect-ratio:auto;height:clamp(300px,30vw,440px);margin-top:56px;}
  /* Editorial lead at the top of the contact column */
  .contact-lead{margin-bottom:40px;}
  .contact-lead .section-tag{margin-bottom:16px;}
  .contact-lead-h{font-size:34px;font-weight:300;line-height:1.12;letter-spacing:-0.03em;color:var(--bone);margin-bottom:16px;}
  .contact-lead-h strong,.contact-lead-h .amber{font-weight:700;}
  .contact-lead-h .amber{color:var(--amber-bright);}
  .contact-lead-text{max-width:440px;}
  .contact-lead-text p{font-size:15px;color:var(--bone-3);line-height:1.7;margin-bottom:14px;}
  .contact-lead-text p:last-child{margin-bottom:0;}

  /* --- Section heading helper for inner pages --- */
  .ip-section{padding:64px 32px;}
  .ip-section.compact{padding:40px 32px 64px;}
  .ip-section.tight{padding:72px 32px;}
  .ip-section.alt{background:var(--char-1);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

  /* --- Inner-page responsive --- */
  @media (max-width:1100px){
    .page-banner-inner{padding:36px 20px 32px;}
    .page-banner h1{font-size:42px;}
    .content-cols{grid-template-columns:1fr;gap:40px;}
    .content-aside{position:static;}
    .info-grid, .info-grid.two, .team-grid, .blog-grid{grid-template-columns:1fr 1fr;}
    .contact-split{grid-template-columns:1fr;gap:32px;}
    .contact-lead-h{font-size:28px;}
    .contact-map-full{height:clamp(240px,52vw,320px);margin-top:32px;}
    .ip-section{padding:64px 20px;}
  }
  @media (max-width:640px){
    .page-banner h1{font-size:32px;}
    .page-banner-stats{gap:24px;}
    .field-row, .field-row-3{grid-template-columns:1fr;}
    .info-grid, .info-grid.two, .team-grid, .blog-grid{grid-template-columns:1fr;}
    .rates-table thead{display:none;}
    .rates-table tbody td{display:block;text-align:left !important;padding:8px 16px;border-bottom:none;}
    .rates-table tbody tr{display:block;padding:12px 0;border-bottom:1px solid var(--line);}
  }

  /* ============================================================
     FLOATING BUTTONS (Book / Call) — entrance + periodic attention
     ============================================================ */
  .mbl-floating{position:fixed;right:20px;bottom:20px;z-index:200;display:flex;flex-direction:column;gap:12px;align-items:flex-end;}
  .mbl-float-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 20px;border-radius:50px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,0.35);opacity:0;transform:translateY(30px) scale(0.9);animation:mblFloatIn 0.6s cubic-bezier(0.34,1.56,0.64,1) forwards;}
  .mbl-float-btn svg{flex-shrink:0;}
  .mbl-float-book{background:var(--amber);color:var(--ink);}
  .mbl-float-book:hover{background:var(--amber-bright);transform:translateY(-2px) scale(1.03);}
  .mbl-float-call{background:var(--char-3);color:var(--bone);border:1px solid var(--line-3);}
  .mbl-float-call:hover{background:var(--char-4);transform:translateY(-2px) scale(1.03);}
  .mbl-float-call{animation-delay:0.15s;}
  /* periodic attention wiggle every 5s, on the book button */
  .mbl-float-book{animation:mblFloatIn 0.6s cubic-bezier(0.34,1.56,0.64,1) forwards, mblPulse 5s ease-in-out 2s infinite;}
  @keyframes mblFloatIn{to{opacity:1;transform:translateY(0) scale(1);}}
  @keyframes mblPulse{0%,90%,100%{transform:translateY(0) scale(1);box-shadow:0 10px 30px rgba(0,0,0,0.35);}93%{transform:translateY(0) scale(1.08);box-shadow:0 0 0 8px rgba(212,153,81,0.18),0 10px 30px rgba(0,0,0,0.35);}96%{transform:translateY(0) scale(1.04);}}
  @media (max-width:640px){
    .mbl-float-btn span{display:none;}
    .mbl-float-btn{padding:14px;border-radius:50%;}
  }
  @media (prefers-reduced-motion:reduce){
    .mbl-float-btn{animation:none;opacity:1;transform:none;}
  }

  /* ============================================================
     SCROLL REVEAL — sections/content animate in on scroll
     ============================================================ */
  .mbl-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(0.16,1,0.3,1), transform .7s cubic-bezier(0.16,1,0.3,1);will-change:opacity,transform;}
  .mbl-reveal.is-visible{opacity:1;transform:translateY(0);}
  /* staggered children (cards in a grid) */
  .mbl-reveal-stagger > *{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(0.16,1,0.3,1), transform .6s cubic-bezier(0.16,1,0.3,1);}
  .mbl-reveal-stagger.is-visible > *{opacity:1;transform:translateY(0);}
  .mbl-reveal-stagger.is-visible > *:nth-child(1){transition-delay:.05s;}
  .mbl-reveal-stagger.is-visible > *:nth-child(2){transition-delay:.12s;}
  .mbl-reveal-stagger.is-visible > *:nth-child(3){transition-delay:.19s;}
  .mbl-reveal-stagger.is-visible > *:nth-child(4){transition-delay:.26s;}
  .mbl-reveal-stagger.is-visible > *:nth-child(5){transition-delay:.33s;}
  .mbl-reveal-stagger.is-visible > *:nth-child(6){transition-delay:.40s;}
  .mbl-reveal-stagger.is-visible > *:nth-child(7){transition-delay:.47s;}
  .mbl-reveal-stagger.is-visible > *:nth-child(8){transition-delay:.54s;}
  @media (prefers-reduced-motion:reduce){
    .mbl-reveal,.mbl-reveal-stagger > *{opacity:1 !important;transform:none !important;transition:none !important;}
  }

  /* ============================================================
     BOOKING PAGE — form-first hero layout
     ============================================================ */
  .booking-page{position:relative;overflow:hidden;isolation:isolate;background:var(--ink);border-bottom:1px solid var(--line);}
  .booking-page-inner{padding-top:12px;padding-bottom:80px;}
  .booking-page-head{text-align:center;max-width:780px;margin:0 auto 40px;padding-top:0;}
  .booking-page-head .page-banner-crumbs{justify-content:center;margin-bottom:20px;}
  .booking-page-h{font-size:48px;font-weight:300;line-height:1.04;letter-spacing:-0.04em;color:var(--bone);margin:0 0 18px;}
  .booking-page-h strong{font-weight:700;}
  .booking-page-h .amber{color:var(--amber-bright);font-weight:700;}
  .booking-page-sub{font-size:16px;color:var(--bone-3);line-height:1.55;max-width:560px;margin:0 auto 24px;}
  .booking-page-points{list-style:none;margin:24px auto 0;padding:14px 22px;display:inline-flex;gap:28px;align-items:center;flex-wrap:wrap;justify-content:center;background:var(--char-1);border:1px solid var(--line);}
  .booking-page-points li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--bone-2);font-weight:500;}
  .booking-page-points li svg{color:var(--amber-bright);flex-shrink:0;}
  .booking-page-phone{font-size:14px;color:var(--bone-3);margin-top:20px;}
  .booking-page-phone a{color:var(--amber-bright);font-weight:600;text-decoration:none;}
  .booking-page-form{max-width:1100px;margin:0 auto;position:relative;}
  .booking-page-note{text-align:center;font-size:13px;color:var(--bone-3);margin-top:24px;}
  @media (max-width:1000px){
    .booking-page-h{font-size:36px;}
    .booking-page-points{flex-direction:column;align-items:flex-start;gap:12px;}
    .booking-page-inner{padding-top:10px;padding-bottom:56px;}
  }

  /* ============================================================
     MOBILE FLYOUT MENU + RESPONSIVE NAV
     ============================================================ */
  .nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border:1px solid var(--line-2);border-radius:8px;background:transparent;cursor:pointer;padding:0 10px;flex-shrink:0;}
  .nav-burger span{display:block;height:2px;width:100%;background:var(--bone);border-radius:2px;transition:transform .25s,opacity .25s;}

  .mbl-flyout-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(2px);z-index:300;opacity:0;transition:opacity .3s ease;}
  .mbl-flyout-overlay.is-open{opacity:1;}

  .mbl-flyout{position:fixed;top:0;right:0;height:100%;width:min(360px,86vw);background:var(--char-1);border-left:1px solid var(--line-2);z-index:301;transform:translateX(100%);transition:transform .32s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;overflow-y:auto;box-shadow:-20px 0 60px rgba(0,0,0,0.5);}
  .mbl-flyout.is-open{transform:translateX(0);}
  .mbl-flyout-head{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--line);}
  .mbl-flyout-head .brand img.custom-logo{width:120px !important;height:auto !important;max-width:none !important;max-height:64px !important;}
  .mbl-flyout-close{background:transparent;border:none;color:var(--bone-3);cursor:pointer;padding:6px;display:flex;}
  .mbl-flyout-close:hover{color:var(--amber-bright);}
  .mbl-flyout-nav{padding:12px 0;flex:1;}
  ul.mbl-flyout-menu{list-style:none;margin:0;padding:0;}
  ul.mbl-flyout-menu li{list-style:none;border-bottom:1px solid var(--line);}
  ul.mbl-flyout-menu a{display:block;padding:16px 24px;color:var(--bone);font-size:16px;font-weight:500;transition:background .15s,color .15s;}
  ul.mbl-flyout-menu a:hover,ul.mbl-flyout-menu li.current-menu-item>a{background:var(--char-2);color:var(--amber-bright);}
  .mbl-flyout-cta{padding:20px 24px 8px;}
  .mbl-flyout-contact{padding:8px 24px 28px;display:flex;flex-direction:column;gap:14px;}
  .mbl-flyout-contact-row{display:flex;align-items:center;gap:12px;color:var(--bone-3);font-size:14px;}
  .mbl-flyout-contact-row svg{color:var(--amber);flex-shrink:0;}
  .mbl-flyout-contact-row:hover{color:var(--bone);}

  @media (max-width:1100px){
    /* Hide the top strip entirely on tablet/mobile */
    .topstrip{display:none !important;}
    /* Hide desktop nav links + phone, show hamburger */
    .nav-links{display:none !important;}
    .nav-right .nav-phone{display:none;}
    .nav-burger{display:flex;}
    /* Keep the Book Now visible but compact next to burger */
    .nav-right{gap:10px;}
  }
  @media (max-width:520px){
    .nav-right .nav-cta{display:none;} /* burger's flyout has the CTA */
  }

  /* ---- Mobile: reverse hero so the BOOKING FORM is first ---- */
  @media (max-width:1000px){
    .hero-content{display:flex;flex-direction:column;}
    .hero-content .hero-form{order:-1;}
    .hero-content .hero-left{order:1;}
  }

  /* ---- Phones (≤640): bespoke hero stack ----
     Visual order: eyebrow → heading (centered) → booking form → intro text →
     stats. CTA buttons are hidden (floating Book/Call buttons cover that),
     and the three stats sit in a single centered row.
     We flatten .hero-left with display:contents so its children become direct
     flex items of .hero-content and can be reordered around the .hero-form
     sibling — this avoids rendering the booking shortcode twice. ---- */
  @media (max-width:640px){
    .hero-content{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-left:16px;padding-right:16px;padding-bottom:56px;}
    .hero-content .hero-left{display:contents;}
    /* Centered text on phones → use an even vertical veil (not left-weighted)
       so the whole heading stays readable while the photo still shows. */
    .hero-veil{background:linear-gradient(180deg, rgba(8,8,10,0.42), rgba(8,8,10,0.6) 60%, var(--ink));}

    /* Eyebrow: centered, no dash, tighter tracking + balanced wrap so the
       two lines sit evenly instead of ragged. */
    .hero-eyebrow{order:1;display:block;text-align:center;font-size:10px;letter-spacing:0.12em;text-wrap:balance;margin:0 0 12px;}
    .hero-eyebrow .line{display:none;}
    /* Heading 20% smaller (34→27) and a little wider via the reduced gutter. */
    /* Heading 24px and allowed to flow the full content width (= form width)
       by dropping the desktop hard line-breaks on phones. */
    .hero-h{order:3;text-align:center;font-size:24px;line-height:1.12;max-width:none;width:100%;margin:0 0 22px;}
    .hero-h br{display:none;}
    .hero-content .hero-form{order:2;margin:0 0 26px;}
    .hero-sub{order:4;text-align:center;max-width:420px;margin:0 auto 26px;}
    .hero-actions{display:none;} /* remove inline CTA buttons on mobile */

    .hero-meta-row{order:5;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:10px;margin:0;padding-top:22px;border-top:1px solid var(--line);}
    .hero-meta{flex:1 1 0;min-width:0;flex-direction:column;align-items:center;text-align:center;gap:4px;}
    .hero-meta-num{font-size:18px;}
    .hero-meta-label{text-align:center;letter-spacing:0.04em;font-size:9px;white-space:nowrap;}
    .hero-meta-label strong{white-space:nowrap;}
  }

  /* ============================================================
     LANDING PAGES — 5 distinct hero designs (shared content fields)
     ============================================================ */
  .lp-hero{position:relative;overflow:hidden;isolation:isolate;background:var(--ink);}
  .lp-hero-bg{position:absolute;inset:0;z-index:0;}
  .lp-hero-bg .img-wrap{width:100%;height:100%;border:none;border-radius:0;}
  .lp-hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(0.72) contrast(1.03) saturate(0.95);}
  .lp-hero-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg, rgba(8,8,10,0.8) 0%, rgba(8,8,10,0.5) 42%, rgba(8,8,10,0.18) 72%, rgba(8,8,10,0.32) 100%);}
  .lp-hero-veil-center{background:radial-gradient(ellipse at center, rgba(8,8,10,0.42) 0%, rgba(8,8,10,0.72) 78%, var(--ink) 100%);}
  .lp-hero-glow{position:absolute;top:-10%;right:-5%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle, rgba(212,153,81,0.16), transparent 70%);z-index:1;pointer-events:none;}
  .lp-hero .section-inner{position:relative;z-index:5;}
  .lp-hero-h{font-size:54px;font-weight:300;line-height:1.02;letter-spacing:-0.03em;color:var(--bone);margin-bottom:18px;}
  .lp-hero-h strong{font-weight:700;}
  .lp-hero-h .amber{color:var(--amber-bright);font-weight:700;}
  .lp-hero-sub{font-size:17px;color:var(--bone-3);line-height:1.55;max-width:460px;margin-bottom:22px;}
  .lp-hero-sub-center{margin-left:auto;margin-right:auto;text-align:center;}
  .lp-hero-trust{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:20px;}
  .lp-hero-trust span{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--bone-2);}
  .lp-hero-trust svg{color:var(--amber-bright);}
  .lp-hero-trust-center{justify-content:center;}
  .lp-hero-trust-price{font-family:var(--mono);color:var(--amber-bright);}
  .lp-hero-price{font-family:var(--mono);font-size:14px;color:var(--bone-3);letter-spacing:0.05em;}
  .lp-hero-price strong{color:var(--amber-bright);font-size:20px;}
  .lp-center-eyebrow{justify-content:center;}

  /* Design 1 — Split */
  .lp-hero-1 .section-inner{padding:64px 32px;}
  .lp-hero-1-grid{display:grid;grid-template-columns:1fr 460px;gap:56px;align-items:center;}
  .lp-hero-1-form .form-card{margin:0;}

  /* Design 2 — Full-bleed centered overlay, form below */
  .lp-hero-2{min-height:auto;}
  .lp-hero-2 .section-inner{padding:80px 32px 64px;}
  .lp-hero-2-center{text-align:center;max-width:760px;margin:0 auto 40px;}
  .lp-hero-h-xl{font-size:68px;}
  .lp-hero-price-pill{display:inline-block;border:1px solid var(--line-3);border-radius:50px;padding:8px 20px;margin-top:8px;background:rgba(8,8,10,0.5);}
  .lp-hero-2-form{max-width:560px;margin:0 auto;}

  /* Design 3 — Form spotlight (ads) */
  .lp-hero-3{background:radial-gradient(ellipse at top, var(--char-1), var(--ink) 70%);}
  .lp-hero-3-bggrid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;opacity:0.25;z-index:0;mask-image:radial-gradient(ellipse at center, black, transparent 75%);}
  .lp-hero-3 .section-inner{padding:64px 32px;position:relative;z-index:5;}
  .lp-hero-3-head{text-align:center;max-width:680px;margin:0 auto 36px;}
  .lp-hero-3-form{max-width:600px;margin:0 auto;}
  .lp-hero-3-form .form-card{box-shadow:0 30px 80px rgba(0,0,0,0.5);}

  /* Design 4 — Side image panel */
  .lp-hero-4-grid{display:grid;grid-template-columns:1.05fr 0.95fr;min-height:600px;}
  .lp-hero-4-left{display:flex;align-items:center;padding:64px 48px;background:var(--ink);}
  .lp-hero-4-inner{max-width:520px;margin-left:auto;width:100%;}
  .lp-hero-4-right{position:relative;overflow:hidden;background:var(--char-2);}
  .lp-hero-4-right .img-wrap{width:100%;height:100%;border:none;border-radius:0;}
  .lp-hero-4-right img{width:100%;height:100%;object-fit:cover;}
  .lp-hero-4-form{margin-top:24px;}
  .lp-hero-4-badge{position:absolute;left:32px;bottom:32px;background:rgba(8,8,10,0.85);backdrop-filter:blur(10px);border:1px solid var(--line-2);border-radius:14px;padding:16px 20px;}
  .lp-hero-4-badge-num{font-size:24px;font-weight:700;color:var(--amber-bright);}
  .lp-hero-4-badge-txt{font-family:var(--mono);font-size:11px;color:var(--bone-3);letter-spacing:0.05em;}

  /* Design 5 — Minimal editorial stacked */
  .lp-hero-5{background:var(--ink);}
  .lp-hero-5 .section-inner{padding:90px 32px 64px;}
  .lp-hero-5-head{text-align:center;max-width:720px;margin:0 auto;}
  .lp-hero-5-eyebrow{font-family:var(--mono);font-size:12px;color:var(--amber);letter-spacing:0.35em;text-transform:uppercase;margin-bottom:24px;}
  .lp-hero-h-serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:60px;letter-spacing:-0.01em;}
  .lp-hero-5-price{font-family:var(--mono);font-size:13px;color:var(--bone-3);letter-spacing:0.05em;margin-top:20px;}
  .lp-hero-5-price strong{color:var(--amber-bright);}
  .lp-hero-5-rule{display:flex;justify-content:center;margin:40px 0;}
  .lp-hero-5-rule span{width:60px;height:1px;background:var(--amber);}
  .lp-hero-5-form{max-width:560px;margin:0 auto;}

  /* Landing body internal-links list */
  .lp-links{display:flex;flex-direction:column;gap:8px;}
  .lp-links a{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--bone-2);}
  .lp-links a:hover{color:var(--amber-bright);}
  .lp-links a::before{content:"→";color:var(--amber);}

  @media (max-width:1000px){
    .lp-hero-1-grid{grid-template-columns:1fr;gap:36px;}
    .lp-hero-1-grid .lp-hero-1-form{order:-1;}
    .lp-hero-4-grid{grid-template-columns:1fr;}
    .lp-hero-4-right{min-height:280px;order:-1;}
    .lp-hero-4-left{padding:40px 24px;}
    .lp-hero-h{font-size:40px;}
    .lp-hero-h-xl{font-size:44px;}
    .lp-hero-h-serif{font-size:40px;}
  }
  @media (max-width:640px){
    .lp-hero-1 .section-inner,.lp-hero-2 .section-inner,.lp-hero-3 .section-inner,.lp-hero-5 .section-inner{padding-left:20px;padding-right:20px;}
    .lp-hero-h{font-size:34px;}
  }

  /* ============================================================
     DESKTOP NAV SUBMENU (dropdown) — e.g. Landing Pages
     ============================================================ */
  ul.nav-menu{position:relative;}
  ul.nav-menu li{position:relative;}
  ul.nav-menu li.menu-item-has-children > a{display:inline-flex;align-items:center;}
  ul.nav-menu li.menu-item-has-children > a::before{content:"▾";font-size:10px;margin-left:5px;order:2;opacity:0.7;position:static;transform:none;width:auto;height:auto;background:none;}
  ul.nav-menu ul.sub-menu{
    position:absolute;top:100%;left:0;min-width:240px;
    background:var(--char-1);border:1px solid var(--line-2);border-radius:12px;
    padding:8px;margin:0;list-style:none;
    opacity:0;visibility:hidden;transform:translateY(8px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s;
    box-shadow:0 20px 50px rgba(0,0,0,0.45);z-index:120;
  }
  ul.nav-menu li:hover > ul.sub-menu,
  ul.nav-menu li:focus-within > ul.sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
  ul.nav-menu ul.sub-menu li{display:block;}
  ul.nav-menu ul.sub-menu li a{display:block;padding:10px 14px;border-radius:8px;font-size:14px;color:var(--bone-2);white-space:nowrap;}
  ul.nav-menu ul.sub-menu li a:hover{background:var(--char-2);color:var(--amber-bright);}

  /* Flyout submenu — collapsible accordion (collapsed by default) */
  .mbl-flyout-row{display:flex;align-items:stretch;justify-content:space-between;}
  .mbl-flyout-row > a{flex:1 1 auto;font-weight:600;}
  .mbl-submenu-toggle{flex:0 0 auto;width:58px;display:flex;align-items:center;justify-content:center;color:var(--bone-3);background:transparent;border:none;border-left:1px solid var(--line);cursor:pointer;transition:color .15s;}
  .mbl-submenu-toggle:hover{color:var(--amber-bright);}
  .mbl-submenu-toggle svg{transition:transform .28s ease;}
  ul.mbl-flyout-menu li.is-open > .mbl-flyout-row .mbl-submenu-toggle{color:var(--amber-bright);}
  ul.mbl-flyout-menu li.is-open > .mbl-flyout-row .mbl-submenu-toggle svg{transform:rotate(180deg);}
  ul.mbl-flyout-menu ul.sub-menu{list-style:none;margin:0;padding:0 0 0 16px;background:var(--ink);max-height:0;overflow:hidden;transition:max-height .3s ease;}
  ul.mbl-flyout-menu li.is-open > ul.sub-menu{max-height:640px;}
  ul.mbl-flyout-menu ul.sub-menu li{border-bottom:1px solid var(--line);}
  ul.mbl-flyout-menu ul.sub-menu a{font-size:14px;color:var(--bone-3);padding:12px 24px;}

  /* ============================================================
     HOMEPAGE TRANSPARENT OVERLAY HEADER
     On the front page the topstrip + nav are transparent and the
     hero is pulled up underneath them, so the hero image fills the
     full top of the viewport (behind the topstrip and nav).
     The header keeps its sticky behavior; once scrolled (.scrolled,
     toggled by JS) it re-solidifies into the dark bar. Scoped to
     body.home so interior pages keep the solid header untouched.
     ============================================================ */
  /* Transparent chrome on the homepage (before scroll) */
  body.home .topstrip{background:transparent;border-bottom:none;}
  body.home header.nav{border-bottom:1px solid rgba(255,255,255,0.08);box-shadow:none;}
  body.home header.nav::before{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;}

  /* Measure the header stack and pull the hero up behind it.
     The topstrip + nav live in normal flow at the top of the page;
     pulling the hero up by their combined height makes the hero
     image start at y=0 and run up behind the chrome. We give the
     hero a transparent top region (extra top padding on the content)
     so the heading still clears the nav. */
  body.home .hero{margin-top:calc(-1 * var(--mbl-headerstack, 126px));}
  body.home .hero-content{padding-top:calc(var(--mbl-headerstack, 126px) + 40px);}

  /* Keep the chrome above the hero veil/glow so it stays clickable.
     The topstrip is static chrome (relative is fine); the NAV must stay
     position:sticky so it sticks to the top on scroll — do NOT override
     it to relative here, that disables sticking. */
  body.home .topstrip{position:relative;z-index:101;}
  body.home header.nav{position:sticky;top:0;z-index:101;}

  /* Scrolled state on the homepage: re-solidify the dark sticky bar */
  body.home header.nav.scrolled{
    box-shadow:0 8px 30px rgba(0,0,0,0.35);
    border-bottom:1px solid var(--line);
  }
  body.home header.nav.scrolled::before{
    background:rgba(8,8,10,0.96);
    backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);
  }

  @media (max-width:1100px){
    /* Topstrip is hidden ≤1100px, so the stack is just the nav (~74px) */
    body.home .hero{margin-top:calc(-1 * var(--mbl-headerstack-mobile, 74px));}
    body.home .hero-content{padding-top:calc(var(--mbl-headerstack-mobile, 74px) + 28px);}
  }
  @media (max-width:640px){
    /* Pull the hero up so the eyebrow sits close under the logo. Safe because
       the homepage nav is transparent and its centre is empty (logo left,
       burger right), so the centered eyebrow shows cleanly in that band. */
    body.home .hero-content{padding-top:calc(var(--mbl-headerstack-mobile, 74px) - 22px);}
    /* No divider line between the header and the hero (top state). The scrolled
       state still gets a shadow to separate the sticky bar from content. */
    body.home header.nav{border-bottom:none;}
  }

/* ===================== Social icons (header, flyout, footer, contact) ===================== */
.mbl-social{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.mbl-social-label{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--bone-3);margin-right:4px;}
.mbl-social-link{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--bone-3);border:1px solid var(--line);background:transparent;transition:color .2s,border-color .2s,background .2s,transform .2s;}
.mbl-social-link:hover{color:var(--ink);background:var(--amber);border-color:var(--amber);transform:translateY(-2px);}
.mbl-social-link svg{display:block;}
.topstrip-social{gap:12px;}
.topstrip-social .mbl-social-link{width:auto;height:auto;border:none;color:var(--bone-3);}
.topstrip-social .mbl-social-link:hover{color:var(--amber-bright);background:none;transform:none;}
.mbl-flyout-social{margin-top:auto;padding:20px 28px;border-top:1px solid var(--line);gap:10px;}
.foot-social{margin-top:22px;}
.contact-social{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);}
@media (max-width:640px){ .topstrip-social{display:none;} }

/* ===================== Built-in contact form ===================== */
.mbl-cf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#e0564f;}
.field-error{display:block;margin-top:6px;font-size:12px;color:#f0b4b0;font-family:var(--mono);letter-spacing:0.02em;}
.mbl-cf-notice{border-radius:0;}
.mbl-cf .btn-amber.full{width:100%;justify-content:center;margin-top:4px;}

/* ============================================================
   Home · Why Choose Us + Areas We Serve (SEO content bands)
   Added v2.7.0. Sections inherit the global section padding.
   ============================================================ */
.wc-sec{border-top:1px solid var(--line);}
.wc-sec .section-lede{margin-top:20px;}
.wc-media{position:relative;aspect-ratio:24/9;border:1px solid var(--line);margin-top:48px;overflow:hidden;}
.wc-media .img-wrap{position:absolute;inset:0;width:100%;height:100%;}
.wc-media .img-wrap img{width:100%;height:100%;object-fit:cover;}
.wc-media::before,.wc-media::after{content:"";position:absolute;width:16px;height:16px;border:1.5px solid var(--amber);z-index:2;pointer-events:none;}
.wc-media::before{top:-1px;left:-1px;border-right:none;border-bottom:none;}
.wc-media::after{bottom:-1px;right:-1px;border-left:none;border-top:none;}
.wc-band{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-top:none;background:var(--char-1);}
.wc-cell{padding:26px 30px;border-left:1px solid var(--line);}
.wc-cell:first-child{border-left:none;}
.wc-cell b{display:block;font-family:var(--mono);font-size:30px;font-weight:600;color:var(--bone);letter-spacing:-0.02em;line-height:1;}
.wc-cell span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.13em;text-transform:uppercase;color:var(--bone-3);margin-top:9px;}
.wc-body{columns:2;column-gap:56px;margin-top:48px;max-width:1100px;}
.wc-body p{break-inside:avoid;font-size:15.5px;color:var(--bone-3);line-height:1.82;margin:0 0 17px;}
.wc-body p:last-child{margin-bottom:0;}
.wc-body strong{color:var(--bone-2);font-weight:600;}

.sa-sec{border-top:1px solid var(--line);}
.sa-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:start;}
.sa-body{margin-top:24px;}
.sa-body p{font-size:15.5px;color:var(--bone-3);line-height:1.82;margin:0 0 17px;}
.sa-body p:last-child{margin-bottom:0;}
.sa-body strong{color:var(--bone-2);font-weight:600;}
.sa-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;}
.sa-chip{font-family:var(--mono);font-size:12px;letter-spacing:0.02em;color:var(--bone-2);border:1px solid var(--line-2);padding:7px 12px;background:var(--char-1);}
.sa-map{position:sticky;top:96px;aspect-ratio:3/4;border:1px solid var(--line);overflow:hidden;background:var(--char-2);}
.sa-map iframe{width:100%;height:100%;border:0;}

@media(max-width:980px){
  .wc-body{columns:1;}
  .wc-band{grid-template-columns:1fr 1fr;}
  .wc-cell:nth-child(3){border-left:none;border-top:1px solid var(--line);}
  .wc-cell:nth-child(4){border-top:1px solid var(--line);}
  .sa-grid{grid-template-columns:1fr;gap:40px;}
  .sa-map{position:static;aspect-ratio:16/10;}
}
@media(max-width:768px){
  .wc-sec,.sa-sec{padding:80px 20px;}
  .wc-media{aspect-ratio:16/9;margin-top:36px;}
}
@media(max-width:560px){
  .wc-band{grid-template-columns:1fr;}
  .wc-cell{border-left:none;border-top:1px solid var(--line);}
  .wc-cell:first-child{border-top:none;}
}
