/* === Self-hosted fonts (latin subset) ===
   Fraunces, the variable cut (opsz 9-144, wght 300-900), carries every headline
   and every figure; Manrope, variable 200-800, carries everything a reader reads
   in sentences. Both are served from this site, so no page asks a font host for
   anything. The build rewrites this run from theme.fonts.faces in
   sites/schipholhotelmassage.json; what stands here is what it emits. */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('/fonts/doorway/fraunces-normal-300-900.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;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/fonts/doorway/manrope-normal-200-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;
}

/* ============================================================================
   SCHIPHOL HOTEL ROOM MASSAGE, theme "doorway"
   A dark room with one door open in it. Everything the page wants you to read
   sits inside the wedge of warm light that falls through that doorway: a skewed
   slab of amber with a bright edge down its left side, dark ink type standing on
   it, and a photograph half swallowed by the glare. Away from the wedge the page
   is the room itself, near-black and warm, with hairline rules and small amber
   plaques where a heading would otherwise be.

   Nothing on this site moves. There is no keyframe block, no timed property, no
   scripted timer, no scroll or intersection listener and no drawn scene: the
   light is a gradient, the room is flat colour, and every picture is a
   photograph. Hover changes a colour at once.

   Two jobs in one file:
     1. the theme's own design (the doorway stage, the ledge of facts, heading
        plaques, roster plates, technique columns, step columns,
        area chips, the closing wedge)
     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{
  /* the room ------------------------------------------------------------- */
  --bg:        #0B0704;
  --bg-2:      #120C07;
  --bg-3:      #180F08;
  --bg-deep:   #070402;
  --line:      rgba(255,241,222,0.14);
  --line-2:    rgba(255,169,46,0.34);

  /* the light ------------------------------------------------------------ */
  --amber:     #FFA92E;
  --amber-hi:  #FFD89C;
  --amber-lo:  #E2861A;
  --amber-deep:#C2700F;
  --on-amber:  #1A0E04;
  --slab-1:    #FFDFA8;
  --slab-2:    #FFC257;
  --slab-3:    #FFA92E;
  --slab-4:    #E2861A;
  --on-slab:   #2A1808;

  /* ink ------------------------------------------------------------------ */
  --text:      #FFF1DE;
  --mut:       #D6BF9F;
  --dim:       #9C866A;

  /* aliases: the inherited shared templates carry inline styles naming these
     tokens, and the artwork generator reads the same names */
  --ink:       #FFF1DE;
  --muted:     #D6BF9F;
  --faint:     #9C866A;
  --rule:      rgba(255,241,222,0.14);
  --hair:      rgba(255,241,222,0.14);
  --cloud:     #0B0704;
  --sky-1:     #180F08;
  --sky-2:     #120C07;
  --sky-3:     #0B0704;
  --gold:      #FFA92E;
  --white:     #FFF1DE;
  --white-rgb: 255,241,222;
  --header-bg: rgba(11,7,4,0.92);
  --wa:        #25D366;
  --wa-dark:   #1ea857;

  /* type ------------------------------------------------------------------ */
  --sans:  'Manrope', 'Segoe UI', system-ui, Helvetica, Arial, sans-serif;
  --serif: 'Fraunces', 'Manrope', Georgia, 'Times New Roman', serif;

  /* measure --------------------------------------------------------------- */
  --max:     1420px;
  --reading: 720px;
  --g:       clamp(18px,4.2vw,64px);
  --pad:     clamp(3.2rem,7vw,6.5rem);
}

/* derived, out of reach of the per-site palette substitution */
:root{
  --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.64 var(--sans);
  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:3px solid var(--amber);outline-offset:3px}
::selection{background:var(--amber);color:var(--on-amber)}
[id]{scroll-margin-top:96px}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px}
.skip:focus{left:14px;top:14px;z-index:130;background:var(--amber);color:var(--on-amber);padding:10px 16px;font-weight:700;border-radius:2px}

