/* === Self-hosted fonts (latin subset) ===
   Archivo, the variable cut, two axes: wdth 62-125 and wght 300-800. The design
   uses the width axis as its main voice, so the face has to declare the range it
   covers or a browser clamps every wide heading back to normal width.
   The build rewrites this run from theme.fonts.faces in sites/massageschipholairport.json;
   the block below is what it emits, kept here so the file stands on its own. */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url('/fonts/lighttrails/archivo-normal-300-800.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================================
   MASSAGE SCHIPHOL AIRPORT, theme "lighttrails"
   Headlights and landing lights drawn out into long exposures over a near-black
   ground: cyan light laid across the page in blurred bands, hairline rules that
   read as the same light thinned to a wire, one wide grotesque stretched on its
   width axis, and flat panels with a lit top edge.

   Nothing on this site moves: no keyframe block, no timed property, no scripted
   timer and no drawn scene. The page is photographs, type, rules and flat
   colour, and hover changes a colour at once.

   Two jobs in one file:
     1. the theme's own design (hero field, rules, cells, technique rows, rate
        boards, roster plates, area chips, question columns, the closing band)
     2. a compatibility layer for the SHARED templates this theme inherits:
        faq, about, contact, booking, legal, glossary and 404, which render
        .container / .reading / .hero / .btn / .t-card / .s-card and friends.
   ============================================================================ */

:root{
  /* ground ---------------------------------------------------------------- */
  --bg:        #04050A;
  --bg-2:      #080A11;
  --bg-3:      #0C0F18;
  --bg-deep:   #020306;
  --line:      rgba(160,180,195,0.20);
  --line-2:    rgba(99,236,255,0.30);

  /* the light ------------------------------------------------------------- */
  --cyan:      #63ECFF;
  --cyan-2:    #22C6E6;
  --cyan-deep: #0A5C74;
  --on-cyan:   #02222B;

  /* ink ------------------------------------------------------------------- */
  --text:      #F3EDE1;
  --mut:       #C9C2B4;
  --dim:       #9A9487;

  /* aliases: the inherited shared templates carry inline styles naming these
     tokens, and the artwork generator reads the same names */
  --ink:       #F3EDE1;
  --muted:     #C9C2B4;
  --faint:     #9A9487;
  --rule:      rgba(160,180,195,0.20);
  --hair:      rgba(160,180,195,0.20);
  --cloud:     #04050A;
  --sky-1:     #04050A;
  --sky-2:     #070A12;
  --sky-3:     #04050A;
  --gold:      #63ECFF;
  --white:     #F3EDE1;
  --white-rgb: 243,237,225;
  --header-bg: rgba(4,5,10,0.88);
  --wa:        #25D366;
  --wa-dark:   #1ea857;

  /* type ------------------------------------------------------------------ */
  --sans:  'Archivo', 'Segoe UI', system-ui, Helvetica, Arial, sans-serif;
  --serif: 'Archivo', 'Segoe UI', system-ui, Helvetica, Arial, sans-serif;

  /* measure --------------------------------------------------------------- */
  --max:     1200px;
  --reading: 700px;
  --g:       clamp(18px,4vw,28px);
  --pad:     clamp(3.4rem,7vw,5.6rem);
}

/* derived, out of reach of the per-site palette substitution */
:root{
  --w-lab: "wdth" 108, "wght" 600;
  --w-hed: "wdth" 122, "wght" 700;
  --w-sub: "wdth" 114, "wght" 650;
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg);overflow-x:hidden}
body{
  margin:0;background:var(--bg);color:var(--text);
  font:400 17px/1.8 var(--sans);
  font-variation-settings:"wdth" 100,"wght" 400;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
@supports (overflow:clip){html,body{overflow-x:clip}}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,h4,h5,p,ul,ol,figure,dl,dd,blockquote{margin:0}
ul,ol{list-style:none;padding:0}
table{border-collapse:collapse;width:100%}
svg{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
::selection{background:var(--cyan);color:var(--on-cyan)}
[id]{scroll-margin-top:90px}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* generic elements: the inherited pages lean on these; the theme's own
   sections override them by class further down */
section{position:relative}
h1,h2{font-variation-settings:var(--w-hed);letter-spacing:-.018em;line-height:1.02;color:var(--text)}
h1{font-size:clamp(37px,5.2vw,68px);line-height:.99}
h2{font-size:clamp(26px,3.4vw,40px);line-height:1.08}
h3{font-size:clamp(18px,1.7vw,22px);line-height:1.25;font-variation-settings:var(--w-sub);color:var(--text)}
h4,h5{font-size:16px;line-height:1.35;font-variation-settings:"wdth" 110,"wght" 600;color:var(--text)}
h1 em,h2 em,h1 i,h2 i{font-style:normal;color:var(--cyan)}

/* ---------- primitives ----------------------------------------------------- */
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--g)}
.wrap--read{max-width:calc(var(--reading) + 2 * var(--g))}
.kick,.label,.label-top{display:block;font-size:11.5px;line-height:1.5;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);font-variation-settings:var(--w-lab)}
.kick b,.label b{color:var(--cyan);font-weight:400;font-variation-settings:"wdth" 108,"wght" 700}
.eyebrow{margin:0 0 18px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--cyan);font-variation-settings:"wdth" 110,"wght" 600}
.lede{max-width:52ch;color:var(--mut);font-size:clamp(16.5px,1.35vw,19px);line-height:1.75}
.lede b,.lede strong{color:var(--text);font-weight:400;font-variation-settings:"wdth" 100,"wght" 600}
.note{max-width:58ch;color:var(--mut);margin:0}
.note a,.more a{color:var(--cyan);border-bottom:1px solid var(--line-2)}
.note a:hover,.more a:hover{color:#A5F5FF;border-bottom-color:var(--cyan)}
.sec{padding:var(--pad) 0 0}
.sec--pad{padding-bottom:var(--pad)}
.sec--alt{background:var(--bg-2);border-block:1px solid var(--line)}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:28px;margin:0 0 34px;flex-wrap:wrap}
.sec-head h2{max-width:20ch}
.more{margin:26px 0 0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-variation-settings:var(--w-lab)}

