/* === Self-hosted fonts (latin subset), public/fonts/coverstory/ ===
   Bodoni Moda     the Didone masthead, every headline, every figure
   Source Serif 4  the reading face, roman and italic
   Work Sans       labels, folios, kickers, buttons
   No third-party stylesheet is loaded on any page of this network, so the five
   faces below are the whole type system. The build rewrites this run from
   sites/couplesmassageinamsterdam.json theme.fonts.faces; keep the two in step. */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/coverstory/bodoni-moda-normal-400-700.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: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/coverstory/bodoni-moda-italic-400-600.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: 'Source Serif 4';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/coverstory/source-serif-4-normal-400-600.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: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/coverstory/source-serif-4-italic-400.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: 'Work Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/coverstory/work-sans-normal-400-700.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;
}

/* ============================================================================
   COUPLES MASSAGE IN AMSTERDAM, theme "coverstory"
   A printed magazine lying on a paper ground. Off-white stock, a Didone
   masthead over one roster photograph washed in a single ink, then the issue
   itself: a contents bar, a feature with a drop cap and a two column measure,
   a pull quote between hard rules, a numbered menu, a grid of figures, a photo
   essay of plates, and a colophon at the back.

   NOTHING ON ANY PAGE MOVES. No keyframe rule, no timed property, no easing,
   no observer, no script of this theme's own. A hover changes a colour, a rule
   or an underline and does it in a single frame, so there is no reduced-motion
   block here: it would have nothing to say. Keep it that way as this file grows.
   NOTHING IS DRAWN either. Every mark is a photograph, a letter, a flat field,
   a rule or a border. The only exceptions are the two messenger glyphs on the
   buttons, which the shared partials supply.

   Two jobs in one file:
     1. this theme's own pages (home, profile, technique, hub, guide, indexes)
     2. a compatibility layer for the SHARED templates it inherits: about, faq,
        contact, booking, terms, privacy, dmca, the age statement, the glossary,
        the cancellation policy and 404, which render .container / .reading /
        .hero / .btn / .label-top / .form-row.
   ============================================================================ */

:root{
  --paper:#F3EFE6;
  --paper-2:#EDE8DC;
  --paper-3:#E4DECE;
  --paper-4:#F8F5EE;
  --ink:#14110F;
  --ink-soft:#4A423B;
  --ink-mute:#6B625A;
  --rule:#CFC7B5;
  --rule-hard:#14110F;
  --accent:#C21A5E;
  --accent-deep:#8E0E42;
  --accent-pale:#FFE9F1;
  --on-accent:#FFF8FA;
  --cover-type:#FFFBF4;
  --wa:#25D366;
  --display:'Bodoni Moda', Didot, 'Bodoni MT', Georgia, serif;
  --serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
  --sans:'Work Sans', 'Helvetica Neue', Arial, sans-serif;
  --max:1180px;
  --reading:720px;
  --g:clamp(16px,4.4vw,56px);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background-color:#F3EFE6;
  background-image:
    radial-gradient(circle at 12% 18%,rgba(20,17,15,.035) 0 1px,rgba(0,0,0,0) 1.4px),
    radial-gradient(circle at 63% 41%,rgba(20,17,15,.03) 0 1px,rgba(0,0,0,0) 1.4px),
    radial-gradient(circle at 34% 77%,rgba(20,17,15,.028) 0 1px,rgba(0,0,0,0) 1.4px),
    radial-gradient(circle at 88% 63%,rgba(20,17,15,.03) 0 1px,rgba(0,0,0,0) 1.4px),
    radial-gradient(circle at 47% 9%,rgba(140,110,70,.05) 0 1.6px,rgba(0,0,0,0) 2.2px),
    linear-gradient(180deg,#F6F2E9 0,#F3EFE6 44%,#EFEADF 100%);
  background-size:37px 37px,53px 53px,71px 71px,89px 89px,113px 113px,100% 100%;
  background-attachment:scroll;
  color:var(--ink);
  font-family:var(--serif);
  font-size:17.5px;
  line-height:1.66;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
h1,h2,h3,h4{font-family:var(--display);font-optical-sizing:auto;font-weight:700;letter-spacing:-.015em;line-height:1.06}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--g);width:100%}

/* ---------- editorial furniture ------------------------------------------- */
.kicker,.label-top,.label{
  font-family:var(--sans);font-size:11.5px;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;color:var(--accent-deep);
}
.folio{
  font-family:var(--sans);font-size:11px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);
}
.sec-head{
  display:flex;align-items:baseline;gap:14px;
  border-bottom:2px solid var(--rule-hard);padding-bottom:9px;margin-bottom:26px;flex-wrap:wrap;
}
.sec-head h2{font-size:clamp(28px,4.6vw,46px);line-height:1;letter-spacing:-.01em}
.sec-head .folio{margin-left:auto}
.sec{padding-block:clamp(40px,6.4vw,78px)}
.sec--tight{padding-block:clamp(30px,4.4vw,52px)}
.rule-thin{height:1px;background:var(--rule);margin:26px 0}