/* 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-family:var(--serif);font-weight:900;letter-spacing:-.02em;line-height:.98;color:var(--text)}
h1{font-size:clamp(38px,5.4vw,74px);line-height:.94}
h2{font-size:clamp(26px,3.5vw,44px);line-height:1.02}
h3{font-family:var(--serif);font-weight:700;font-size:clamp(19px,1.8vw,23px);line-height:1.18;color:var(--text)}
h4,h5{font-family:var(--serif);font-weight:700;font-size:17px;line-height:1.3;color:var(--text)}
h1 em,h2 em,h1 i,h2 i{font-style:normal;color:var(--amber)}

/* ---------- 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));margin-inline:max(0px,(100% - var(--max))/2) auto}
.kick,.label,.label-top{display:block;font-size:11.5px;line-height:1.5;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-weight:700}
.kick b,.label b{color:var(--amber);font-weight:700}
.eyebrow{margin:0 0 18px;font-family:var(--serif);font-weight:700;font-size:12.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber)}
.lede{max-width:54ch;color:var(--mut);font-size:clamp(16.5px,1.3vw,19px);line-height:1.62}
.lede b,.lede strong{color:var(--text);font-weight:700}
.note{max-width:58ch;color:var(--mut);margin:0}
.note a,.more a{color:var(--amber);border-bottom:1px solid var(--line-2)}
.note a:hover,.more a:hover{color:var(--amber-hi);border-bottom-color:var(--amber)}
.sec{position:relative;overflow:hidden;padding:var(--pad) 0 0;border-top:1px solid var(--line)}
.sec::before{
  content:"";position:absolute;left:0;top:0;width:min(820px,76%);height:clamp(200px,26vw,340px);
  background:radial-gradient(58% 100% at 16% 0%,rgba(255,158,44,.17),rgba(255,158,44,0) 74%);
  pointer-events:none;
}
.sec > .wrap{position:relative;z-index:2}
.sec--pad{padding-bottom:var(--pad)}
.sec--alt{background:var(--bg-2)}
.sec--plain{border-top:0}
.sec--plain::before{content:none}
.more{margin:26px 0 0;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:700}

/* the heading plaque: a small door of light with the number on its sill */
.plate{
  display:inline-flex;align-items:baseline;gap:clamp(10px,1.4vw,18px);
  background:linear-gradient(101deg,var(--slab-1),#FFB33C 58%,#EE9420);
  clip-path:polygon(2.4% 0,100% 0,97.6% 100%,0 100%);
  color:var(--on-amber);
  padding:clamp(9px,1.1vw,14px) clamp(20px,2.2vw,32px) clamp(11px,1.3vw,17px);
  box-shadow:0 0 110px 10px rgba(255,150,40,.26);
  max-width:100%;
}
.plate .no{font-family:var(--sans);font-weight:700;font-size:.7rem;letter-spacing:.2em;flex:none}
.plate h1,.plate h2{color:var(--on-amber);font-size:clamp(1.48rem,3.6vw,2.86rem);line-height:1;letter-spacing:-.018em;min-width:0}
.plate + .standfirst{margin-top:clamp(18px,2.4vw,28px)}
.standfirst{color:var(--mut);max-width:58ch;margin:0 0 clamp(26px,3.4vw,44px);font-size:clamp(16px,1.15vw,17.5px);line-height:1.62}
.standfirst a{color:var(--amber);border-bottom:1px solid var(--line-2)}
.sechead{margin-bottom:clamp(26px,3.4vw,44px)}
.sechead .plate{margin-bottom:0}

/* ---------- buttons -------------------------------------------------------- */
.btn,.cta{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:54px;padding:14px 24px;cursor:pointer;text-align:center;
  font-size:15.5px;line-height:1.1;font-weight:700;letter-spacing:.01em;
  border:2px solid var(--amber);border-radius:2px;
  background:var(--amber);color:var(--on-amber);
}
.btn svg,.cta svg{width:20px;height:20px;fill:currentColor;flex:none}
.btn:hover,.cta:hover{background:var(--amber-hi);border-color:var(--amber-hi)}
.btn--gh,.btn-ghost,.cta--ghost,.btn--b{background:transparent;color:var(--amber)}
.btn--gh:hover,.btn-ghost:hover,.cta--ghost:hover,.btn--b:hover{background:rgba(255,169,46,.14);border-color:var(--amber)}
.btn-primary{background:var(--amber);color:var(--on-amber)}
.ctas,.actions,.acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:26px 0 0}
.ctas .mail,.actions .mail{flex-basis:100%;font-size:13.5px;color:var(--dim);overflow-wrap:anywhere}
.wrap-any{overflow-wrap:anywhere}