/* hairline rules: the streaks, thinned to a wire */
.rule{position:relative;height:1px;width:100%;background:linear-gradient(90deg,rgba(99,236,255,0) 0%,rgba(99,236,255,.10) 12%,rgba(99,236,255,.55) 46%,rgba(220,250,255,.80) 58%,rgba(99,236,255,.22) 80%,rgba(99,236,255,0) 100%)}
.rule::after{content:"";position:absolute;left:0;right:0;top:-2px;height:5px;background:linear-gradient(90deg,rgba(34,198,230,0) 10%,rgba(34,198,230,.34) 50%,rgba(34,198,230,0) 92%);filter:blur(4px)}
.rule.flip{background:linear-gradient(90deg,rgba(99,236,255,0) 0%,rgba(99,236,255,.24) 22%,rgba(220,250,255,.72) 40%,rgba(99,236,255,.40) 70%,rgba(99,236,255,0) 100%)}

/* the light field: blurred bands and pools of cyan, nothing depicted */
.field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.streak{position:absolute;left:-30%;width:170%;border-radius:999px;mix-blend-mode:screen}
.core{position:absolute;left:-30%;width:170%;border-radius:999px;mix-blend-mode:screen}
.glow-pool{position:absolute;border-radius:50%;mix-blend-mode:screen;pointer-events:none}
.grain{position:absolute;inset:0;background-image:var(--grain);opacity:.16;pointer-events:none;mix-blend-mode:overlay}

/* ---------- buttons -------------------------------------------------------- */
.btn,.cta{
  display:inline-flex;align-items:center;justify-content:center;gap:11px;
  padding:16px 28px;border:0;border-radius:2px;cursor:pointer;text-align:center;
  font-size:14.5px;line-height:1;letter-spacing:.12em;text-transform:uppercase;
  font-variation-settings:"wdth" 110,"wght" 700;
  background:var(--cyan);color:var(--on-cyan);
}
.btn svg,.cta svg{width:18px;height:18px;fill:currentColor;flex:none}
.btn:hover,.cta:hover{background:#A5F5FF}
.btn--gh,.btn-ghost,.cta--ghost,.btn--b{background:transparent;color:var(--text);border:1px solid rgba(160,180,195,.42)}
.btn--gh:hover,.btn-ghost:hover,.cta--ghost:hover,.btn--b:hover{background:transparent;border-color:var(--cyan);color:var(--cyan)}
.btn-primary{background:var(--cyan);color:var(--on-cyan)}
.ctas,.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:26px 0 0}
.ctas .mail,.actions .mail{flex-basis:100%;font-size:13.5px;color:var(--dim);overflow-wrap:anywhere}

/* ---------- 21+ strip and header ------------------------------------------- */
.agestrip{position:relative;z-index:6;background:var(--bg-deep);border-bottom:1px solid rgba(160,180,195,.12)}
.agestrip .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 12px;padding-top:9px;padding-bottom:9px;text-align:center}
.agestrip p{margin:0;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);font-variation-settings:"wdth" 108,"wght" 500}
.agestrip b{color:var(--cyan);font-weight:400;font-variation-settings:"wdth" 108,"wght" 700}