/* ---------- 21+ bar (shared app.js raises it) ----------------------------- */
.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:10px 18px;
  padding:13px var(--g) calc(13px + env(safe-area-inset-bottom));
  background:var(--paper-4);border-top:2px solid var(--rule-hard);
}
body.age-bar-open .age-bar{display:flex}
body.age-bar-open .dock{display:none}
body.age-confirmed .age-bar{display:none}
.age-bar__txt{flex:0 1 auto;min-width:0;font-size:14px;line-height:1.5;color:var(--ink-soft);text-align:center}
.age-bar__txt b{font-family:var(--sans);font-weight:700;letter-spacing:.1em;color:var(--accent-deep)}
.age-bar__ok{
  flex:none;padding:11px 18px;border:1.5px solid var(--accent);background:var(--accent);
  color:var(--on-accent);cursor:pointer;
  font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
}
.age-bar__ok:hover{background:var(--accent-deep);border-color:var(--accent-deep)}

/* ---------- masthead strip and header ------------------------------------- */
.strip{border-bottom:1px solid var(--rule);background:rgba(228,222,206,.5)}
.strip .wrap{
  display:flex;gap:9px 26px;flex-wrap:wrap;align-items:center;padding-block:9px;
  font-family:var(--sans);font-size:10.5px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);
}
.strip .dot{width:5px;height:5px;background:var(--accent);border-radius:50%;flex:none}

.site-header{border-bottom:2px solid var(--rule-hard);background:var(--paper-4)}
.site-header .inner{
  max-width:var(--max);margin:0 auto;padding:14px var(--g);
  display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;
}
.mark{
  font-family:var(--display);font-optical-sizing:auto;font-weight:700;
  font-size:clamp(19px,2.4vw,26px);line-height:1;letter-spacing:-.01em;
  text-transform:uppercase;margin-right:auto;min-width:0;
  /* A 19px cap height is the whole of the tap target on a phone; the box is
     floored at 24px so the home link clears the minimum without moving the bar. */
  display:inline-flex;align-items:center;min-height:24px;
}
.mark:hover{color:var(--accent-deep)}
.site-header nav{display:flex;flex-wrap:wrap;gap:4px 20px;min-width:0}
.site-header nav a{
  font-family:var(--sans);font-size:11.5px;font-weight:600;
  letter-spacing:.17em;text-transform:uppercase;color:var(--ink-soft);
  border-bottom:2px solid transparent;padding-block:3px;
}
.site-header nav a:hover{color:var(--ink);border-bottom-color:var(--accent)}
.nav-toggle{
  display:none;border:1.5px solid var(--ink);background:transparent;color:var(--ink);
  padding:8px 13px;cursor:pointer;
  font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.nav-toggle:hover{background:var(--ink);color:var(--paper)}

/* ---------- buttons -------------------------------------------------------- */
.btn,.cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;padding:11px 16px;border:1.5px solid var(--ink);line-height:1.15;
  background:transparent;color:var(--ink);
  max-width:100%;min-width:0;overflow-wrap:anywhere;text-align:center;
}
.btn svg,.cta svg{width:15px;height:15px;flex:none;fill:currentColor}
.btn-a,.btn-primary,.cta{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn-a:hover,.btn-primary:hover,.cta:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--on-accent)}
.btn-b,.btn-ghost,.cta--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-b:hover,.btn-ghost:hover,.cta--ghost:hover{background:var(--ink);color:var(--paper)}
.acts{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px;min-width:0}
.acts > *{min-width:0}
.acts .mail{flex-basis:100%;font-size:13.5px;color:var(--ink-mute);overflow-wrap:anywhere}