/* ---------- the thin bar, and the header under it -------------------------- */
.bar{position:relative;z-index:8;border-bottom:1px solid var(--line);background:var(--bg)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding-block:8px}
.bar .id{font-family:var(--serif);font-weight:700;font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.bar .age{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);font-weight:700;white-space:nowrap}

.site-header{position:relative;z-index:7;background:var(--header-bg);border-bottom:1px solid var(--line)}
.site-header .inner{max-width:var(--max);margin-inline:auto;padding:16px var(--g);display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-header .inner > *{min-width:0}
.logo,.brand{display:inline-flex;align-items:center;gap:11px;min-width:0;font-family:var(--serif);font-weight:900;font-size:16px;letter-spacing:.04em;color:var(--text)}
.logo i,.brand i{width:12px;height:26px;flex:none;background:linear-gradient(180deg,#FFF8EA,var(--amber) 62%,var(--amber-lo));clip-path:polygon(28% 0,100% 0,72% 100%,0 100%)}
.site-header nav{display:flex;flex-wrap:wrap;gap:clamp(12px,1.5vw,26px)}
.site-header nav a{font-size:13px;letter-spacing:.11em;text-transform:uppercase;color:var(--mut);font-weight:600;white-space:nowrap}
.site-header nav a:hover{color:var(--amber)}
.header-cta{display:flex;gap:10px;flex:none}
.site-header .cta{min-height:0;padding:11px 16px;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
.site-header .cta svg{width:16px;height:16px}
.nav-toggle{display:none;align-items:center;justify-content:center;min-width:48px;height:44px;padding:0 12px;background:none;border:1px solid var(--line-2);border-radius:2px;cursor:pointer;flex:none;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text);font-weight:700}

/* ---------- the doorway (home) --------------------------------------------- */
.room{display:grid;grid-template-rows:1fr auto;background:var(--bg)}
.stage{position:relative;overflow:hidden;isolation:isolate;min-height:clamp(560px,74vh,780px);background:var(--bg)}
.stage::after{
  content:"";position:absolute;inset:0;z-index:4;pointer-events:none;
  background:radial-gradient(130% 92% at 34% 44%,rgba(11,7,4,0) 36%,rgba(11,7,4,.5) 100%);
}
.bloom{
  position:absolute;z-index:1;left:-4%;top:-14%;width:82%;height:128%;
  background:linear-gradient(100deg,rgba(255,216,156,.5),rgba(255,140,30,.42) 60%,rgba(190,88,10,.2));
  clip-path:polygon(13% 0,100% 0,87% 100%,0 100%);
  filter:blur(64px);
}
.slab{
  position:absolute;z-index:2;left:2%;top:0;width:70%;height:100%;
  clip-path:polygon(11% 0,100% 0,89% 100%,0 100%);
  background:
    linear-gradient(180deg,rgba(255,244,224,.34) 0%,rgba(255,244,224,0) 26%),
    linear-gradient(180deg,rgba(11,7,4,0) 56%,rgba(11,7,4,.42) 100%),
    linear-gradient(101deg,var(--slab-1) 0%,var(--slab-2) 30%,var(--slab-3) 62%,var(--slab-4) 100%);
}
.jamb{
  position:absolute;z-index:3;left:2%;top:0;width:70%;height:100%;
  clip-path:polygon(11% 0,12.5% 0,1.5% 100%,0 100%);
  background:linear-gradient(180deg,#FFF8EA,#FFE0A8 70%,#FFC061);
}
.dust{
  position:absolute;z-index:3;left:2%;top:0;width:70%;height:100%;
  clip-path:polygon(11% 0,100% 0,89% 100%,0 100%);
  background:repeating-linear-gradient(101deg,rgba(255,255,255,.07) 0 2px,rgba(0,0,0,0) 2px 7px);
  mix-blend-mode:soft-light;
  opacity:.6;
}
.figure{
  position:absolute;z-index:3;right:26%;bottom:0;
  width:clamp(168px,18.5vw,300px);height:94%;
  object-fit:cover;object-position:48% 38%;
  filter:grayscale(1) brightness(1.26) contrast(2.15);
  mix-blend-mode:multiply;
  -webkit-mask-image:linear-gradient(to right,#000 0 74%,rgba(0,0,0,0) 99%);
  mask-image:linear-gradient(to right,#000 0 74%,rgba(0,0,0,0) 99%);
}
.lede-block{position:absolute;z-index:3;left:calc(var(--g) + 1.5%);top:clamp(30px,6vh,78px);width:min(47%,620px)}
.mark{
  font-family:var(--serif);font-weight:700;
  color:var(--on-amber);font-size:clamp(.72rem,1.05vw,.94rem);
  letter-spacing:.3em;text-transform:uppercase;margin:0 0 clamp(14px,2.4vh,26px);
}
.lede-block h1{
  color:var(--on-amber);
  font-size:clamp(2.05rem,4.5vw,4.4rem);line-height:.94;letter-spacing:-.024em;
}
.lede-block .lede{
  color:var(--on-slab);max-width:32ch;margin-top:clamp(16px,2.6vh,30px);
  font-size:clamp(.98rem,1.18vw,1.14rem);font-weight:600;line-height:1.48;
}

/* the dark ledge under the light */
.ledge{position:relative;z-index:5;background:var(--bg);border-top:1px solid var(--line-2);padding:clamp(20px,3vw,34px) 0 clamp(22px,3vw,36px)}
.ledge .wrap{display:grid;grid-template-columns:repeat(2,auto) 1fr;gap:clamp(18px,3vw,48px);align-items:end}
.ledge .wrap > *{min-width:0}
.fact .k{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-weight:700;margin-bottom:6px}
.fact .v{font-family:var(--serif);font-weight:900;font-size:clamp(1.4rem,2.4vw,2.2rem);line-height:1;color:var(--amber)}
.fact .v small{display:block;font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.02em;color:var(--mut);margin-top:7px;line-height:1.4}
.ledge .acts{justify-self:end;margin:0}

/* ---------- page head (every inner page this theme owns) ------------------- */
.phead{position:relative;overflow:hidden;border-bottom:1px solid var(--line-2);background:var(--bg)}
.phead::before{
  content:"";position:absolute;left:0;top:0;width:min(900px,80%);height:100%;z-index:0;
  background:linear-gradient(101deg,rgba(255,196,110,.20),rgba(255,140,30,.13) 52%,rgba(255,140,30,0) 92%);
  clip-path:polygon(9% 0,100% 0,91% 100%,0 100%);
  pointer-events:none;
}
.phead::after{
  content:"";position:absolute;left:0;top:0;width:min(900px,80%);height:100%;z-index:1;
  clip-path:polygon(9% 0,10.1% 0,1.1% 100%,0 100%);
  background:linear-gradient(180deg,#FFF8EA,var(--amber) 72%,var(--amber-lo));
  pointer-events:none;
}
.phead .wrap{position:relative;z-index:3;padding-top:clamp(40px,6vw,66px);padding-bottom:clamp(36px,5vw,58px)}
.phead h1{max-width:19ch;margin:0 0 20px;font-size:clamp(33px,4.6vw,60px)}
.phead .lede{margin:0}
.phead .actions{margin-top:26px}

/* ---------- technique columns ---------------------------------------------- */
.tech{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3.2vw,56px);list-style:none}
.tech > *{min-width:0}
.tech li{border-top:1px solid var(--line);padding:18px 0 20px}
.tech h3{font-size:1.32rem;line-height:1.1;margin-bottom:7px;color:var(--text)}
a.tech-row:hover h3{color:var(--amber)}
.tech p{font-size:.95rem;color:var(--mut);line-height:1.55}
.tech .len{display:block;margin-top:7px;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);font-weight:700}

/* ---------- roster plates --------------------------------------------------- */
.roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.9vw,26px);list-style:none}
.roster > *{min-width:0;display:grid}
.woman{display:block;min-width:0;margin:0;background:var(--bg-3);border:1px solid var(--line)}
.woman .shot{display:block;position:relative;overflow:hidden;background:var(--bg-3);aspect-ratio:3/4}
.woman .shot img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.woman .nm{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:13px 14px 16px}
.woman .nm b{font-family:var(--serif);font-weight:700;font-size:1.18rem;letter-spacing:.005em}
.woman .nm span{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:700;text-align:right}
a.woman:hover{border-color:var(--line-2)}
a.woman:hover .nm b{color:var(--amber)}

/* ---------- small print columns ---------------------------------------------- */
.smallprint{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,40px);margin-top:clamp(28px,3.6vw,48px);border-top:1px solid var(--line);padding-top:clamp(20px,2.4vw,30px)}
.smallprint > *{min-width:0}
.smallprint p{font-size:.95rem;color:var(--mut);max-width:44ch;line-height:1.6}
.smallprint a{color:var(--amber);border-bottom:1px solid var(--line-2)}

/* ---------- step columns ---------------------------------------------------- */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.6vw,40px);list-style:none}
.steps > *{min-width:0}
.steps li{border-top:1px solid var(--line-2);padding-top:16px}
.steps h3{font-size:1.24rem;margin-bottom:7px}
.steps p{font-size:.95rem;color:var(--mut);line-height:1.55}