.site-header{position:relative;z-index:6;background:var(--header-bg)}
.site-header .inner{max-width:var(--max);margin-inline:auto;padding:20px var(--g);display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-header .inner > *{min-width:0}
.logo,.brand{display:flex;align-items:center;gap:12px;min-width:0;font-size:15px;letter-spacing:.17em;text-transform:uppercase;font-variation-settings:"wdth" 118,"wght" 700;color:var(--text)}
.logo i,.brand i{width:44px;height:6px;border-radius:999px;background:linear-gradient(90deg,rgba(99,236,255,0),var(--cyan) 70%,#EAFBFF);flex:none}
.site-header nav{display:flex;flex-wrap:wrap;gap:clamp(14px,1.8vw,30px)}
.site-header nav a{font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-variation-settings:"wdth" 104,"wght" 500;white-space:nowrap}
.site-header nav a:hover{color:var(--cyan)}
.header-cta{display:flex;gap:10px;flex:none}
.site-header .cta{padding:12px 18px;font-size:12px}
.nav-toggle{display:none;align-items:center;justify-content:center;width:46px;height:44px;background:none;border:1px solid rgba(160,180,195,.42);border-radius:2px;cursor:pointer;flex:none;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text)}

/* ---------- hero (home) ---------------------------------------------------- */
.lt-hero{position:relative;overflow:hidden;background:
  radial-gradient(120% 90% at 78% 40%,rgba(10,92,116,.34) 0%,rgba(4,5,10,0) 62%),
  linear-gradient(180deg,#04050A 0%,#070A12 52%,#04050A 100%)}
.lt-hero .wrap{position:relative;z-index:4;padding-top:58px;padding-bottom:76px}
.scrim{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(100deg,rgba(4,5,10,.84) 0%,rgba(4,5,10,.60) 36%,rgba(4,5,10,.06) 64%,rgba(4,5,10,.26) 100%)}
.scrim-b{position:absolute;left:0;right:0;bottom:0;height:200px;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(4,5,10,0),rgba(4,5,10,.92))}
.lt-hero h1{max-width:17ch;margin:0 0 26px;text-shadow:0 2px 40px rgba(4,5,10,.95),0 0 90px rgba(4,5,10,.8)}
.lt-hero .lede{margin:0 0 26px;max-width:50ch}

.facts{display:flex;flex-wrap:wrap;gap:0;margin:0 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fact{padding:16px 30px 16px 0;margin-right:30px;border-right:1px solid var(--line);min-width:0}
.fact:last-child{border-right:0;margin-right:0;padding-right:0}
.fact dt{margin:0 0 4px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);font-variation-settings:var(--w-lab)}
.fact dd{margin:0;font-size:25px;line-height:1.2;font-variation-settings:"wdth" 118,"wght" 700}
.fact dd i{font-style:normal;color:var(--cyan)}

/* ---------- page head (every inner page this theme owns) ------------------- */
.phead{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:
  radial-gradient(110% 100% at 74% 30%,rgba(10,92,116,.32) 0%,rgba(4,5,10,0) 64%),
  linear-gradient(180deg,#04050A 0%,#070A12 60%,#04050A 100%)}
.phead .wrap{position:relative;z-index:4;padding-top:clamp(38px,6vw,58px);padding-bottom:clamp(34px,5vw,54px)}
.phead h1{max-width:20ch;margin:0 0 20px;font-size:clamp(32px,4.4vw,56px)}
.phead .lede{margin:0}
.phead .actions{margin-top:24px}

/* ---------- cells (three flat panels with a lit top edge) ------------------ */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.cellb{position:relative;background:var(--bg-2);padding:30px 26px 28px;min-width:0}
.cellb::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,rgba(99,236,255,.85),rgba(99,236,255,.12) 62%,rgba(99,236,255,0))}
.cellb h3{margin:0 0 8px;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan-2);font-variation-settings:var(--w-lab)}
.cellb p{margin:0;font-size:16px;color:var(--mut);line-height:1.7}
.cellb p + p{margin-top:12px}
.cellb a{color:var(--cyan);border-bottom:1px solid var(--line-2)}

/* ---------- technique rows ------------------------------------------------- */
.tech{border-top:1px solid var(--line)}
.trow{display:grid;grid-template-columns:2px 1fr 1.5fr;gap:26px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line)}
.trow .tick{height:100%;min-height:30px;background:linear-gradient(180deg,rgba(99,236,255,1),rgba(99,236,255,0))}
.trow h3{margin:0;font-size:22px;line-height:1.25;font-variation-settings:var(--w-sub)}
a.trow:hover h3{color:var(--cyan)}
.trow p{margin:0;color:var(--mut);font-size:16px;line-height:1.7}
.trow .len{display:block;margin-top:6px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-variation-settings:var(--w-lab)}

/* ---------- rate boards ---------------------------------------------------- */
.rates{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.rates::before{content:"";position:absolute;left:-14%;right:-14%;top:44%;height:44px;border-radius:999px;filter:blur(30px);mix-blend-mode:screen;background:linear-gradient(90deg,rgba(34,198,230,0),rgba(34,198,230,.34) 34%,rgba(99,236,255,.44) 62%,rgba(34,198,230,0));pointer-events:none}
.rate{position:relative;z-index:2;padding:28px 24px 26px;background:linear-gradient(180deg,rgba(34,198,230,.09),rgba(4,5,10,0));border:1px solid rgba(99,236,255,.20);min-width:0}
.rate .len{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);font-variation-settings:var(--w-lab)}
.rate .num{margin-top:10px;font-size:clamp(30px,3.6vw,46px);line-height:1;letter-spacing:-.02em;color:var(--cyan);font-variation-settings:"wdth" 124,"wght" 700}
.rate .num small{font-size:.4em;letter-spacing:.14em;color:var(--mut);display:block;margin-top:12px;font-variation-settings:"wdth" 108,"wght" 500}
.taxline{margin:22px 0 0;color:var(--dim);font-size:15px;max-width:66ch}

/* ---------- roster plates -------------------------------------------------- */
.roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.roster--strip{grid-template-columns:repeat(4,minmax(0,1fr))}
.woman{position:relative;min-width:0;margin:0;display:block}
.shot{display:block;position:relative;overflow:hidden;background:#0A0D14;aspect-ratio:3/4;border:1px solid rgba(160,180,195,.16)}
.shot img{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:grayscale(.50) contrast(1.06) saturate(.80)}
.shot .cool{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,92,116,.42),rgba(6,40,52,.10) 42%,rgba(4,5,10,.66));mix-blend-mode:multiply}
.shot .lift{position:absolute;left:0;right:0;top:0;height:52%;background:linear-gradient(180deg,rgba(99,236,255,.20),rgba(99,236,255,0));mix-blend-mode:screen}
.woman .nm{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-top:13px}
.woman .nm::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(99,236,255,.75),rgba(99,236,255,.10) 70%,rgba(99,236,255,0))}
.woman .nm b{font-size:18px;font-weight:400;font-variation-settings:var(--w-sub)}
.woman .nm span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);text-align:right;white-space:nowrap;font-variation-settings:"wdth" 104,"wght" 500}
.woman:hover .nm b{color:var(--cyan)}

