/* =============================================================================
   High Class Escorts In London / "Banner"
   The page hangs from a banderole: a navy rod hemmed in gold, and under it wide
   bands of crimson and navy taking turns, each hung from a gold rule of its own.
   Boldonse for display, DM Sans for text. Gold is for display type and rules,
   never for small body copy.
   Generated by build/highclassescortsinlondon.com/theme.js, do not edit in place.
   ============================================================================= */
:root{
  --crimson:#A20E29;
  --crimson-deep:#830820;
  --navy:#0E1E3C;
  --navy-deep:#0A1730;
  --bone:#F7F1E6;
  --bone-dim:#F0DCD5;
  --blue-dim:#CDD8EA;
  --gold:#EFC45F;
  --gut:clamp(16px,4vw,56px);
  --disp:"Boldonse","DM Sans",system-ui,sans-serif;
  --text:"DM Sans",system-ui,-apple-system,Segoe UI,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--navy);
  color:var(--bone);
  font-family:var(--text);
  font-size:17px;
  line-height:1.62;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
@supports (overflow:clip){body{overflow-x:clip}}
a{color:inherit;text-decoration:none}
li{list-style:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:14px;top:14px;z-index:90;background:var(--bone);color:var(--crimson-deep);padding:10px 16px;font-weight:700}
.u,.disp{font-family:var(--disp);font-weight:400;text-transform:uppercase;line-height:1.04;letter-spacing:-.02em}

/* ---------------- the rod the whole site hangs from ---------------- */
.rod{
  background:var(--navy-deep);
  background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.030) 0 1px,rgba(0,0,0,0) 1px 4px);
  border-bottom:6px solid var(--gold);
  padding:11px max(var(--gut),calc((100% - 1680px) / 2));
  color:var(--blue-dim);
  position:relative;z-index:40;
}
.rail{display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:space-between;align-items:center;width:100%}
.rodbrand{font-family:var(--disp);font-weight:400;text-transform:uppercase;letter-spacing:.08em;font-size:1rem;color:var(--bone);line-height:1.2;min-width:0}
.tag{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700}
.nav{display:none;gap:22px;min-width:0}
.nav a{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a:focus-visible,.nav a.on{color:var(--gold);border-bottom-color:var(--gold)}
.rodr{display:flex;align-items:center;gap:10px;min-width:0}
.rod .btn{height:42px;padding:0 16px;font-size:.9rem}
.menu{height:42px;padding:0 14px;border:2px solid var(--bone);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;cursor:pointer}
.menu:hover{background:var(--bone);color:var(--crimson-deep)}
@media (min-width:1000px){.nav{display:flex}.menu{display:none}}
@media (max-width:999px){
  .navopen .nav{display:grid;order:4;flex:1 0 100%;width:100%;gap:0;margin-top:10px;border-top:2px solid var(--gold)}
  .navopen .nav a{padding:12px 0;border-bottom:1px solid rgba(205,216,234,.3);border-top:0;font-size:.8rem}
}

/* ---------------- breadcrumbs, a thin strip under the rod ---------------- */
.crumbs{background:var(--navy-deep);border-bottom:2px solid var(--gold);padding:9px max(var(--gut),calc((100% - 1680px) / 2));font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--blue-dim)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px;min-width:0}
.crumbs li{min-width:0}
.crumbs li + li::before{content:"/";padding-right:8px;color:var(--gold)}
.crumbs a{border-bottom:1px solid rgba(205,216,234,.4)}
.crumbs a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.crumbs [aria-current]{color:var(--bone)}

/* ---------------- the bands that hang, crimson and navy in turn ---------------- */
main > section{
  width:100%;
  padding-top:clamp(40px,6vw,96px);
  padding-bottom:clamp(44px,6.4vw,104px);
  padding-left:max(var(--gut),calc((100% - 1680px) / 2));
  padding-right:max(var(--gut),calc((100% - 1680px) / 2));
  border-top:6px solid var(--gold);
  position:relative;
}
main > section:nth-of-type(odd){
  background-color:var(--crimson);
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,0) 15%,rgba(0,0,0,0) 86%,rgba(0,0,0,.18)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,rgba(0,0,0,0) 1px 4px);
}
main > section:nth-of-type(even){
  background-color:var(--navy);
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,0) 15%,rgba(0,0,0,0) 86%,rgba(0,0,0,.22)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.030) 0 1px,rgba(0,0,0,0) 1px 4px);
}
main > section:nth-of-type(odd) .muted{color:var(--bone-dim)}
main > section:nth-of-type(even) .muted{color:var(--blue-dim)}
main > section:first-of-type{border-top:0}