/* ---------- area chips ------------------------------------------------------ */
.places,.areas{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0}
.places li,.areas li{border:1px solid var(--line-2);color:var(--mut);padding:9px 16px;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.areas li.key{color:var(--amber)}

/* ---------- the closing wedge ----------------------------------------------- */
.close{position:relative;overflow:hidden;background:var(--bg-2);border-top:1px solid var(--line-2)}
.close::before{
  content:"";position:absolute;left:0;top:0;width:min(560px,52%);height:100%;
  background:linear-gradient(101deg,rgba(255,196,110,.14),rgba(255,140,30,0) 86%);
  clip-path:polygon(14% 0,100% 0,86% 100%,0 100%);pointer-events:none;
}
.close .wrap{position:relative;z-index:2;padding-top:clamp(48px,6.4vw,92px);padding-bottom:clamp(48px,6.4vw,92px)}
.close h2{font-size:clamp(2rem,4.8vw,3.9rem);line-height:.98;letter-spacing:-.02em;max-width:19ch}
.close .actions{margin:clamp(24px,3vw,38px) 0 clamp(16px,2vw,22px)}
.close .fineline{color:var(--dim);font-size:.92rem;max-width:58ch;margin:0}
.close .fineline a{color:var(--amber);border-bottom:1px solid var(--line-2)}

/* ---------- questions -------------------------------------------------------- */
.qs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px clamp(26px,3.4vw,52px)}
.qs > div{min-width:0}
.qs h3{margin:0 0 7px;font-size:1.18rem;color:var(--text)}
.qs p{margin:0;color:var(--mut);font-size:.98rem;line-height:1.62}
.qs a{color:var(--amber);border-bottom:1px solid var(--line-2)}

