/* hounslowescorts.com, "The Bus Route", inner pages.
   Same palette, same two typefaces and the same signature blind as the homepage. */
:root{
  --bg:#0c0809; --bg2:#120c0e; --panel:#160e11; --panel2:#1d1317;
  --bone:#f4ece8; --mut:rgba(244,236,232,.76); --dim:rgba(244,236,232,.54);
  --red:#c01029; --red-hi:#ff5c6b; --red-lo:#7d0a1b;
  --glow:rgba(192,16,41,.55); --warmglow:rgba(255,120,110,.32);
  --line:rgba(244,236,232,.11); --line2:rgba(244,236,232,.23);
  --head:"Patua One",serif;
  --body:"Plus Jakarta Sans",system-ui,sans-serif;
  --g:clamp(16px,4vw,48px);
  --col:1080px;
  --wide:1340px;
  --ease:cubic-bezier(.22,.72,.2,1);
  --rh:74px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg)}
html,body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{position:relative;background:var(--bg);color:var(--bone);font:400 1.01rem/1.7 var(--body);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 40% at 18% 4%,rgba(192,16,41,.2),transparent 62%),
    radial-gradient(ellipse 55% 45% at 88% 78%,rgba(125,10,27,.16),transparent 66%),
    radial-gradient(ellipse 90% 60% at 50% 120%,rgba(255,92,107,.07),transparent 70%)}