/* ============================ THE COVER ==================================== */
.cover{padding-block:clamp(18px,3.2vw,42px) clamp(22px,3.4vw,46px)}
.cover .wrap{display:grid;gap:clamp(22px,3.4vw,58px);align-items:end}
.frame{
  position:relative;aspect-ratio:3/4;width:100%;
  border:1px solid rgba(20,17,15,.55);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 22px 44px -30px rgba(20,17,15,.75);
  overflow:hidden;isolation:isolate;background:var(--paper-3);
}
.frame > *{position:absolute;inset:0}
.cover-img{width:100%;height:100%;object-fit:cover;object-position:52% 20%;filter:saturate(.26) contrast(1.1) brightness(1.04)}
.tint{background:var(--accent);mix-blend-mode:multiply;opacity:.27;pointer-events:none}
.lift{background:linear-gradient(180deg,rgba(243,239,230,.18),rgba(243,239,230,0) 34%);mix-blend-mode:screen;pointer-events:none}
.scrim{
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(14,10,9,.8) 0,rgba(14,10,9,.58) 17%,rgba(14,10,9,.2) 34%,rgba(14,10,9,.05) 52%,rgba(14,10,9,.36) 76%,rgba(14,10,9,.8) 100%),
    linear-gradient(90deg,rgba(14,10,9,.58) 0,rgba(14,10,9,.1) 30%,rgba(14,10,9,0) 54%);
}
.cover-grain{
  pointer-events:none;mix-blend-mode:overlay;opacity:.5;
  background-image:
    radial-gradient(circle at 20% 30%,rgba(255,255,255,.1) 0 1px,rgba(0,0,0,0) 1.5px),
    radial-gradient(circle at 70% 60%,rgba(0,0,0,.14) 0 1px,rgba(0,0,0,0) 1.5px),
    radial-gradient(circle at 44% 82%,rgba(255,255,255,.08) 0 1px,rgba(0,0,0,0) 1.5px);
  background-size:29px 29px,41px 41px,59px 59px;
}
.cover-body{
  z-index:3;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  padding:clamp(14px,1.9vw,24px);color:var(--cover-type);
}
.mast{
  color:var(--cover-type);
  font-family:var(--display);font-optical-sizing:auto;font-weight:700;
  font-size:clamp(30px,10.2vw,56px);line-height:.9;letter-spacing:-.02em;
  text-transform:uppercase;text-shadow:0 2px 26px rgba(10,7,6,.55);
}
.mast em{display:block;font-style:normal;font-weight:400}
.issue{
  margin-top:9px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;
  font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent-pale);
}
.issue .bar{display:inline-block;width:16px;height:2px;background:var(--accent-pale)}
.cover-mid{display:flex;align-items:flex-end;min-height:0;padding-bottom:8px}
.coverlines{
  list-style:none;display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-height:none;
}
.coverlines li{
  font-family:var(--sans);font-size:11px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;color:var(--cover-type);
  border-left:2px solid var(--paper);padding:1px 0 1px 9px;
  text-shadow:0 1px 14px rgba(10,7,6,.8);
}
.coverlines li:nth-child(2){border-left-color:#FF93B9}
.cover-foot{
  display:flex;justify-content:flex-end;padding-top:8px;
  font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--cover-type);text-shadow:0 1px 12px rgba(10,7,6,.8);
}

/* the deck, set on the paper beside the cover */
.deck h1,.deck h2{
  font-size:clamp(24px,6.4vw,34px);line-height:1.04;letter-spacing:-.02em;
  margin:9px 0 13px;text-wrap:balance;
}
.deck .lede,.deck > p{font-size:16px;line-height:1.56;color:var(--ink-soft);max-width:56ch}
.deck > p + p{margin-top:.85em}
.deck .price{
  margin-top:18px;padding-top:14px;border-top:2px solid var(--rule-hard);
  display:flex;flex-wrap:wrap;gap:6px 20px;
  font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink);
}
.deck .price span{white-space:nowrap}
.deck .price b{color:var(--accent-deep)}
.deck .fine{
  margin-top:8px;font-family:var(--sans);font-size:11.5px;letter-spacing:.06em;
  color:var(--ink-mute);text-transform:none;max-width:52ch;
}

/* ---------- inner-page cover: type on paper, one photograph optional ------- */
.pcover{border-bottom:2px solid var(--rule-hard);padding-block:clamp(26px,4vw,48px)}
.pcover h1{font-size:clamp(30px,5.6vw,60px);max-width:20ch;text-wrap:balance}
.pcover .standfirst{
  margin-top:16px;max-width:52ch;font-size:clamp(17px,2.1vw,21px);line-height:1.46;
  font-style:italic;color:var(--ink-soft);
}
.pcover .folio{margin-top:14px}
.pcover--deck .standfirst{font-style:normal;font-size:clamp(16.5px,1.6vw,18.5px);line-height:1.6;max-width:min(900px,100%)}
@media (min-width:861px){
  .pcover--deck .standfirst{columns:2;column-gap:clamp(24px,3.4vw,48px);column-rule:1px solid var(--rule);text-align:justify;hyphens:auto}
}
.pcover .acts{margin-top:20px}

/* ---------- contents bar --------------------------------------------------- */
.contents{border-top:2px solid var(--rule-hard);border-bottom:1px solid var(--rule);padding-block:clamp(18px,2.6vw,26px)}
.contents .wrap{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}
.toc-item{border-left:1px solid var(--rule);padding-left:14px;min-width:0}
.toc-item:first-child{border-left:0;padding-left:0}
.toc-item b{display:block;font-family:var(--display);font-weight:700;font-size:19px;line-height:1.2;margin-bottom:3px}
.toc-item a:hover b{color:var(--accent-deep)}
.toc-item span{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}