/* ---------- the closing band ----------------------------------------------- */
.plate{position:relative;overflow:hidden;background:linear-gradient(180deg,#04050A,#070C14 46%,#04050A);border-top:1px solid rgba(99,236,255,.26);border-bottom:1px solid rgba(99,236,255,.26)}
.plate .wrap{position:relative;z-index:5;padding-top:clamp(52px,7vw,82px);padding-bottom:clamp(52px,7vw,82px);display:grid;grid-template-columns:1.18fr .82fr;gap:50px;align-items:center}
.plate .wrap > *{min-width:0}
.plate h2{max-width:16ch;margin-bottom:20px}
.plate p.say{max-width:46ch;color:var(--mut);margin:0}
.plate .actions{margin-top:30px}
.frame{position:relative;margin:0;height:520px;overflow:hidden;background:#05070C;border:1px solid rgba(99,236,255,.30)}
.frame img{width:100%;height:100%;object-fit:cover;object-position:center 26%;filter:grayscale(1) contrast(1.18) brightness(.96)}
.frame .tint{position:absolute;inset:0;opacity:.82;background:linear-gradient(190deg,#63ECFF,#0A5C74 68%,#062430);mix-blend-mode:color}
.frame .burn{position:absolute;inset:0;background:linear-gradient(180deg,rgba(99,236,255,.16),rgba(4,5,10,0) 34%,rgba(4,5,10,.52) 78%,rgba(4,5,10,.86));mix-blend-mode:multiply}
.frame .beam{position:absolute;left:-20%;right:-20%;bottom:16%;height:18px;border-radius:999px;filter:blur(13px);mix-blend-mode:screen;transform:rotate(-5deg);background:linear-gradient(90deg,rgba(99,236,255,0),rgba(99,236,255,.42) 40%,rgba(235,253,255,.62) 62%,rgba(99,236,255,0))}

/* ---------- area chips ----------------------------------------------------- */
.areas{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;padding:0;list-style:none}
.areas li{position:relative;padding:10px 16px 10px 18px;border:1px solid var(--line);border-left:2px solid rgba(99,236,255,.45);font-size:13.5px;letter-spacing:.07em;color:var(--mut);background:var(--bg-2)}
.areas li.key{border-color:rgba(99,236,255,.45);border-left-color:var(--cyan);color:var(--cyan)}

/* ---------- questions ------------------------------------------------------ */
.qs{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 46px}
.qs > div{min-width:0}
.qs h3{margin:0 0 7px;font-size:17.5px;font-variation-settings:var(--w-sub);color:var(--text)}
.qs p{margin:0;color:var(--mut);font-size:16px}
.qs a{color:var(--cyan);border-bottom:1px solid var(--line-2)}

/* ---------- prose, columns, index rows ------------------------------------- */
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:clamp(28px,4vw,56px);align-items:start}
.cols > *{min-width:0}
.prose{max-width:72ch}
.prose > * + *{margin-top:18px}
.prose p,.prose li{color:var(--mut);font-size:16.5px;line-height:1.8}
.prose .lede{color:var(--text);font-size:clamp(17px,1.4vw,19px);max-width:none}
.prose h2{margin-top:46px;font-size:clamp(23px,2.9vw,33px)}
.prose h3{margin-top:32px}
.prose > h2:first-child,.prose > h3:first-child{margin-top:0}
.prose a{color:var(--cyan);border-bottom:1px solid var(--line-2)}
.prose a:hover{color:#A5F5FF;border-bottom-color:var(--cyan)}
.prose strong{color:var(--text);font-weight:400;font-variation-settings:"wdth" 100,"wght" 650}
.prose ul,.prose ol{display:grid;gap:9px;padding-left:0}
.prose ul li{position:relative;padding-left:22px}
.prose ul li::before{content:"";position:absolute;left:0;top:.78em;width:10px;height:2px;border-radius:2px;background:var(--cyan)}
.prose ol{counter-reset:pl}
.prose ol li{position:relative;padding-left:34px;counter-increment:pl}
.prose ol li::before{content:counter(pl,decimal-leading-zero);position:absolute;left:0;top:.05em;font-size:13px;letter-spacing:.1em;color:var(--cyan);font-variation-settings:var(--w-lab)}
.prose table{margin-top:20px;font-size:15px}
.prose th,.prose td{padding:11px 10px 11px 0;border-bottom:1px solid var(--line);text-align:left;color:var(--mut);font-weight:400;vertical-align:top}
.prose th{color:var(--text);font-variation-settings:"wdth" 106,"wght" 600}
.prose blockquote{margin:24px 0;padding:2px 0 2px 18px;border-left:2px solid var(--cyan);color:var(--text)}

.facts-side{display:grid;gap:22px}
.spec{border-top:1px solid var(--line)}
.spec > div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
.spec dt,.spec .k{color:var(--dim);font-size:11px;letter-spacing:.16em;text-transform:uppercase;flex:none;font-variation-settings:var(--w-lab)}
.spec dd,.spec .v{color:var(--text);text-align:right;min-width:0;overflow-wrap:anywhere;margin:0}
.spec a{color:var(--cyan)}
.tags,.service-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tag{display:inline-block;padding:8px 13px;border:1px solid var(--line);border-left:2px solid rgba(99,236,255,.45);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);background:var(--bg-2)}
a.tag:hover{color:var(--cyan);border-left-color:var(--cyan)}

.index{display:grid;border-top:1px solid var(--line-2)}
.index li{border-bottom:1px solid var(--line);min-width:0}
.index a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 30px;align-items:baseline;padding:22px 0}
.index a:hover .index__t{color:var(--cyan)}
.index__t{font-size:clamp(19px,2.2vw,26px);line-height:1.2;font-variation-settings:var(--w-sub);color:var(--text)}
.index__d{grid-column:1;max-width:74ch;color:var(--mut);font-size:15.5px;line-height:1.65}
.index__m{grid-row:1;grid-column:2;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);white-space:nowrap;font-variation-settings:var(--w-lab)}

.ladder{width:100%;max-width:520px;font-size:15px}
.ladder th,.ladder td{padding:13px 0;border-bottom:1px solid var(--line);text-align:left;color:var(--mut);font-weight:400}
.ladder td{text-align:right;color:var(--cyan);font-variation-settings:"wdth" 116,"wght" 700;font-size:19px;white-space:nowrap}

/* ---------- carousel (profile photographs) --------------------------------- */
.carousel{position:relative;overflow:hidden;background:var(--bg-3);border:1px solid var(--line)}
.carousel-track{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-slide{flex:0 0 calc(25% - 5px);scroll-snap-align:start;aspect-ratio:3/4;background:var(--bg-3);overflow:hidden}
.carousel-slide img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.05) saturate(.85)}
.carousel-prev,.carousel-next{position:absolute;top:50%;margin-top:-22px;z-index:4;width:44px;height:44px;border:1px solid var(--line-2);border-radius:2px;background:rgba(4,5,10,.8);color:var(--text);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.carousel-prev{left:12px}
.carousel-next{right:12px}
.carousel-prev:hover,.carousel-next:hover{background:var(--cyan);color:var(--on-cyan);border-color:var(--cyan)}
.carousel-dots{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:3;pointer-events:none}
.carousel-dot{width:16px;height:2px;background:rgba(243,237,225,.35)}
.carousel-dot.active{background:var(--cyan)}

/* ============================================================================
   SHARED-TEMPLATE COMPATIBILITY LAYER
   The inherited pages (faq, about, contact, booking, glossary, legal and 404)
   render markup this theme does not own. These rules give it the same voice.
   ============================================================================ */
.container{max-width:var(--max);margin:0 auto;padding:0 var(--g);width:100%}
.reading{max-width:var(--reading)}
.reading.container{max-width:calc(var(--reading) + 2 * var(--g));padding-inline:var(--g)}
.hero{position:relative;overflow:hidden;padding:clamp(40px,6vw,64px) 0 clamp(34px,5vw,52px);border-bottom:1px solid var(--line);background:
  radial-gradient(110% 100% at 74% 30%,rgba(10,92,116,.32) 0%,rgba(4,5,10,0) 64%),
  linear-gradient(180deg,#04050A 0%,#070A12 60%,#04050A 100%)}
/* The gutter sits on the children, not on the section, so an inherited hero
   starts its text on the same left edge as .wrap does on the theme's own
   pages. The heading keeps its short measure but is NOT centred: with
   margin-inline:auto on both sides a 20ch h1 drifted to the middle of the
   page while its own label and lede stayed left, which read as a mistake on
   /about/, /booking/, /terms/ and every glossary page. */
.hero > *{max-width:var(--max);margin-inline:auto;padding-inline:var(--g)}
.hero h1{max-width:calc(20ch + 2 * var(--g));margin-inline:max(0px,(100% - var(--max))/2) auto;font-size:clamp(32px,4.4vw,56px)}
.hero .label-top{margin-bottom:14px;color:var(--cyan)}
.hero .lede{margin-top:18px}
section > .container{padding-top:var(--pad)}
section:last-of-type > .container{padding-bottom:var(--pad)}
.reading p{margin-top:16px;color:var(--mut);line-height:1.8}
.reading h2{margin-top:44px;font-size:clamp(23px,2.9vw,33px)}
.reading h3{margin-top:32px}
.reading a:not(.btn){color:var(--cyan);border-bottom:1px solid var(--line-2)}
.reading a:not(.btn):hover{color:#A5F5FF;border-bottom-color:var(--cyan)}
.reading ul,.reading ol{margin-top:16px;display:grid;gap:9px}
.reading ul li{position:relative;padding-left:22px;color:var(--mut)}
.reading ul li::before{content:"";position:absolute;left:0;top:.78em;width:10px;height:2px;border-radius:2px;background:var(--cyan)}
/* 404: that list is a column of ruled links, not a bullet list. It sets
   list-style:none and its own per-item padding inline, which beats the
   padding-left the dash marker needs, so the dash landed on the first word.
   No other inherited list declares list-style:none. */
.reading ul[style*="list-style:none"] li{padding-left:0}
.reading ul[style*="list-style:none"] li::before{content:none}
.reading ol{list-style:decimal;padding-left:22px;color:var(--mut)}
.reading ol li{padding-left:6px}
.reading table{margin-top:20px;font-size:15px}
.reading th,.reading td{padding:11px 10px 11px 0;border-bottom:1px solid var(--line);text-align:left;color:var(--mut);font-weight:400;vertical-align:top}
.reading th{color:var(--text);font-variation-settings:"wdth" 106,"wght" 600}
.reading dl{margin-top:16px}
.reading dt{margin-top:18px;color:var(--text);font-variation-settings:"wdth" 106,"wght" 600}
.reading dd{margin:6px 0 0;color:var(--mut)}

.t-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.t-grid > *{min-width:0}
.t-card{position:relative;display:block;min-width:0}
.t-card .photo{position:relative;aspect-ratio:3/4;overflow:hidden;background:#0A0D14;border:1px solid rgba(160,180,195,.16)}
.t-card .photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:grayscale(.50) contrast(1.06) saturate(.80)}
.t-card .name{position:relative;padding-top:13px;font-size:18px;font-variation-settings:var(--w-sub);color:var(--text)}
.t-card .name::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(99,236,255,.75),rgba(99,236,255,.10) 70%,rgba(99,236,255,0))}
.t-card:hover .name{color:var(--cyan)}
.t-card .meta{padding-top:3px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);font-variation-settings:"wdth" 104,"wght" 500}

.s-grid,.grid--cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.s-grid > *,.grid--cards > *{min-width:0}
.s-card,.card{position:relative;display:block;background:var(--bg-2);padding:26px 24px 26px}
.s-card::before,.card::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,rgba(99,236,255,.85),rgba(99,236,255,.12) 62%,rgba(99,236,255,0))}
.s-card .num,.card__num{display:block;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan-2);font-variation-settings:var(--w-lab)}
.s-card .nm,.card__name{display:block;margin:10px 0 8px;font-size:21px;line-height:1.25;font-variation-settings:var(--w-sub);color:var(--text)}
a.s-card:hover .nm,a.card:hover .card__name{color:var(--cyan)}
.s-card .ds,.card__meta{display:block;font-size:15.5px;line-height:1.65;color:var(--mut)}