::selection{background:var(--red);color:#fff}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
svg{display:block;max-width:100%}
img,svg{height:auto}
picture{display:contents}
:focus-visible{outline:2px solid var(--red-hi);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--head);font-weight:400;line-height:1.05;letter-spacing:.01em}
.wrap{width:100%;max-width:var(--col);margin-inline:auto;padding-inline:var(--g)}
.wrap.narrow{max-width:900px}
.wrap.wide{max-width:var(--wide)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;z-index:200;padding:.9rem 1.3rem;background:var(--red);color:#fff;font:800 .72rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase}
.skip:focus{left:8px;top:8px}

/* ---------- atoms ---------- */
.lbl{font:800 .6rem/1.4 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}
.lbl b{color:var(--red-hi);font-weight:800}
.h2{font-size:clamp(1.85rem,4.2vw,3.1rem);letter-spacing:.005em}
.h2 em,.h3 em{font-style:normal;color:var(--red-hi);text-shadow:0 0 34px var(--glow)}
.lede{max-width:62ch;color:var(--mut);font-size:clamp(.98rem,1.15vw,1.08rem)}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.95rem 1.5rem;border-radius:5px;font:800 .76rem/1 var(--body);letter-spacing:.17em;text-transform:uppercase;text-align:center;background:var(--red);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 16px 38px -20px var(--glow);transition:background .3s,transform .3s var(--ease),box-shadow .3s}
.btn:hover{background:#d5122f;transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 22px 44px -18px var(--glow)}
.btn svg{width:18px;height:18px;fill:currentColor;flex:none}
.btn.gh{background:transparent;color:var(--bone);box-shadow:inset 0 0 0 1px var(--line2)}
.btn.gh:hover{background:rgba(192,16,41,.16);box-shadow:inset 0 0 0 1px var(--red-hi)}
.btn.sm{min-height:44px;padding:.7rem 1.05rem;font-size:.66rem}
.tag{display:inline-flex;align-items:center;gap:.42rem;max-width:100%;padding:.4rem .62rem;border-radius:3px;font:800 .58rem/1.35 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--mut);background:rgba(12,8,9,.6);box-shadow:inset 0 0 0 1px var(--line2)}
.tag.red{background:var(--red);color:#fff;box-shadow:none}
.tag.ghost{color:var(--dim)}
.tag.ok{color:var(--bone)}
.tag i,.tag .dot{width:6px;height:6px;border-radius:50%;background:var(--red-hi);box-shadow:0 0 9px var(--red-hi);flex:none;animation:blip 2s ease-in-out infinite}
@keyframes blip{50%{opacity:.28}}
.ctas{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.3rem}
.chipset{display:flex;flex-wrap:wrap;gap:.45rem}
.chip{display:inline-flex;align-items:center;padding:.55rem .82rem;border-radius:3px;font:800 .62rem/1.3 var(--body);letter-spacing:.13em;text-transform:uppercase;color:var(--mut);box-shadow:inset 0 0 0 1px var(--line2);transition:color .22s,background .22s,box-shadow .22s}
.chip:hover{color:#fff;background:rgba(192,16,41,.2);box-shadow:inset 0 0 0 1px var(--red-hi)}
.mono{font:800 .58rem/1.4 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.mono b{color:var(--red-hi);font-weight:800}
.prose p{margin-top:.95rem;color:var(--mut)}
.prose p:first-child{margin-top:0}
.prose a{color:var(--bone);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,92,107,.55)}
.prose a:hover{color:var(--red-hi)}

/* ---------- the destination blind (signature device) ---------- */
.blind{position:relative;overflow:hidden;height:var(--rh);border-radius:4px;
  background:linear-gradient(180deg,#070405,#140c0e 20%,#170e10 76%,#070405);
  box-shadow:inset 0 0 0 1px rgba(255,214,196,.16),inset 0 12px 16px -12px #000,inset 0 -12px 16px -12px #000}
.blind .roll{transform:translateY(calc(var(--i,0) * var(--rh) * -1));transition:transform .52s var(--ease);will-change:transform}
.blind .row{display:flex;flex-direction:column;justify-content:center;height:var(--rh);padding-inline:clamp(.7rem,1.8vw,1.3rem);text-align:center}
.blind .row b{display:block;font:400 clamp(1rem,2.2vw,1.6rem)/1.04 var(--head);letter-spacing:.06em;text-transform:uppercase;color:#faf1e8;text-shadow:0 0 20px var(--warmglow);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blind .row span{display:block;margin-top:.3rem;font:800 .54rem/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:rgba(250,241,232,.64);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blind .fab{position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 4px),
             linear-gradient(90deg,rgba(0,0,0,.45),transparent 12%,transparent 88%,rgba(0,0,0,.45))}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:70;background:rgba(12,8,9,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:background .4s,border-color .4s}
.top.solid{background:rgba(12,8,9,.94);border-bottom-color:var(--line)}
.top-in{display:flex;align-items:center;gap:clamp(.55rem,1.4vw,1.2rem);min-height:72px;max-width:var(--wide)}
.brand{display:flex;align-items:center;gap:.65rem;min-width:0;flex:none}
.bmark{position:relative;width:40px;height:34px;flex:none;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#2a171c,#100a0c);box-shadow:inset 0 0 0 1px var(--line2)}
.bmark::before{content:"";position:absolute;left:4px;right:4px;top:4px;height:9px;border-radius:2px;background:linear-gradient(180deg,#0a0607,#1a1012);box-shadow:inset 0 0 0 1px rgba(255,214,196,.24)}
.bmark::after{content:"";position:absolute;left:5px;right:5px;bottom:4px;height:5px;
  background:radial-gradient(circle at 3px 2.5px,var(--red-hi) 2px,transparent 2.6px),radial-gradient(circle at calc(100% - 3px) 2.5px,var(--red-hi) 2px,transparent 2.6px);
  filter:drop-shadow(0 0 4px var(--red))}
.brand .nm{min-width:0}
.brand .nm b{display:block;font:400 1.22rem/1 var(--head);letter-spacing:.015em;white-space:nowrap}
.brand .nm small{display:block;margin-top:.22rem;font:800 .5rem/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.hdblind{--rh:42px;flex:1 1 210px;min-width:0;max-width:330px}
.hdblind .row b{font-size:.84rem;letter-spacing:.09em}
.hdblind .row span{margin-top:.18rem;font-size:.46rem}
.nav{display:flex;gap:clamp(.55rem,1.5vw,1.4rem);margin-left:auto}
.nav a{position:relative;padding:.5rem 0;font:800 .69rem/1 var(--body);letter-spacing:.17em;text-transform:uppercase;color:var(--mut);white-space:nowrap;transition:color .25s}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--red-hi);box-shadow:0 0 10px var(--red-hi);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav a:hover,.nav a.on{color:var(--bone)}
.nav a:hover::after,.nav a.on::after{transform:scaleX(1);transform-origin:left}
.top .btn{min-height:44px;padding:.7rem 1.05rem;font-size:.66rem;flex:none}
.top .btn.icon{display:none;width:44px;padding:0}
.burger{display:none;width:42px;height:42px;flex:none;border-radius:5px;place-items:center;box-shadow:inset 0 0 0 1px var(--line2)}
.burger i{display:block;width:17px;height:2px;border-radius:2px;background:var(--bone);box-shadow:0 6px 0 var(--bone),0 -6px 0 var(--bone)}
@media (max-width:1080px){
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;margin:0;padding:.4rem var(--g) 1.3rem;background:rgba(10,7,8,.985);border-bottom:1px solid var(--line);clip-path:inset(0 0 100% 0);transition:clip-path .45s var(--ease)}
  .nav.open{clip-path:inset(0)}
  .nav a{font:400 1.5rem/1.1 var(--head);letter-spacing:.02em;text-transform:none;color:var(--bone);padding:.7rem 0 .55rem;border-bottom:1px solid var(--line);white-space:normal}
  .nav a::after{display:none}
  .burger{display:grid;margin-left:auto}
  .hdblind{margin-left:auto;max-width:300px}
}
@media (max-width:620px){
  .brand .nm{display:none}
  .top .btn.full{display:none}
  .top .btn.icon{display:inline-flex}
  .hdblind{--rh:38px;flex:1 1 130px}
  .hdblind .row span{display:none}
  .hdblind .row b{font-size:.74rem}
  .top-in{min-height:64px;gap:.5rem}
}

/* ---------- breadcrumbs, the ticket strip ---------- */
.crumbs{border-bottom:1px solid var(--line);background:rgba(8,5,6,.6)}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .55rem;padding:.7rem 0;font:800 .56rem/1.5 var(--body);letter-spacing:.17em;text-transform:uppercase;color:var(--dim)}
.crumbs li{display:flex;align-items:center;gap:.55rem;min-width:0}
.crumbs li+li::before{content:"";width:12px;height:1px;background:var(--line2);flex:none}
.crumbs a:hover{color:var(--red-hi)}
.crumbs [aria-current]{color:var(--bone)}

/* ---------- page hero, the front of the bus ---------- */
.phero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(1.6rem,4vw,3rem) 0 clamp(1.8rem,4vw,3rem)}
.phero::before{content:"";position:absolute;left:50%;top:-40%;z-index:-2;width:min(1100px,150vw);aspect-ratio:1/.7;transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(192,16,41,.24),rgba(125,10,27,.08) 48%,transparent 72%);filter:blur(10px)}
.phero h1{margin-top:clamp(.9rem,2.4vw,1.4rem);font-size:clamp(1.9rem,4vw,3.05rem);line-height:1.04}
.phero h1 em{font-style:normal;color:var(--red-hi);text-shadow:0 0 30px var(--glow)}
.phero .lede{margin-top:clamp(.85rem,2vw,1.15rem)}
.phero .lede+.lede{margin-top:.75rem}
.hline{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem}
.front{position:relative;max-width:560px;padding:clamp(.5rem,1.2vw,.8rem);border-radius:11px 11px 5px 5px;
  background:linear-gradient(180deg,#2b171d,#170e11 52%,#0e090a);
  box-shadow:inset 0 0 0 1px var(--line2),inset 0 1px 0 rgba(255,214,196,.12),0 30px 64px -34px #000,0 0 110px -44px var(--glow)}
.front-in{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:stretch}
.plate{display:grid;place-content:center;justify-items:center;width:clamp(56px,7.4vw,78px);border-radius:4px;background:linear-gradient(180deg,#070405,#150c0e 22%,#170e10 76%,#070405);box-shadow:inset 0 0 0 1px rgba(255,214,196,.16)}
.plate b{font:400 clamp(1.1rem,2.4vw,1.7rem)/1 var(--head);letter-spacing:.03em;color:#faf1e8;text-shadow:0 0 20px var(--warmglow)}
.plate small{display:block;margin-top:.2rem;font:800 .44rem/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:rgba(250,241,232,.62)}
.front .lamps{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;padding:0 .2rem}
.front .lamps i{width:clamp(12px,1.7vw,17px);height:clamp(12px,1.7vw,17px);border-radius:50%;background:radial-gradient(circle at 38% 34%,#fff8f0,#e7cfc4 46%,#5a3b3b 78%,#1a1113);box-shadow:0 0 18px -2px rgba(255,236,220,.55),inset 0 0 0 1px rgba(0,0,0,.4)}
.front .grille{flex:1;height:7px;margin:0 .7rem;border-radius:2px;background:repeating-linear-gradient(90deg,rgba(244,236,232,.13) 0 2px,transparent 2px 7px);opacity:.75}
/* The blind must not eat the headline: the text track keeps at least 600px of the
   980px content column, and the front is capped rather than sized by its content. */
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,330px);gap:clamp(1.1rem,3vw,2.4rem);align-items:end}
@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr)}.front{max-width:520px}}

/* ---------- the route column ---------- */
.route{position:relative}
.spine{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;z-index:0;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(244,236,232,.24) 0 9px,transparent 9px 21px);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 3%,#000 97%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 3%,#000 97%,transparent)}
.sec{position:relative;z-index:1;padding-bottom:clamp(2.4rem,5.4vw,4.4rem);scroll-margin-top:96px}
.stopmark{position:relative;display:grid;justify-items:center;text-align:center;gap:.75rem;padding-top:clamp(2.4rem,5vw,4rem);margin-bottom:clamp(1.5rem,3.2vw,2.5rem)}
.node{position:absolute;left:50%;top:clamp(.9rem,2vw,1.5rem);width:18px;height:18px;margin-left:-9px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 3px var(--line2);transition:box-shadow .45s var(--ease)}
.sec.here .node,.sec.lit .node{box-shadow:inset 0 0 0 3px var(--red-hi),0 0 0 5px rgba(192,16,41,.22),0 0 26px var(--glow)}
.stopmark .num{display:inline-flex;align-items:center;gap:.5rem;padding:.34rem .7rem;border-radius:3px;font:800 .57rem/1.3 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--dim);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);text-align:center}
.stopmark .num b{color:var(--red-hi);font-weight:800}
.stopmark .lede{margin-inline:auto}
.stopmark.left{justify-items:start;text-align:left}
.stopmark.left .lede{margin-inline:0}

/* ---------- notices (sections) ---------- */
.notes{display:grid;gap:clamp(1rem,2.2vw,1.6rem)}
.note{position:relative;padding:1.4rem 1.3rem 1.5rem;border-radius:6px;background:linear-gradient(180deg,var(--panel),#0f0a0b);box-shadow:inset 0 0 0 1px var(--line)}
.note::before{content:"";position:absolute;left:0;top:1.2rem;bottom:1.2rem;width:3px;border-radius:0 3px 3px 0;background:var(--red);box-shadow:0 0 16px -2px var(--glow)}
.note>.lbl{display:block;margin-bottom:.5rem}
.note h2,.note h3{font-size:clamp(1.35rem,2.4vw,1.85rem);margin-bottom:.6rem}
.note p{margin-top:.85rem;color:var(--mut)}
.note p:first-of-type{margin-top:0}
.note a{color:var(--bone);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,92,107,.55)}
.note a:hover{color:var(--red-hi)}
.tip{margin-top:1.1rem;padding:1rem 1.05rem;border-radius:5px;background:rgba(8,5,6,.55);box-shadow:inset 0 0 0 1px var(--line2)}
.tip>.lbl{display:block;margin-bottom:.6rem}
.tip ul{display:grid;gap:.5rem}
.tip li{position:relative;padding-left:1.4rem;font-size:.93rem;color:var(--mut)}
.tip li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 2px var(--red-hi)}

/* ---------- trust panels ---------- */
.trustgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.7rem,1.5vw,1.1rem)}
.tpanel{position:relative;padding:1.35rem 1.2rem 1.45rem;border-radius:6px;background:linear-gradient(180deg,var(--panel),#0f0a0b);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .35s,transform .35s var(--ease)}
.tpanel::before{content:"";position:absolute;left:0;top:1.2rem;bottom:1.2rem;width:3px;border-radius:0 3px 3px 0;background:var(--red);box-shadow:0 0 16px -2px var(--glow)}
.tpanel:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(255,92,107,.4)}
.tpanel h3{margin:.65rem 0 .5rem;font-size:clamp(1.2rem,1.9vw,1.45rem)}
.tpanel p{font-size:.92rem;color:var(--mut)}
@media (max-width:900px){.trustgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:520px){.trustgrid{grid-template-columns:minmax(0,1fr)}}

/* ---------- the companion cards ---------- */
.sec-head{display:grid;gap:.6rem;margin-bottom:clamp(1.2rem,2.6vw,2rem)}
.sec-head .h2{max-width:24ch}
.filters{display:grid;gap:.75rem;margin-bottom:clamp(1.2rem,2.6vw,2rem);padding:1rem;border-radius:6px;background:rgba(18,12,14,.92);box-shadow:inset 0 0 0 1px var(--line)}
.frow{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.frow>.lbl{flex:0 0 auto;min-width:7.6rem;margin-right:.3rem}
.ft{padding:.55rem .82rem;border-radius:3px;font:800 .64rem/1.3 var(--body);letter-spacing:.13em;text-transform:uppercase;color:var(--mut);box-shadow:inset 0 0 0 1px var(--line2);transition:color .22s,background .22s,box-shadow .22s}
.ft:hover{color:var(--bone);box-shadow:inset 0 0 0 1px var(--red-hi)}
.ft[aria-pressed="true"]{background:var(--red);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.count{margin-left:auto;font:800 .58rem/1.4 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.count b{color:var(--red-hi);font-weight:800}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.7rem,1.5vw,1.1rem)}
.cd{position:relative;display:flex;flex-direction:column;min-width:0;border-radius:6px;overflow:hidden;background:linear-gradient(180deg,var(--panel),#0e0a0b);box-shadow:inset 0 0 0 1px var(--line);transition:transform .35s var(--ease),box-shadow .35s}
.cd.hide{display:none}
.cd:hover,.cd:focus-visible{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(255,92,107,.45),0 22px 46px -26px #000}
.ph{position:relative;aspect-ratio:3/4;overflow:hidden;background:linear-gradient(180deg,#26141a,#0d090a 86%)}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform .6s var(--ease)}
.cd:hover .ph img{transform:scale(1.035)}
.ph::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 5px),
             linear-gradient(180deg,rgba(12,8,9,.42),transparent 26%,transparent 58%,rgba(12,8,9,.9))}
.ph .st{position:absolute;left:.55rem;top:.55rem;z-index:2;max-width:calc(100% - 1.1rem)}
.ph .no{position:absolute;right:.6rem;top:.7rem;z-index:2;font:800 .54rem/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:rgba(244,236,232,.6)}
.cinfo{display:grid;gap:.3rem;padding:.85rem .9rem 1rem;border-top:1px solid var(--line);background:linear-gradient(180deg,#0a0607,#130c0e)}
.cinfo h3{font:400 clamp(1.02rem,1.4vw,1.2rem)/1.1 var(--head);letter-spacing:.04em;color:#faf1e8}
.cmeta{display:flex;justify-content:space-between;gap:.4rem;margin-top:.15rem;font:800 .57rem/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.cmeta b{color:var(--red-hi);font-weight:800;text-align:right;min-width:0}
.ask{margin-top:.5rem;font:800 .58rem/1.3 var(--body);letter-spacing:.17em;text-transform:uppercase;color:var(--mut);transition:color .25s}
.cd:hover .ask{color:var(--red-hi)}
.empty{display:none;margin-top:1.2rem;padding:2.2rem 1.4rem;border-radius:6px;text-align:center;color:var(--mut);background:rgba(18,12,14,.9);box-shadow:inset 0 0 0 1px var(--line)}
.empty.on{display:block}
@media (max-width:1040px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .frow>.lbl{min-width:100%;margin-right:0}
  .count{margin-left:0}
  .ph .no{display:none}
  .ph .tag{font-size:.5rem;letter-spacing:.1em;padding:.32rem .46rem}
  .cmeta{flex-direction:column;gap:0}
  .cmeta b{text-align:left}
  .cinfo{padding:.75rem .8rem .9rem}
}

/* ---------- booking steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.8rem,1.8vw,1.4rem)}
.steps.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.step{position:relative;min-width:0;padding-top:1.6rem}
.step::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--red),rgba(192,16,41,.12));box-shadow:0 0 14px -4px var(--glow)}
.step .n{display:block;font:400 clamp(2.4rem,4.2vw,3.4rem)/1 var(--head);letter-spacing:.01em;color:transparent;-webkit-text-stroke:1.4px rgba(255,92,107,.55)}
.step h3{margin:.55rem 0 .45rem;font-size:clamp(1.15rem,1.8vw,1.38rem)}
.step p{font-size:.92rem;color:var(--mut)}
.step .t{display:block;margin-top:.75rem;font:800 .55rem/1.3 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
@media (max-width:880px){.steps,.steps.three{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:2rem}}
@media (max-width:460px){.steps,.steps.three{grid-template-columns:minmax(0,1fr)}}

/* ---------- fare board ---------- */
.fares{display:grid;gap:.6rem}
.fare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:center;gap:.5rem 1.4rem;padding:1.05rem 1.15rem;border-radius:6px;background:linear-gradient(180deg,var(--panel),#0f0a0b);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s,transform .3s var(--ease)}
.fare:hover{transform:translateX(3px);box-shadow:inset 0 0 0 1px rgba(255,92,107,.42)}
.fare .ttl{min-width:0}
.fare h3{font-size:clamp(1.2rem,2vw,1.55rem);letter-spacing:.02em}
.fare p{margin-top:.25rem;max-width:54ch;font-size:.9rem;color:var(--mut)}
.fbox{display:grid;place-items:center;min-width:clamp(96px,12vw,140px);padding:.6rem .8rem;border-radius:4px;background:linear-gradient(180deg,#070405,#150c0e 24%,#170e10 74%,#070405);box-shadow:inset 0 0 0 1px rgba(255,214,196,.16)}
.fbox b{font:400 clamp(1.2rem,2.2vw,1.8rem)/1.05 var(--head);letter-spacing:.02em;color:#faf1e8;text-shadow:0 0 20px var(--warmglow)}
.fbox small{display:block;margin-top:.26rem;font:800 .46rem/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:rgba(250,241,232,.62)}
.fbox.req b{font-size:clamp(.95rem,1.4vw,1.14rem)}
.fare.feat{box-shadow:inset 0 0 0 1px rgba(255,92,107,.4),0 0 60px -30px var(--glow)}
.fare .flag{grid-column:1/-1;order:-1}
.fnote{margin-top:1.1rem;font:800 .56rem/1.8 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);text-align:center}
.ratecta{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.4rem}
@media (max-width:560px){
  .fare{grid-template-columns:minmax(0,1fr)}
  .fbox{justify-self:start;min-width:0;padding:.5rem .9rem}
  .fare:hover{transform:none}
}

/* ---------- the copy and send line ---------- */
.script{display:grid;gap:.9rem;padding:1.3rem 1.25rem;border-radius:6px;background:rgba(8,5,6,.66);box-shadow:inset 0 0 0 1px var(--line2)}
.script .sbody{padding:1rem 1.05rem;border-radius:4px;background:linear-gradient(180deg,#070405,#160d10);box-shadow:inset 0 0 0 1px var(--line);font-size:.95rem;color:var(--bone)}
.script .ctas{margin-top:0}

/* ---------- side panel ---------- */
.rc-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(1rem,2.4vw,1.8rem);align-items:start}
.panel{padding:1.3rem 1.25rem 1.4rem;border-radius:6px;background:linear-gradient(180deg,var(--panel2),#100a0c);box-shadow:inset 0 0 0 1px var(--line)}
.panel h3{margin:.55rem 0 .6rem;font-size:clamp(1.2rem,1.9vw,1.45rem)}
.panel p{font-size:.91rem;color:var(--mut)}
.panel ul.rows{display:grid;gap:.42rem;margin-top:1rem}
.panel ul.rows li{display:flex;justify-content:space-between;gap:.8rem;padding:.5rem 0;border-top:1px solid var(--line);font:800 .58rem/1.5 var(--body);letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}
.panel ul.rows li span:last-child{color:var(--bone);text-align:right;min-width:0}
.panel .btn{margin-top:1.1rem;width:100%}
@media (max-width:880px){.rc-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- stops / area tiles ---------- */
.areas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(.7rem,1.5vw,1.1rem)}
.areas.hub{grid-template-columns:repeat(3,minmax(0,1fr))}
.area{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,auto);align-items:start;gap:.4rem .9rem;padding:1.05rem 1.1rem;border-radius:6px;background:linear-gradient(180deg,var(--panel),#0f0a0b);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s,transform .3s var(--ease)}
.area:hover,.area:focus-within{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(255,92,107,.42)}
.area .dot{width:13px;height:13px;margin-top:.42rem;border-radius:50%;background:var(--panel);box-shadow:inset 0 0 0 3px var(--line2);transition:box-shadow .3s}
.area:hover .dot{box-shadow:inset 0 0 0 3px var(--red-hi),0 0 16px -2px var(--glow)}
.area h3{font-size:clamp(1.1rem,1.7vw,1.32rem);letter-spacing:.02em;min-width:0}
.area p{grid-column:2/-1;font-size:.88rem;color:var(--mut)}
.area .min{font:800 .55rem/1.4 var(--body);letter-spacing:.13em;text-transform:uppercase;color:var(--red-hi);padding-top:.35rem;text-align:right;min-width:0}
@media (max-width:1000px){.areas.hub{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:820px){.areas,.areas.hub{grid-template-columns:minmax(0,1fr)}}

/* ---------- stations, printed as a name and a walk only ---------- */
.stlist{display:grid;gap:.4rem}
.stlist li{display:flex;justify-content:space-between;align-items:baseline;gap:.9rem;padding:.6rem 0;border-top:1px solid var(--line)}
.stlist li:first-child{border-top:0}
.stlist .sn{font:400 1.05rem/1.25 var(--head);letter-spacing:.03em;color:#faf1e8;min-width:0}
.stlist .sw{font:800 .55rem/1.4 var(--body);letter-spacing:.15em;text-transform:uppercase;color:var(--red-hi);text-align:right;min-width:0}

/* ---------- questions ---------- */
.qas{display:grid;gap:.5rem;max-width:880px}
.qas.mid{margin-inline:auto}
.qa{border-radius:6px;background:linear-gradient(180deg,var(--panel),#0f0a0b);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s}
.qa[open]{box-shadow:inset 0 0 0 1px rgba(255,92,107,.4)}
.qa>summary{display:grid;grid-template-columns:2.9rem minmax(0,1fr) 34px;align-items:center;gap:.6rem;padding:1.05rem 1.1rem;cursor:pointer;list-style:none;font:700 clamp(.97rem,1.4vw,1.06rem)/1.45 var(--body);transition:color .25s}
.qa>summary::-webkit-details-marker{display:none}
.qa>summary:hover{color:var(--red-hi)}
.qa .qn{font:800 .58rem/1.3 var(--body);letter-spacing:.12em;color:var(--red-hi)}
.qa .pm{position:relative;width:32px;height:32px;justify-self:end;border-radius:4px;box-shadow:inset 0 0 0 1px var(--line2);transition:background .3s,box-shadow .3s,transform .4s var(--ease)}
.qa .pm::before,.qa .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}
.qa .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s var(--ease)}
.qa[open] .pm{background:var(--red);color:#fff;box-shadow:none;transform:rotate(180deg)}
.qa[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.qa .a{padding:0 1.15rem 1.15rem 4.1rem}
.qa .a p{font-size:.94rem;color:var(--mut)}
.qa .a p+p{margin-top:.8rem}
.qa .a a{color:var(--bone);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,92,107,.55)}
@media (max-width:560px){
  .qa>summary{grid-template-columns:2.3rem minmax(0,1fr) 32px;padding:.95rem .9rem}
  .qa .a{padding:0 .95rem 1.05rem 3.3rem}
}

/* ---------- closing band ---------- */
.closing{position:relative;text-align:center;padding-bottom:clamp(3rem,7vw,5.4rem)}
.closing .cq{container-type:inline-size}
.closing h2{font-size:clamp(2rem,8cqi,4.6rem);line-height:1.03}
.closing h2 em{font-style:normal;color:var(--red-hi);text-shadow:0 0 50px var(--glow)}
.closing .lede{margin:1.05rem auto 0}
.closing .ctas{justify-content:center;margin-top:1.4rem}
.terminus{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem .55rem;max-width:100%;margin-top:1.7rem;padding:.5rem .85rem;border-radius:3px;font:800 .55rem/1.6 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);box-shadow:inset 0 0 0 1px var(--line2)}

/* ---------- 404 ---------- */
.nf{text-align:center;padding:clamp(3rem,8vw,6rem) 0}
.nf .big{display:block;font:400 clamp(4.5rem,18vw,11rem)/1 var(--head);letter-spacing:.04em;color:transparent;-webkit-text-stroke:2px rgba(255,92,107,.4)}
.nf h1{margin-top:.6rem;font-size:clamp(1.8rem,4.6vw,3rem)}
.nf .lede{margin:1rem auto 0}
.nf .ctas{justify-content:center}

/* ---------- the service record (profile) ---------- */
.rec{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(1.1rem,3vw,2.4rem);align-items:start}
.rec-stage{position:relative;min-width:0}
.frame{position:relative;border-radius:8px;overflow:hidden;background:#140c0e;box-shadow:inset 0 0 0 1px var(--line2),0 34px 70px -40px #000}
.frame img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 18%}
.frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(255,255,255,.03) 0 1px,transparent 1px 5px),linear-gradient(180deg,rgba(12,8,9,.3),transparent 30%,transparent 70%,rgba(12,8,9,.7))}
.frame .vstamp{position:absolute;left:.7rem;bottom:.7rem;z-index:2;padding:.38rem .6rem;border-radius:3px;font:800 .54rem/1.3 var(--body);letter-spacing:.17em;text-transform:uppercase;color:var(--bone);background:rgba(8,5,6,.78);box-shadow:inset 0 0 0 1px var(--line2)}
.rec-head{min-width:0}
.rec-head h1{margin-top:.8rem;font-size:clamp(1.85rem,4.4vw,3.15rem);line-height:1.04}
.rec-head h1 em{font-style:normal;color:var(--red-hi)}
.tagline{margin-top:.85rem;max-width:52ch;color:var(--mut);font-size:clamp(.98rem,1.15vw,1.08rem)}
.facs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.1rem .9rem;margin-top:1.2rem;padding:1rem 1.05rem;border-radius:6px;background:rgba(8,5,6,.5);box-shadow:inset 0 0 0 1px var(--line)}
.facs.one{grid-template-columns:minmax(0,1fr)}
.facs>div{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;padding:.48rem 0;border-top:1px solid var(--line)}
.facs>div:first-child,.facs.two-col>div:nth-child(2){border-top:0}
.facs dt{font:800 .55rem/1.4 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);flex:none}
.facs dd{font-size:.93rem;color:var(--bone);text-align:right;min-width:0}
.facs dd a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,92,107,.55)}
.recmeta{display:flex;flex-wrap:wrap;gap:.4rem .5rem}
@media (max-width:900px){.rec{grid-template-columns:minmax(0,1fr)}.facs{grid-template-columns:minmax(0,1fr)}.facs>div{border-top:1px solid var(--line)}.facs>div:first-child{border-top:0}}

/* ---------- the photo set ---------- */
.pset{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.55rem,1.2vw,.9rem)}
.pset a{position:relative;display:block;min-width:0;border-radius:5px;overflow:hidden;background:#140c0e;box-shadow:inset 0 0 0 1px var(--line);transition:transform .35s var(--ease),box-shadow .35s}
.pset a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(255,92,107,.45)}
.pset img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 20%}
.pset .pnum{position:absolute;right:.5rem;top:.5rem;z-index:2;font:800 .52rem/1 var(--body);letter-spacing:.18em;color:rgba(244,236,232,.7)}
@media (max-width:760px){.pset{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:460px){.pset{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* ---------- lightbox, own prefix so nothing can collide ---------- */
html.lbx-on{overflow:hidden}
.lbx{position:fixed;inset:0;z-index:120;display:grid;place-items:center}
.lbx[hidden]{display:none}
.lbx-back{position:absolute;inset:0;background:rgba(6,4,5,.93);backdrop-filter:blur(6px)}
.lbx-fig{position:relative;z-index:2;max-width:min(92vw,760px);max-height:86vh;display:grid;gap:.7rem}
.lbx-fig img{max-width:100%;max-height:78vh;width:auto;height:auto;border-radius:6px;box-shadow:0 40px 90px -40px #000,inset 0 0 0 1px var(--line2)}
.lbx-cap{text-align:center;font:800 .56rem/1.5 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.lbx-x,.lbx-prev,.lbx-next{position:absolute;z-index:3;display:grid;place-items:center;width:48px;height:48px;border-radius:5px;background:rgba(12,8,9,.75);color:var(--bone);font-size:1.6rem;line-height:1;box-shadow:inset 0 0 0 1px var(--line2)}
.lbx-x{top:14px;right:14px}
.lbx-prev{left:14px;top:50%;margin-top:-24px}
.lbx-next{right:14px;top:50%;margin-top:-24px}
.lbx-x:hover,.lbx-prev:hover,.lbx-next:hover{background:var(--red);box-shadow:none}

/* ---------- reviews ledger ---------- */
.ledger{display:grid;gap:.6rem}
.ledger li{padding:1.15rem 1.2rem;border-radius:6px;background:linear-gradient(180deg,var(--panel),#0f0a0b);box-shadow:inset 0 0 0 1px var(--line)}
.ledger blockquote{font-size:.98rem;color:var(--bone)}
.ledger .lmeta{display:block;margin-top:.7rem;font:800 .55rem/1.4 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--red-hi)}
.ledger-empty{padding:1.5rem 1.35rem;border-radius:6px;background:rgba(8,5,6,.55);box-shadow:inset 0 0 0 1px var(--line2);color:var(--mut);font-size:.94rem}
.ledger-empty .lbl{display:block;margin-bottom:.6rem}

/* ---------- prev and next ---------- */
.pn{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:clamp(1.4rem,3vw,2.2rem)}
.pn a{display:grid;gap:.35rem;padding:1rem 1.05rem;border-radius:6px;background:rgba(8,5,6,.5);box-shadow:inset 0 0 0 1px var(--line);font:400 1.08rem/1.2 var(--head);letter-spacing:.03em;min-width:0;transition:box-shadow .3s,color .3s}
.pn a:hover{color:var(--red-hi);box-shadow:inset 0 0 0 1px rgba(255,92,107,.42)}
.pn .lbl{font-size:.54rem}
.pn a.mid{text-align:center}
.pn a.nx{text-align:right}
@media (max-width:620px){.pn{grid-template-columns:minmax(0,1fr)}.pn a.mid,.pn a.nx{text-align:left}}

/* ---------- destination cards (services, categories, guides, related) ---------- */
.dcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.7rem,1.5vw,1.1rem)}
.dcards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.dcard{position:relative;display:grid;align-content:start;gap:.5rem;min-width:0;padding:1.2rem 1.15rem 1.25rem;border-radius:6px;background:linear-gradient(180deg,var(--panel),#0f0a0b);box-shadow:inset 0 0 0 1px var(--line);transition:transform .35s var(--ease),box-shadow .35s}
.dcard:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(255,92,107,.42)}
.dcard .dtop{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem .8rem;font:800 .55rem/1.4 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.dcard .dtop span:last-child{color:var(--red-hi)}
.dcard .dt{font:400 clamp(1.15rem,1.9vw,1.42rem)/1.15 var(--head);letter-spacing:.02em;color:#faf1e8}
.dcard .dx{font-size:.9rem;color:var(--mut)}
.dcard .db{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.35rem;padding-top:.7rem;border-top:1px solid var(--line);font:800 .55rem/1.4 var(--body);letter-spacing:.17em;text-transform:uppercase;color:var(--mut)}
.dcard:hover .db{color:var(--red-hi)}
.dcard .dimg{display:block;margin:-1.2rem -1.15rem .3rem;border-radius:6px 6px 0 0;overflow:hidden}
.dcard .dimg img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:50% 25%}
@media (max-width:980px){.dcards{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:620px){.dcards,.dcards.two{grid-template-columns:minmax(0,1fr)}}

/* ---------- guide article ---------- */
.art-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;font:800 .56rem/1.5 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.art-meta b{color:var(--red-hi);font-weight:800}
.byline{display:block;margin-top:1rem;font:800 .58rem/1.5 var(--body);letter-spacing:.15em;text-transform:uppercase;color:var(--dim)}
.byline b{color:var(--bone);font-weight:800}
.art-grid{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(1.2rem,3vw,2.8rem);align-items:start;padding-bottom:clamp(2rem,4.4vw,3.4rem)}
.art-toc{position:sticky;top:96px;padding:1.2rem 1.15rem 1.3rem;border-radius:6px;background:rgba(8,5,6,.55);box-shadow:inset 0 0 0 1px var(--line)}
.art-toc .thead{display:flex;justify-content:space-between;gap:.6rem;margin-bottom:.9rem}
.dtoc{display:grid;gap:.1rem;counter-reset:t}
.dtoc li{counter-increment:t;border-top:1px solid var(--line)}
.dtoc li:first-child{border-top:0}
.dtoc a{display:grid;grid-template-columns:1.8rem minmax(0,1fr);gap:.5rem;padding:.6rem 0;font-size:.9rem;color:var(--mut);transition:color .25s}
.dtoc a::before{content:counter(t,decimal-leading-zero);font:800 .55rem/1.9 var(--body);letter-spacing:.14em;color:var(--red-hi)}
.dtoc a:hover{color:var(--bone)}
.art-toc .btn{margin-top:1.2rem;width:100%;min-height:46px;font-size:.66rem}
.art{max-width:72ch;font-size:1.04rem}
.art-sec{margin-top:clamp(1.8rem,4vw,2.8rem);scroll-margin-top:96px}
.art-sec:first-child{margin-top:0}
.art-sec h2{font-size:clamp(1.5rem,2.8vw,2.1rem);letter-spacing:.01em}
.art-sec h2::after{content:"";display:block;width:54px;height:3px;margin-top:.7rem;border-radius:3px;background:var(--red);box-shadow:0 0 14px -3px var(--glow)}
.art-sec p{margin-top:1rem;color:var(--mut)}
.art-sec a{color:var(--bone);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,92,107,.55)}
.art-sec a:hover{color:var(--red-hi)}
.art-filed{margin-top:clamp(1.8rem,4vw,2.6rem);padding:1.05rem 1.1rem;border-radius:5px;background:rgba(8,5,6,.55);box-shadow:inset 0 0 0 1px var(--line2);font-size:.93rem;color:var(--mut)}
.art-filed a{color:var(--red-hi);text-decoration:underline;text-underline-offset:3px}
@media (max-width:980px){
  .art-grid{grid-template-columns:minmax(0,1fr)}
  .art-toc{position:static}
  .art{max-width:100%}
}

/* ---------- reveal + reduced motion ---------- */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:var(--rd,0s)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}
  .tag i,.tag .dot{animation:none}
  .cd:hover .ph img{transform:none}
}

.site-foot{position:relative;z-index:1;padding:clamp(2.6rem,5vw,3.8rem) 0 2rem;border-top:1px solid var(--line);background:#080506}
.site-foot .fbrand{display:flex;align-items:center;gap:.65rem;min-width:0}
.site-foot .fmark{position:relative;width:40px;height:34px;flex:none;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#2a171c,#100a0c);box-shadow:inset 0 0 0 1px var(--line2)}
.site-foot .fmark::before{content:"";position:absolute;left:4px;right:4px;top:4px;height:9px;border-radius:2px;background:linear-gradient(180deg,#0a0607,#1a1012);box-shadow:inset 0 0 0 1px rgba(255,214,196,.24)}
.site-foot .fmark::after{content:"";position:absolute;left:5px;right:5px;bottom:4px;height:5px;background:radial-gradient(circle at 3px 2.5px,var(--red-hi) 2px,transparent 2.6px),radial-gradient(circle at calc(100% - 3px) 2.5px,var(--red-hi) 2px,transparent 2.6px);filter:drop-shadow(0 0 4px var(--red))}
.site-foot .fbrand b{display:block;font:400 1.22rem/1 var(--head);letter-spacing:.015em}
.site-foot .fbrand small{display:block;margin-top:.22rem;font:800 .5rem/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}
.fgrid2{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:clamp(1.3rem,3vw,2.4rem)}
.fgrid2 h4{margin-bottom:.9rem;font:800 .56rem/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--red-hi)}
.fgrid2 h4 a{color:inherit}
.fgrid2 ul{display:grid;gap:.5rem;align-content:start;list-style:none;font-size:.9rem;color:var(--mut)}
.fgrid2 a:hover{color:var(--red-hi)}
.fgrid2 .fblurb{margin-top:.9rem;max-width:46ch;font-size:.88rem;color:var(--dim)}
.fgrid2 small{color:var(--dim)}
.fwide ul{grid-template-columns:1fr 1fr;gap:.5rem 1.1rem}
.ftrust{margin-top:1.6rem;padding:1rem 1.1rem;border-radius:5px;box-shadow:inset 0 0 0 1px var(--line);font-size:.82rem;line-height:1.6;color:var(--mut)}
.ftrust b{display:inline-block;margin-right:.6rem;font:800 .55rem/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--red-hi)}
.ftrust a{color:var(--red-hi);text-decoration:underline;text-underline-offset:2px}
.fbase2{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem 1.6rem;margin-top:clamp(1.9rem,4vw,2.6rem);padding-top:1.3rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--dim)}
.fbase2 .fleft{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;max-width:64ch}
.fbase2 nav{display:flex;flex-wrap:wrap;gap:1.1rem}
.f18{display:inline-grid;place-items:center;width:40px;height:40px;flex:none;border-radius:4px;background:var(--red);color:#fff;font:800 .88rem/1 var(--body)}
@media (max-width:960px){.fgrid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:768px){.site-foot{padding-bottom:104px}}
@media (max-width:520px){.fgrid2{grid-template-columns:minmax(0,1fr)}.fwide ul{grid-template-columns:1fr 1fr}}

/* The engine injects assets/mbar-snippet.html with its own <style> AFTER this sheet in
   the document, so the bar's skin has to come back with !important to win. */

.cc-mbar{gap:8px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(10,7,8,.95);border-top:1px solid var(--line2,rgba(244,236,232,.23))}
.cc-mbar a.cc-wa,.cc-mbar a.cc-tg{border-radius:5px;font-family:"Plus Jakarta Sans",system-ui,sans-serif !important;font-weight:800 !important;font-size:12px !important;letter-spacing:.16em;text-transform:uppercase;min-height:50px}
.cc-mbar a.cc-wa{background:#c01029 !important;color:#fff !important}
.cc-mbar a.cc-tg{background:transparent !important;box-shadow:inset 0 0 0 1px rgba(244,236,232,.23);color:#f4ece8 !important}
.cc-mbar a.cc-tg svg{fill:#f4ece8}