/* ---------- the feature (home body, written in content/<site>/pages.json) -- */
.feature h2,.home-story h2{
  font-size:clamp(28px,5.4vw,56px);line-height:.99;letter-spacing:-.022em;
  max-width:19ch;text-wrap:balance;margin-bottom:14px;
}
.home-story h3{font-size:clamp(20px,2.6vw,27px);margin:26px 0 8px}
.standfirst{
  margin-top:14px;max-width:52ch;font-size:clamp(17px,2.1vw,21px);line-height:1.46;
  font-style:italic;color:var(--ink-soft);
}
.byline{
  font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-mute);margin-bottom:14px;
}
.cols{column-gap:clamp(24px,3.4vw,54px);max-width:min(820px,100%)}
.cols p{margin-bottom:1.05em}
.cols p:last-child{margin-bottom:0}
.cols--drop p:first-child::first-letter{
  float:left;font-family:var(--display);font-weight:700;color:var(--accent);
  font-size:4.15em;line-height:.76;padding:.06em .1em 0 0;
}
.home-story p{color:var(--ink-soft)}
.home-story a:not(.btn){color:var(--accent-deep);border-bottom:1px solid var(--rule)}
.home-story a:not(.btn):hover{color:var(--ink);border-bottom-color:var(--ink)}

/* ---------- pull quote ------------------------------------------------------ */
.pull{border-top:2px solid var(--rule-hard);border-bottom:2px solid var(--rule-hard);padding-block:clamp(26px,4.4vw,52px);margin-block:clamp(30px,4.4vw,54px)}
.pull blockquote{
  font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(24px,5vw,50px);line-height:1.08;letter-spacing:-.018em;
  max-width:18ch;margin:0 auto;text-align:center;text-wrap:balance;color:var(--ink);
}
.pull blockquote .mk{color:var(--accent);font-style:normal}
.pull .attrib{margin-top:16px;text-align:center}

/* ---------- the numbered menu ---------------------------------------------- */
.menu{display:grid;grid-template-columns:1fr;gap:0 clamp(24px,3.2vw,48px)}
.menu-item{border-top:1px solid var(--rule);padding:14px 0 15px;display:grid;grid-template-columns:auto 1fr;gap:0 12px;min-width:0}
.menu-item .no{font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--accent);padding-top:6px}
.menu-item h3{font-family:var(--display);font-weight:700;font-size:20px;line-height:1.2;letter-spacing:-.008em}
.menu-item a:hover h3{color:var(--accent-deep)}
.menu-item .mt{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin-top:4px}
.menu-item .mt b{color:var(--accent-deep);font-weight:700}
.more{margin-top:18px;font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.more a{border-bottom:2px solid var(--accent);padding-bottom:2px}
.more a:hover{color:var(--accent-deep);border-bottom-color:var(--ink)}

/* ---------- the figures ----------------------------------------------------- */
.rates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.rate{background:var(--paper-2);padding:clamp(16px,2.6vw,28px);min-width:0}
.rate .len{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute)}
.rate .fig{font-family:var(--display);font-weight:700;font-size:clamp(32px,5.6vw,56px);line-height:1;margin-top:8px;letter-spacing:-.02em;color:var(--ink)}
.rate .fig small{font-size:.38em;font-family:var(--sans);font-weight:700;letter-spacing:.14em;vertical-align:.86em;margin-right:.28em;color:var(--ink-mute)}
.rate-note{margin-top:20px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.rate-note > *{min-width:0}
.rate-note p{font-size:15.5px;color:var(--ink-soft);border-left:2px solid var(--accent);padding-left:13px}
.ladder{width:100%;font-size:16px;border-collapse:collapse;max-width:520px}
.ladder th,.ladder td{padding:11px 0;border-bottom:1px solid var(--rule);text-align:left;font-weight:400;color:var(--ink-soft)}
.ladder td{text-align:right;font-family:var(--display);font-weight:700;font-size:21px;color:var(--ink);font-variant-numeric:tabular-nums}

/* ---------- the photo essay -------------------------------------------------- */
.essay{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.plate{min-width:0}
.plate figure{margin:0}
.plate .shot{position:relative;border:1px solid rgba(20,17,15,.4);overflow:hidden;isolation:isolate;background:var(--paper-3)}
.plate img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 22%;filter:saturate(.32) contrast(1.08) brightness(1.02)}
.plate .shot::after{content:"";position:absolute;inset:0;background:var(--accent);mix-blend-mode:multiply;opacity:.2;pointer-events:none}
.plate figcaption{margin-top:9px;border-top:1px solid var(--rule-hard);padding-top:7px}
.plate .nm{font-family:var(--display);font-weight:700;font-size:17px;line-height:1.2;color:var(--ink)}
.plate a:hover .nm{color:var(--accent-deep)}
.plate .mt{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);margin-top:3px}
.plate .mt b{color:var(--accent-deep);font-weight:700}

/* ---------- the map ---------------------------------------------------------- */
.geo{display:grid;grid-template-columns:1fr;gap:clamp(22px,4vw,64px);align-items:start}
.geo > *{min-width:0}
.geo p{max-width:50ch;color:var(--ink-soft)}
.geo p + p{margin-top:1em}
.places{list-style:none;columns:1;column-gap:28px}
.places li{border-bottom:1px solid var(--rule);padding:8px 0;font-family:var(--sans);font-size:13.5px;letter-spacing:.04em;break-inside:avoid;min-width:0}
.places li:first-child{border-top:1px solid var(--rule)}
.places a:hover{color:var(--accent-deep)}