/* ---------- prose, columns, index rows --------------------------------------- */
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:clamp(28px,4vw,56px);align-items:start}
.cols > *{min-width:0}
.prose{max-width:74ch}
.prose > * + *{margin-top:18px}
.prose p,.prose li{color:var(--mut);font-size:16.5px;line-height:1.75}
.prose .lede{color:var(--text);font-size:clamp(17px,1.4vw,19px);max-width:none}
.prose h2{margin-top:46px;font-size:clamp(24px,2.9vw,34px)}
.prose h3{margin-top:32px}
.prose > h2:first-child,.prose > h3:first-child{margin-top:0}
.prose a{color:var(--amber);border-bottom:1px solid var(--line-2)}
.prose a:hover{color:var(--amber-hi);border-bottom-color:var(--amber)}
.prose strong{color:var(--text);font-weight:700}
.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:.72em;width:11px;height:2px;background:var(--amber)}
.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(--amber);font-weight:700}
.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-weight:700}
.prose blockquote{margin:24px 0;padding:2px 0 2px 18px;border-left:2px solid var(--amber);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-weight:700}
.spec dd,.spec .v{color:var(--text);text-align:right;min-width:0;overflow-wrap:anywhere;margin:0}
.spec a{color:var(--amber)}
.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-2);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);font-weight:700}
a.tag:hover{color:var(--amber)}

.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(--amber)}
.index__t{font-family:var(--serif);font-weight:700;font-size:clamp(20px,2.2vw,27px);line-height:1.16;color:var(--text)}
.index__d{grid-column:1;max-width:76ch;color:var(--mut);font-size:15.5px;line-height:1.6}
.index__m{grid-row:1;grid-column:2;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);white-space:nowrap;font-weight:700}

