/* "Through the Type" for heathrowairportescorts.com
   Flat bands of bottle green, Bakbak One at wayfinding scale over Karla, one cadmium accent,
   and no motion anywhere. The type-as-window device lives on the homepage only.
   Every media query is in the single block at the foot of this file. Nothing follows it. */

:root{
  --ground:#0B2E22;      /* bottle green */
  --deep:#07201A;        /* one step down, for alternate bands */
  --lift:#0F3B2C;        /* one step up, for chips and panels */
  --bone:#F4EEE2;        /* body type, 12.6:1 on the ground */
  --dim:#BFD3C4;         /* quiet type, 9.4:1 on the ground */
  --cad:#FF6A1A;         /* the single cadmium accent, 5.1:1 on the ground */
  --cad-deep:#E2530A;
  --on-cad:#06190F;      /* type laid on the cadmium band, 6.3:1 */
  --rule:rgba(244,238,226,.24);
  --hair:rgba(244,238,226,.13);
  --disp:"Bakbak One",system-ui,sans-serif;
  --text:"Karla",system-ui,sans-serif;
  --gut:clamp(16px,4vw,54px);
  --wrap:1500px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--ground);scroll-behavior:smooth}
html,body{max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
[hidden]{display:none !important}
body{
  background:var(--ground);color:var(--bone);font-family:var(--text);
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
img{display:block;max-width:100%}
svg{display:block}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:3px solid var(--cad);outline-offset:3px}
::selection{background:var(--cad);color:var(--on-cad)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:14px;top:14px;z-index:80;background:var(--bone);color:var(--ground);padding:10px 16px;font-weight:700}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
h1,h2,h3,h4{font-family:var(--disp);font-weight:400;text-transform:uppercase;letter-spacing:-.005em}
h2{font-size:clamp(1.8rem,3.8vw,3.1rem);line-height:.98;letter-spacing:-.01em;max-width:19ch}
h3{font-size:1.18rem;line-height:1.12;letter-spacing:.005em}
.eye{display:block;font-size:.7rem;font-weight:700;font-family:var(--text);letter-spacing:.24em;text-transform:uppercase;color:var(--cad);margin-bottom:12px}
.ilink,.say a,.ans a,.art p a,.phero .intro a,.plnote a,.fnote a{color:var(--bone);border-bottom:1px solid var(--cad);transition:color .2s ease}
.say a:hover,.ans a:hover,.art p a:hover,.phero .intro a:hover{color:var(--cad)}

/* ---------- top bar ---------- */
.top{border-bottom:1px solid var(--hair)}
.top .wrap{display:flex;align-items:center;gap:14px 22px;min-height:62px;flex-wrap:wrap}
.brand{font-family:var(--disp);font-size:clamp(.95rem,1.5vw,1.16rem);letter-spacing:.1em;text-transform:uppercase;display:flex;flex-direction:column;line-height:1.1}
.brand em{font-style:normal;color:var(--cad)}
.brand small{font-family:var(--text);font-size:.6rem;font-weight:700;letter-spacing:.14em;color:var(--dim);text-transform:uppercase;margin-top:3px}
.mainnav{margin-left:auto}
.mainnav ul{display:flex;flex-wrap:wrap;gap:8px 20px;
  font-size:.74rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--dim)}
.mainnav a{display:inline-block;padding:3px 0;border-bottom:1.5px solid transparent;transition:color .2s ease,border-color .2s ease}
.mainnav a:hover{color:var(--bone);border-bottom-color:var(--cad)}
.mainnav a.on{color:var(--bone);border-bottom-color:var(--cad)}
.top-wa{
  display:inline-flex;align-items:center;gap:7px;background:var(--cad);color:var(--on-cad);
  padding:9px 14px;font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  transition:background .2s ease;
}
.top-wa:hover{background:var(--cad-deep)}
.top-wa svg{width:15px;height:15px;fill:currentColor}
.age{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dim);border:1px solid var(--rule);padding:6px 11px}