/* ---------- index lists (guides, journal, hubs) ------------------------------ */
.index{list-style:none;display:grid;grid-template-columns:1fr;gap:0}
.index li{border-top:1px solid var(--rule);min-width:0}
.index li:last-child{border-bottom:1px solid var(--rule)}
.index a{display:block;padding:16px 0}
.index a:hover .index__t{color:var(--accent-deep)}
.index__t{display:block;font-family:var(--display);font-weight:700;font-size:21px;line-height:1.18;letter-spacing:-.01em}
.index__d{display:block;margin-top:5px;font-size:15.5px;line-height:1.5;color:var(--ink-soft);max-width:76ch}
.index__m{display:block;margin-top:6px;font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute)}
.linklist{list-style:none;display:grid;gap:0}
.linklist li{border-top:1px solid var(--rule)}
.linklist li:last-child{border-bottom:1px solid var(--rule)}
.linklist a{display:block;padding:13px 0;font-size:16.5px}
.linklist a:hover{color:var(--accent-deep)}
.linklist--inline{display:flex;flex-wrap:wrap;gap:8px}
.linklist--inline li{border:0}
.linklist--inline a{padding:8px 14px;border:1px solid var(--rule);background:var(--paper-2);font-family:var(--sans);font-size:12.5px;letter-spacing:.06em}
.linklist--inline a:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}

/* ---------- prose and the facts panel ---------------------------------------- */
.prose{max-width:var(--reading);font-size:17.5px;line-height:1.72}
.prose--wide{max-width:820px}
.prose p{margin-bottom:1.05em;color:var(--ink-soft)}
.prose p,.prose li,.prose dd{overflow-wrap:anywhere}
.prose h2{font-size:clamp(24px,3.4vw,36px);margin:38px 0 12px}
.prose h3{font-size:clamp(19px,2.4vw,25px);margin:28px 0 8px}
.prose ul,.prose ol{margin:0 0 20px 20px}
.prose li{margin-bottom:7px;color:var(--ink-soft)}
.prose a:not(.btn){color:var(--accent-deep);border-bottom:1px solid var(--rule);overflow-wrap:anywhere}
.prose a:not(.btn):hover{color:var(--ink);border-bottom-color:var(--ink)}
.prose strong{color:var(--ink);font-weight:600}
.cols-2{display:grid;grid-template-columns:1fr;gap:clamp(24px,3.4vw,48px);align-items:start}
.cols-2 > *{min-width:0}
.facts{min-width:0;border-top:2px solid var(--rule-hard);padding-top:16px}
.spec{display:grid;gap:0}
.spec > div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--rule);padding:9px 0;min-width:0}
.spec dt{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);padding-top:3px}
.spec dd{font-size:16px;text-align:right;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.facts .label{display:block;margin:18px 0 9px}
.tags,.service-tags{display:flex;flex-wrap:wrap;gap:7px}
.tag{
  display:inline-block;padding:6px 11px;border:1px solid var(--rule);background:var(--paper-2);
  font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);
}
a.tag:hover{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}
.independence{margin-top:20px;border-left:2px solid var(--accent);padding-left:14px;font-size:16px;color:var(--ink-soft)}

/* ---------- the photo run on a profile --------------------------------------- */
.shots{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.shots li{min-width:0}
.shots .shot{position:relative;border:1px solid rgba(20,17,15,.4);overflow:hidden;isolation:isolate;background:var(--paper-3)}
.shots img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;filter:saturate(.32) contrast(1.08) brightness(1.02)}
.shots .shot::after{content:"";position:absolute;inset:0;background:var(--accent);mix-blend-mode:multiply;opacity:.2;pointer-events:none}

/* ---------- questions --------------------------------------------------------- */
.faq{border-top:2px solid var(--rule-hard)}
.faq details,details.qa{border-bottom:1px solid var(--rule)}
.faq summary,details.qa summary{
  padding:15px 0;cursor:pointer;font-family:var(--display);font-weight:700;font-size:19px;line-height:1.3;
  list-style:none;
}
.faq summary::-webkit-details-marker,details.qa summary::-webkit-details-marker{display:none}
.faq summary::after,details.qa summary::after{content:"+";float:right;color:var(--accent);font-family:var(--sans);font-weight:700;margin-left:12px}
.faq details[open] summary::after,details.qa[open] summary::after{content:"\2013"}
.faq summary:hover,details.qa summary:hover{color:var(--accent-deep)}
.faq .a p,details.qa .ans p{padding:0 0 16px;color:var(--ink-soft);max-width:74ch}