/* ---------- profile photographs (a still grid, nothing slides) ---------------- */
.shots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1vw,14px)}
.shots > *{min-width:0}
.shots img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;background:var(--bg-3);border:1px solid var(--line)}

/* ============================================================================
   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));margin-inline:max(0px,(100% - var(--max))/2) auto;padding-inline:var(--g)}
.hero{position:relative;overflow:hidden;padding:clamp(40px,6vw,66px) 0 clamp(36px,5vw,56px);border-bottom:1px solid var(--line-2);background:var(--bg)}
.hero::before{
  content:"";position:absolute;left:0;top:0;width:min(900px,80%);height:100%;z-index:0;
  background:linear-gradient(101deg,rgba(255,196,110,.20),rgba(255,140,30,.13) 52%,rgba(255,140,30,0) 92%);
  clip-path:polygon(9% 0,100% 0,91% 100%,0 100%);pointer-events:none;
}
.hero::after{
  content:"";position:absolute;left:0;top:0;width:min(900px,80%);height:100%;z-index:1;
  clip-path:polygon(9% 0,10.1% 0,1.1% 100%,0 100%);
  background:linear-gradient(180deg,#FFF8EA,var(--amber) 72%,var(--amber-lo));pointer-events:none;
}
/* 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. */
.hero > *{position:relative;z-index:3;max-width:var(--max);margin-inline:auto;padding-inline:var(--g)}
.hero h1{max-width:calc(19ch + 2 * var(--g));margin-inline:max(0px,(100% - var(--max))/2) auto;font-size:clamp(33px,4.6vw,60px)}
.hero .label-top{margin-bottom:14px;color:var(--amber)}
.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.75}
.reading h2{margin-top:44px;font-size:clamp(24px,2.9vw,34px)}
.reading h3{margin-top:32px}
.reading a:not(.btn){color:var(--amber);border-bottom:1px solid var(--line-2)}
.reading a:not(.btn):hover{color:var(--amber-hi);border-bottom-color:var(--amber)}
.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:.72em;width:11px;height:2px;background:var(--amber)}
/* 404: that list is a column of ruled links, not a bullet list. */
.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-weight:700}
.reading dl{margin-top:16px}
.reading dt{margin-top:18px;color:var(--text);font-weight:700}
.reading dd{margin:6px 0 0;color:var(--mut)}

.t-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.9vw,26px)}
.t-grid > *{min-width:0}
.t-card{position:relative;display:block;min-width:0;background:var(--bg-3);border:1px solid var(--line)}
.t-card .photo{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--bg-3)}
.t-card .photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.t-card .name{display:block;padding:13px 14px 0;font-family:var(--serif);font-weight:700;font-size:1.18rem;color:var(--text)}
.t-card:hover .name{color:var(--amber)}
.t-card .meta{display:block;padding:3px 14px 16px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:700}

.s-grid,.grid--cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3.2vw,56px)}
.s-grid > *,.grid--cards > *{min-width:0}
.s-card,.card{position:relative;display:block;border-top:1px solid var(--line);padding:18px 0 20px}
.s-card .num,.card__num{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-weight:700}
.s-card .nm,.card__name{display:block;margin:8px 0 6px;font-family:var(--serif);font-weight:700;font-size:1.32rem;line-height:1.1;color:var(--text)}
a.s-card:hover .nm,a.card:hover .card__name{color:var(--amber)}
.s-card .ds,.card__meta{display:block;font-size:.95rem;line-height:1.55;color:var(--mut)}

.grid--people,.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.9vw,26px)}
.grid--people > *,.strip > *{min-width:0}
.person{display:block;min-width:0;background:var(--bg-3);border:1px solid var(--line)}
.person__img{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--bg-3)}
.person__img img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.person__name{display:block;padding:13px 14px 0;font-family:var(--serif);font-weight:700;font-size:1.18rem;color:var(--text)}
.person:hover .person__name{color:var(--amber)}
.person__meta{display:block;padding:3px 14px 16px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:700}

.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(--amber)}
.linklist--inline{display:flex;flex-wrap:wrap;gap:10px;border:0}
.linklist--inline li{border:0}
.linklist--inline a{padding:9px 16px;border:1px solid var(--line-2);font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}