/* ---------- breadcrumbs ---------- */
.crumbs{border-bottom:1px solid var(--hair);background:var(--deep)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 10px;padding:13px 0;
  font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.crumbs li+li::before{content:"/";margin-right:10px;color:var(--cad);opacity:.8}
.crumbs a{border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
.crumbs a:hover{color:var(--bone);border-bottom-color:var(--cad)}
.crumbs [aria-current]{color:var(--bone)}

/* ---------- page hero ---------- */
.phero{padding:clamp(40px,5.6vw,84px) 0 clamp(34px,4.4vw,64px)}
.phero h1{font-size:clamp(2.1rem,5.6vw,4.4rem);line-height:.92;max-width:22ch;color:var(--bone);
  border-top:2px solid var(--cad);padding-top:clamp(16px,2vw,24px)}
.phero .intro{margin-top:clamp(20px,2.6vw,34px);max-width:66ch;display:grid;gap:16px}
.phero .intro p{font-size:clamp(1.06rem,1.4vw,1.28rem);line-height:1.55;color:var(--dim)}
.phero .intro p:first-child{color:var(--bone)}
.phero .stamp{display:inline-block;margin-top:clamp(18px,2.2vw,26px);
  font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dim);border:1px solid var(--rule);padding:7px 12px}

/* ---------- bands ---------- */
.band{padding:clamp(46px,6.2vw,96px) 0;border-top:1px solid var(--hair)}
.band.deep{background:var(--deep)}
.band.lift{background:var(--lift)}
.band.cad{background:var(--cad);color:var(--on-cad);border-top:0}
.band.cad .eye{color:var(--on-cad);opacity:.88}
.band.cad a{color:var(--on-cad)}
.bhead{margin-bottom:clamp(24px,3.4vw,50px)}
.bhead .lede{margin-top:16px;max-width:60ch;color:var(--dim);font-size:clamp(1.02rem,1.2vw,1.16rem)}
.band.cad .bhead .lede{color:var(--on-cad);opacity:.9}
.say{max-width:64ch;display:grid;gap:18px}
.say p{font-size:clamp(1.04rem,1.3vw,1.22rem);line-height:1.62;color:var(--dim)}
.say p strong{color:var(--bone);font-weight:600}
.band.cad .say p{color:var(--on-cad);opacity:.92}

/* ---------- prose sections ---------- */
.plates{padding:clamp(40px,5.4vw,84px) 0;border-top:1px solid var(--hair)}
.plates.deep{background:var(--deep)}
.plate{display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr);gap:clamp(14px,2.4vw,44px);
  padding:clamp(24px,3vw,40px) 0;border-top:1px solid var(--hair)}
.plates .plate:first-child{border-top:0;padding-top:0}
.plate .pno{font-size:.7rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--cad);padding-top:6px}
.plate h2{font-size:clamp(1.5rem,2.6vw,2.2rem);max-width:24ch;margin-bottom:16px}
.plate .body{max-width:66ch;display:grid;gap:15px}
.plate .body p{color:var(--dim);font-size:clamp(1.01rem,1.15vw,1.1rem);line-height:1.66}
.bul{margin-top:6px;display:grid;gap:9px}
.bul li{padding-left:20px;position:relative;color:var(--dim);font-size:1rem;line-height:1.55}
.bul li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:2px;background:var(--cad)}

/* ---------- buttons ---------- */
.btns{display:flex;flex-wrap:wrap;gap:12px}
.band .btns,.plates .btns{margin-top:clamp(24px,3vw,36px)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:54px;padding:0 24px;border:2px solid var(--cad);
  font-family:var(--text);font-weight:700;font-size:.97rem;letter-spacing:.09em;text-transform:uppercase;
  text-align:center;transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.btn svg{width:19px;height:19px;flex:none;fill:currentColor}
.btn-a{background:var(--cad);color:var(--on-cad)}
.btn-a:hover,.btn-a:focus-visible{background:var(--cad-deep);border-color:var(--cad-deep)}
.btn-b{background:transparent;color:var(--cad)}
.btn-b:hover,.btn-b:focus-visible{background:var(--cad);color:var(--on-cad)}
.btn-sm{min-height:44px;padding:0 16px;font-size:.82rem}
.band.cad .btn{border-color:var(--on-cad)}
.band.cad .btn-a{background:var(--on-cad);color:var(--cad)}
.band.cad .btn-a:hover{background:#000;border-color:#000}
.band.cad .btn-b{color:var(--on-cad)}
.band.cad .btn-b:hover{background:var(--on-cad);color:var(--cad)}

/* ---------- the hall: companion cards ---------- */
.filters{
  display:flex;flex-wrap:wrap;gap:14px 22px;align-items:flex-end;
  margin-bottom:clamp(22px,3vw,38px);padding:16px 18px 18px;background:var(--lift);
  border:1px solid var(--rule);
}
.fgroup{display:flex;flex-direction:column;gap:8px;min-width:0;max-width:100%}
.flab{font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.fchips{display:flex;flex-wrap:wrap;gap:8px}
.fbtn{
  display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  padding:10px 13px;border:1px solid var(--rule);color:var(--dim);
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.fbtn:hover{border-color:var(--cad);color:var(--bone)}
.fbtn[aria-pressed="true"]{background:var(--cad);border-color:var(--cad);color:var(--on-cad)}
.fcount{margin-left:auto;font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--dim)}

.roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,30px)}
.roster figure{min-width:0}
.roster figure.off{display:none}
.cardlink{display:block}
.shot{position:relative;display:block;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--deep)}
.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
/* the design's placeholder panel stays under the photograph, so a card is never a bottle-green
   hole while the frame decodes. --px and --py move the light, --h1c and --h2c set the warm stops. */
