/* latin-ext */
@font-face {
  font-family: 'Vollkorn';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src: url(/assets/fonts/vollkorn/vollkorn-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Vollkorn';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src: url(/assets/fonts/vollkorn/vollkorn-latin.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;
}

/* latin-ext italic */
@font-face {
  font-family: 'Vollkorn';
  font-style: italic;
  font-display: swap;
  font-weight: 400 900;
  src: url(/assets/fonts/vollkorn/vollkorn-latin-ext-italic.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* latin italic */
@font-face {
  font-family: 'Vollkorn';
  font-style: italic;
  font-display: swap;
  font-weight: 400 900;
  src: url(/assets/fonts/vollkorn/vollkorn-latin-italic.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;
}
/* latin-ext */
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src: url(/assets/fonts/golos-text/golos-text-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src: url(/assets/fonts/golos-text/golos-text-latin.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;
}
/* N6 lobbyset.com v3 "Common Ground". Brands stand on the site's own graphite ground in aligned columns; a brace drawn
   over exactly the brands a tie joins carries the tie's name. Monochrome: graphite, ivory, silver; the logos and the
   lobby frames carry the colour. Vollkorn (display, figures) + Golos Text (text, data). */
:root {
  --ink: #221f4c;
  --ink-hi: #27235a;
  --ink-2: #2c2964;
  --ink-deep: #18163a;
  --on: #f6f4fb;
  --on-2: #d2cfe6;
  --on-3: #aba8c9;
  --accent: #ff8f70;
  --accent-hi: #ffa98f;
  --silver: #bcb8dd;
  --line-d: rgba(246, 244, 251, 0.16);
  --paper: #f2f1f7;
  --white: #ffffff;
  --text: #221f4c;
  --text-2: #4b4869;
  --rule: #dcdae9;
  --display: "Vollkorn", Georgia, "Times New Roman", serif;
  --sans: "Golos Text", "Segoe UI", system-ui, sans-serif;
  --wrap: 1280px;
  --gut: clamp(16px, 4vw, 40px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--sans); font-size: 1.0625rem; line-height: 1.55; color: var(--text); background: var(--white); font-variant-numeric: lining-nums; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 2px; }
.sec--white :focus-visible, .sec--paper :focus-visible, .faq :focus-visible { outline-color: var(--text); }
h1, h2, h3, p, ul, ol, dl, figure { margin: 0; }
.wrap { width: min(100% - 2 * var(--gut), var(--wrap)); margin-inline: auto; }

/* ---------- type ---------- */
.h1 { font-family: var(--display); font-weight: 700; font-size: clamp(2.2rem, 3.5vw, 3.1rem); line-height: 1.04; letter-spacing: -0.01em; color: var(--on); text-wrap: balance; max-width: 17em; }
.h1--home { font-size: clamp(2.7rem, 5.6vw, 5.2rem); line-height: 0.98; max-width: 11em; }
.h2 { font-family: var(--display); font-weight: 700; font-size: clamp(1.9rem, 3vw, 2.7rem); line-height: 1.06; letter-spacing: -0.005em; text-wrap: balance; max-width: 22em; }
.lede { font-size: 1.15rem; line-height: 1.55; color: var(--on); max-width: 38em; text-wrap: pretty; }
.licence { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; margin-top: 16px; color: var(--on-2); font-size: 1rem; max-width: 40em; }
.licence__k { font-weight: 600; color: var(--on); padding-right: 14px; border-right: 1px solid var(--line-d); }
.dateline { margin-top: 30px; padding-top: 14px; border-top: 1px solid var(--line-d); color: var(--on-3); font-size: 0.95rem; }
/* the byline shares the date line row: the editor's initials as a small type mark over a coral rule, his name linking to
   his entry on /who-we-are/; legal pages carry the team; one date only */
.dateline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 26px; }
.by { display: inline-flex; align-items: center; gap: 10px; color: var(--on-2); }
.by a { color: var(--on); font-weight: 600; text-decoration-color: var(--accent); }
.by__mono { display: inline-grid; place-items: center; min-width: 34px; height: 30px; padding: 0 5px; font-family: var(--display); font-weight: 700; font-size: 0.95rem; letter-spacing: 0.02em; color: var(--on); background: var(--ink-2); border-bottom: 2px solid var(--accent); border-radius: 3px 3px 0 0; }
.dateline__d { color: var(--on-3); }
.btn { display: inline-flex; align-items: center; min-height: 50px; padding: 0 24px; margin-top: 24px; background: var(--accent); color: var(--ink); font-weight: 600; font-size: 1.05rem; text-decoration: none; border-radius: 3px; }
.btn:hover { background: var(--accent-hi); }

/* ---------- masthead ---------- */
.top { background: var(--ink-deep); color: var(--on); }
.top__in { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 72px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; font-family: var(--display); font-weight: 700; font-size: 1.55rem; color: var(--on); }
.mark { width: 40px; height: auto; }
.mark__brace { fill: none; stroke: var(--accent); stroke-width: 2; stroke-linecap: round; }
.mark circle { fill: var(--silver); }
.nav ul { display: flex; gap: clamp(14px, 2.4vw, 34px); list-style: none; padding: 0; }
.nav a { text-decoration: none; font-weight: 500; color: var(--on-2); padding: 6px 0; border-bottom: 1px solid transparent; }
.nav a:hover { color: var(--on); border-bottom-color: var(--accent); }
.menu { display: none; position: relative; }
.menu summary { list-style: none; cursor: pointer; padding: 8px 14px; border: 1px solid var(--line-d); border-radius: 3px; font-weight: 600; }
.menu summary::-webkit-details-marker { display: none; }
.menu ul { position: absolute; right: 0; top: calc(100% + 8px); list-style: none; margin: 0; padding: 8px; min-width: 220px; background: var(--ink-2); border: 1px solid var(--line-d); display: grid; z-index: 5; }
.menu a { display: block; padding: 10px 12px; text-decoration: none; }

/* ---------- hero ---------- */
.hero { background: linear-gradient(180deg, var(--ink-hi) 0%, var(--ink) 62%); color: var(--on); padding-block: clamp(22px, 3vw, 40px) 34px; }
.hero a:not(.btn) { color: var(--on); }
.crumbs ol { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; font-size: 0.93rem; color: var(--on-3); }
.crumbs li + li::before { content: "/"; margin-right: 10px; }
.sh { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 28px clamp(32px, 5vw, 80px); align-items: start; margin-top: 22px; }
.sh__logo { margin-bottom: 16px; }
.alogo { width: auto; height: auto; max-height: 54px; max-width: 280px; }
.alogo--sq { max-height: 84px; }
.alogo--vec { min-height: 48px; }
.sh .lede { margin-top: 14px; }
.sh__act { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 18px; }
.sh__act .licence, .sh__act .btn { margin-top: 0; }
.sh__act .licence { flex: 1 1 22em; }
.op { border-left: 1px solid var(--line-d); padding-left: clamp(20px, 2.4vw, 32px); }
.op__k { font-family: var(--display); font-weight: 700; font-size: 1.4rem; color: var(--on); margin-bottom: 6px; }
.op dl > div { padding: 8px 0; border-bottom: 1px solid var(--line-d); }
.op dl > div:last-child { border-bottom: 0; }
.op dt { font-size: 0.88rem; color: var(--on-3); }
.op dd { margin: 2px 0 0; font-size: 1rem; color: var(--on); overflow-wrap: anywhere; }
/* casino page: the logo beside the H1; the answer, licence line and operator box beside the main page as captured */
.ch { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 28px clamp(32px, 5vw, 80px); align-items: start; margin-top: 22px; }
.ch--shot { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 28px clamp(32px, 4vw, 64px); }
.ch__title { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; }
.ch__logo .alogo { max-height: 64px; }
.ch__logo .alogo--sq { max-height: 92px; }
.ch .lede { margin-top: 18px; }
.ch--shot .op { border-left: 0; padding-left: 0; border-top: 1px solid var(--line-d); padding-top: 14px; margin-top: 26px; }
.ch--shot .op dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.shot--hero { margin-top: 6px; }
.shot--hero figcaption { color: var(--on-3); font-weight: 500; }
/* a casino page's sister strip stays compact when it holds 2-3 casinos (desktop only; the row form takes over below 1101px) */
@media (min-width: 1101px) { .hero--casino .lu { grid-template-columns: repeat(var(--n), minmax(0, 300px)); } }
.hh { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px clamp(32px, 5vw, 80px); align-items: start; margin-top: 8px; }
.hh__t { padding-top: 10px; }
.hh__t .btn { margin-top: 22px; }
.lu__k { margin-top: clamp(24px, 2.6vw, 34px); font-weight: 600; color: var(--on-2); font-size: 1rem; }

/* ---------- the line-up: aligned brand columns under the braces that join them ---------- */
.lu { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); grid-template-rows: auto auto auto auto auto; margin-top: 10px; }
.lu__list { display: contents; }
.lu__col { grid-column: var(--dc); grid-row: 3 / span 3; display: grid; grid-template-rows: subgrid; padding: 0 14px; border-left: 1px solid var(--line-d); }
.lu__col:first-child { border-left: 0; padding-left: 0; }
.lu__logo { grid-row: 1; display: flex; align-items: center; min-height: 78px; min-width: 0; }
.logo { width: auto; height: auto; max-width: 100%; min-width: 0; flex: 0 1 auto; }
.logo--wd { max-height: 34px; }
.logo--sq { max-height: 54px; }
.logo--vec { min-height: 30px; }
.logo--text { font-family: var(--display); font-weight: 700; color: var(--on); }
.lu__logo .logo--text { font-size: 1.45rem; line-height: 1.1; letter-spacing: -0.005em; }
/* marks with dark letters: a soft light glow that follows the artwork itself (no box, no recolouring) */
.logo--halo { filter: drop-shadow(0 0 0.5px rgba(246, 244, 251, 0.95)) drop-shadow(0 0 1.6px rgba(246, 244, 251, 0.55)) drop-shadow(0 0 4px rgba(246, 244, 251, 0.14)); }
.lu__name { overflow-wrap: anywhere; grid-row: 2; font-weight: 600; font-size: 0.98rem; color: var(--on); padding-bottom: 12px; }
.lu__name a { text-decoration-color: var(--line-d); }
.lu__adds { overflow-wrap: anywhere; grid-row: 3; color: var(--on-2); font-size: 0.97rem; line-height: 1.5; text-wrap: pretty; padding-bottom: 6px; }
.lu__col--anchor .lu__name { font-family: var(--display); font-size: 1.15rem; color: var(--on); }
.lu__over { grid-column: 1 / -1; grid-row: 1; margin: 6px 0 20px; padding: 14px 18px 15px; background: var(--ink-2); border-left: 3px solid var(--accent); font-family: var(--display); font-weight: 600; font-size: 1.22rem; line-height: 1.35; color: var(--on); }
.lu--adds .lu__adds { padding-top: 0; }

/* the brace: six bordered pieces so the curls never stretch; the label sits over the apex */
.brace { grid-column: var(--dc) / span var(--dn); grid-row: 2; display: grid; align-content: end; padding: 0 12px 10px; color: var(--silver); --bw: 2px; }
.brace__k { text-align: center; font-weight: 600; font-size: 0.95rem; line-height: 1.3; color: var(--on); margin-bottom: 8px; }
.brace__shape { display: grid; grid-template-columns: 16px minmax(0, 1fr) 12px 12px minmax(0, 1fr) 16px; height: 18px; }
.brace__shape i { display: block; border: 0 solid currentColor; }
.brace__shape i:nth-child(1) { margin-top: 9px; border-top-width: var(--bw); border-left-width: var(--bw); border-top-left-radius: 14px; }
.brace__shape i:nth-child(2), .brace__shape i:nth-child(5) { margin-top: 9px; border-top-width: var(--bw); }
.brace__shape i:nth-child(3) { margin-bottom: calc(9px - var(--bw)); border-bottom-width: var(--bw); border-right-width: var(--bw); border-bottom-right-radius: 12px; }
.brace__shape i:nth-child(4) { margin-bottom: calc(9px - var(--bw)); border-bottom-width: var(--bw); border-left-width: var(--bw); border-bottom-left-radius: 12px; }
.brace__shape i:nth-child(6) { margin-top: 9px; border-top-width: var(--bw); border-right-width: var(--bw); border-top-right-radius: 14px; }
.brace--company, .brace--own { color: var(--accent); --bw: 3px; }
.brace--company .brace__k, .brace--own .brace__k { color: var(--accent); }
.brace--similar .brace__shape i { border-style: dashed; }
.brace__n { font-family: var(--display); font-weight: 700; font-size: 1.9rem; line-height: 1; font-variant-numeric: tabular-nums; }
.brace__note { display: block; margin-top: 4px; font-weight: 400; font-size: 0.93rem; color: var(--on-2); text-wrap: balance; }

/* home: each set is a line-up under its braces, columns of one width so the sets align */
.hsets { list-style: none; padding: 0; display: grid; gap: 30px; margin-top: 6px; }
.hset { padding-top: 20px; border-top: 1px solid var(--line-d); }
.hset:first-child { border-top: 0; padding-top: 4px; }
.hsets--hub { margin-top: clamp(28px, 3vw, 40px); }
.hsets--hub .hset__note { margin-top: 16px; max-width: 46em; }
.hset__shared { margin-top: 14px; max-width: 46em; padding: 12px 18px 13px; background: var(--ink-2); border-left: 3px solid var(--accent); font-family: var(--display); font-weight: 600; font-size: 1.12rem; line-height: 1.38; color: var(--on); }
.hset__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 18px; }
.hset__name { font-family: var(--display); font-weight: 700; font-size: 1.75rem; line-height: 1.05; color: var(--on); }
.hset__count { color: var(--on-2); font-size: 1rem; }
.hset .lu { grid-template-columns: repeat(var(--n), minmax(0, 150px)); margin-top: 14px; }
.hset .lu__name { font-size: 0.92rem; color: var(--on-2); padding-bottom: 0; }
.hset__foot { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 26px; margin-top: 14px; }
.hset__note { color: var(--on-2); font-size: 1rem; }
.hset__links { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 22px; }
.hset__links a { font-weight: 600; text-decoration-color: var(--accent); }
.checks { margin-top: 34px; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 14px clamp(24px, 3vw, 48px); padding-top: 22px; border-top: 1px solid var(--line-d); }
.checks__k { font-family: var(--display); font-weight: 700; font-size: 1.5rem; line-height: 1.1; color: var(--on); }
.checks__list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 0; }
.checks__list li { padding: 0 22px; border-left: 1px solid var(--line-d); color: var(--on-2); font-size: 1rem; line-height: 1.5; text-wrap: pretty; }
.checks__list li:first-child { border-left: 0; padding-left: 0; }

/* ---------- sections ---------- */
.sec { padding-block: clamp(56px, 7vw, 100px); }
.sec--white { background: var(--white); }
.sec--paper { background: var(--paper); }
.sec--ink, .sec--ink2 { color: var(--on); }
.sec--ink { background: var(--ink); }
.sec--ink2 { background: var(--ink-2); }
.sec__in { display: grid; gap: 26px; }
.sec__in--split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(32px, 5vw, 80px); align-items: start; }
.sec__in--split .prose { max-width: none; }
.sec__head { display: grid; gap: 14px; }
.sec__lede { font-size: 1.15rem; line-height: 1.5; max-width: 40em; }
.sec--ink .sec__lede, .sec--ink2 .sec__lede { color: var(--on); }
.prose { display: grid; gap: 14px; max-width: 46em; color: var(--text-2); }
.sec--ink .prose, .sec--ink2 .prose { color: var(--on-2); }
.prose p, .prose li { line-height: 1.62; text-wrap: pretty; }
.prose ul, .prose ol { margin: 0; padding-left: 1.2em; display: grid; gap: 6px; }
.prose strong { color: inherit; }
.sec--ink .lu__col, .sec--ink2 .lu__col { border-left-color: var(--line-d); }
.shots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 22px; }
.shot img { width: 100%; height: auto; aspect-ratio: 16 / 10; border-radius: 4px; box-shadow: 0 0 0 1px var(--line-d), 0 18px 34px -18px rgba(0, 0, 0, 0.7); background: #0d0f12; }
.shot figcaption { margin-top: 10px; font-weight: 600; font-size: 0.95rem; color: var(--on-2); }
.bks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(28px, 4vw, 56px); }
.bk { scroll-margin-top: 24px; display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 14px 24px; padding: 26px 0; border-top: 1px solid var(--line-d); }
.bk__logo { padding-top: 4px; }
.bk h3 { font-family: var(--display); font-weight: 700; font-size: 1.45rem; line-height: 1.1; color: var(--on); margin-bottom: 10px; }
.bk p { color: var(--on-2); font-size: 1rem; line-height: 1.55; }
.bk p + p { margin-top: 10px; }
.bk:target { box-shadow: inset 3px 0 0 var(--accent); padding-left: 14px; }
.doms { list-style: none; padding: 0; display: grid; border-top: 1px solid var(--rule); }
.dom { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 6px 40px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--rule); }
.dom__n { font-family: var(--display); font-weight: 600; font-size: clamp(1.5rem, 2.6vw, 2.2rem); line-height: 1.1; overflow-wrap: anywhere; }
.dom--real .dom__n { font-weight: 800; }
.dom__t { color: var(--text-2); }
.steward { background: var(--white); padding-block: 40px; border-top: 1px solid var(--rule); }
.steward__in { display: grid; gap: 10px; max-width: 52em; color: var(--text-2); }
.faq { background: var(--paper); padding-block: clamp(44px, 6vw, 76px); }
.faq__in { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 20px clamp(32px, 5vw, 80px); }
.faq__k { font-family: var(--display); font-weight: 700; font-size: 1.9rem; line-height: 1.1; }
.faq__i { border-top: 1px solid var(--rule); }
.faq__i:last-child { border-bottom: 1px solid var(--rule); }
.faq__i summary { cursor: pointer; padding: 16px 0; font-weight: 600; font-size: 1.08rem; list-style: none; }
.faq__i summary::-webkit-details-marker { display: none; }
.faq__i .prose { padding-bottom: 16px; }