/* ---------------- headings inside a band ---------------- */
.kicker{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;margin-bottom:12px;color:var(--bone)}
.h{font-family:var(--disp);font-weight:400;text-transform:uppercase;line-height:1.1;letter-spacing:-.02em;font-size:clamp(1.9rem,4.8vw,4rem);margin-bottom:clamp(14px,1.8vw,24px)}
.h em{font-style:normal;color:var(--gold)}
.h2{font-family:var(--disp);font-weight:400;text-transform:uppercase;line-height:1.1;letter-spacing:-.02em;font-size:clamp(1.5rem,3vw,2.5rem)}
.intro{max-width:58ch;font-size:clamp(1rem,1.2vw,1.14rem)}
.intro p + p{margin-top:.7em}
.sechead{max-width:66ch}
.sechead .h,.sechead .h2{margin-bottom:12px}
.fine{margin-top:clamp(16px,2vw,26px);font-size:.86rem;max-width:64ch}
.fine a,.tx,.inline a{border-bottom:2px solid var(--gold);font-weight:700}
.fine a:hover,.tx:hover,.inline a:hover{color:var(--gold)}
.twocol{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(16px,2.4vw,44px);margin-top:clamp(20px,2.6vw,36px)}
@media (min-width:760px){.twocol{grid-template-columns:repeat(2,minmax(0,1fr))}}
.twocol p{max-width:52ch}
.bul{margin-top:14px;display:grid;gap:8px;max-width:64ch}
.bul li{position:relative;padding-left:22px;min-width:0}
.bul li::before{content:"";position:absolute;left:0;top:.62em;width:11px;height:3px;background:var(--gold)}

/* ---------------- buttons ---------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:58px;padding:0 26px;border:2px solid var(--gold);min-width:0;
  font-family:var(--text);font-weight:700;font-size:1.02rem;letter-spacing:.01em;text-align:center;
  transition:background-color .18s linear,color .18s linear,border-color .18s linear;
}
.btn svg{width:18px;height:18px;flex:none}
.btn-a{background:var(--gold);color:#3A0A10;border-color:var(--gold)}
.btn-a:hover{background:var(--bone);border-color:var(--bone);color:var(--crimson-deep)}
.btn-b{background:transparent;color:var(--bone);border-color:var(--bone)}
.btn-b:hover{color:var(--gold);border-color:var(--gold)}
.btn.sm{height:46px;padding:0 18px;font-size:.92rem}
.acts{display:flex;flex-wrap:wrap;gap:12px;width:100%;margin-top:clamp(18px,2.2vw,30px)}
@media (max-width:520px){.acts .btn{flex:1 1 100%}}

/* ---------------- the page hero: the flag of an inner page ---------------- */
.phero{position:relative}
.pherogrid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(22px,3vw,48px);align-items:end}
@media (min-width:1000px){.pherogrid.withplate{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}}
.pherotext{min-width:0;container-type:inline-size}
.phero h1{font-family:var(--disp);font-weight:400;text-transform:uppercase;line-height:1.02;letter-spacing:-.03em;font-size:min(11cqi,92px);color:var(--bone);overflow-wrap:break-word}
.phero h1 em{font-style:normal;color:var(--gold)}
.phero .intro{margin-top:clamp(14px,1.8vw,24px)}
.eyebrow{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:clamp(12px,1.6vw,20px)}
.eyebrow span{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700}
.eyebrow span:first-child{color:var(--bone)}
.hemline{
  margin-top:clamp(20px,2.6vw,34px);padding-top:clamp(18px,2.2vw,30px);width:100%;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;
}
@media (min-width:860px){.hemline{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.2vw,36px)}}
.fact{border-top:2px solid var(--bone);padding-top:10px;min-width:0}
.fact b{display:block;font-family:var(--disp);font-weight:400;font-size:clamp(1rem,1.4vw,1.32rem);line-height:1.14;letter-spacing:-.02em}
.fact span{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin-bottom:3px}