.ph{
  position:absolute;inset:0;
  background-image:
    radial-gradient(56% 40% at var(--px,48%) var(--py,24%),
      rgba(255,248,236,.96) 0%, var(--h1c,#F0CBA0) 20%, var(--h2c,#C08E63) 44%,
      rgba(13,52,38,.82) 72%, rgba(7,32,26,0) 100%),
    radial-gradient(52% 40% at calc(var(--px,48%) + 14%) 86%,
      rgba(255,106,26,.26) 0%, rgba(7,32,26,0) 74%),
    linear-gradient(192deg, #14493A 0%, #0E3729 40%, #09271F 74%, #061C16 100%);
}
.roster figure:nth-child(4n+1) .ph{--px:44%;--py:22%;--h1c:#F3D0A6;--h2c:#BE8A5E}
.roster figure:nth-child(4n+2) .ph{--px:58%;--py:28%;--h1c:#D9E4CE;--h2c:#8AA482}
.roster figure:nth-child(4n+3) .ph{--px:38%;--py:20%;--h1c:#F5C9B6;--h2c:#C08370}
.roster figure:nth-child(4n+4) .ph{--px:52%;--py:26%;--h1c:#F2E2B2;--h2c:#BFA669}
.roster .cap{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding:12px 0 0;border-top:2px solid var(--cad);margin-top:12px}
.roster .nm{font-family:var(--disp);font-size:.98rem;text-transform:uppercase;letter-spacing:.02em;transition:color .2s ease}
.roster .mt{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);text-align:right}
/* A flex item defaults to min-width:auto, so one long unbreakable area name pushed the meta out
   of the caption at 375: "Harmondsworth" is 108px of min-content sitting next to a 75px name in
   a 166px box. Both children may shrink, and the caption stacks below 420px. Same family as the
   nowrap pill that once forced a profile grid to a 419px min-content. */
.roster .nm,.roster .mt{min-width:0;overflow-wrap:anywhere}
.cardlink:hover .nm{color:var(--cad)}
.status{display:inline-block;margin-top:9px;padding:5px 9px;
  font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.s-tonight{background:var(--cad);color:var(--on-cad)}
.s-back{border:1px solid var(--rule);color:var(--dim)}
.noneleft{margin-top:26px;padding:20px 22px;border:1px solid var(--rule);color:var(--dim);font-size:1.02rem;max-width:62ch;display:none}
.noneleft.on{display:block}

/* ---------- four-up trust strip ---------- */
.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.6vw,40px)}
.four h3{border-top:2px solid var(--cad);padding-top:13px}
.four p{margin-top:10px;color:var(--dim);font-size:1rem;line-height:1.55;max-width:34ch}

/* ---------- numbered steps ---------- */
.steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,72px)}
.steps li{border-top:1px solid var(--hair);padding:18px 0 20px;
  display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:0 14px}
.steps .no{font-family:var(--disp);font-size:1.1rem;color:var(--cad);padding-top:2px}
.steps p{color:var(--dim);font-size:1rem;max-width:46ch;margin-top:5px}

/* ---------- the rate ladder ---------- */
.rates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,36px)}
.rates li{border-top:3px solid var(--on-cad);padding-top:14px;min-width:0}
.rates .len{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.88}
.rates .amt{font-family:var(--disp);font-size:clamp(1.8rem,4.4vw,3.3rem);line-height:.9;letter-spacing:-.02em;margin:8px 0 6px}
.rates p{font-size:.98rem;max-width:26ch;opacity:.9}
.cadnote{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px clamp(24px,4vw,64px);
  margin-top:clamp(26px,3.4vw,44px);padding-top:22px;border-top:1px solid rgba(6,25,15,.32)}