/* ============================================================================
   SHARED-TEMPLATE COMPATIBILITY LAYER
   about, faq, contact, booking, terms, privacy, dmca, the age statement, the
   glossary, the cancellation policy and 404 render markup this theme does not
   own. These rules give that markup 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)}
section{padding-block:clamp(34px,5vw,64px)}
.hero{border-bottom:2px solid var(--rule-hard);padding:clamp(34px,5vw,58px) 0 clamp(26px,4vw,44px)}
.hero-small{padding-top:clamp(28px,4vw,44px)}
.hero > *{max-width:var(--max);margin-inline:auto;padding-inline:var(--g)}
.hero .container{padding-inline:var(--g)}
.hero h1{font-size:clamp(30px,5.4vw,58px);max-width:22ch;text-wrap:balance}
.hero .label-top{margin-bottom:13px}
.hero .lede{margin-top:16px;max-width:52ch;font-size:clamp(17px,2.1vw,21px);line-height:1.46;font-style:italic;color:var(--ink-soft)}
section > .container > h1,section > .container > h2{margin-bottom:14px}
section .container p,section .reading p,.book-banner p{color:var(--ink-soft);line-height:1.72}
section .reading p{margin-bottom:1.05em}
/* A bare e-mail address or domain in shared-template prose is one unbreakable
   token wider than a 320px column, and it pushed the whole page sideways on
   /contact/. Links already wrap; plain text has to as well. */
section .container p,section .reading p,section .reading li,section .reading dd,
section .reading td,.book-banner p{overflow-wrap:anywhere}
section .reading h2{margin:38px 0 12px;font-size:clamp(24px,3.4vw,36px)}
section .reading h3{margin:28px 0 8px;font-size:clamp(19px,2.4vw,25px)}
section .reading a:not(.btn){color:var(--accent-deep);border-bottom:1px solid var(--rule);overflow-wrap:anywhere}
section .reading a:not(.btn):hover{color:var(--ink);border-bottom-color:var(--ink)}
section .reading ul,section .reading ol{margin:0 0 20px 20px}
section .reading li{margin-bottom:7px;color:var(--ink-soft)}
section .reading ul[style*="list-style:none"]{margin-left:0}
section .reading em{font-style:italic}
section .reading table{width:100%;margin:18px 0;border-collapse:collapse;font-size:16px}
section .reading th,section .reading td{padding:11px 10px 11px 0;border-bottom:1px solid var(--rule);text-align:left;font-weight:400;color:var(--ink-soft);vertical-align:top}
section .reading th{color:var(--ink);font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
section .reading dl{margin:16px 0}
section .reading dt{margin-top:18px;color:var(--ink);font-weight:600}
section .reading dd{margin:6px 0 0;color:var(--ink-soft)}
.date{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute)}
.legal{font-size:15.5px;color:var(--ink-mute)}
.inner{min-width:0}

.t-grid,.grid--people,.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.t-grid > *,.grid--people > *,.gallery-grid > *{min-width:0}
.t-card{display:block;min-width:0}
.t-card .photo{position:relative;border:1px solid rgba(20,17,15,.4);overflow:hidden;isolation:isolate;background:var(--paper-3)}
.t-card .photo::after{content:"";position:absolute;inset:0;background:var(--accent);mix-blend-mode:multiply;opacity:.2;pointer-events:none}
.t-card .photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 22%;filter:saturate(.32) contrast(1.08) brightness(1.02)}
.t-card .name{margin-top:9px;border-top:1px solid var(--rule-hard);padding-top:7px;font-family:var(--display);font-weight:700;font-size:17px;line-height:1.2}
.t-card:hover .name{color:var(--accent-deep)}
.t-card .meta{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);margin-top:3px}
.gallery-grid img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;background:var(--paper-3);border:1px solid rgba(20,17,15,.3)}

.s-grid,.grid--cards{display:grid;grid-template-columns:1fr;gap:0}
.s-grid > *,.grid--cards > *{min-width:0}
.s-card,.card{display:block;border-top:1px solid var(--rule);padding:14px 0 15px}
.s-card .num,.card__num{display:block;font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--accent)}
.s-card .nm,.card__name{display:block;margin:4px 0 4px;font-family:var(--display);font-weight:700;font-size:20px;line-height:1.2}
a.s-card:hover .nm,a.card:hover .card__name{color:var(--accent-deep)}
.s-card .ds,.card__meta{display:block;font-size:15.5px;line-height:1.5;color:var(--ink-soft)}

.like-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.like-grid > *{min-width:0}
.like-card{display:block;min-width:0}
.like-photo{position:relative;border:1px solid rgba(20,17,15,.4);overflow:hidden;isolation:isolate;background:var(--paper-3)}
.like-photo::after{content:"";position:absolute;inset:0;background:var(--accent);mix-blend-mode:multiply;opacity:.2;pointer-events:none}
.like-photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;filter:saturate(.32) contrast(1.08) brightness(1.02)}
.like-name{margin-top:9px;border-top:1px solid var(--rule-hard);padding-top:7px;font-family:var(--display);font-weight:700;font-size:17px}
.like-meta{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}

.strip-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.person{display:block;min-width:0}
.person__img{position:relative;display:block;border:1px solid rgba(20,17,15,.4);overflow:hidden;background:var(--paper-3)}
.person__img img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;filter:saturate(.32) contrast(1.08)}
.person__name{display:block;margin-top:9px;font-family:var(--display);font-weight:700;font-size:17px}
.person__meta{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}