/* ---------------- a portrait plate: the 3:4 cut and the gold rule of the design ---------------- */
.plate{position:relative;display:block;aspect-ratio:3 / 4;overflow:hidden;background:var(--navy-deep);border-bottom:4px solid var(--gold);min-width:0}
.plate.tall{aspect-ratio:4 / 5}
.plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.veil{position:absolute;inset:0;pointer-events:none}
.veil::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(38% 26% at 50% 26%,rgba(247,241,230,.20),rgba(247,241,230,0) 72%),
    radial-gradient(62% 44% at 50% 96%,rgba(14,30,60,.62),rgba(14,30,60,0) 74%);
}
.veil::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 92% at 50% 38%,rgba(0,0,0,0) 46%,rgba(0,0,0,.46) 100%);
}
.veil.rose::before{background:
    radial-gradient(38% 26% at 50% 25%,rgba(247,241,230,.22),rgba(247,241,230,0) 72%),
    radial-gradient(62% 44% at 50% 97%,rgba(162,14,41,.60),rgba(162,14,41,0) 76%);
}
.veil.gilt::before{background:
    radial-gradient(36% 25% at 50% 27%,rgba(239,196,95,.26),rgba(239,196,95,0) 70%),
    radial-gradient(60% 42% at 50% 95%,rgba(10,23,48,.58),rgba(10,23,48,0) 74%);
}
.platetag{position:absolute;left:0;bottom:0;margin:0;padding:8px 12px;background:var(--navy-deep);color:var(--bone);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;max-width:100%}