/* ---------- help band + footer ---------- */
.rg { background: var(--ink-2); color: var(--on); padding-block: 34px; }
.rg__in { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 16px clamp(32px, 5vw, 80px); align-items: center; }
.rg__k { color: var(--on-2); font-size: 0.98rem; }
.rg__tel { font-family: var(--display); font-weight: 700; font-size: clamp(2rem, 3.4vw, 2.8rem); line-height: 1.05; color: var(--accent); }
.rg__tel a { text-decoration: none; }
.rg__t { display: grid; gap: 8px; color: var(--on-2); }
.foot { background: var(--ink-deep); color: var(--on-2); padding-block: 44px 30px; }
.foot__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); gap: 28px clamp(28px, 4vw, 64px); }
.foot__about { margin-top: 14px; max-width: 30em; font-size: 0.98rem; }
.foot__k { color: var(--on); font-weight: 600; margin-bottom: 10px; }
.foot ul { list-style: none; padding: 0; display: grid; gap: 6px; font-size: 0.98rem; }
.foot a { text-decoration-color: var(--line-d); }
.foot__base { margin-top: 34px; padding-top: 16px; border-top: 1px solid var(--line-d); font-size: 0.9rem; color: var(--on-3); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; }


/* every logo is a link to the brand's most useful place on this site: a 44px target, an accent rule on hover, a ring on
   focus; never a lifted card */