.grid--people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.grid--people > *{min-width:0}
.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.strip > *{min-width:0}
.person{display:block;min-width:0}
.person__img{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:#0A0D14;border:1px solid rgba(160,180,195,.16)}
.person__img img{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:grayscale(.50) contrast(1.06) saturate(.80)}
.person__name{position:relative;display:block;padding-top:13px;font-size:18px;font-variation-settings:var(--w-sub);color:var(--text)}
.person__name::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(99,236,255,.75),rgba(99,236,255,.10) 70%,rgba(99,236,255,0))}
.person:hover .person__name{color:var(--cyan)}
.person__meta{display:block;padding-top:3px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}

.linklist{display:grid;gap:0;border-top:1px solid var(--line)}
.linklist li{border-bottom:1px solid var(--line)}
.linklist a{display:block;padding:14px 0;color:var(--mut);font-size:16px}
.linklist a:hover{color:var(--cyan)}
.linklist--inline{display:flex;flex-wrap:wrap;gap:10px;border:0}
.linklist--inline li{border:0}
.linklist--inline a{padding:10px 16px;border:1px solid var(--line);border-left:2px solid rgba(99,236,255,.45);background:var(--bg-2);font-size:13.5px}

.price-table,.stats-table,.rates-table{width:100%;font-size:15px}
.price-table td,.stats-table td,.rates-table td{padding:13px 0;border-bottom:1px solid var(--line);vertical-align:baseline;color:var(--mut)}
.price-table td:last-child,.stats-table td:last-child,.rates-table td:last-child{text-align:right;color:var(--cyan);font-variant-numeric:tabular-nums;font-variation-settings:"wdth" 116,"wght" 700}
.tab-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.tab-btn{padding:10px 16px;border:1px solid var(--line);background:transparent;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);cursor:pointer;border-radius:2px}
.tab-btn.active{background:var(--cyan);color:var(--on-cyan);border-color:var(--cyan)}
.tab-panel{display:none}
.tab-panel.active{display:block}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.gallery-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--bg-3)}
.like-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.like-grid > *{min-width:0}
.like-card{display:block;min-width:0}
.like-photo{position:relative;aspect-ratio:3/4;background:#0A0D14;overflow:hidden;border:1px solid rgba(160,180,195,.16)}
.like-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.50) contrast(1.06) saturate(.80)}
.like-name{padding-top:11px;color:var(--text);font-variation-settings:var(--w-sub)}
.like-meta{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}
.book-banner{background:var(--bg-2);padding:18px var(--g);border-bottom:1px solid var(--line)}
.book-banner p{color:var(--mut);max-width:var(--max);margin-inline:auto}
.book-banner a{color:var(--cyan);border-bottom:1px solid var(--line-2)}
.journal-list{display:grid;border-top:1px solid var(--line-2)}
.journal-item{display:block;border-bottom:1px solid var(--line);padding:20px 0}
.journal-item .date{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.journal-item h3{margin:8px 0 4px}
.journal-item:hover h3{color:var(--cyan)}
.journal-item .lede{font-size:15.5px;max-width:74ch;margin-top:4px}
.form-row{margin-top:20px}
.form-row label{display:block;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-variation-settings:var(--w-lab)}
.form-row select,.form-row input{width:100%;max-width:100%;margin-top:9px;padding:14px 16px;border:1px solid var(--line);border-radius:2px;background:var(--bg-2);font:400 16px/1.3 var(--sans);color:var(--text)}
.form-row select:focus,.form-row input:focus{outline:2px solid var(--cyan);outline-offset:1px}
.faq details,details.qa{border-bottom:1px solid var(--line)}
.faq summary,details.qa summary{padding:16px 0;cursor:pointer;color:var(--text);font-size:17px}
.faq summary:hover,details.qa summary:hover{color:var(--cyan)}
.faq .a p,details.qa .ans p{padding:0 0 16px;color:var(--mut)}
.no-save,.no-save img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.no-save img{-webkit-user-drag:none}

/* ---------- build-injected breadcrumbs + related pages --------------------- */
nav.crumbs{position:relative;z-index:3;max-width:var(--max);margin:0 auto;padding:16px var(--g) 0;font-size:11px;line-height:1.6;letter-spacing:.18em;text-transform:uppercase;font-variation-settings:var(--w-lab)}
nav.crumbs ol{opacity:1;gap:0 10px}
nav.crumbs li{color:var(--dim);gap:10px}
nav.crumbs li + li::before{content:"";width:10px;height:1px;background:var(--cyan);opacity:1}
nav.crumbs a{color:var(--mut);border-bottom:1px solid transparent}
nav.crumbs a:hover{color:var(--cyan)}
nav.crumbs [aria-current]{opacity:1;color:var(--text)}
aside.seo-related{max-width:none;margin:0;padding:clamp(34px,5vw,54px) var(--g);background:var(--bg-2);border-top:1px solid var(--line)}
aside.seo-related .seo-related__in{max-width:var(--max);margin:0 auto;border-top:1px solid var(--line-2);padding-top:22px}
aside.seo-related .seo-related__h{margin:0 0 16px;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan-2);opacity:1;font-variation-settings:var(--w-lab)}
aside.seo-related ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 34px}
aside.seo-related li{min-width:0}
aside.seo-related a{color:var(--mut);border-bottom:1px solid var(--line);font-size:15.5px;padding:10px 0}
aside.seo-related a:hover{opacity:1;color:var(--cyan)}