.cadnote p{font-size:1.04rem;max-width:46ch}
/* the ladder as it appears on a profile, on the green ground */
.ladder{border-top:2px solid var(--cad);margin-top:clamp(20px,2.4vw,30px)}
.ladder .lrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:baseline;
  padding:11px 0;border-bottom:1px solid var(--hair)}
.ladder .ld{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.ladder .lv{font-family:var(--disp);font-size:1.16rem;letter-spacing:.01em}
.ladder .lfoot{display:block;margin-top:12px;font-size:.94rem;color:var(--dim)}

/* ---------- the copy-and-send booking line ---------- */
.scriptbox{border:1px solid var(--rule);background:var(--lift);padding:clamp(20px,2.6vw,32px);max-width:74ch}
.band.cad .scriptbox{background:rgba(6,25,15,.09);border-color:rgba(6,25,15,.32)}
.scriptbox .lab{display:block;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--cad);margin-bottom:12px}
.band.cad .scriptbox .lab{color:var(--on-cad);opacity:.9}
.scriptbox .line{font-size:1.06rem;line-height:1.6;color:var(--bone)}
.band.cad .scriptbox .line{color:var(--on-cad)}
.scriptbox .btns{margin-top:18px}

/* ---------- areas ---------- */
.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4vw,72px)}
.places{display:flex;flex-wrap:wrap;gap:9px}
.places li{border:1px solid var(--rule);padding:8px 13px;
  font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}
.places li.on{border-color:var(--cad);color:var(--cad)}
.plnote{margin-top:18px;color:var(--dim);font-size:.98rem;max-width:44ch}
.arealist{margin-top:clamp(26px,3.2vw,42px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,72px)}
.arealist li{border-top:1px solid var(--hair);padding:14px 0 15px;min-width:0}
.arealist a{display:block;transition:color .2s ease}
.arealist b{display:block;font-family:var(--disp);font-weight:400;font-size:1.02rem;text-transform:uppercase;letter-spacing:.01em}
.arealist a:hover b{color:var(--cad)}
.arealist p{margin-top:4px;color:var(--dim);font-size:.98rem;max-width:46ch}
.arealist .pc{display:inline-block;margin-top:7px;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cad)}

/* ---------- link cards, chips ---------- */
.hcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px)}
.hcards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.hcard{display:flex;flex-direction:column;gap:9px;min-width:0;
  border:1px solid var(--rule);padding:clamp(18px,2.2vw,26px);
  transition:border-color .2s ease,background .2s ease}
.hcard:hover{border-color:var(--cad);background:var(--lift)}
.hcard .hmeta{display:flex;flex-wrap:wrap;gap:6px 14px;
  font-size:.62rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--cad)}
.hcard .ht{font-family:var(--disp);font-size:1.16rem;line-height:1.14;text-transform:uppercase;letter-spacing:.01em}
.hcard .hx{color:var(--dim);font-size:.98rem;line-height:1.55}
.hcard .hb{margin-top:auto;padding-top:8px;font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--cad)}
.hcard .himg{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--deep);margin:-1px -1px 4px}
.hcard .himg img{width:100%;height:100%;object-fit:cover}
.chipset{display:flex;flex-wrap:wrap;gap:9px}
.chip{display:inline-block;border:1px solid var(--rule);padding:9px 14px;
  font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);
  transition:border-color .2s ease,color .2s ease}
.chip:hover{border-color:var(--cad);color:var(--bone)}
.toclist{display:grid;gap:2px;counter-reset:toc}
.toclist li{counter-increment:toc;border-top:1px solid var(--hair)}
.toclist a{display:grid;grid-template-columns:2.3rem minmax(0,1fr);gap:10px;padding:10px 0;
  font-size:.96rem;color:var(--dim);transition:color .2s ease}
.toclist a::before{content:counter(toc,decimal-leading-zero);font-family:var(--disp);color:var(--cad);font-size:.84rem}
.toclist a:hover{color:var(--bone)}