.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(--amber);font-variant-numeric:tabular-nums;font-family:var(--serif);font-weight:900}
.tab-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.tab-btn{padding:10px 16px;border:1px solid var(--line-2);background:transparent;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);cursor:pointer;border-radius:2px;font-weight:700}
.tab-btn.active{background:var(--amber);color:var(--on-amber);border-color:var(--amber)}
.tab-panel{display:none}
.tab-panel.active{display:block}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gallery-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--bg-3);border:1px solid var(--line)}
.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;background:var(--bg-3);border:1px solid var(--line)}
.like-photo{position:relative;aspect-ratio:3/4;background:var(--bg-3);overflow:hidden}
.like-photo img{width:100%;height:100%;object-fit:cover}
.like-name{padding:11px 12px 0;font-family:var(--serif);font-weight:700;color:var(--text)}
.like-meta{padding:2px 12px 12px;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);font-weight:700}
.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(--amber);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);font-weight:700}
.journal-item h3{margin:8px 0 4px}
.journal-item:hover h3{color:var(--amber)}
.journal-item .lede{font-size:15.5px;max-width:76ch;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-weight:700}
.form-row select,.form-row input{width:100%;max-width:100%;margin-top:9px;padding:14px 16px;border:1px solid var(--line-2);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(--amber);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(--amber)}
.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:6;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-weight:700}
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(--amber);opacity:1}
nav.crumbs a{color:var(--mut);border-bottom:1px solid transparent}
nav.crumbs a:hover{color:var(--amber)}
nav.crumbs [aria-current]{opacity:1;color:var(--text)}
aside.seo-related{display:block;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(--amber);opacity:1;font-weight:700}
aside.seo-related ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 34px}
aside.seo-related li{min-width:0}
aside.seo-related a{display:block;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(--amber)}

/* ---------- footer --------------------------------------------------------- */
.site-footer{background:var(--bg-deep);border-top:1px solid var(--line-2)}
.site-footer__in{max-width:var(--max);margin-inline:auto;padding:clamp(38px,5vw,54px) var(--g) 0;display:grid;grid-template-columns:1.5fr 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(--amber);font-weight:700}
.site-footer p{margin:0 0 10px;font-size:14px;color:var(--mut);max-width:48ch;line-height:1.6}
.site-footer ul{display:grid;gap:9px;font-size:14px;color:var(--mut)}
.site-footer a:hover{color:var(--amber)}
.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:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:700}
.age21,.fchip{display:inline-block;padding:7px 14px;border:1px solid var(--line-2);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}

/* ---------- mobile dock ---------------------------------------------------- */
.m-dock{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(11,7,4,.97);border-top:1px solid var(--line-2)}
.m-dock a{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:9px;padding:15px 8px;border:2px solid var(--amber);border-radius:2px;font-size:13.5px;font-weight:700;-webkit-tap-highlight-color:transparent}
.m-dock svg{width:18px;height:18px;fill:currentColor;flex:none}
.m-dock__wa{background:var(--amber);color:var(--on-amber)}
.m-dock__tg,.m-dock__alt,.m-dock__bk{background:transparent;color:var(--amber)}