/* ---------- footer --------------------------------------------------------- */
.site-footer{background:var(--bg-deep);border-top:1px solid rgba(160,180,195,.14)}
.site-footer__in{max-width:var(--max);margin-inline:auto;padding:clamp(38px,5vw,54px) var(--g) 0;display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:30px}
.site-footer__in > *{min-width:0}
.site-footer__h{margin:0 0 14px;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan-2);font-variation-settings:var(--w-lab)}
.site-footer p{margin:0 0 10px;font-size:14px;color:var(--dim);max-width:46ch}
.site-footer ul{display:grid;gap:9px;font-size:14px;color:var(--mut)}
.site-footer a:hover{color:var(--cyan)}
.site-footer .wrap-any{overflow-wrap:anywhere}
.site-footer__legal{max-width:var(--max);margin-inline:auto;padding:22px var(--g) 30px;margin-top:34px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-variation-settings:"wdth" 104,"wght" 500}
.age21,.fchip{display:inline-block;padding:7px 14px;border:1px solid rgba(160,180,195,.3);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}

/* ---------- mobile dock ---------------------------------------------------- */
.m-dock{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:10px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:rgba(3,4,10,.96);border-top:1px solid rgba(99,236,255,.34)}
.m-dock a{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:9px;padding:15px 10px;border-radius:2px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-variation-settings:"wdth" 110,"wght" 700;-webkit-tap-highlight-color:transparent}
.m-dock svg{width:18px;height:18px;fill:currentColor;flex:none}
.m-dock__wa{background:var(--cyan);color:var(--on-cyan)}
.m-dock__tg,.m-dock__alt,.m-dock__bk{border:1px solid rgba(160,180,195,.42);color:var(--text)}