/* ---------- profile ---------- */
.file{padding:clamp(34px,4.6vw,72px) 0 clamp(30px,4vw,56px)}
.file-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(24px,3.6vw,64px);align-items:start}
.folio{position:relative;min-width:0}
.folio .shot{aspect-ratio:3/4}
.folio-cap{display:flex;flex-wrap:wrap;gap:6px 16px;padding:11px 0 0;margin-top:11px;border-top:2px solid var(--cad);
  font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.file-head{min-width:0}
.file-top{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-bottom:14px}
.file-head h1{font-size:clamp(2rem,4.6vw,3.6rem);line-height:.94;max-width:20ch}
.file-tag{margin-top:14px;font-size:clamp(1.04rem,1.3vw,1.2rem);color:var(--dim);max-width:46ch}
.pill{display:inline-flex;align-items:baseline;gap:8px;padding:7px 12px;
  font-size:.64rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.pill.here{background:var(--cad);color:var(--on-cad)}
.pill.away{border:1px solid var(--rule);color:var(--dim)}
.file-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(16px,2.4vw,36px);margin-top:clamp(20px,2.6vw,30px)}
.file-rows>div{border-top:1px solid var(--hair);padding:11px 0;min-width:0}
.file-rows dt{font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.file-rows dd{font-family:var(--disp);font-size:1.1rem;text-transform:uppercase;letter-spacing:.01em}
.file-head .btns{margin-top:clamp(20px,2.6vw,28px)}
.label-panel{margin-top:clamp(22px,2.8vw,32px);border-top:2px solid var(--cad)}
.label-panel>div{display:grid;grid-template-columns:minmax(0,10rem) minmax(0,1fr);gap:6px 18px;
  padding:10px 0;border-bottom:1px solid var(--hair)}
.label-panel dt{font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);padding-top:3px}
.label-panel dd{font-size:1rem;color:var(--bone)}
.pset{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,22px)}
.pset a{position:relative;display:block;min-width:0}
.pset .shot{aspect-ratio:3/4}
.pset .pnum{position:absolute;left:0;bottom:0;z-index:2;padding:5px 9px;background:var(--cad);color:var(--on-cad);
  font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.pn-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,26px);margin-top:clamp(26px,3.2vw,44px)}
.pn-nav a{border-top:1px solid var(--rule);padding-top:12px;min-width:0;
  font-family:var(--disp);font-size:1.02rem;text-transform:uppercase;letter-spacing:.01em;transition:color .2s ease}
.pn-nav a:hover{color:var(--cad)}
.pn-nav a span{display:block;font-family:var(--text);font-size:.62rem;font-weight:700;letter-spacing:.17em;color:var(--dim);margin-bottom:5px}
.pn-nav a:nth-child(3){text-align:right}

/* ---------- moderated remarks ---------- */
.remarks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.2vw,30px)}
.remark{border:1px solid var(--rule);padding:clamp(18px,2.2vw,26px);min-width:0}
.remark blockquote{color:var(--bone);font-size:1.04rem;line-height:1.6}
.remark .rmeta{display:block;margin-top:12px;padding-top:11px;border-top:1px solid var(--hair);
  font-size:.64rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--dim)}
.remark-empty{max-width:62ch;color:var(--dim);font-size:1.04rem;line-height:1.62}

/* ---------- venue panel on an area page ---------- */
.venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.6vw,40px)}
.vcard{border-top:2px solid var(--cad);padding-top:14px;min-width:0}
.vcard h3{margin-bottom:10px}
.vcard li{display:flex;flex-wrap:wrap;gap:3px 12px;align-items:baseline;
  padding:9px 0;border-bottom:1px solid var(--hair)}
.vcard .vn{font-size:1rem;color:var(--bone)}
.vcard .vm,.vcard .sl,.vcard .sw{font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.vcard .sw{margin-left:auto;color:var(--cad)}

/* ---------- guide article ---------- */
.art-hero{padding:clamp(40px,5.4vw,80px) 0 clamp(26px,3vw,40px)}
.art-hero h1{font-size:clamp(2rem,5vw,4rem);line-height:.94;max-width:24ch;
  border-top:2px solid var(--cad);padding-top:clamp(16px,2vw,24px)}
.art-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:14px;
  font-size:.66rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--dim)}