.ll { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; padding: 4px 0; text-decoration: none; position: relative; }
.ll::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform 160ms ease-out; }
.ll:hover::after, .ll:focus-visible::after { transform: scaleX(1); }
.ll:focus-visible { outline-offset: 4px; }
.sh__logo .ll { padding: 0; }
@media (prefers-reduced-motion: reduce) { .ll::after { transition: none; } }

/* tables (the overlap counts, the Kinghills match) */
.tbl-wrap { overflow-x: auto; }
.tbl { width: 100%; border-collapse: collapse; font-size: 1rem; background: var(--white); }
.tbl caption { caption-side: bottom; text-align: left; padding-top: 12px; color: var(--text-2); font-weight: 600; }
.tbl th, .tbl td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--rule); }
.tbl thead th { background: var(--ink); color: var(--on); font-weight: 600; }
.tbl tbody th { font-weight: 600; }
.tbl th.num, .tbl td.num { text-align: right; font-variant-numeric: tabular-nums; }
.tbl td.num { font-family: var(--display); font-weight: 700; font-size: 1.3rem; line-height: 1.1; }
.sec--table .sec__in, .sec--steps .sec__in { max-width: 100%; }

/* the method page's gates, numbered because they run in order */
.gates { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px clamp(24px, 3vw, 44px); counter-reset: none; }
.gate { padding-top: 16px; border-top: 3px solid var(--text); display: grid; gap: 8px; align-content: start; }
.gate__n { font-family: var(--display); font-weight: 800; font-size: 2.6rem; line-height: 0.9; color: var(--text); }
.gate h3 { font-family: var(--display); font-weight: 700; font-size: 1.5rem; line-height: 1.1; }
.gate p { color: var(--text-2); }