/* ---------------- the salon grid: twenty eight frames on the banner ---------------- */
.tools{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;min-width:0;margin-top:clamp(16px,2vw,26px)}
.tool{display:flex;flex-direction:column;gap:6px;min-width:0}
.tool > span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
select.pick,select.pick option{font-family:var(--text)}
select.pick{height:48px;max-width:100%;min-width:0;padding:0 12px;border:2px solid var(--gold);background:var(--navy-deep);color:var(--bone);font-weight:700;font-size:.95rem}
@media (min-width:480px){select.pick{min-width:210px}}
.chips{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.chip{display:inline-block;border:2px solid rgba(247,241,230,.55);padding:10px 15px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;cursor:pointer;min-width:0;transition:background-color .18s linear,color .18s linear,border-color .18s linear}
.chip[aria-pressed="true"],.chip:hover,.chip:focus-visible{background:var(--gold);border-color:var(--gold);color:#2A0A12}
.chipset{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;min-width:0}
.count{font-size:.86rem;margin-top:16px}
.row12{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:clamp(22px,3vw,44px)}
@media (min-width:640px){.row12{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1100px){.row12{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(10px,1.2vw,18px)}}
.row12.wide{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:640px){.row12.wide{grid-template-columns:repeat(4,minmax(0,1fr))}}
.who{min-width:0}
.whoa{display:block;min-width:0}
.who .frame{position:relative;display:block;aspect-ratio:3 / 4;overflow:hidden;background:var(--navy-deep);border-bottom:4px solid var(--gold)}
.who .frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.who b{display:block;font-family:var(--disp);font-weight:400;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(.92rem,1.1vw,1.14rem);line-height:1.1;margin-top:10px}
.who .meta{display:block;font-size:clamp(.62rem,.74vw,.78rem);letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-top:3px}
.who .state{display:inline-block;margin-top:7px;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border:1px solid rgba(247,241,230,.55);padding:3px 7px}
.who[data-state="open"] .state{background:var(--gold);border-color:var(--gold);color:#2A0A12}
.whoa:hover b,.whoa:focus-visible b{color:var(--gold)}
.who[hidden]{display:none}
.empty{margin-top:22px;font-size:.96rem}
.photonote{margin-top:clamp(18px,2.2vw,28px);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}

/* ---------------- the ledger: numbered sections in a band ---------------- */
.seclist{display:grid;gap:clamp(24px,3vw,44px);margin-top:clamp(18px,2.2vw,30px)}
.sec{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
@media (min-width:900px){.sec{grid-template-columns:minmax(0,7rem) minmax(0,1fr);gap:clamp(20px,2.6vw,44px)}}
.sec .no{font-family:var(--disp);font-weight:400;color:var(--gold);font-size:clamp(1.6rem,2.6vw,2.6rem);line-height:1;letter-spacing:-.03em;border-top:3px solid var(--gold);padding-top:10px}
.sec .body{min-width:0;border-top:2px solid rgba(247,241,230,.34);padding-top:12px}
.sec h2{font-family:var(--disp);font-weight:400;text-transform:uppercase;line-height:1.12;letter-spacing:-.02em;font-size:clamp(1.3rem,2.2vw,2rem);margin-bottom:10px}
.sec .body p{max-width:70ch}
.sec .body p + p{margin-top:.8em}

/* ---------------- steps ---------------- */
.steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,44px);margin-top:clamp(22px,2.8vw,40px)}
@media (min-width:1000px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.steps.three{grid-template-columns:repeat(1,minmax(0,1fr))}
@media (min-width:760px){.steps.three{grid-template-columns:repeat(3,minmax(0,1fr))}}
.step{border-top:3px solid var(--gold);padding-top:12px;min-width:0}
.step .no{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--bone);margin-bottom:4px}
.step b,.step h3{display:block;font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(1rem,1.3vw,1.3rem);letter-spacing:-.01em;margin-bottom:6px;line-height:1.14}
.step p{font-size:.98rem}

/* ---------------- the ladder in gold figures ---------------- */
.figrow{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:clamp(18px,2.2vw,32px)}
@media (min-width:768px){.figrow{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.2vw,40px)}}
.fig{border-top:3px solid var(--bone);min-width:0}
.fig span{display:block;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;padding-top:10px}
.fig b{display:block;font-family:var(--disp);font-weight:400;color:var(--gold);font-size:min(7.8vw,150px);line-height:.95;letter-spacing:-.045em;margin-top:2px}
.fig i{display:block;font-style:normal;font-size:.9rem;font-weight:500;padding-bottom:4px}
@media (max-width:1080px){.fig b{font-size:8.4vw}}
@media (max-width:767px){
  .fig{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:14px}
  .fig span{grid-column:1;grid-row:1}
  .fig i{grid-column:1;grid-row:2;padding-bottom:10px}
  .fig b{grid-column:2;grid-row:1 / span 2;text-align:right;align-self:center;font-size:15.5vw}
}
.restrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(18px,2.6vw,48px);margin-top:clamp(24px,3vw,44px)}
@media (min-width:900px){.restrow{grid-template-columns:repeat(4,minmax(0,1fr))}}
.restrow div{border-top:2px solid var(--gold);padding:10px 0 14px;min-width:0}
.restrow b{display:block;font-family:var(--disp);font-weight:400;font-size:clamp(1.3rem,2.2vw,1.9rem);letter-spacing:-.02em;line-height:1.05;color:var(--gold)}
.restrow span{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin-bottom:4px}
.restrow i{display:block;font-style:normal;font-size:.86rem;font-weight:500;margin-top:4px}
.ratefoot{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(18px,2.6vw,48px);margin-top:clamp(22px,2.8vw,40px)}
@media (min-width:760px){.ratefoot{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ratefoot p{max-width:50ch}
.ratelink{margin-top:clamp(16px,2vw,24px);font-size:.98rem}
.ratelink a{border-bottom:2px solid var(--gold);font-weight:700}
.ratelink a:hover{color:var(--gold)}

/* ---------------- the copy and send line ---------------- */
.scriptcard{border:2px solid var(--gold);padding:clamp(16px,2.2vw,28px);margin-top:clamp(20px,2.6vw,34px);max-width:74ch}
.scriptcard .lab{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--bone);margin-bottom:8px}
.scriptbody{font-size:1.02rem;line-height:1.55}

/* ---------------- addresses ---------------- */
.places{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:clamp(18px,2.4vw,34px)}
.places li{min-width:0}
.places a{display:block;border:2px solid rgba(247,241,230,.5);padding:9px 16px;font-size:.84rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.places a:hover,.places a:focus-visible{background:var(--gold);color:#2A0A12;border-color:var(--gold)}
.places li.hot a{background:var(--gold);color:#2A0A12;border-color:var(--gold)}
@media (max-width:380px){.places a{padding:8px 12px;font-size:.76rem;letter-spacing:.1em}}
.etalist{display:grid;gap:0;margin-top:clamp(20px,2.6vw,34px)}
@media (min-width:860px){.etalist{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3vw,56px)}}
.etalist li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline;border-top:1px solid rgba(247,241,230,.34);padding:10px 0}
.etalist b{font-weight:700;font-size:.98rem}
.etalist span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;text-align:right}
.zonegrid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(14px,2vw,26px);margin-top:clamp(20px,2.6vw,36px)}
@media (min-width:620px){.zonegrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1040px){.zonegrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1040px){.zonegrid.hub{grid-template-columns:repeat(4,minmax(0,1fr))}}
.zone{display:block;border-top:3px solid var(--gold);padding-top:12px;min-width:0}
.zone h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(1.02rem,1.4vw,1.34rem);letter-spacing:-.01em;line-height:1.14;margin-bottom:6px}
.zone h3 i{font-style:normal;color:var(--bone);font-size:.8em}
.zone p{font-size:.94rem}
.zone .pc{display:inline-block;margin-top:8px;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;border:1px solid rgba(247,241,230,.5);padding:3px 8px}
.zone:hover h3,.zone:focus-visible h3{color:var(--gold)}
.vgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(18px,2.4vw,36px);margin-top:clamp(20px,2.6vw,34px)}
@media (min-width:760px){.vgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.vcard{border-top:3px solid var(--gold);padding-top:12px;min-width:0}
.vcard h3{font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(1rem,1.3vw,1.24rem);letter-spacing:-.01em;margin-bottom:8px}
.vcard li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:baseline;border-top:1px solid rgba(247,241,230,.3);padding:8px 0;font-size:.94rem}
.vcard .vm,.vcard .sw{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;text-align:right}
.vcard .sl{grid-column:1 / -1;font-size:.72rem;color:var(--bone);letter-spacing:.1em;text-transform:uppercase;font-weight:700}