/* ---------- 21+ confirmation bar ------------------------------------------- */
.age-bar{position:fixed;left:0;right:0;bottom:0;z-index:120;display:none;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 18px;padding:14px var(--g) calc(14px + env(safe-area-inset-bottom));background:rgba(2,3,6,.97);border-top:1px solid var(--cyan)}
body.age-bar-open .age-bar{display:flex}
body.age-bar-open .m-dock{display:none}
body.age-confirmed .age-bar{display:none}
.age-bar__txt,.ab-line{flex:0 1 auto;min-width:0;font-size:13px;line-height:1.5;color:var(--mut);text-align:center}
.age-bar__txt b,.ab-tag{color:var(--cyan);font-weight:400;font-variation-settings:"wdth" 108,"wght" 700;letter-spacing:.1em}
.age-bar__ok,.ab-ok,.age-bar button{flex:none;padding:13px 20px;border:0;border-radius:2px;cursor:pointer;background:var(--cyan);color:var(--on-cyan);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-variation-settings:"wdth" 110,"wght" 700}
.age-bar__ok:hover,.ab-ok:hover,.age-bar button:hover{background:#A5F5FF}

/* ---------- profile rates table (partials/rates.mustache) ------------------ */
.rates-card{width:100%;max-width:640px;padding:clamp(22px,3vw,32px);background:linear-gradient(180deg,rgba(34,198,230,.09),rgba(4,5,10,0));border:1px solid rgba(99,236,255,.20)}
.rates-card__title{margin:0;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan-2);font-variation-settings:var(--w-lab)}
.rates-card__table{width:100%;table-layout:fixed;margin-top:20px}
.rates-card__table caption{caption-side:top;text-align:left;padding:0 0 8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-variation-settings:var(--w-lab)}
.rates-card__table th,.rates-card__table td{padding:10px 0;border-bottom:1px solid var(--line);font-weight:400;vertical-align:baseline}
.rates-card__table thead th{padding-top:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-align:right;color:var(--dim)}
.rates-card__table thead th:first-child{width:42%;text-align:left}
.rates-card__table tbody th{text-align:left;font-size:15px;line-height:1.3;padding-right:8px;color:var(--mut)}
.rates-card__table td{text-align:right;white-space:nowrap;font-size:19px;color:var(--cyan);font-variation-settings:"wdth" 116,"wght" 700}
.rates-card__table tbody tr:last-child th,.rates-card__table tbody tr:last-child td{border-bottom:0}
.rates-card__extra td{color:var(--mut)}
.rates-card__terms{margin:18px 0 0;font-size:14px}
.rates-card__terms a{color:var(--cyan);border-bottom:1px solid var(--line-2)}
.rates-card__sr,.rates-card .sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- profile line (partials/independence.mustache) ------------------ */
.prose .independence,.independence{font-size:15px;color:var(--dim)}
.prose .independence a,.independence a{color:inherit;text-decoration:underline;text-underline-offset:2px;border-bottom:0}