.price-table,.stats-table,.rates-table{width:100%;font-size:16px;border-collapse:collapse}
.price-table td,.stats-table td,.rates-table td{padding:12px 0;border-bottom:1px solid var(--rule);vertical-align:baseline;color:var(--ink-soft)}
.price-table td:last-child,.stats-table td:last-child,.rates-table td:last-child{text-align:right;font-family:var(--display);font-weight:700;font-size:20px;color:var(--ink);font-variant-numeric:tabular-nums}
.tabs{margin-top:8px}
.tab-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.tab-btn{
  padding:9px 15px;border:1px solid var(--rule);background:var(--paper-2);cursor:pointer;
  font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);
}
.tab-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.tab-panel{display:none}
.tab-panel.active{display:block}
.journal-list{display:grid;border-top:1px solid var(--rule)}
.journal-item{display:block;border-bottom:1px solid var(--rule);padding:16px 0}
.journal-item h3{margin:6px 0 4px;font-family:var(--display);font-size:21px;line-height:1.2}
.journal-item:hover h3{color:var(--accent-deep)}
.journal-item .lede{font-size:15.5px;max-width:74ch;margin-top:4px;color:var(--ink-soft)}
.book-banner{background:var(--paper-2);border-bottom:1px solid var(--rule);padding:16px var(--g)}
.book-banner p{max-width:var(--max);margin-inline:auto}
.book-banner a{color:var(--accent-deep);border-bottom:1px solid var(--rule)}
.form-row{margin-top:18px}
.form-row label,.form-row .label{display:block;margin-bottom:8px}
.form-row select,.form-row input{
  width:100%;max-width:100%;padding:13px 14px;border:1.5px solid var(--rule);border-radius:0;
  background:var(--paper-4);font:400 16px/1.3 var(--sans);color:var(--ink);
}
.form-row select:focus,.form-row input:focus{outline:2px solid var(--accent);outline-offset:1px}
.no-save,.no-save img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.no-save img{-webkit-user-drag:none}
.wrap-any{overflow-wrap:anywhere}

/* ---------- the profile rate card (shared partials/rates.mustache) --------- */
.rates-card{width:100%;max-width:620px;border:1px solid var(--rule);background:var(--paper-2);padding:clamp(18px,2.6vw,28px)}
.rates-card__title{margin:0;font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-deep)}
.rates-card__table{width:100%;table-layout:fixed;margin-top:18px;border-collapse:collapse}
.rates-card__table caption{caption-side:top;text-align:left;padding:0 0 8px;font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute)}
.rates-card__table th,.rates-card__table td{padding:9px 0;border-bottom:1px solid var(--rule);font-weight:400;vertical-align:baseline}
.rates-card__table thead th{padding-top:0;font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-align:right;color:var(--ink-mute)}
.rates-card__table thead th:first-child{width:40%;text-align:left}
.rates-card__table tbody th{text-align:left;font-size:15.5px;line-height:1.3;padding-right:8px;color:var(--ink-soft)}
.rates-card__table td{text-align:right;white-space:nowrap;font-family:var(--display);font-weight:700;font-size:19px;color:var(--ink);font-variant-numeric:tabular-nums}
.rates-card__extra td{color:var(--ink-soft)}
.rates-card__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rates-card__terms{margin:16px 0 0;font-size:15px}
.rates-card__terms a{color:var(--accent-deep);border-bottom:1px solid var(--rule)}

/* ---------- build-injected breadcrumbs and related pages ------------------ */
nav.crumbs{
  max-width:var(--max);margin:0 auto;padding:14px var(--g) 0;
  font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
}
nav.crumbs ol{opacity:1;gap:4px 10px}
nav.crumbs li{color:var(--ink-mute);gap:10px}
nav.crumbs li + li::before{content:"\203A";opacity:1;color:var(--accent)}
nav.crumbs a{color:var(--ink-mute);border-bottom:1px solid transparent}
nav.crumbs a:hover{color:var(--ink);border-bottom-color:var(--accent)}
nav.crumbs [aria-current]{opacity:1;color:var(--ink)}
aside.seo-related{max-width:var(--max);margin:0 auto;padding:clamp(30px,4.4vw,54px) var(--g)}
aside.seo-related .seo-related__in{border-top:2px solid var(--rule-hard);padding-top:20px}
aside.seo-related .seo-related__h{
  margin:0 0 14px;font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.24em;
  text-transform:uppercase;color:var(--accent-deep);opacity:1;
}
aside.seo-related ul{grid-template-columns:1fr;gap:0 32px}
aside.seo-related li{min-width:0}
aside.seo-related a{color:var(--ink-soft);border-bottom:1px solid var(--rule);font-size:15.5px;padding:10px 0}
aside.seo-related a:hover{opacity:1;color:var(--accent-deep)}