/* the overlap counts: the total, then one bar per lobby scaled to the largest */
.ob { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 24px clamp(32px, 5vw, 80px); align-items: center; }
.ob__total { font-family: var(--display); font-weight: 800; font-size: clamp(5rem, 10vw, 8.5rem); line-height: 0.85; color: var(--accent); font-variant-numeric: tabular-nums; }
.ob__fig { margin: 0; }
.ob__fig figcaption { color: var(--on-2); max-width: 42em; }
.ob__list { list-style: none; padding: 0; margin-top: 18px; display: grid; gap: 10px; }
.ob__list li { display: grid; grid-template-columns: 150px 120px minmax(0, 1fr); align-items: center; gap: 16px; }
.ob__logo .logo--wd { max-height: 28px; }
.ob__name { font-weight: 600; color: var(--on); }
.ob__bar { display: flex; height: 34px; }
.ob__sh { flex: 0 0 var(--sh); background: var(--silver); color: var(--ink); display: flex; align-items: center; padding-left: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ob__ow { flex: 0 0 var(--ow); min-width: 34px; background: var(--accent); color: var(--ink); display: flex; align-items: center; justify-content: center; font-weight: 700; }

/* pages without a line-up hero (overlap, method, legal) */
.hero--plain .h1 { margin-top: 20px; }
.hero--plain .lede { margin-top: 18px; }
.hsets--cohorts .hset { border-top: 1px solid var(--line-d); padding-top: 18px; }
.hsets--cohorts .hset__note { margin-top: 12px; }

.mail__a { white-space: nowrap; }

/* ---------- tablet ---------- */
@media (max-width: 1100px) {
  .sh, .hh, .checks, .faq__in, .rg__in, .sec__in--split, .ob, .hsets--cohorts, .ch:not(.ch--shot) { grid-template-columns: minmax(0, 1fr); }
  .op { border-left: 0; padding-left: 0; border-top: 1px solid var(--line-d); padding-top: 18px; }
  .op dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
  .shots { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .foot__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* set-page comparisons read as rows below 1101px: logo, name and its own line per row, braces as brackets */
  .lu--adds { grid-template-columns: 24px 104px minmax(0, 1fr); grid-template-rows: none; column-gap: 0; }
  .lu--adds .lu__over { grid-row: 1; grid-column: 1 / -1; margin: 4px 0 6px; font-size: 1.08rem; }
  .lu--adds .lu__col { grid-column: 2 / -1; grid-row: var(--pr); grid-template-rows: none; grid-template-columns: 104px minmax(0, 1fr); column-gap: 14px; padding: 12px 0; border-left: 0; border-top: 1px solid var(--line-d); }
  .lu--adds .lu__col:first-child { padding-left: 0; }
  .lu--adds .lu__logo { grid-row: 1 / span 2; grid-column: 1; min-height: 0; align-items: flex-start; padding-top: 2px; }
  .lu--adds .lu__name { grid-row: 1; grid-column: 2; padding-bottom: 2px; }
  .lu--adds .lu__adds { grid-row: 2; grid-column: 2; }
  .lu--adds .logo--wd { max-height: 28px; }
  .lu--adds .logo--sq { max-height: 46px; }
  .lu--adds .brace { display: contents; }
  .lu--adds .brace__k { grid-row: var(--pr); grid-column: 1 / -1; text-align: left; margin: 0; padding: 14px 0 6px; }
  .lu--adds .brace__shape { grid-row: var(--pr2) / span var(--pn2); grid-column: 1; display: block; height: auto; width: 10px; margin: 8px 0 10px 4px; border: var(--bw) solid currentColor; border-right: 0; border-radius: 10px 0 0 10px; }
  .lu--adds .brace__shape i { display: none; }
}

/* ---------- phone: one row per brand; each brace becomes a bracket down the left, its label on a row of its own ---------- */
@media (max-width: 899px) {
  .ch, .ch--shot { grid-template-columns: minmax(0, 1fr); }
  /* phones: the comparison comes before the operator box (BLUEPRINT §7) */
  .hero--set .wrap { display: flex; flex-direction: column; }
  .hero--set .sh { display: contents; }
  .hero--set .sh__main { order: 1; margin-top: 18px; }
  .hero--set .lu__k { order: 2; }
  .hero--set .lu { order: 3; }
  .hero--set .op { order: 4; margin-top: 26px; }
  .hero--set .dateline { order: 5; }
  .nav { display: none; }
  .menu { display: block; }
  .lu, .hset .lu { grid-template-columns: 24px 104px minmax(0, 1fr); grid-template-rows: none; column-gap: 0; }
  .lu__over { grid-row: 1; grid-column: 1 / -1; margin: 4px 0 6px; font-size: 1.08rem; }
  .lu__col { grid-column: 2 / -1; grid-row: var(--pr); grid-template-rows: none; grid-template-columns: 104px minmax(0, 1fr); column-gap: 14px; padding: 12px 0; border-left: 0; border-top: 1px solid var(--line-d); }
  .lu__col:first-child { padding-left: 0; }
  .lu__logo { grid-row: 1 / span 2; grid-column: 1; min-height: 0; align-items: flex-start; padding-top: 2px; }
  .lu__name { grid-row: 1; grid-column: 2; padding-bottom: 2px; }
  .lu__adds { grid-row: 2; grid-column: 2; }
  .logo--wd { max-height: 28px; }
  .logo--sq { max-height: 46px; }
  .brace { display: contents; }
  .brace__k { grid-row: var(--pr); grid-column: 1 / -1; text-align: left; margin: 0; padding: 14px 0 6px; }
  .brace__shape { grid-row: var(--pr2) / span var(--pn2); grid-column: 1; display: block; height: auto; width: 10px; margin: 8px 0 10px 4px; border: var(--bw) solid currentColor; border-right: 0; border-radius: 10px 0 0 10px; }
  .brace__shape i { display: none; }
  .brace__n { font-size: 1.5rem; }
  .bks { grid-template-columns: minmax(0, 1fr); }
  .bk { grid-template-columns: minmax(0, 1fr); }
  .checks__list { grid-template-columns: minmax(0, 1fr); }
  .checks__list li { padding: 12px 0 0; border-left: 0; border-top: 1px solid var(--line-d); }
  .checks__list li:first-child { padding-top: 0; border-top: 0; }
  .dom { grid-template-columns: minmax(0, 1fr); }
  .gates { grid-template-columns: minmax(0, 1fr); }
  .ob__list li { grid-template-columns: 96px minmax(0, 1fr); }
  .ob__bar { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .ch--shot .op dl { grid-template-columns: minmax(0, 1fr); }
  .shots { grid-template-columns: minmax(0, 1fr); }
  .op dl { grid-template-columns: minmax(0, 1fr); }
  .foot__grid { grid-template-columns: minmax(0, 1fr); }
  .h1--home { font-size: clamp(2.3rem, 10.5vw, 3rem); }
  .licence { flex-direction: column; }
  .licence__k { border-right: 0; padding-right: 0; }
}

/* grid placement and bar lengths come as data-* attributes (the CSP allows no inline style): one rule per value */
[data-dc="1"]{--dc:1}[data-dc="2"]{--dc:2}[data-dc="3"]{--dc:3}[data-dc="4"]{--dc:4}[data-dc="5"]{--dc:5}[data-dc="6"]{--dc:6}[data-dc="7"]{--dc:7}[data-dc="8"]{--dc:8}[data-dc="9"]{--dc:9}[data-dc="10"]{--dc:10}[data-dc="11"]{--dc:11}[data-dc="12"]{--dc:12}
[data-dn="1"]{--dn:1}[data-dn="2"]{--dn:2}[data-dn="3"]{--dn:3}[data-dn="4"]{--dn:4}[data-dn="5"]{--dn:5}[data-dn="6"]{--dn:6}[data-dn="7"]{--dn:7}[data-dn="8"]{--dn:8}[data-dn="9"]{--dn:9}[data-dn="10"]{--dn:10}[data-dn="11"]{--dn:11}[data-dn="12"]{--dn:12}
[data-n="1"]{--n:1}[data-n="2"]{--n:2}[data-n="3"]{--n:3}[data-n="4"]{--n:4}[data-n="5"]{--n:5}[data-n="6"]{--n:6}[data-n="7"]{--n:7}[data-n="8"]{--n:8}[data-n="9"]{--n:9}[data-n="10"]{--n:10}[data-n="11"]{--n:11}[data-n="12"]{--n:12}
[data-pr="1"]{--pr:1}[data-pr="2"]{--pr:2}[data-pr="3"]{--pr:3}[data-pr="4"]{--pr:4}[data-pr="5"]{--pr:5}[data-pr="6"]{--pr:6}[data-pr="7"]{--pr:7}[data-pr="8"]{--pr:8}[data-pr="9"]{--pr:9}[data-pr="10"]{--pr:10}[data-pr="11"]{--pr:11}[data-pr="12"]{--pr:12}[data-pr="13"]{--pr:13}[data-pr="14"]{--pr:14}[data-pr="15"]{--pr:15}[data-pr="16"]{--pr:16}[data-pr="17"]{--pr:17}[data-pr="18"]{--pr:18}[data-pr="19"]{--pr:19}[data-pr="20"]{--pr:20}[data-pr="21"]{--pr:21}[data-pr="22"]{--pr:22}[data-pr="23"]{--pr:23}[data-pr="24"]{--pr:24}[data-pr="25"]{--pr:25}[data-pr="26"]{--pr:26}[data-pr="27"]{--pr:27}[data-pr="28"]{--pr:28}[data-pr="29"]{--pr:29}[data-pr="30"]{--pr:30}[data-pr="31"]{--pr:31}[data-pr="32"]{--pr:32}[data-pr="33"]{--pr:33}[data-pr="34"]{--pr:34}[data-pr="35"]{--pr:35}[data-pr="36"]{--pr:36}[data-pr="37"]{--pr:37}[data-pr="38"]{--pr:38}[data-pr="39"]{--pr:39}[data-pr="40"]{--pr:40}
[data-pr2="1"]{--pr2:1}[data-pr2="2"]{--pr2:2}[data-pr2="3"]{--pr2:3}[data-pr2="4"]{--pr2:4}[data-pr2="5"]{--pr2:5}[data-pr2="6"]{--pr2:6}[data-pr2="7"]{--pr2:7}[data-pr2="8"]{--pr2:8}[data-pr2="9"]{--pr2:9}[data-pr2="10"]{--pr2:10}[data-pr2="11"]{--pr2:11}[data-pr2="12"]{--pr2:12}[data-pr2="13"]{--pr2:13}[data-pr2="14"]{--pr2:14}[data-pr2="15"]{--pr2:15}[data-pr2="16"]{--pr2:16}[data-pr2="17"]{--pr2:17}[data-pr2="18"]{--pr2:18}[data-pr2="19"]{--pr2:19}[data-pr2="20"]{--pr2:20}[data-pr2="21"]{--pr2:21}[data-pr2="22"]{--pr2:22}[data-pr2="23"]{--pr2:23}[data-pr2="24"]{--pr2:24}[data-pr2="25"]{--pr2:25}[data-pr2="26"]{--pr2:26}[data-pr2="27"]{--pr2:27}[data-pr2="28"]{--pr2:28}[data-pr2="29"]{--pr2:29}[data-pr2="30"]{--pr2:30}[data-pr2="31"]{--pr2:31}[data-pr2="32"]{--pr2:32}[data-pr2="33"]{--pr2:33}[data-pr2="34"]{--pr2:34}[data-pr2="35"]{--pr2:35}[data-pr2="36"]{--pr2:36}[data-pr2="37"]{--pr2:37}[data-pr2="38"]{--pr2:38}[data-pr2="39"]{--pr2:39}[data-pr2="40"]{--pr2:40}
[data-pn2="1"]{--pn2:1}[data-pn2="2"]{--pn2:2}[data-pn2="3"]{--pn2:3}[data-pn2="4"]{--pn2:4}[data-pn2="5"]{--pn2:5}[data-pn2="6"]{--pn2:6}[data-pn2="7"]{--pn2:7}[data-pn2="8"]{--pn2:8}[data-pn2="9"]{--pn2:9}[data-pn2="10"]{--pn2:10}[data-pn2="11"]{--pn2:11}[data-pn2="12"]{--pn2:12}[data-pn2="13"]{--pn2:13}[data-pn2="14"]{--pn2:14}[data-pn2="15"]{--pn2:15}[data-pn2="16"]{--pn2:16}[data-pn2="17"]{--pn2:17}[data-pn2="18"]{--pn2:18}[data-pn2="19"]{--pn2:19}[data-pn2="20"]{--pn2:20}[data-pn2="21"]{--pn2:21}[data-pn2="22"]{--pn2:22}[data-pn2="23"]{--pn2:23}[data-pn2="24"]{--pn2:24}[data-pn2="25"]{--pn2:25}[data-pn2="26"]{--pn2:26}[data-pn2="27"]{--pn2:27}[data-pn2="28"]{--pn2:28}[data-pn2="29"]{--pn2:29}[data-pn2="30"]{--pn2:30}[data-pn2="31"]{--pn2:31}[data-pn2="32"]{--pn2:32}[data-pn2="33"]{--pn2:33}[data-pn2="34"]{--pn2:34}[data-pn2="35"]{--pn2:35}[data-pn2="36"]{--pn2:36}[data-pn2="37"]{--pn2:37}[data-pn2="38"]{--pn2:38}[data-pn2="39"]{--pn2:39}[data-pn2="40"]{--pn2:40}
[data-sh="0"]{--sh:0%}[data-sh="1"]{--sh:1%}[data-sh="2"]{--sh:2%}[data-sh="3"]{--sh:3%}[data-sh="4"]{--sh:4%}[data-sh="5"]{--sh:5%}[data-sh="6"]{--sh:6%}[data-sh="7"]{--sh:7%}[data-sh="8"]{--sh:8%}[data-sh="9"]{--sh:9%}[data-sh="10"]{--sh:10%}[data-sh="11"]{--sh:11%}[data-sh="12"]{--sh:12%}[data-sh="13"]{--sh:13%}[data-sh="14"]{--sh:14%}[data-sh="15"]{--sh:15%}[data-sh="16"]{--sh:16%}[data-sh="17"]{--sh:17%}[data-sh="18"]{--sh:18%}[data-sh="19"]{--sh:19%}[data-sh="20"]{--sh:20%}[data-sh="21"]{--sh:21%}[data-sh="22"]{--sh:22%}[data-sh="23"]{--sh:23%}[data-sh="24"]{--sh:24%}[data-sh="25"]{--sh:25%}[data-sh="26"]{--sh:26%}[data-sh="27"]{--sh:27%}[data-sh="28"]{--sh:28%}[data-sh="29"]{--sh:29%}[data-sh="30"]{--sh:30%}[data-sh="31"]{--sh:31%}[data-sh="32"]{--sh:32%}[data-sh="33"]{--sh:33%}[data-sh="34"]{--sh:34%}[data-sh="35"]{--sh:35%}[data-sh="36"]{--sh:36%}[data-sh="37"]{--sh:37%}[data-sh="38"]{--sh:38%}[data-sh="39"]{--sh:39%}[data-sh="40"]{--sh:40%}[data-sh="41"]{--sh:41%}[data-sh="42"]{--sh:42%}[data-sh="43"]{--sh:43%}[data-sh="44"]{--sh:44%}[data-sh="45"]{--sh:45%}[data-sh="46"]{--sh:46%}[data-sh="47"]{--sh:47%}[data-sh="48"]{--sh:48%}[data-sh="49"]{--sh:49%}[data-sh="50"]{--sh:50%}[data-sh="51"]{--sh:51%}[data-sh="52"]{--sh:52%}[data-sh="53"]{--sh:53%}[data-sh="54"]{--sh:54%}[data-sh="55"]{--sh:55%}[data-sh="56"]{--sh:56%}[data-sh="57"]{--sh:57%}[data-sh="58"]{--sh:58%}[data-sh="59"]{--sh:59%}[data-sh="60"]{--sh:60%}[data-sh="61"]{--sh:61%}[data-sh="62"]{--sh:62%}[data-sh="63"]{--sh:63%}[data-sh="64"]{--sh:64%}[data-sh="65"]{--sh:65%}[data-sh="66"]{--sh:66%}[data-sh="67"]{--sh:67%}[data-sh="68"]{--sh:68%}[data-sh="69"]{--sh:69%}[data-sh="70"]{--sh:70%}[data-sh="71"]{--sh:71%}[data-sh="72"]{--sh:72%}[data-sh="73"]{--sh:73%}[data-sh="74"]{--sh:74%}[data-sh="75"]{--sh:75%}[data-sh="76"]{--sh:76%}[data-sh="77"]{--sh:77%}[data-sh="78"]{--sh:78%}[data-sh="79"]{--sh:79%}[data-sh="80"]{--sh:80%}[data-sh="81"]{--sh:81%}[data-sh="82"]{--sh:82%}[data-sh="83"]{--sh:83%}[data-sh="84"]{--sh:84%}[data-sh="85"]{--sh:85%}[data-sh="86"]{--sh:86%}[data-sh="87"]{--sh:87%}[data-sh="88"]{--sh:88%}[data-sh="89"]{--sh:89%}[data-sh="90"]{--sh:90%}[data-sh="91"]{--sh:91%}[data-sh="92"]{--sh:92%}[data-sh="93"]{--sh:93%}[data-sh="94"]{--sh:94%}[data-sh="95"]{--sh:95%}[data-sh="96"]{--sh:96%}[data-sh="97"]{--sh:97%}[data-sh="98"]{--sh:98%}[data-sh="99"]{--sh:99%}[data-sh="100"]{--sh:100%}
[data-ow="0"]{--ow:0%}[data-ow="1"]{--ow:1%}[data-ow="2"]{--ow:2%}[data-ow="3"]{--ow:3%}[data-ow="4"]{--ow:4%}[data-ow="5"]{--ow:5%}[data-ow="6"]{--ow:6%}[data-ow="7"]{--ow:7%}[data-ow="8"]{--ow:8%}[data-ow="9"]{--ow:9%}[data-ow="10"]{--ow:10%}[data-ow="11"]{--ow:11%}[data-ow="12"]{--ow:12%}[data-ow="13"]{--ow:13%}[data-ow="14"]{--ow:14%}[data-ow="15"]{--ow:15%}[data-ow="16"]{--ow:16%}[data-ow="17"]{--ow:17%}[data-ow="18"]{--ow:18%}[data-ow="19"]{--ow:19%}[data-ow="20"]{--ow:20%}[data-ow="21"]{--ow:21%}[data-ow="22"]{--ow:22%}[data-ow="23"]{--ow:23%}[data-ow="24"]{--ow:24%}[data-ow="25"]{--ow:25%}[data-ow="26"]{--ow:26%}[data-ow="27"]{--ow:27%}[data-ow="28"]{--ow:28%}[data-ow="29"]{--ow:29%}[data-ow="30"]{--ow:30%}[data-ow="31"]{--ow:31%}[data-ow="32"]{--ow:32%}[data-ow="33"]{--ow:33%}[data-ow="34"]{--ow:34%}[data-ow="35"]{--ow:35%}[data-ow="36"]{--ow:36%}[data-ow="37"]{--ow:37%}[data-ow="38"]{--ow:38%}[data-ow="39"]{--ow:39%}[data-ow="40"]{--ow:40%}[data-ow="41"]{--ow:41%}[data-ow="42"]{--ow:42%}[data-ow="43"]{--ow:43%}[data-ow="44"]{--ow:44%}[data-ow="45"]{--ow:45%}[data-ow="46"]{--ow:46%}[data-ow="47"]{--ow:47%}[data-ow="48"]{--ow:48%}[data-ow="49"]{--ow:49%}[data-ow="50"]{--ow:50%}[data-ow="51"]{--ow:51%}[data-ow="52"]{--ow:52%}[data-ow="53"]{--ow:53%}[data-ow="54"]{--ow:54%}[data-ow="55"]{--ow:55%}[data-ow="56"]{--ow:56%}[data-ow="57"]{--ow:57%}[data-ow="58"]{--ow:58%}[data-ow="59"]{--ow:59%}[data-ow="60"]{--ow:60%}[data-ow="61"]{--ow:61%}[data-ow="62"]{--ow:62%}[data-ow="63"]{--ow:63%}[data-ow="64"]{--ow:64%}[data-ow="65"]{--ow:65%}[data-ow="66"]{--ow:66%}[data-ow="67"]{--ow:67%}[data-ow="68"]{--ow:68%}[data-ow="69"]{--ow:69%}[data-ow="70"]{--ow:70%}[data-ow="71"]{--ow:71%}[data-ow="72"]{--ow:72%}[data-ow="73"]{--ow:73%}[data-ow="74"]{--ow:74%}[data-ow="75"]{--ow:75%}[data-ow="76"]{--ow:76%}[data-ow="77"]{--ow:77%}[data-ow="78"]{--ow:78%}[data-ow="79"]{--ow:79%}[data-ow="80"]{--ow:80%}[data-ow="81"]{--ow:81%}[data-ow="82"]{--ow:82%}[data-ow="83"]{--ow:83%}[data-ow="84"]{--ow:84%}[data-ow="85"]{--ow:85%}[data-ow="86"]{--ow:86%}[data-ow="87"]{--ow:87%}[data-ow="88"]{--ow:88%}[data-ow="89"]{--ow:89%}[data-ow="90"]{--ow:90%}[data-ow="91"]{--ow:91%}[data-ow="92"]{--ow:92%}[data-ow="93"]{--ow:93%}[data-ow="94"]{--ow:94%}[data-ow="95"]{--ow:95%}[data-ow="96"]{--ow:96%}[data-ow="97"]{--ow:97%}[data-ow="98"]{--ow:98%}[data-ow="99"]{--ow:99%}[data-ow="100"]{--ow:100%}