/* ---------------- hub cards: appointments, presentations, letters ---------------- */
.hcards{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(14px,2vw,26px);margin-top:clamp(20px,2.6vw,36px)}
@media (min-width:640px){.hcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1040px){.hcards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hcards.two{grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.hcards.two{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hcard{display:flex;flex-direction:column;gap:8px;border-top:3px solid var(--gold);padding-top:12px;min-width:0}
.hcard .himg{display:block;position:relative;aspect-ratio:3 / 2;overflow:hidden;background:var(--navy-deep);border-bottom:4px solid var(--gold);margin-bottom:6px}
.hcard .himg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hcard .lab{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--bone)}
.hcard .ht{font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(1rem,1.3vw,1.28rem);letter-spacing:-.01em;line-height:1.16}
.hcard .hx{font-size:.94rem}
.hcard .hb{margin-top:auto;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;border-bottom:2px solid var(--gold);align-self:flex-start;padding-bottom:2px}
.hcard:hover .ht,.hcard:focus-visible .ht{color:var(--gold)}

/* ---------------- questions ---------------- */
.faqlist{margin-top:clamp(20px,2.6vw,36px);max-width:92ch}
.faqlist details{border-top:2px solid rgba(247,241,230,.42)}
.faqlist details:last-child{border-bottom:2px solid rgba(247,241,230,.42)}
.faqlist summary{
  cursor:pointer;list-style:none;padding:15px 40px 15px 0;position:relative;
  font-family:var(--disp);font-weight:400;text-transform:uppercase;
  font-size:clamp(1rem,1.3vw,1.28rem);letter-spacing:-.01em;line-height:1.2;
}
.faqlist summary::-webkit-details-marker{display:none}
.faqlist summary::after{content:"+";position:absolute;right:6px;top:12px;font-size:1.5rem;line-height:1;color:var(--gold)}
.faqlist details[open] summary::after{content:"\2212"}
.faqlist .ans{padding:0 0 18px;max-width:64ch}
.faqlist .ans p + p{margin-top:.7em}

/* ---------------- remarks ---------------- */
.remarks{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(16px,2.2vw,30px);margin-top:clamp(20px,2.6vw,34px)}
@media (min-width:760px){.remarks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.remark{border-top:3px solid var(--gold);padding-top:12px;min-width:0}
.remark blockquote{font-size:1.02rem;line-height:1.55}
.remark .rmeta{display:block;margin-top:8px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--bone)}
.remarkempty{margin-top:18px;max-width:64ch}

/* ---------------- the file: one companion ---------------- */
.pfile{position:relative}
.pgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(22px,3vw,48px);align-items:start}
@media (min-width:900px){.pgrid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}}
.pfield{min-width:0;container-type:inline-size}
.pfile h1{font-family:var(--disp);font-weight:400;text-transform:uppercase;line-height:1.04;letter-spacing:-.03em;font-size:clamp(1.9rem,9.2cqi,4.2rem);margin-bottom:10px;overflow-wrap:break-word}
.ptag{font-size:clamp(1.02rem,1.3vw,1.24rem);max-width:46ch}
.pill{display:inline-block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;border:2px solid rgba(247,241,230,.55);padding:5px 10px}
.pill.here{background:var(--gold);border-color:var(--gold);color:#2A0A12}
.pfacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(16px,2.2vw,36px);margin-top:clamp(20px,2.4vw,32px)}
@media (min-width:640px){.pfacts{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pfacts > div{border-top:2px solid rgba(247,241,230,.34);padding:9px 0 11px;min-width:0}
.pfacts dt{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--bone)}
.pfacts dd{font-size:.98rem;overflow-wrap:break-word}
.pfacts dd a{border-bottom:1px solid var(--gold)}
.psetgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:clamp(20px,2.6vw,34px)}
@media (min-width:640px){.psetgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1040px){.psetgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.psetgrid > a{position:relative;display:block;min-width:0}
.pnum{position:absolute;left:0;top:0;z-index:2;padding:5px 9px;background:var(--navy-deep);color:var(--gold);font-size:.64rem;letter-spacing:.16em;font-weight:700}
.pn{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:clamp(22px,2.8vw,38px)}
@media (min-width:760px){.pn{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pn a{display:block;border-top:3px solid var(--gold);padding-top:10px;font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(.96rem,1.2vw,1.18rem);letter-spacing:-.01em;min-width:0}
.pn a span{display:block;font-family:var(--text);font-size:.66rem;letter-spacing:.18em;font-weight:700;color:var(--bone);margin-bottom:4px}
.pn a:hover{color:var(--gold)}

/* ---------------- the lightbox. Owns .lbx and nothing else does. ---------------- */
.lbx{position:fixed;inset:0;z-index:99998;background:rgba(10,23,48,.96);display:grid;place-items:center;padding:16px}
.lbx[hidden]{display:none}
.lbx-fig{position:relative;max-width:min(94vw,780px);margin:0}
.lbx-fig img{width:100%;height:auto;max-height:82vh;object-fit:contain;border-bottom:4px solid var(--gold)}
.lbx-cap{margin-top:10px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--bone)}
.lbx-x,.lbx-p,.lbx-n{position:absolute;z-index:2;width:46px;height:46px;border:2px solid var(--gold);background:var(--navy-deep);color:var(--gold);cursor:pointer;font-size:1.3rem;line-height:1}
.lbx-x{top:-56px;right:0}
.lbx-p{left:8px;top:50%;transform:translateY(-50%)}
.lbx-n{right:8px;top:50%;transform:translateY(-50%)}
.lbx-x:hover,.lbx-p:hover,.lbx-n:hover{background:var(--gold);color:#2A0A12}

/* ---------------- a letter (a guide article) ---------------- */
.artmeta{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;margin-bottom:12px}
.artmeta .plate2{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.artmeta .plate2 b{color:var(--bone)}
.byline{display:block;margin-top:12px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.byline b{color:var(--bone)}
.lede{font-size:clamp(1.04rem,1.4vw,1.3rem);line-height:1.5;max-width:56ch;margin-top:clamp(14px,1.8vw,22px)}
.artgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(22px,3vw,48px);margin-top:clamp(6px,1vw,14px)}
@media (min-width:1040px){.artgrid{grid-template-columns:minmax(0,15rem) minmax(0,1fr)}}
.arttoc{min-width:0;border-top:3px solid var(--gold);padding-top:12px;align-self:start}
@media (min-width:1040px){.arttoc{position:sticky;top:18px}}
.arttoc .lab{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--bone);margin-bottom:10px}
.toclist{display:grid;gap:7px;counter-reset:toc}
.toclist li{counter-increment:toc;min-width:0;font-size:.94rem}
.toclist li a::before{content:counter(toc,decimal-leading-zero) ". ";color:var(--bone);font-weight:700}
.toclist a{border-bottom:1px solid rgba(247,241,230,.3)}
.toclist a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.art{min-width:0}
.artsec + .artsec{margin-top:clamp(22px,2.8vw,40px)}
.artsec h2{font-family:var(--disp);font-weight:400;text-transform:uppercase;line-height:1.12;letter-spacing:-.02em;font-size:clamp(1.3rem,2.2vw,2rem);margin-bottom:10px;border-top:2px solid rgba(247,241,230,.34);padding-top:12px}
.artsec p{max-width:70ch}
.artsec p + p{margin-top:.8em}
.artfiled{margin-top:clamp(20px,2.4vw,32px);border-top:3px solid var(--gold);padding-top:12px;max-width:64ch;font-size:.96rem}
.artfiled a{border-bottom:2px solid var(--gold);font-weight:700}
.artcta{margin-top:clamp(24px,3vw,44px);border-top:3px solid var(--gold);padding-top:14px}
.artcta h2{font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(1.2rem,1.8vw,1.7rem);letter-spacing:-.02em;margin-bottom:8px}

/* ---------------- 404 ---------------- */
.nf .big{display:block;font-family:var(--disp);font-weight:400;color:var(--gold);font-size:min(22vw,180px);line-height:.9;letter-spacing:-.04em}
.nf h1{font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(1.6rem,3.4vw,3rem);letter-spacing:-.02em;line-height:1.08;margin:10px 0 12px}
.nf p{max-width:56ch}

/* ---------------- the foot of the banner (the same string patchHome injects) ---------------- */
.foot{background:var(--navy-deep);background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,rgba(0,0,0,0) 1px 4px);border-top:6px solid var(--gold);color:var(--blue-dim);font-size:.9rem}
.footin{display:grid;gap:22px;padding:clamp(24px,3.4vw,44px) max(var(--gut),calc((100% - 1680px) / 2)) clamp(18px,2.2vw,28px)}
@media (min-width:760px){.footin{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:26px 32px}}
@media (min-width:1100px){.footin{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr))}}
.foot .fcol{min-width:0}
.foot .fbrand{font-family:"Boldonse","DM Sans",sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:1rem;color:var(--bone);line-height:1.2}
.foot h2{font-family:"Boldonse","DM Sans",sans-serif;font-weight:400;text-transform:uppercase;font-size:.68rem;letter-spacing:.2em;color:var(--gold);margin-bottom:9px;line-height:1.3}
.foot p{max-width:46ch}
.foot ul{display:grid;gap:6px}
.foot li{min-width:0;overflow-wrap:break-word}
.foot a{border-bottom:1px solid rgba(205,216,234,.42)}
.foot a:hover,.foot a:focus-visible{color:var(--gold);border-bottom-color:var(--gold)}
.foot .flinks{display:flex;flex-wrap:wrap;gap:6px 18px}
.foot .fsmall{color:rgba(205,216,234,.62);font-size:.78rem}
.foot .ftrust{border-top:2px solid var(--gold);margin:0;padding:16px max(var(--gut),calc((100% - 1680px) / 2)) 18px;font-size:.84rem;line-height:1.6;max-width:none}
.foot .ftrust b{display:block;font-family:"Boldonse","DM Sans",sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.18em;font-size:.64rem;color:var(--gold);margin-bottom:5px}
.foot .fbase{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;border-top:1px solid rgba(239,196,95,.34);padding:13px max(var(--gut),calc((100% - 1680px) / 2)) 18px;font-size:.8rem}
.foot .age{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:8px;border:2px solid var(--gold);color:var(--gold);font-weight:700;font-size:.64rem;vertical-align:middle}
@media (max-width:767px){.foot .fbase{padding-bottom:100px}}

/* ---------------- the sticky contact bar, small screens only (the same string patchHome injects) ---------------- */
.cc-mbar{display:none}
@media (max-width:767px){
  body{padding-bottom:88px}
  .cc-mbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:99999;background:var(--navy-deep);border-top:4px solid var(--gold);padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  .cc-mbar .btn{height:50px;padding:0 8px;font-size:.94rem;gap:6px}
}
@media (max-width:380px){.cc-mbar .btn{font-size:.88rem}}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
}