/* ---------- 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(7,4,2,.97);border-top:1px solid var(--amber)}
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(--amber);font-weight:700;letter-spacing:.1em}
.age-bar__ok,.ab-ok,.age-bar button{flex:none;padding:13px 20px;border:2px solid var(--amber);border-radius:2px;cursor:pointer;background:var(--amber);color:var(--on-amber);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.age-bar__ok:hover,.ab-ok:hover,.age-bar button:hover{background:var(--amber-hi);border-color:var(--amber-hi)}

/* ---------- profile rates table (partials/rates.mustache) ------------------ */
.rates-card{width:100%;max-width:660px;padding:clamp(22px,3vw,32px);background:var(--bg-2);border:1px solid var(--line-2)}
.rates-card__title{margin:0;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--amber);font-weight:700}
.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-weight:700}
.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);font-weight:700}
.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(--amber);font-family:var(--serif);font-weight:900}
.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(--amber);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:1120px){
  .tech,.s-grid,.grid--cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ledge .wrap{grid-template-columns:repeat(2,auto);justify-content:start}
  .ledge .acts{grid-column:1 / -1;justify-self:start;margin-top:6px}
  .lede-block{width:min(56%,560px)}
  .figure{right:20%}
  .cols{grid-template-columns:minmax(0,1fr)}
  .like-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .site-footer__in{grid-template-columns:1fr 1fr}
  aside.seo-related ul{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .roster,.t-grid,.grid--people,.strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .smallprint{grid-template-columns:1fr}
  .qs{grid-template-columns:1fr}
  .shots{grid-template-columns:repeat(3,minmax(0,1fr))}
  .site-header .inner{flex-wrap:wrap;row-gap:12px;gap:14px}
  .logo,.brand{flex:1 1 auto}
  .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:inline-flex}
  .index a{grid-template-columns:minmax(0,1fr)}
  .index__m{grid-row:auto;grid-column:1}
}
@media (max-width:760px){
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .m-dock{display:flex}
  .header-cta{display:none}
  .site-footer__legal{padding-bottom:26px}
  /* The phone: the light runs from the door's slanted edge out to the right edge
     of the screen, so no dark frame stands beside it. The blurred bloom and the
     blended dust are desktop only; the stage is as tall as its words. */
  .stage{min-height:0}
  .bloom{display:none}
  .slab{left:0;width:100%;clip-path:polygon(5% 0,100% 0,100% 100%,0 100%)}
  .jamb{left:0;width:100%;clip-path:polygon(5% 0,6.4% 0,1.4% 100%,0 100%)}
  .dust{left:0;width:100%;clip-path:polygon(5% 0,100% 0,100% 100%,0 100%);mix-blend-mode:normal;opacity:.3}
  .figure{right:0;width:40%;height:62%}
  .lede-block{position:relative;left:auto;top:auto;width:auto;padding:26px var(--g) 30px 28px}
  .lede-block h1{font-size:clamp(1.6rem,8.2vw,2.3rem)}
  .lede-block .lede{max-width:none;width:58%;font-size:1rem;line-height:1.46}
  .ledge{padding:14px 0 16px}
  .ledge .wrap{grid-template-columns:1fr 1fr;gap:0 20px;align-items:start}
  .ledge .acts{display:none}
  .fact .k{line-height:1.35;margin-bottom:4px}
  .fact .v{font-size:1.3rem}
  .fact .v small{display:none}
  .plate{box-shadow:0 0 40px 4px rgba(255,150,40,.24)}
  /* reading sizes and tap heights */
  .tech p,.steps p,.smallprint p,.qs p,.index__d,.journal-item .lede,.close .fineline,.independence,.prose .independence{font-size:1rem}
  .spec > div{font-size:16px}
  .site-footer p,.site-footer ul{font-size:16px}
  .site-footer ul{gap:0}
  .site-footer li a{display:block;padding:11px 0}
  .tag,.tab-btn{display:inline-flex;align-items:center;min-height:44px}
  .age-bar__ok,.ab-ok,.age-bar button{min-height:44px}
  .more a{display:inline-block;padding:12px 0}
  .more{margin-top:14px}
  /* sections far under the fold are laid out when they come near the screen */
  #how,#where,#figure,.close,aside.seo-related,.site-footer{content-visibility:auto;contain-intrinsic-size:auto 640px}
  .tech,.steps,.s-grid,.grid--cards{grid-template-columns:1fr}
  .roster,.t-grid,.grid--people,.strip,.shots{grid-template-columns:repeat(2,minmax(0,1fr))}
  .like-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer__in{grid-template-columns:1fr}
  aside.seo-related ul{grid-template-columns:1fr}
}
@media (max-width:520px){
  body{font-size:16px}
  .logo,.brand{font-size:13.5px;gap:9px}
  .logo i,.brand i{width:10px;height:22px}
  .nav-toggle{min-width:44px;padding:0 10px}
  .bar .wrap{gap:10px}
  .bar .id{font-size:.7rem;letter-spacing:.06em}
  .bar .age{font-size:.54rem;letter-spacing:.08em}
  .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.6vw,42px)}
  .woman .nm{flex-direction:column;align-items:flex-start;gap:2px}
  .woman .nm span{text-align:left}
  .roster,.t-grid,.grid--people,.strip{gap:12px}
}
@media (max-width:380px){
  /* the brand already stands in the header one line lower; the strip keeps the age line whole */
  .bar .id{display:none}
  .bar .wrap{justify-content:center}
  .bar .age{font-size:.62rem;letter-spacing:.16em}
}

/* ---- 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}