/* ---------- the colophon ---------------------------------------------------- */
.site-footer{border-top:2px solid var(--rule-hard);margin-top:clamp(24px,4vw,48px)}
.site-footer__in{
  max-width:var(--max);margin-inline:auto;padding:clamp(30px,4vw,52px) var(--g) 0;
  display:grid;grid-template-columns:1fr;gap:22px clamp(24px,3.4vw,52px);
}
.site-footer__in > *{min-width:0}
.site-footer li{min-width:0;overflow-wrap:anywhere}
.site-footer__h{
  margin:0 0 9px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-mute);
}
.site-footer__in p{font-size:15.5px;color:var(--ink-soft);max-width:44ch}
.site-footer ul{list-style:none;display:grid;gap:7px;font-size:15.5px;color:var(--ink-soft)}
.site-footer a{color:var(--ink-soft)}
.site-footer a:hover{color:var(--accent-deep)}
.site-footer__note{line-height:1.6}
.site-footer__legal{
  max-width:var(--max);margin:26px auto 0;padding:14px var(--g) 30px;border-top:1px solid var(--rule);
  display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;
  font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);
}
.site-footer__legal span{min-width:0;overflow-wrap:anywhere}
.age21{border:1px solid var(--ink-mute);padding:3px 8px;color:var(--ink)}

/* ---------- the dock, small screens ----------------------------------------- */
.dock{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  padding:10px var(--g) calc(10px + env(safe-area-inset-bottom));
  background:var(--paper);border-top:2px solid var(--rule-hard);
  box-shadow:0 -10px 26px -22px rgba(10,7,6,.9);
}
.dock .btn{justify-content:center;padding:12px 8px;font-size:12.5px}
.dock--one{grid-template-columns:1fr}
@media (min-width:761px){.dock{display:none}}
@media (max-width:760px){body{padding-bottom:78px}}

/* ============================ WIDER SCREENS ================================= */
@media (min-width:431px){
  .essay{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .shots{grid-template-columns:repeat(3,minmax(0,1fr))}
  .places{columns:2}
}
@media (min-width:640px){
  .t-grid,.grid--people,.like-grid,.strip-people,.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .menu{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s-grid,.grid--cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3.2vw,48px)}
  .index{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3.4vw,46px)}
  .site-footer__in{grid-template-columns:repeat(2,minmax(0,1fr))}
  aside.seo-related ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:761px){
  .nav-toggle{display:none}
  .coverlines{flex-direction:row;align-items:flex-end;gap:clamp(11px,1.4vw,20px);max-height:100%}
  .coverlines li{
    writing-mode:vertical-rl;transform:rotate(180deg);
    border-left:0;border-right:2px solid var(--paper);padding:0 9px 0 0;
    font-size:clamp(10.5px,1vw,12.5px);letter-spacing:.17em;
  }
  .coverlines li:nth-child(2){border-right-color:#FF93B9;border-left-color:transparent}
  .cover-mid{align-items:flex-end;padding-bottom:0}
  .mast{font-size:clamp(34px,5.6vw,72px)}
  .issue{margin-top:10px;font-size:9.5px;letter-spacing:.2em;gap:5px 12px}
  .issue .bar{width:20px}
  .cover-foot{font-size:10px;letter-spacing:.2em}
  .strip .wrap{font-size:10.5px;letter-spacing:.2em}
}
@media (min-width:861px){
  .cols{columns:2;column-rule:1px solid var(--rule)}
  .cols p{text-align:justify;hyphens:auto}
}
@media (min-width:901px){
  body{font-size:18px}
  .essay{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.6vw,30px)}
  .shots{grid-template-columns:repeat(4,minmax(0,1fr))}
  .t-grid,.grid--people,.like-grid,.strip-people{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
  .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .geo:has(.places){grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
  .cols-2{grid-template-columns:minmax(0,1fr) 320px}
  .index{grid-template-columns:repeat(3,minmax(0,1fr))}
  .site-footer__in{grid-template-columns:repeat(4,minmax(0,1fr))}
  aside.seo-related ul{grid-template-columns:repeat(3,minmax(0,1fr))}
  .deck h1,.deck h2{font-size:clamp(25px,2.85vw,40px)}
  .deck .lede,.deck > p{font-size:16.5px;max-width:40ch}
}
@media (min-width:1021px){
  .cover .wrap{grid-template-columns:minmax(0,auto) minmax(290px,1fr)}
  .frame{height:min(82svh,780px);aspect-ratio:3/4;width:auto;max-width:100%}
}
@media (max-width:760px){
  .site-footer__legal{letter-spacing:.12em;font-size:10px}
  .site-header .inner{gap:10px 14px}
  .nav-toggle{display:inline-block;order:2}
  .site-header nav{display:none;order:3;flex-basis:100%;flex-direction:column;gap:0;border-top:1px solid var(--rule);padding-top:6px}
  .site-header nav.open{display:flex}
  .site-header nav a{padding:10px 0;border-bottom:1px solid var(--rule)}
  .deck .acts{display:none}
}

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