/* ============================================================================
   RESPONSIVE
   ============================================================================ */
@media (max-width:1040px){
  .roster,.t-grid,.grid--people,.strip,.roster--strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rates{grid-template-columns:repeat(2,1fr)}
  .like-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .carousel-slide{flex-basis:calc(33.333% - 4px)}
  .grid3{grid-template-columns:1fr}
  .trow{grid-template-columns:2px 1fr;gap:18px}
  .trow p{grid-column:2}
  .cols{grid-template-columns:minmax(0,1fr)}
  .site-footer__in{grid-template-columns:1fr 1fr}
  aside.seo-related ul{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .plate .wrap{grid-template-columns:1fr;gap:34px}
  .frame{height:420px;order:-1}
  .site-header .inner{flex-wrap:wrap;row-gap:14px;gap:16px}
  .logo,.brand{flex:1 1 140px}
  .site-header nav{order:3;flex-basis:100%;display:none}
  .site-header nav.open{display:flex;flex-direction:column;gap:0}
  .site-header nav.open a{padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
  .nav-toggle{display:flex}
  .qs{grid-template-columns:1fr}
  .s-grid,.grid--cards{grid-template-columns:1fr 1fr}
  .index a{grid-template-columns:minmax(0,1fr)}
  .index__m{grid-row:auto;grid-column:1}
}
@media (max-width:760px){
  body{padding-bottom:88px}
  .m-dock{display:flex}
  .site-footer__legal{padding-bottom:26px}
  .roster,.t-grid,.grid--people,.strip,.roster--strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .like-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .carousel-slide{flex-basis:calc(50% - 3px)}
  .site-footer__in{grid-template-columns:1fr}
  aside.seo-related ul{grid-template-columns:1fr}
  .header-cta{display:none}
}
@media (max-width:560px){
  body{font-size:16px}
  .logo,.brand{font-size:13px;letter-spacing:.13em}
  .logo i,.brand i{width:28px;height:5px}
  .facts{display:grid;grid-template-columns:1fr 1fr}
  .fact{padding:13px 14px 13px 0;margin:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .fact:nth-child(2n){border-right:0;padding-left:16px}
  .fact:nth-child(n+3){border-bottom:0;padding-bottom:0}
  .fact dd{font-size:21px}
  .ctas,.actions{gap:10px;flex-direction:column;align-items:stretch}
  .ctas .btn,.ctas .cta,.actions .btn,.actions .cta{justify-content:center;width:100%}
  h1{font-size:clamp(30px,8.4vw,42px)}
  .lt-hero .wrap{padding-top:44px;padding-bottom:58px}
  .rates{grid-template-columns:1fr;gap:14px}
  .s-grid,.grid--cards{grid-template-columns:1fr}
  .roster,.t-grid,.grid--people,.strip,.roster--strip{gap:14px}
  .woman .nm,.qs{display:block}
  .woman .nm span{display:block;text-align:left;white-space:normal;padding-top:2px}
  .qs > div + div{margin-top:26px}
  .sec{padding-top:44px}
}

/* ---- injected by build: breadcrumbs + related pages ---- */
.crumbs{position:relative;z-index:3;max-width:var(--max,1200px);margin:0 auto;padding:14px clamp(18px,4vw,40px) 0;font-size:12.5px;line-height:1.5;letter-spacing:.02em}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;opacity:.72}
.crumbs li{display:inline-flex;align-items:center;gap:8px;min-width:0}
.crumbs li+li::before{content:"/";opacity:.5}
.crumbs a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.crumbs a:hover{border-bottom-color:currentColor}
.crumbs [aria-current]{opacity:.85;overflow-wrap:anywhere}
.seo-related{position:relative;z-index:3;max-width:var(--max,1200px);margin:0 auto;padding:clamp(28px,4vw,48px) clamp(18px,4vw,40px)}
.seo-related__in{border-top:1px solid rgba(128,128,128,.28);padding-top:22px}
.seo-related__h{margin:0 0 14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.seo-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px 28px}
.seo-related a{color:inherit;text-decoration:none;display:block;padding:6px 0;border-bottom:1px solid rgba(128,128,128,.16);font-size:15px;line-height:1.4}
.seo-related a:hover{opacity:.75}