.art-meta .k{color:var(--cad)}
.byline{display:block;margin-top:16px;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.byline b{color:var(--bone);font-weight:700}
.art-lede{margin-top:18px;max-width:62ch;font-size:clamp(1.08rem,1.4vw,1.3rem);line-height:1.55;color:var(--bone)}
.art-grid{display:grid;grid-template-columns:minmax(0,17rem) minmax(0,1fr);gap:clamp(24px,4vw,72px);
  padding-bottom:clamp(40px,5vw,80px);align-items:start}
.art-toc{border-top:2px solid var(--cad);padding-top:16px;position:sticky;top:18px;min-width:0}
.art-toc .lab{display:block;font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:10px}
.art-toc .btn{margin-top:18px;width:100%}
.art{min-width:0;max-width:74ch}
.art-sec{padding-bottom:clamp(22px,2.6vw,34px)}
.art-sec h2{font-size:clamp(1.5rem,2.6vw,2.2rem);max-width:26ch;margin-bottom:14px;scroll-margin-top:24px}
.art-sec p{color:var(--dim);font-size:clamp(1.01rem,1.15vw,1.1rem);line-height:1.68;margin-bottom:13px;max-width:70ch}
.art-filed{margin:6px 0 clamp(24px,3vw,36px);padding:16px 18px;border-left:2px solid var(--cad);
  background:var(--lift);color:var(--dim);font-size:1rem;max-width:66ch}
.art-cta{border-top:2px solid var(--cad);padding-top:clamp(20px,2.6vw,30px);margin-top:clamp(24px,3vw,40px)}
.art-cta h2{font-size:clamp(1.5rem,2.6vw,2.2rem);margin-bottom:12px}
.art-cta p{color:var(--dim);max-width:56ch}

/* ---------- 404 ---------- */
.nf{padding:clamp(56px,8vw,130px) 0}
.nf .big{display:block;font-family:var(--disp);font-size:clamp(5rem,20vw,14rem);line-height:.8;color:var(--lift)}
.nf h1{font-size:clamp(1.9rem,4.4vw,3.4rem);line-height:.96;max-width:24ch;margin-top:clamp(12px,2vw,22px);
  border-top:2px solid var(--cad);padding-top:18px}
.nf p{margin-top:18px;max-width:58ch;color:var(--dim);font-size:clamp(1.04rem,1.3vw,1.2rem)}

/* ---------- closing block ---------- */
.closing h2{max-width:19ch}
.closing p{margin-top:16px;color:var(--dim);font-size:clamp(1.04rem,1.3vw,1.2rem);max-width:52ch}
.band.cad .closing p{color:var(--on-cad);opacity:.92}


/* ---------- footer ---------- */
.foot{background:var(--deep);border-top:1px solid var(--hair);padding:clamp(34px,4.4vw,64px) 0 36px;
  font-size:.9rem;color:var(--dim)}
.foot .wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:clamp(22px,3vw,48px)}
.fcol{min-width:0}
.fcol h4{font-size:.68rem;font-weight:700;font-family:var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--cad);margin-bottom:14px}
.fcol ul,.fbrand ul{list-style:none;margin:0;padding:0}
.fcol li{padding:5px 0}
.fcol a{border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
.fcol a:hover{color:var(--bone);border-bottom-color:var(--cad)}
.fcol small{color:var(--dim);opacity:.8}
.fbrand{min-width:0}
.foot .brand{display:flex;flex-direction:column;line-height:1.1;margin-bottom:14px;
  font-family:var(--disp);font-size:clamp(.95rem,1.5vw,1.16rem);letter-spacing:.1em;text-transform:uppercase}
.foot .brand em{font-style:normal;color:var(--cad)}
.foot .brand small{font-family:var(--text);font-size:.6rem;font-weight:700;letter-spacing:.14em;
  color:var(--dim);text-transform:uppercase;margin-top:3px;opacity:1}
.fnote{max-width:44ch;line-height:1.6}
.fcontact{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.btn-sm{min-height:44px;padding:0 16px;font-size:.82rem}
.foot-trust{margin-top:clamp(26px,3.2vw,44px);padding-top:20px;border-top:1px solid var(--hair);
  max-width:92ch;line-height:1.62}
.foot-trust b{display:block;font-family:var(--disp);font-weight:400;text-transform:uppercase;
  font-size:1rem;letter-spacing:.02em;color:var(--bone);margin-bottom:8px}
.foot-trust a{color:var(--bone);border-bottom:1px solid var(--cad)}
.foot-base{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;align-items:baseline;
  margin-top:22px;padding-top:18px;border-top:1px solid var(--hair);font-size:.84rem}
.foot-base nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.foot-base a{border-bottom:1px solid var(--rule)}
.foot-base a:hover{color:var(--cad);border-color:var(--cad)}
.foot-base .agem{font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cad)}
@media (max-width:1180px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.foot-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- the photograph lightbox (namespaced tt-lb, nothing else uses these) ---------- */
.tt-lbx{position:fixed;inset:0;z-index:99998;display:none;
  align-items:center;justify-content:center;padding:clamp(12px,3vw,40px);background:rgba(6,25,15,.94)}
.tt-lbx.tt-lb-on{display:flex}
.tt-lbx figure{position:relative;max-width:min(94vw,780px);width:100%}
.tt-lbx img{width:100%;height:auto;max-height:82vh;object-fit:contain;margin:0 auto}
.tt-lbx figcaption{margin-top:12px;text-align:center;
  font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.tt-lb-close{position:absolute;top:-44px;right:0;width:38px;height:38px;
  border:1px solid var(--rule);color:var(--bone);font-size:1.4rem;line-height:1}
.tt-lb-nav{display:flex;justify-content:center;gap:12px;margin-top:14px}
.tt-lb-nav button{width:46px;height:42px;border:1px solid var(--rule);color:var(--bone);font-size:1.3rem;line-height:1}
.tt-lb-nav button:hover,.tt-lb-close:hover{border-color:var(--cad);color:var(--cad)}


/* ---------- the engine's sticky bar, skinned. Below 768px only, and it is the only
              contact furniture down there. ---------- */
.cc-mbar{border-top:1px solid var(--rule) !important;box-shadow:0 -6px 24px rgba(0,0,0,.5) !important}
.cc-mbar a.cc-wa,.cc-mbar a.cc-tg{font-family:var(--text) !important;font-weight:700 !important;
  font-size:13px !important;letter-spacing:.14em;text-transform:uppercase}
.cc-mbar a.cc-wa{background:#FF6A1A !important;color:#06190F !important}
.cc-mbar a.cc-wa svg{fill:#06190F !important}
.cc-mbar a.cc-tg{background:#07201A !important;color:#FF6A1A !important}
.cc-mbar a.cc-tg svg{fill:#FF6A1A !important}

/* =====================================================================
   EVERY media query lives here, in descending width order. NOTHING follows
   this block: an unconditional grid rule appended after it once beat the
   design's own breakpoint and put four cards on a 375px row.
   ===================================================================== */
@media (max-width:1180px){
  .rates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1080px){
  .split,.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .roster{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .roster .nm{font-size:1rem}
  .mainnav{margin-left:0;order:3;width:100%}
  .hcards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .art-grid{grid-template-columns:minmax(0,1fr)}
  .art-toc{position:static}
  .plate{grid-template-columns:minmax(0,1fr);gap:10px}
  .plate .pno{padding-top:0}
}
@media (max-width:900px){
  .file-grid{grid-template-columns:minmax(0,1fr)}
  .pset{grid-template-columns:repeat(3,minmax(0,1fr))}
  .venue-grid,.remarks{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
  body{font-size:16px}
  .top .wrap{min-height:58px;gap:10px 14px}
  .brand{font-size:.9rem;letter-spacing:.08em}
  .age{font-size:.58rem;letter-spacing:.13em;padding:5px 8px;flex:none}
  .top-wa{display:none}
  .steps,.four,.split,.arealist{grid-template-columns:minmax(0,1fr)}
  .roster{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rates,.cadnote,.hcards,.hcards.two,.file-rows,.foot-grid{grid-template-columns:minmax(0,1fr)}
  .pset{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pn-nav{grid-template-columns:minmax(0,1fr);gap:0}
  .pn-nav a:nth-child(3){text-align:left}
  .fcount{margin-left:0;width:100%}
  .label-panel>div{grid-template-columns:minmax(0,1fr)}
  .tt-lb-close{top:auto;bottom:-46px;right:50%;transform:translateX(50%)}
}
@media (max-width:420px){
  .roster .mt{font-size:.66rem;letter-spacing:.09em;text-align:left}
  .roster .nm{font-size:.95rem}
  .roster .cap{flex-direction:column;align-items:flex-start;gap:3px}
  .btn{padding:0 16px;font-size:.88rem;letter-spacing:.06em}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important}
}
