/* Natural Links Play: all styles of the Play pages in one file (header and footer, body).
   Generated by build_play_v8/build.py from src/css/; do not edit here. */
@font-face{font-family:"Outfit Fallback";src:local("Arial"),local("ArialMT");font-weight:100 500;size-adjust:98.7%;ascent-override:101.3%;descent-override:26.3%;line-gap-override:0%}@font-face{font-family:"Outfit Fallback";src:local("Arial Bold"),local("Arial-BoldMT");font-weight:600 900;size-adjust:94.8%;ascent-override:105.5%;descent-override:27.4%;line-gap-override:0%}
html{-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:#fff}
/* ===== src/css/chrome.css ===== */
/* Header and footer of Natural Links Play (WordPress theme reference).
   Every selector starts with .nlp-hd (header) or .nlp-ft (footer), so these rules never reach the
   theme or the body fragments (.nlp). Theme element rules (p, li, a, button...) still reach
   this markup: the guard block below puts the header and footer values back.
   Breakpoints: desktop nav from 1100px, burger below. */
.nlp-hd,.nlp-ft{--nlp-dark:#03271E;--nlp-night:#020F0B;--nlp-lime:#A3E625;--nlp-lime2:#89D200;--nlp-mid:#4AA367;--nlp-tint:#ECFDF5;font-family:Outfit,"Outfit Fallback",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-weight:400;font-style:normal;letter-spacing:normal;text-transform:none;-webkit-font-smoothing:antialiased;line-height:1.5}
.nlp-hd{font-size:16px}
.nlp-hd *,.nlp-hd *::before,.nlp-hd *::after,.nlp-ft *,.nlp-ft *::before,.nlp-ft *::after{box-sizing:border-box}
.nlp-hd [hidden],.nlp-ft [hidden]{display:none!important}
/* Theme guard: WordPress themes style p, li, a, span, button and lists globally.
   Selectors here are (0,1,1) or (0,2,x), so they beat plain element rules and rules such as
   ".site-header ul" that load before this file. Component rules below are more specific and win. */
.nlp-hd p,.nlp-hd li,.nlp-hd span,.nlp-hd label,.nlp-hd div,.nlp-hd ul,.nlp-ft p,.nlp-ft li,.nlp-ft span,.nlp-ft div,.nlp-ft ul{color:inherit;font-family:inherit;font-size:inherit;font-style:normal;line-height:inherit;letter-spacing:inherit;text-indent:0;text-transform:none;text-align:inherit;max-width:none}
/* The header and footer elements themselves and their structural children: themes ship plain rules
   such as header{padding:30px 0;border-bottom:1px solid}, footer{text-align:center}, nav ul{display:flex;
   justify-content:center}, nav li{display:inline-block}, nav a{padding:10px 15px} and svg{fill:red}.
   .nlp-hd and .nlp-ft (0,1,0) beat header and footer (0,0,1); the component rules below come later and
   set their own values. */
.nlp-hd,.nlp-ft{display:block;float:none;position:static;width:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;text-align:left}
.nlp-hd nav,.nlp-ft nav{display:block;float:none;position:static;width:auto;max-width:none;margin:0;padding:0;border:0;background:none;box-shadow:none;color:inherit;font-family:inherit;font-size:inherit;font-style:normal;line-height:inherit;letter-spacing:inherit;text-indent:0;text-transform:none;text-align:inherit}
.nlp-hd ul,.nlp-ft ul{display:block;float:none;width:auto;gap:normal;justify-content:normal;align-items:normal;border:0;background:none}
.nlp-hd li,.nlp-ft li{display:list-item;float:none;width:auto}
.nlp-hd a,.nlp-ft a{display:inline;float:none;margin:0;padding:0}
.nlp-hd svg,.nlp-ft svg{display:inline;float:none;max-width:none;fill:none;stroke:none}
.nlp-hd .nlp-hd-menu,.nlp-hd .nlp-hd-panel,.nlp-hd ul,.nlp-ft ul,.nlp-ft .nlp-ft-list,.nlp-ft .nlp-ft-rg,.nlp-ft .nlp-ft-links{margin:0;padding:0;list-style:none}
.nlp-hd li,.nlp-hd ul li,.nlp-ft li,.nlp-ft ul li{margin:0;padding:0;list-style:none;background:none;border:0}
.nlp-hd li::marker,.nlp-ft li::marker{content:none}
.nlp-hd p,.nlp-ft p{margin:0;padding:0;background:none;border:0}
.nlp-hd a,.nlp-ft a{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;text-indent:0;text-transform:none;border:0;background:none;box-shadow:none}
.nlp-hd button{margin:0;padding:0;min-height:0;border:0;border-radius:0;background:none;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:normal;text-indent:0;text-transform:none;box-shadow:none}
.nlp-hd a:focus-visible,.nlp-hd button:focus-visible,.nlp-ft a:focus-visible{outline:3px solid var(--nlp-lime);outline-offset:2px}
/* The topbar is lime: a lime focus ring would not show there */
.nlp-hd .nlp-hd-top a:focus-visible,.nlp-hd .nlp-hd-skip:focus-visible{outline-color:var(--nlp-night)}
/* Insurance before JS runs: only the panels of the GEO in data-geo show (the theme also prints hidden) */
.nlp-hd[data-geo=uk] [data-nlp-geo-panel]:not([data-nlp-geo-panel=uk]),.nlp-hd[data-geo=au] [data-nlp-geo-panel]:not([data-nlp-geo-panel=au]),.nlp-hd[data-geo=ca] [data-nlp-geo-panel]:not([data-nlp-geo-panel=ca]){display:none!important}

/* Header */
.nlp-hd{background:var(--nlp-night);color:#fff;position:relative;z-index:50}
.nlp-hd .nlp-hd-skip{position:absolute;left:12px;top:-60px;background:#fff;color:var(--nlp-dark);padding:8px 14px;border-radius:10px;font-weight:600;z-index:60;text-decoration:none}
.nlp-hd .nlp-hd-skip:focus{top:12px}
/* Lime topbar: age and the GEO helpline (one line per GEO, JS shows the active one) */
.nlp-hd .nlp-hd-top{background:var(--nlp-lime);color:var(--nlp-dark);font-size:14px;font-weight:600;line-height:20px;padding:10px 16px;text-align:center}
.nlp-hd .nlp-hd-top p{margin:0;max-width:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px}
.nlp-hd .nlp-hd-top a{position:relative;color:var(--nlp-dark);font-weight:700;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
/* v5: a 24px tap area around the topbar links (helpline number), the bar keeps its height */
.nlp-hd .nlp-hd-top a::after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:24px;transform:translateY(-50%)}
.nlp-hd .nlp-hd-top .nlp-hd-toplink{font-weight:600}
.nlp-hd .nlp-hd-topnote{font-weight:500}
.nlp-hd .nlp-hd-age{display:inline-grid;place-items:center;min-width:36px;height:22px;padding:0 7px;border:1.5px solid currentColor;border-radius:999px;font-size:12px;font-weight:700;line-height:1}
.nlp-hd .nlp-hd-wrap{max-width:1220px;margin:0 auto;padding:20px 20px 0}
/* Glass pill as on naturallinks.net; -webkit- prefix for iOS Safari below 18 */
.nlp-hd .nlp-hd-pill{display:flex;align-items:center;gap:20px;min-height:64px;padding:12px 16px;border-radius:16px;background:linear-gradient(90deg,rgba(255,255,255,.30),rgba(255,255,255,.10));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative}
.nlp-hd .nlp-hd-brand{display:flex;align-items:center;gap:10px;flex:none}
.nlp-hd .nlp-hd-logo{display:block;line-height:0}
.nlp-hd .nlp-hd-logo-svg{display:block;width:170px;height:32px}
.nlp-hd .nlp-hd-play{color:var(--nlp-lime);font-size:23px;font-weight:500;letter-spacing:-.3px;line-height:1;text-decoration:none;padding-bottom:2px}
.nlp-hd .nlp-hd-play:hover{color:#fff}
.nlp-hd .nlp-hd-nav{margin:0 auto}
.nlp-hd .nlp-hd-menu{display:flex;align-items:center;gap:4px}
.nlp-hd .nlp-hd-menu>li{position:relative;margin:0}
.nlp-hd .nlp-hd-link{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:0;border-radius:10px;background:none;color:#fff;font-family:inherit;font-size:15px;font-weight:500;line-height:1.3;text-decoration:none;white-space:nowrap;cursor:pointer}
.nlp-hd .nlp-hd-link:hover{background:rgba(255,255,255,.10);color:#fff}
.nlp-hd .nlp-hd-link[aria-current=page],.nlp-hd .nlp-hd-link.nlp-hd-cur{color:var(--nlp-lime)}
.nlp-hd .nlp-hd-ddbtn::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.nlp-hd .nlp-hd-ddbtn[aria-expanded=true]{background:rgba(255,255,255,.10)}
.nlp-hd .nlp-hd-ddbtn[aria-expanded=true]::after{transform:translateY(2px) rotate(225deg)}
.nlp-hd .nlp-hd-panel{position:absolute;left:0;top:calc(100% + 10px);min-width:240px;padding:6px;background:#fff;border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.30);z-index:30}
.nlp-hd .nlp-hd-panel li{margin:0}
.nlp-hd .nlp-hd-plink{display:block;padding:10px 12px;border-radius:10px;color:var(--nlp-dark);font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap}
.nlp-hd .nlp-hd-panel li:first-child .nlp-hd-plink{font-weight:700}
.nlp-hd .nlp-hd-plink:hover,.nlp-hd .nlp-hd-plink[aria-current=page]{background:var(--nlp-tint);color:var(--nlp-dark)}
/* Country switcher: GEO codes, the active one in lime */
.nlp-hd .nlp-hd-geo{display:flex;gap:2px;flex:none;padding:3px;border:1px solid rgba(255,255,255,.30);border-radius:12px}
/* Buttons on GEO-neutral pages, links to each GEO hub on GEO pages: same look */
.nlp-hd .nlp-hd-geo button,.nlp-hd .nlp-hd-geo a{display:inline-grid;place-items:center;min-width:44px;height:32px;padding:0 10px;border:0;border-radius:9px;background:none;color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1;text-decoration:none;cursor:pointer}
.nlp-hd .nlp-hd-geo button:hover,.nlp-hd .nlp-hd-geo a:hover{background:rgba(255,255,255,.10);color:#fff}
.nlp-hd .nlp-hd-geo button[aria-pressed=true],.nlp-hd .nlp-hd-geo a[aria-current=true]{background:var(--nlp-lime);color:var(--nlp-dark)}
.nlp-hd .nlp-hd-burger{display:none;place-items:center;flex:none;width:52px;height:40px;margin-left:auto;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:none;color:#fff;cursor:pointer}
.nlp-hd .nlp-hd-burger .nlp-hd-i-close,.nlp-hd .nlp-hd-burger[aria-expanded=true] .nlp-hd-i-open{display:none}
.nlp-hd .nlp-hd-burger[aria-expanded=true] .nlp-hd-i-close{display:block}
/* Mobile menu: in the page flow under the pill, pushes the hero down */
.nlp-hd .nlp-hd-mobile{margin-top:8px;padding:16px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.nlp-hd .nlp-hd-mobile .nlp-hd-geo{display:inline-flex}
.nlp-hd .nlp-hd-mlabel{margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.nlp-hd .nlp-hd-mgroup{margin-top:18px}
.nlp-hd .nlp-hd-mgroup ul{list-style:none;margin:0;padding:0}
.nlp-hd .nlp-hd-mgroup li{margin:0;border-top:1px solid rgba(255,255,255,.10)}
.nlp-hd .nlp-hd-mlink{display:block;padding:12px 0;color:#fff;font-size:17px;font-weight:500;text-decoration:none}
.nlp-hd .nlp-hd-mlink[aria-current=page]{color:var(--nlp-lime)}
.nlp-hd .nlp-hd-mextra{list-style:none;margin:6px 0 0;padding:0}
.nlp-hd .nlp-hd-mextra li{margin:0;border-top:1px solid rgba(255,255,255,.10)}
.nlp-hd .nlp-hd-mobile .nlp-hd-mrg,.nlp-hd .nlp-hd-mobile .nlp-hd-mhome{font-size:15px}
.nlp-hd .nlp-hd-mobile .nlp-hd-mhome{color:var(--nlp-lime)}
@media (min-width:1100px){.nlp-hd .nlp-hd-mobile{display:none!important}}
@media (max-width:1099px){
  .nlp-hd .nlp-hd-nav,.nlp-hd .nlp-hd-pill>.nlp-hd-geo{display:none}
  .nlp-hd .nlp-hd-burger{display:grid}
}
@media (max-width:479px){
  .nlp-hd .nlp-hd-top{font-size:13px;padding:8px 12px}
  .nlp-hd .nlp-hd-top .nlp-hd-toplink{display:none}
  .nlp-hd .nlp-hd-wrap{padding:12px 12px 0}
  .nlp-hd .nlp-hd-pill{gap:10px;padding:10px 10px 10px 12px;min-height:58px}
  .nlp-hd .nlp-hd-logo-svg{width:138px;height:26px}
  /* v5: phone tap areas of 44px and more without moving the layout (negative margins on the Play
     link, a hit area around the burger) */
  .nlp-hd .nlp-hd-play{margin:-12px -4px;padding:12px 4px 14px;font-size:19px}
  .nlp-hd .nlp-hd-burger{position:relative;width:46px;height:38px}
  .nlp-hd .nlp-hd-burger::after{content:"";position:absolute;inset:-4px 0}
}

/* Footer */
.nlp-ft{background:var(--nlp-dark);color:rgba(255,255,255,.68);font-size:15px;padding:64px 0 24px}
.nlp-ft .nlp-ft-wrap{max-width:1220px;margin:0 auto;padding:0 20px}
.nlp-ft a{color:rgba(255,255,255,.75);text-decoration:none}
.nlp-ft .nlp-ft-wrap a:hover{color:var(--nlp-lime)}
.nlp-ft a[aria-current=page]{color:#fff;font-weight:600}
.nlp-ft .nlp-ft-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,1fr));gap:40px 32px}
.nlp-ft .nlp-ft-lockup{display:flex;align-items:center;gap:10px}
.nlp-ft .nlp-ft-logo{display:block;line-height:0}
.nlp-ft .nlp-ft-logo-svg{display:block;width:170px;height:32px}
.nlp-ft .nlp-ft-play{color:var(--nlp-lime);font-size:23px;font-weight:500;letter-spacing:-.3px;line-height:1}
.nlp-ft .nlp-ft-tag{margin-top:16px;max-width:320px;font-size:14px}
.nlp-ft .nlp-ft-authors{margin-top:14px;font-size:14px}
.nlp-ft .nlp-ft-authors a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.nlp-ft .nlp-ft-h{display:flex;align-items:center;gap:8px;margin:0 0 16px;color:#fff;font-size:15px;font-weight:700;line-height:1.3}
.nlp-ft .nlp-ft-code{display:inline-grid;place-items:center;height:22px;padding:0 6px;border-radius:6px;background:rgba(255,255,255,.12);color:var(--nlp-lime);font-size:12px;font-weight:700}
.nlp-ft .nlp-ft-list li{margin:0 0 10px}
.nlp-ft .nlp-ft-sub{line-height:1.5;margin:22px 0 10px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);color:#fff;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.nlp-ft .nlp-ft-rg{font-size:13.5px;line-height:1.45}
.nlp-ft .nlp-ft-rg li{margin:0 0 9px}
.nlp-ft .nlp-ft-rg a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.nlp-ft a[href^="tel:"]{white-space:nowrap}
.nlp-ft .nlp-ft-note{color:rgba(255,255,255,.55)}
.nlp-ft .nlp-ft-age{display:inline-grid;place-items:center;min-width:36px;height:22px;margin-right:8px;padding:0 6px;border:1.5px solid var(--nlp-lime);border-radius:999px;color:var(--nlp-lime);font-size:12px;font-weight:700;line-height:1;vertical-align:1px}
/* Organisation badges: monochrome text placeholders, swapped for official logo files later */
/* One group per GEO: label column + that GEO's badges wrapping inside the group.
   3 groups side by side from 1100px, one group per row below. */
.nlp-ft .nlp-ft-badges{margin-top:44px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.nlp-ft .nlp-ft-blabel{margin:0 0 14px;color:#fff;font-size:14px;font-weight:600}
.nlp-ft .nlp-ft-brow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 32px}
.nlp-ft .nlp-ft-bgroup{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:start}
.nlp-ft .nlp-ft-blist{display:flex;flex-wrap:wrap;gap:8px}
.nlp-ft .nlp-ft-bgeo{display:inline-flex;align-items:center;height:36px}
.nlp-ft .nlp-ft-bgeo .nlp-ft-age{margin-right:6px}
.nlp-ft .nlp-ft-bcode{color:rgba(255,255,255,.55);font-size:12px;font-weight:700}
.nlp-ft .nlp-ft-badge{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid rgba(255,255,255,.35);border-radius:10px;color:#fff;font-size:14px;font-weight:600;letter-spacing:.2px;white-space:nowrap}
.nlp-ft .nlp-ft-badge:hover{border-color:var(--nlp-lime);color:var(--nlp-lime)}
.nlp-ft .nlp-ft-disc{margin-top:28px;max-width:920px;font-size:13px}
.nlp-ft .nlp-ft-disc a{color:#fff;text-decoration:underline}
.nlp-ft .nlp-ft-legal{margin-top:10px;font-size:13px}
.nlp-ft .nlp-ft-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:14px}
.nlp-ft .nlp-ft-links{display:flex;flex-wrap:wrap;gap:8px 18px}
.nlp-ft .nlp-ft-links li{margin:0}
@media (max-width:1099px){
  .nlp-ft .nlp-ft-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .nlp-ft .nlp-ft-brand{grid-column:1/-1}
  .nlp-ft .nlp-ft-brow{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
  .nlp-ft{padding-top:48px}
  .nlp-ft .nlp-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}
}
@media (max-width:479px){
  .nlp-ft .nlp-ft-grid{grid-template-columns:minmax(0,1fr)}
  .nlp-ft .nlp-ft-wrap{padding:0 16px}
  .nlp-ft .nlp-ft-logo-svg{width:138px;height:26px}
  .nlp-ft .nlp-ft-play{font-size:19px}
  .nlp-ft .nlp-ft-badge{white-space:normal;height:auto;min-height:36px;padding:6px 12px}
}
@media (prefers-reduced-motion:reduce){.nlp-hd .nlp-hd-ddbtn::after{transition:none}}
/* v5: the help lines of the footer easier to read on phones */
@media (max-width:767px){.nlp-ft .nlp-ft-rg{font-size:14px;line-height:20px}}

/* ===== src/css/base.css ===== */
/* Natural Links Play design system, body part. One source: build.py inlines it into
   every WordPress fragment and writes it to the site folder as assets/css/play.css.
   Rules: every selector starts with .nlp, every class is nlp-*, no global selectors.
   Comments are stripped from the WordPress fragments (assets/css/play.css keeps them). Breakpoints:
   1279/1280px, 1199px, 1023/1024px, 767/768px, 379px; one height query (1024px and wider, up to 860px high).
   Look: naturallinks.net (Outfit, #03271E, lime #A3E625/#89D200, green #4AA367, white panels).
   Signature shape: the leaf, large radius on the top-left and bottom-right corners, square on the
   other two (v3 tier card). Only hairline borders or fills go with it. No shadows in the body (the
   header dropdown in chrome.css keeps the shadow of the live site menu).
   Radii only through tokens (check.py rejects a literal leaf radius). v4 (owner 30.10.2026): the leaf
   (--nlp-leaf-*) marks the content surfaces: cards, dark blocks, the RG block, list plates, figures, the
   form. Small functional parts use a plain radius (--nlp-r-*): operator logos, rank and
   icon tiles, markers, tables, FAQ rows, link tiles, author photos. */

/* Tokens and reset inside the fragment root. CSS icons (a check tick, the select chevron) are
   tokens here, defined once, stroke 1.75 like ICON(); check.py rejects a data URI anywhere else.
   The root carries class "alignfull": WordPress block themes then skip their content width.
   Box properties stay at (0,1,0) on purpose, so the core rule (.has-global-padding > .alignfull,
   0,2,0) still sets the negative side margins. */
.nlp{--nlp-dark:#03271E;--nlp-ink:#202020;--nlp-night:#020F0B;--nlp-lime:#A3E625;--nlp-lime2:#89D200;--nlp-lime-h:#B5EB50;--nlp-acc:#3F7A00;--nlp-mid:#4AA367;--nlp-tint:#ECFDF5;--nlp-grey:#F7F7F7;--nlp-line:rgba(3,39,30,.12);--nlp-muted:rgba(32,32,32,.72);--nlp-on-dark:rgba(255,255,255,.78);--nlp-on-dark-2:rgba(255,255,255,.6);
  --nlp-leaf-s:16px 0 16px 0;--nlp-leaf-m:24px 0 24px 0;--nlp-leaf-l:48px 0 48px 0;
  --nlp-r-xs:6px;--nlp-r-s:8px;--nlp-r-m:12px;--nlp-r-l:16px;
  --nlp-ico-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' stroke='%2303271E' stroke-width='1.75' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --nlp-ico-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2303271E' stroke-width='1.75' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --nlp-wrap:1180px;--nlp-gut:20px;--nlp-pad:48px;--nlp-ov:88px;--nlp-step:72px;
  display:block;width:auto;max-width:none;margin:0;padding:0;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
/* Text properties of the root at (0,2,0): theme rules such as ".entry-content div" (0,1,1) cannot reach them */
.nlp[data-page]{background:#fff;color:var(--nlp-ink);font-family:Outfit,"Outfit Fallback",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.6;font-weight:400;font-style:normal;letter-spacing:normal;text-align:left;text-indent:0;text-transform:none}
.nlp *,.nlp *::before,.nlp *::after{box-sizing:border-box}
.nlp [hidden]{display:none!important}
.nlp h1,.nlp h2,.nlp h3,.nlp h4{margin:0;padding:0;font-family:inherit;font-weight:700;color:var(--nlp-dark);text-transform:none;border:0;background:none}
/* Theme guard: WordPress themes style p, li, a, table cells and buttons globally. These resets put
   the fragment's own values back; component rules (.nlp .nlp-x) are more specific and win. */
.nlp p,.nlp li,.nlp dd,.nlp dt,.nlp td,.nlp th,.nlp label,.nlp span,.nlp summary{color:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;text-indent:0;text-transform:none;font-family:inherit}
.nlp div,.nlp section,.nlp nav,.nlp aside,.nlp ul,.nlp ol,.nlp dl,.nlp a,.nlp strong,.nlp b,.nlp em,.nlp details,.nlp form{line-height:inherit}
.nlp section,.nlp aside,.nlp nav,.nlp header,.nlp footer,.nlp article,.nlp form{display:block;float:none;clear:none;position:static;width:auto;height:auto;min-width:0;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font-size:inherit;text-align:inherit}
.nlp svg{display:inline;float:none;max-width:100%;fill:none;stroke:none}
.nlp svg[stroke=currentColor]{stroke:currentColor}
.nlp p{margin:0 0 16px;padding:0;font-weight:inherit}
.nlp ul,.nlp ol{display:block;float:none;width:auto;gap:normal;justify-content:normal;align-items:normal;margin:0 0 20px;padding:0;list-style:none;border:0;background:none}
.nlp li,.nlp ul li,.nlp ol li{display:list-item;float:none;width:auto;margin:0;padding:0;list-style:none;background:none;border:0}
.nlp ul li::marker,.nlp ol li::marker{content:none}
.nlp dl,.nlp dt,.nlp dd{margin:0;padding:0}
.nlp strong,.nlp b{font-weight:700;color:var(--nlp-dark)}
.nlp a{display:inline;float:none;margin:0;padding:0;color:var(--nlp-dark);font-weight:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;box-shadow:none;border:0;background:none;text-transform:none;letter-spacing:inherit}
.nlp a:hover{color:var(--nlp-acc)}
.nlp table{width:100%;margin:0;border-collapse:collapse;border-spacing:0;border:0;table-layout:auto}
.nlp th,.nlp td{text-align:left}
.nlp button,.nlp input,.nlp select,.nlp textarea{font:inherit;text-transform:none;letter-spacing:normal;text-indent:0}
.nlp details,.nlp summary{border:0;margin:0;padding:0}
.nlp hr{border:0;border-top:1px solid var(--nlp-line);margin:24px 0}
.nlp figure{display:block;float:none;position:static;width:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.nlp img{display:block;float:none;width:auto;height:auto;max-width:100%;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.nlp ::selection{background:rgba(163,230,37,.55);color:var(--nlp-dark)}
/* Focus ring: 3:1 against its surface (dark green on light surfaces, lime on dark ones) */
.nlp a:focus-visible,.nlp button:focus-visible,.nlp summary:focus-visible,.nlp input:focus-visible,.nlp select:focus-visible,.nlp textarea:focus-visible,.nlp [tabindex]:focus-visible{outline:3px solid var(--nlp-dark);outline-offset:2px}
.nlp .nlp-hero :focus-visible,.nlp .nlp-dark :focus-visible,.nlp .nlp-card-dark :focus-visible,.nlp .nlp-offer-band :focus-visible{outline-color:var(--nlp-lime)}
.nlp a[href^="tel:"]{white-space:nowrap}
.nlp a[href^="mailto:"]{overflow-wrap:normal;word-break:normal}
.nlp span.nlp-nw{white-space:nowrap}
.nlp .nlp-i{display:block;flex:none;width:18px;height:18px}
.nlp .nlp-i-v{transition:opacity .15s ease-out}
.nlp [aria-expanded="true"] .nlp-i-v{opacity:0}
.nlp .nlp-pm{width:20px;height:20px;margin-left:auto;color:var(--nlp-dark)}
.nlp .nlp-wrap{max-width:calc(var(--nlp-wrap) + var(--nlp-gut) * 2);margin:0 auto;padding:0 var(--nlp-gut)}

/* Hero (one component on all pages): breadcrumbs, H1 with the lime accent, intro clamped to 3 lines
   with "Read more", byline or the doc meta line, optional buttons. The NL mark contour starts right of
   the text column, runs off the right edge and under the white sheet. */
.nlp .nlp-hero{position:relative;isolation:isolate;overflow:hidden;padding:16px 0 calc(var(--nlp-ov) + 32px);background:radial-gradient(900px 520px at 88% 30%,rgba(74,163,103,.16),transparent 70%),var(--nlp-night);color:#fff}
.nlp .nlp-hero ::selection{background:var(--nlp-lime);color:var(--nlp-dark)}
.nlp .nlp-hero>.nlp-wrap{position:relative}
.nlp .nlp-mark{position:absolute;z-index:-1;pointer-events:none}
.nlp .nlp-mark svg{display:block;width:100%;height:100%;max-width:none}
.nlp .nlp-mark path{stroke:var(--nlp-lime);stroke-width:1.5px;vector-effect:non-scaling-stroke}
.nlp .nlp-mark-hero{top:96px;left:calc(max(var(--nlp-gut), (100% - var(--nlp-wrap)) / 2) + 860px);width:640px;height:640px}
.nlp .nlp-mark-hero path{stroke-opacity:.42}
.nlp .nlp-crumbs{padding:4px 0 14px;border-bottom:1px solid rgba(255,255,255,.12)}
.nlp .nlp-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;padding:0;font-size:14px;line-height:20px;color:var(--nlp-on-dark-2)}
.nlp .nlp-crumbs li{display:flex;align-items:center;gap:6px}
.nlp .nlp-crumbs a{color:var(--nlp-lime);text-decoration:none}
.nlp .nlp-crumbs a:hover{color:var(--nlp-lime);text-decoration:underline}
.nlp .nlp-crumbs [aria-current]{color:#fff}
.nlp .nlp-crumbs .nlp-i{width:14px;height:14px;color:var(--nlp-on-dark-2)}
.nlp .nlp-hero h1{max-width:880px;margin:24px 0 0;color:#fff;font-size:52px;line-height:60px;letter-spacing:-1.56px;text-wrap:balance}
.nlp .nlp-hero h1 em{font-style:normal;font-weight:inherit;color:var(--nlp-lime);white-space:nowrap}
.nlp .nlp-hero-intro{max-width:800px;margin:18px 0 0;font-size:18px;line-height:28px;color:var(--nlp-on-dark)}
.nlp .nlp-hero-intro p{margin:0 0 12px}
.nlp .nlp-hero-intro p:last-child{margin-bottom:0}
.nlp .nlp-hero-intro a{color:var(--nlp-lime)}
.nlp.nlp-js .nlp-hero-intro.nlp-clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.nlp.nlp-js .nlp-hero-intro.nlp-clamped p{display:inline;margin:0}
.nlp.nlp-js .nlp-hero-intro.nlp-clamped p+p::before{content:" "}
.nlp .nlp-more{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:2px 0 0;padding:0;border:0;background:none;color:#fff;font-size:16px;line-height:22px;font-weight:600;cursor:pointer}
.nlp .nlp-more .nlp-i{width:18px;height:18px;color:var(--nlp-lime)}
.nlp .nlp-more:hover span{text-decoration:underline;text-underline-offset:4px}
.nlp .nlp-byline{display:flex;flex-wrap:wrap;gap:6px 28px;max-width:800px;margin:14px 0 0;padding:0;font-size:14px;line-height:20px;color:var(--nlp-on-dark-2)}
.nlp .nlp-more:not([hidden])+.nlp-byline{margin-top:6px}
/* A hero without intro (v4 legal pages): the byline keeps the same step under the H1 */
.nlp .nlp-hero h1+.nlp-hero-meta>.nlp-byline{margin-top:6px}
.nlp .nlp-byline li{display:flex;align-items:center;gap:8px}
.nlp .nlp-byline .nlp-i{width:16px;height:16px;color:var(--nlp-lime)}
.nlp .nlp-byline b{color:#fff;font-weight:500}
.nlp .nlp-byline b a{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px}
.nlp .nlp-byline b a:hover{text-decoration-color:var(--nlp-lime)}
.nlp .nlp-hero .nlp-cta{margin:24px 0 0}
/* v5: from 768px "Read more" and the byline sit in one row under the intro */
@media (min-width:768px){
  .nlp .nlp-hero-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 28px;margin-top:14px}
  .nlp .nlp-hero-meta:has(>.nlp-more:not([hidden])){margin-top:2px}
  .nlp .nlp-hero-meta>.nlp-more,.nlp .nlp-hero-meta>.nlp-byline,.nlp .nlp-hero-meta>.nlp-more:not([hidden])+.nlp-byline,.nlp .nlp-hero h1+.nlp-hero-meta>.nlp-byline{margin:0}
  .nlp .nlp-hero h1+.nlp-hero-meta{margin-top:6px}
}


/* The white sheet: one panel over the hero, one inner width for every block on every page */
.nlp .nlp-main{position:relative;z-index:3;margin-top:calc(var(--nlp-ov) * -1)}
.nlp .nlp-sheet{padding:40px var(--nlp-pad) var(--nlp-step);background:#fff;border-radius:32px}
.nlp .nlp-sheet>*{width:100%;max-width:none;margin-left:0;margin-right:0}

/* Sections and headings: one rhythm, one step above every H2 */
.nlp .nlp-sec{padding:var(--nlp-step) 0 0;scroll-margin-top:calc(var(--nlp-offset,0px) + 24px)}
.nlp .nlp-sheet>.nlp-sec:first-child{padding-top:0}
.nlp .nlp-sec-cont{padding-top:40px}
/* A section's first and last blocks: no outer margin, so the gap comes from --nlp-step only */
.nlp .nlp-sec>:first-child{margin-top:0}
.nlp .nlp-sec>:last-child{margin-bottom:0}
.nlp .nlp-sec h2{margin:0 0 20px;font-size:40px;line-height:48px;letter-spacing:-1.2px;text-wrap:balance}
.nlp .nlp-sec h2 em{font-style:normal;font-weight:inherit;color:var(--nlp-acc)}
.nlp .nlp-h3{margin:40px 0 12px;font-size:24px;line-height:30px;letter-spacing:-.48px;scroll-margin-top:calc(var(--nlp-offset,0px) + 24px)}
.nlp .nlp-sec h2+.nlp-h3,.nlp .nlp-sec>.nlp-h3:first-child,.nlp .nlp-fig+.nlp-h3{margin-top:0}
.nlp .nlp-sec p,.nlp .nlp-sec li{font-size:18px;line-height:30px;color:var(--nlp-muted)}
.nlp .nlp-sec p{margin:0 0 18px}
.nlp .nlp-sec .nlp-small,.nlp .nlp-small{font-size:15px;line-height:22px;color:var(--nlp-muted)}

/* Lists */
.nlp .nlp-list>li{position:relative;margin:0 0 8px;padding-left:24px}
/* A list that closes an H2 section (v4 legal pages): the -8px collapses with the last item's 8px, so the
   section keeps its step; lists inside a section keep the v1 spacing */
.nlp section.nlp-sec>.nlp-list:last-child{margin-bottom:-8px}
.nlp .nlp-list>li::before{content:"";position:absolute;left:3px;top:11px;top:calc(.5lh - 4px);width:8px;height:8px;border-radius:50%;background:var(--nlp-lime2)}
/* Grey leaf rows: checks, flags, questions, steps */
.nlp .nlp-checks,.nlp .nlp-flags,.nlp .nlp-qlist,.nlp .nlp-steps{display:grid;gap:10px;margin:8px 0 24px}
.nlp .nlp-checks>li,.nlp .nlp-flags>li,.nlp .nlp-qlist>li,.nlp .nlp-steps>li{position:relative;margin:0;padding:14px 18px 14px 58px;background:var(--nlp-grey);border-radius:var(--nlp-leaf-s)}
.nlp .nlp-checks>li::before,.nlp .nlp-flags>li::before,.nlp .nlp-qlist>li::before,.nlp .nlp-steps>li::before{content:"";position:absolute;left:18px;top:17px;width:24px;height:24px;border-radius:var(--nlp-r-xs)}
.nlp .nlp-checks>li::before{background:var(--nlp-lime) var(--nlp-ico-check) center no-repeat}
.nlp .nlp-flags>li{background:#FFF6F4}
.nlp .nlp-flags>li::before{content:"!";background:#B42318;color:#fff;font-weight:700;font-size:15px;line-height:24px;text-align:center}
.nlp .nlp-qlist>li{background:#fff;border:1px solid var(--nlp-line)}
.nlp .nlp-qlist>li::before{border:2px solid var(--nlp-mid)}
.nlp .nlp-steps{counter-reset:nlpstep}
.nlp .nlp-steps>li{counter-increment:nlpstep}
.nlp .nlp-steps>li::before{content:counter(nlpstep);background:var(--nlp-lime);color:var(--nlp-dark);font-weight:700;font-size:14px;line-height:24px;text-align:center}
/* Score bands */
.nlp .nlp-bands{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 24px}
.nlp .nlp-bands>li{--nlp-band:var(--nlp-lime2);margin:0;padding:16px 18px;border-radius:var(--nlp-leaf-s);background:var(--nlp-grey);font-size:16px;line-height:22px}
.nlp .nlp-bands>li:nth-child(2){--nlp-band:var(--nlp-mid)}
.nlp .nlp-bands>li:nth-child(3){--nlp-band:#C9A227}
.nlp .nlp-bands>li:nth-child(4){--nlp-band:#B42318}
.nlp .nlp-bands strong::before{content:"";display:inline-block;width:10px;height:10px;margin:0 8px 0 0;border-radius:50%;background:var(--nlp-band);vertical-align:.18em}
.nlp .nlp-bands strong{display:block;font-size:26px;letter-spacing:-.5px;line-height:32px}

/* Dark surfaces: the dark block (.nlp-dark) and the dark card share one text colour,
   white bold text, lime links with one hover, the lime focus ring. Titles of dark blocks sit at
   (0,4,0) so the section text rule (.nlp .nlp-sec .nlp-dark p, 0,3,1) cannot reach them. */
.nlp .nlp-dark,.nlp .nlp-card-dark{color:var(--nlp-on-dark)}
.nlp .nlp-sec .nlp-dark p,.nlp .nlp-sec .nlp-dark li,.nlp .nlp-sec .nlp-card-dark p,.nlp .nlp-sec .nlp-card-dark li{color:var(--nlp-on-dark)}
.nlp .nlp-dark strong,.nlp .nlp-card-dark strong{color:#fff}
.nlp .nlp-dark a:not(.nlp-btn),.nlp .nlp-card-dark a:not(.nlp-btn){color:var(--nlp-lime)}
.nlp .nlp-dark a:not(.nlp-btn):hover,.nlp .nlp-card-dark a:not(.nlp-btn):hover{color:var(--nlp-lime-h)}
.nlp .nlp-dark .nlp-list>li::before,.nlp .nlp-card-dark .nlp-list>li::before{background:var(--nlp-lime)}

/* Dark blocks: the criteria section (SECTION dark=) and the generic dark block. Large leaf. */
.nlp .nlp-dark{position:relative;isolation:isolate;overflow:hidden;margin:0 0 32px;padding:56px 48px;background:var(--nlp-dark);border-radius:var(--nlp-leaf-l)}
.nlp .nlp-sec .nlp-dark>.nlp-dark-title{margin:0 0 18px;color:#fff;font-size:22px;line-height:28px;font-weight:700}
.nlp .nlp-dark>:last-child,.nlp .nlp-dark>.nlp-list:last-child>li:last-child{margin-bottom:0}
.nlp .nlp-sec .nlp-dark-sec>h2{max-width:calc(100% - 300px);color:#fff}
.nlp .nlp-sec .nlp-dark-sec>h2 em{color:var(--nlp-lime)}
.nlp .nlp-sec .nlp-dark-sec>.nlp-dark-lead{max-width:calc(100% - 300px);margin:0 0 28px}
.nlp .nlp-sec .nlp-dark-sec>.nlp-dark-lead:last-child{margin-bottom:0}
.nlp .nlp-mark-dark{top:-60px;right:-120px;width:420px;height:420px}
.nlp .nlp-mark-dark path{stroke-opacity:.3}
/* Criteria cards: white small leaf, lime check tile */
.nlp .nlp-crit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.nlp .nlp-sec .nlp-crit>li{display:flex;align-items:flex-start;gap:12px;margin:0;padding:18px 20px;background:#fff;border-radius:var(--nlp-leaf-s);color:var(--nlp-dark);font-size:17px;line-height:24px;font-weight:600}
.nlp .nlp-crit>li::before{content:"";flex:none;width:24px;height:24px;border-radius:var(--nlp-r-xs);background:var(--nlp-lime) var(--nlp-ico-check) center no-repeat}
@media (min-width:1280px){.nlp .nlp-crit{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1024px){.nlp .nlp-crit.nlp-crit-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 5, 7, 10 criteria: 2 columns at every width from 768px; an odd last card spans the row (also for 6
   and 9 cards in 2 columns on a tablet) */
@media (min-width:768px){.nlp .nlp-crit.nlp-crit-2{grid-template-columns:repeat(2,minmax(0,1fr))}.nlp .nlp-crit-2>li:last-child:nth-child(odd){grid-column:1/-1}}
@media (min-width:768px) and (max-width:1023px){.nlp .nlp-crit>li:last-child:nth-child(odd){grid-column:1/-1}}

/* Tables: dark head, zebra rows, plain-radius frame (--nlp-r-l) */
.nlp .nlp-tbl{margin:8px 0 28px;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--nlp-line);border-radius:var(--nlp-r-l)}
.nlp .nlp-tbl table{font-size:16px;line-height:24px}
.nlp .nlp-tbl thead th{padding:14px 20px;background:var(--nlp-dark);color:#fff;font-size:15px;line-height:20px;font-weight:600;vertical-align:bottom;border:0}
.nlp .nlp-tbl tbody th,.nlp .nlp-tbl tbody td{padding:14px 20px;background:#fff;border:0;border-top:1px solid var(--nlp-line);vertical-align:top;color:var(--nlp-ink);font-size:inherit;line-height:inherit;font-weight:400}
.nlp .nlp-tbl tbody th{color:var(--nlp-dark);font-weight:600}
.nlp .nlp-tbl tbody tr:nth-child(even)>*{background:var(--nlp-grey)}
.nlp .nlp-tbl tfoot td{padding:14px 20px;background:var(--nlp-tint);color:var(--nlp-dark);font-weight:700;border:0;border-top:1px solid var(--nlp-line)}
.nlp .nlp-tbl .nlp-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (min-width:1024px){.nlp .nlp-tbl td.nlp-short,.nlp .nlp-tbl th.nlp-short{white-space:nowrap}}

/* Note: tinted small leaf. Its text takes the size of its container (section text, or card text
   inside a card, like every other block of a card) */
.nlp .nlp-note{margin:8px 0 28px;padding:20px 24px;background:var(--nlp-tint);border-radius:var(--nlp-leaf-s);color:var(--nlp-muted)}
.nlp .nlp-note>:last-child{margin-bottom:0}

/* Cards (v3 "How far it goes" tier card): grey fill, medium leaf. One component for every card of
   the pages: tier cards, reviews, service page cards. Modifiers: nlp-cards-line (hairline white,
   for cards that hold grey blocks such as steps), nlp-card-dark (one dark card), nlp-cards-1/-3
   (cards per row). Optional icon tile (.nlp-ico) on top. */
.nlp .nlp-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}
.nlp .nlp-cards-1{grid-template-columns:minmax(0,1fr)}
.nlp .nlp-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.nlp .nlp-sec .nlp-cards>li{min-width:0;margin:0;padding:28px;background:var(--nlp-grey);border:1px solid var(--nlp-grey);border-radius:var(--nlp-leaf-m)}
.nlp .nlp-sec .nlp-cards-line>li{background:#fff;border-color:var(--nlp-line)}
.nlp .nlp-sec .nlp-cards>li.nlp-card-dark{background:var(--nlp-dark);border-color:var(--nlp-dark);color:var(--nlp-on-dark)}
.nlp .nlp-cards .nlp-h3{margin:0 0 10px;font-size:22px;line-height:28px}
.nlp .nlp-cards .nlp-card-dark .nlp-h3{color:#fff}
.nlp .nlp-sec .nlp-cards>li>p{margin:0 0 10px}
.nlp .nlp-sec .nlp-cards p,.nlp .nlp-sec .nlp-cards li{font-size:16px;line-height:26px}
.nlp .nlp-sec .nlp-cards>li>:last-child{margin-bottom:0}
/* Icon tile of a card: lime plain-radius tile (--nlp-r-s), dark icon */
.nlp .nlp-ico{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 0 16px;border-radius:var(--nlp-r-s);background:var(--nlp-lime);color:var(--nlp-dark)}
.nlp .nlp-ico .nlp-i{width:22px;height:22px}

/* Helplines per GEO inside a dark block (HELPLINES), data from config.GEOS. Selectors at (0,4,0):
   the parts are p and span elements inside .nlp-sec .nlp-dark */
.nlp .nlp-help-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0}
.nlp .nlp-help-card{display:flex;flex-direction:column;gap:10px;min-width:0;margin:0;padding:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--nlp-leaf-s)}
.nlp .nlp-sec .nlp-help .nlp-help-main{display:flex;flex-direction:column;gap:10px}
.nlp .nlp-sec .nlp-help p{margin:0}
.nlp .nlp-sec .nlp-help .nlp-help-geo{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#fff;font-size:17px;font-weight:700;line-height:22px}
.nlp .nlp-sec .nlp-help .nlp-help-age{flex:none;padding:2px 8px;border-radius:var(--nlp-r-xs);background:var(--nlp-lime);color:var(--nlp-dark);font-size:13px;font-weight:700;line-height:20px}
.nlp .nlp-sec .nlp-help .nlp-help-line{display:flex;flex-direction:column}
.nlp .nlp-sec .nlp-help .nlp-help-name{color:var(--nlp-on-dark);font-size:14px;line-height:20px}
.nlp .nlp-sec .nlp-help .nlp-help-tel{font-size:20px;line-height:26px;font-weight:700;letter-spacing:-.2px;text-decoration:none;white-space:nowrap}
.nlp .nlp-sec .nlp-help .nlp-help-tel:hover{text-decoration:underline}
.nlp .nlp-sec .nlp-help .nlp-help-note,.nlp .nlp-sec .nlp-help .nlp-help-scope,.nlp .nlp-sec .nlp-help .nlp-help-more,.nlp .nlp-sec .nlp-help .nlp-help-agetext{color:var(--nlp-on-dark-2);font-size:13px;line-height:18px}
.nlp .nlp-sec .nlp-help .nlp-help-se{padding-top:10px;border-top:1px solid rgba(255,255,255,.14);color:var(--nlp-on-dark);font-size:14px;line-height:20px}
.nlp .nlp-sec .nlp-help .nlp-help-se p,.nlp .nlp-sec .nlp-help .nlp-help-se li{font-size:14px;line-height:20px;color:var(--nlp-on-dark)}
.nlp .nlp-sec .nlp-help .nlp-help-se ul{margin:4px 0 0}
.nlp .nlp-sec .nlp-help .nlp-help-se li+li{margin-top:4px}
@media (min-width:768px) and (max-width:1279px){
  .nlp .nlp-help-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"geo geo" "main se" "age se";gap:10px 24px;align-items:start}
  .nlp .nlp-sec .nlp-help .nlp-help-geo{grid-area:geo}
  .nlp .nlp-sec .nlp-help .nlp-help-main{grid-area:main}
  .nlp .nlp-sec .nlp-help .nlp-help-se{grid-area:se;padding:0 0 0 20px;border-top:0;border-left:1px solid rgba(255,255,255,.14)}
  .nlp .nlp-sec .nlp-help .nlp-help-agetext{grid-area:age}
}
@media (min-width:1280px){.nlp .nlp-help-cards{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}}

/* Buttons: the site shape (lime, 12px radius, Outfit 500) */
.nlp .nlp-cta{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 28px}
.nlp .nlp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;min-height:48px;padding:12px 24px;border:0;border-radius:12px;background:var(--nlp-lime);color:var(--nlp-dark);font-family:inherit;font-size:16px;line-height:22px;font-weight:500;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .15s ease-out}
.nlp .nlp-btn:hover{background:var(--nlp-lime2);color:var(--nlp-dark)}
.nlp .nlp-btn .nlp-i{width:18px;height:18px;transition:transform .2s cubic-bezier(.22,1,.36,1)}
.nlp .nlp-btn:hover .nlp-i{transform:translateX(3px)}

/* Safer gambling block: grey fill, large leaf */
.nlp .nlp-sheet>.nlp-sec.nlp-sec-rg{margin-top:var(--nlp-step);padding:48px;background:var(--nlp-grey);border-radius:var(--nlp-leaf-l)}

/* Images: hairline frame, medium leaf */
.nlp .nlp-fig{margin:8px 0 32px}
.nlp .nlp-fig img{width:100%;height:auto;border:1px solid var(--nlp-line);border-radius:var(--nlp-leaf-m)}
.nlp .nlp-sec>.nlp-fig:last-child{margin-bottom:0}

/* FAQ: H2 left, questions right from 1024px; grey plain-radius items, the first one open, the
   plus/minus toggle of Read more and the affiliate disclaimer (.nlp-pm) */
.nlp .nlp-sec-faq{display:grid;grid-template-columns:320px minmax(0,1fr);column-gap:64px;align-items:start}
.nlp .nlp-sec-faq>h2{position:sticky;top:calc(var(--nlp-offset,0px) + 24px);margin:0}
.nlp .nlp-faq-list{display:grid;gap:10px;min-width:0}
.nlp .nlp-faq{margin:0;padding:0 24px;background:var(--nlp-grey);border-radius:var(--nlp-r-l)}
.nlp .nlp-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;list-style:none;color:var(--nlp-dark);cursor:pointer}
.nlp .nlp-faq summary::-webkit-details-marker{display:none}
.nlp .nlp-faq .nlp-faq-q{margin:0;padding:0;font-size:18px;line-height:24px;font-weight:600;letter-spacing:0;color:inherit}
.nlp .nlp-faq[open] .nlp-i-v{opacity:0}
.nlp .nlp-faq-a{padding:0 0 20px}
.nlp .nlp-sec .nlp-faq-a p{margin:0;font-size:17px;line-height:28px}
.nlp .nlp-sec .nlp-faq-a p+p{margin-top:10px}

/* Related pages (service pages): grey link tiles (plain radius) at the end of the sheet */
/* 3 per row on a 6-track grid: a last row of 2 splits the width, a single last card takes the row */
.nlp .nlp-related ul{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0}
.nlp .nlp-related li{grid-column:span 2;min-width:0}
@media (min-width:1024px){
  .nlp .nlp-related li:nth-child(3n+1):nth-last-child(2),.nlp .nlp-related li:nth-child(3n+2):last-child{grid-column:span 3}
  .nlp .nlp-related li:nth-child(3n+1):last-child{grid-column:1/-1}
}
.nlp .nlp-related a{display:flex;justify-content:space-between;align-items:center;gap:12px;height:100%;padding:18px 20px;background:var(--nlp-grey);border-radius:var(--nlp-r-l);color:var(--nlp-dark);font-size:17px;line-height:24px;font-weight:600;text-decoration:none}
.nlp .nlp-related a:hover{background:var(--nlp-tint)}
.nlp .nlp-related a .nlp-i{color:var(--nlp-mid)}

/* Form controls (Contact). A WordPress form plugin replaces the markup, these styles show the look */
.nlp .nlp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:32px;scroll-margin-top:calc(var(--nlp-offset,0px) + 24px);background:var(--nlp-grey);border-radius:var(--nlp-leaf-m)}
.nlp .nlp-field{display:grid;gap:6px;align-content:start;min-width:0}
.nlp .nlp-field-full{grid-column:1/-1}
.nlp .nlp-label{color:var(--nlp-dark);font-size:15px;font-weight:600}
.nlp .nlp-opt{color:var(--nlp-muted);font-weight:400}
.nlp .nlp-sec .nlp-hint,.nlp .nlp-hint{margin:0;color:var(--nlp-muted);font-size:14px;line-height:20px}
.nlp .nlp-input,.nlp .nlp-select,.nlp .nlp-textarea{width:100%;min-height:48px;margin:0;padding:12px 14px;border:1px solid rgba(3,39,30,.28);border-radius:12px;background:#fff;color:var(--nlp-ink);font-family:inherit;font-size:16px;line-height:1.4;box-shadow:none}
.nlp .nlp-select{-webkit-appearance:none;appearance:none;padding-right:42px;background:#fff var(--nlp-ico-chev) right 16px center no-repeat}
.nlp .nlp-textarea{min-height:160px;resize:vertical}
.nlp .nlp-input:focus,.nlp .nlp-select:focus,.nlp .nlp-textarea:focus{border-color:var(--nlp-mid)}
.nlp .nlp-file{width:100%;padding:12px 14px;border:1px dashed rgba(3,39,30,.35);border-radius:12px;background:#fff;color:var(--nlp-muted);font-family:inherit;font-size:15px}
.nlp .nlp-file::file-selector-button{margin:0 12px 0 0;padding:8px 14px;border:1.5px solid var(--nlp-dark);border-radius:10px;background:#fff;color:var(--nlp-dark);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer}
.nlp .nlp-file::-webkit-file-upload-button{margin:0 12px 0 0;padding:8px 14px;border:1.5px solid var(--nlp-dark);border-radius:10px;background:#fff;color:var(--nlp-dark);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer}
.nlp .nlp-form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}

/* Tables with 4+ columns below 768px: one card per row, column names from data-label */
@media (max-width:767px){
  .nlp .nlp-tbl-stack{overflow:visible;border:0;border-radius:0}
  .nlp .nlp-tbl-stack table,.nlp .nlp-tbl-stack tbody,.nlp .nlp-tbl-stack tfoot{display:block;width:100%}
  .nlp .nlp-tbl-stack thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .nlp .nlp-tbl-stack tbody tr,.nlp .nlp-tbl-stack tfoot tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0 0 8px;border:1px solid var(--nlp-line);border-radius:var(--nlp-r-l);overflow:hidden;background:#fff}
  .nlp .nlp-tbl.nlp-tbl-stack tbody tr>*{background:#fff}
  .nlp .nlp-tbl.nlp-tbl-stack tr>:first-child{grid-column:1/-1;padding:10px 14px;border-top:0;background:var(--nlp-dark);color:#fff;font-weight:600}
  .nlp .nlp-tbl.nlp-tbl-stack tbody tr>:first-child a{color:var(--nlp-lime)}
  .nlp .nlp-tbl.nlp-tbl-stack tbody tr>:first-child :focus-visible{outline-color:var(--nlp-lime)}
  .nlp .nlp-tbl-stack td[data-label]{display:block;padding:8px 14px}
  .nlp .nlp-tbl-stack td[data-label]::before{content:attr(data-label);display:block;margin:0 0 2px;color:var(--nlp-muted);font-size:12px;line-height:16px;font-weight:600}
  .nlp .nlp-tbl-stack td[data-label]:nth-child(odd){border-left:1px solid var(--nlp-line)}
  .nlp .nlp-tbl-stack td[data-label]:last-child:nth-child(even){grid-column:1/-1}
  .nlp .nlp-tbl-stack .nlp-num,.nlp .nlp-tbl-stack td.nlp-short,.nlp .nlp-tbl-stack th.nlp-short{text-align:left;white-space:normal}
  .nlp .nlp-tbl-stack td.nlp-empty{display:none}
  .nlp .nlp-tbl.nlp-tbl-stack tfoot tr td{background:var(--nlp-tint)}
}

/* 1024-1199px */
@media (max-width:1199px){
  .nlp{--nlp-pad:32px}
  .nlp .nlp-hero h1{max-width:640px;font-size:44px;line-height:52px;letter-spacing:-1.32px}
  .nlp .nlp-hero-intro,.nlp .nlp-byline{max-width:640px}
  .nlp .nlp-mark-hero{left:calc(var(--nlp-gut) + 680px);top:72px}
  .nlp .nlp-sec .nlp-dark-sec>h2,.nlp .nlp-sec .nlp-dark-sec>.nlp-dark-lead{max-width:none}
  .nlp .nlp-mark-dark{top:auto;bottom:-200px;right:-200px;width:400px;height:400px}
}
/* Tablet */
@media (max-width:1023px){
  .nlp{--nlp-ov:64px;--nlp-step:56px}
  .nlp .nlp-hero h1{max-width:560px;font-size:38px;line-height:46px;letter-spacing:-1.14px}
  .nlp .nlp-hero-intro{max-width:560px;font-size:17px;line-height:26px}
  /* The byline wraps inside the intro measure, clear of the hero mark (v4: longer with the author names) */
  .nlp .nlp-byline{max-width:560px}
  .nlp .nlp-mark-hero{left:calc(var(--nlp-gut) + 600px);top:64px;width:520px;height:520px}
  .nlp .nlp-sec h2{font-size:34px;line-height:42px;letter-spacing:-1.02px}
  .nlp .nlp-h3{font-size:22px;line-height:28px}
  .nlp .nlp-dark,.nlp .nlp-sheet>.nlp-sec.nlp-sec-rg{padding:40px 32px}
  .nlp .nlp-sec-faq{display:block}
  .nlp .nlp-sec-faq>h2{position:static;margin:0 0 20px}
  .nlp .nlp-cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nlp .nlp-cards-3>li:nth-child(odd):last-child{grid-column:1/-1}
  .nlp .nlp-related ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nlp .nlp-related li{grid-column:auto}
  .nlp .nlp-related li:nth-child(odd):last-child{grid-column:1/-1}
}
/* Phone: the sheet runs edge to edge, inner edges on the 16px gutters */
@media (max-width:767px){
  .nlp{--nlp-gut:16px;--nlp-pad:16px;--nlp-ov:24px;--nlp-step:48px;--nlp-leaf-l:32px 0 32px 0}
  .nlp[data-page]{font-size:16px}
  .nlp .nlp-hero{padding:8px 0 calc(var(--nlp-ov) + 24px)}
  .nlp .nlp-mark-hero{left:auto;right:-190px;top:auto;bottom:-190px;width:320px;height:320px}
  .nlp .nlp-crumbs{padding:2px 0 10px}
  .nlp .nlp-crumbs ol{font-size:13px;line-height:18px}
  .nlp .nlp-hero h1{max-width:none;margin-top:14px;font-size:28px;line-height:34px;letter-spacing:-.84px}
  .nlp .nlp-hero-intro{max-width:none;margin-top:10px;font-size:15px;line-height:22px}
  .nlp.nlp-js .nlp-hero-intro.nlp-clamped{-webkit-line-clamp:2;line-clamp:2}
  .nlp .nlp-more{min-height:44px;font-size:15px}
  .nlp .nlp-byline{flex-direction:column;gap:4px;margin-top:8px;font-size:13px;line-height:18px}
  .nlp .nlp-byline .nlp-i{width:14px;height:14px}
  .nlp .nlp-sheet{margin:0 calc(var(--nlp-gut) * -1);padding:20px var(--nlp-pad) 48px;border-radius:24px 24px 0 0}
  .nlp .nlp-sec h2{margin-bottom:14px;font-size:28px;line-height:34px;letter-spacing:-.84px}
  .nlp .nlp-h3{margin-top:28px}
  .nlp .nlp-sec p,.nlp .nlp-sec li{font-size:16px;line-height:26px}
  .nlp .nlp-sec .nlp-small,.nlp .nlp-small{font-size:14px;line-height:20px}
  .nlp .nlp-sec-cont{padding-top:32px}
  .nlp .nlp-fig{margin:4px 0 24px}
  .nlp .nlp-fig img{border-radius:var(--nlp-leaf-s)}
  .nlp .nlp-cards,.nlp .nlp-cards-3{grid-template-columns:minmax(0,1fr);gap:12px;margin:20px 0}
  .nlp .nlp-sec .nlp-cards>li{padding:20px 18px}
  .nlp .nlp-ico{width:40px;height:40px;margin-bottom:14px}
  .nlp .nlp-ico .nlp-i{width:20px;height:20px}
  .nlp .nlp-cards .nlp-h3,.nlp .nlp-sec .nlp-dark>.nlp-dark-title{font-size:20px;line-height:26px}
  .nlp .nlp-sec .nlp-cards p{font-size:15px;line-height:24px}
  .nlp .nlp-dark,.nlp .nlp-sheet>.nlp-sec.nlp-sec-rg{padding:32px 18px}
  .nlp .nlp-mark-dark{width:300px;height:300px;bottom:-150px;right:-150px}
  .nlp .nlp-crit{grid-template-columns:minmax(0,1fr);gap:8px}
  .nlp .nlp-sec .nlp-crit>li{padding:14px 16px;font-size:16px;line-height:22px}
  .nlp .nlp-checks>li,.nlp .nlp-flags>li,.nlp .nlp-qlist>li,.nlp .nlp-steps>li{padding:12px 14px 12px 50px}
  .nlp .nlp-checks>li::before,.nlp .nlp-flags>li::before,.nlp .nlp-qlist>li::before,.nlp .nlp-steps>li::before{left:14px;top:13px}
  .nlp .nlp-bands{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nlp .nlp-tbl{margin:4px 0 24px}
  .nlp .nlp-tbl table{font-size:15px;line-height:22px}
  .nlp .nlp-tbl thead th,.nlp .nlp-tbl tbody th,.nlp .nlp-tbl tbody td{padding:12px 14px}
  .nlp .nlp-faq{padding:0 16px}
  .nlp .nlp-faq .nlp-faq-q{font-size:16px;line-height:22px}
  .nlp .nlp-faq summary{padding:16px 0}
  .nlp .nlp-sec .nlp-faq-a p{font-size:16px;line-height:26px}
  .nlp .nlp-form{grid-template-columns:minmax(0,1fr);padding:20px 16px}
  .nlp .nlp-related ul{grid-template-columns:minmax(0,1fr)}
  .nlp .nlp-cta .nlp-btn{width:100%}
}
@media (max-width:379px){
  .nlp .nlp-hero h1{font-size:26px;line-height:32px;letter-spacing:-.78px}
  .nlp .nlp-bands{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.nlp .nlp-i-v,.nlp .nlp-btn,.nlp .nlp-btn .nlp-i{transition:none}}

/* Authors (v4): one profile per author section. Grey leaf card with the photo (plain radius), the role,
   the bio and the LinkedIn link; under it the guides as the same link tiles as "More about" (.nlp-related),
   with the country code in front, 3 per row down to 768px */
.nlp .nlp-author{display:grid;grid-template-columns:168px minmax(0,1fr);column-gap:32px;align-items:start;padding:28px;background:var(--nlp-grey);border-radius:var(--nlp-leaf-m)}
.nlp .nlp-author-photo{display:block;width:168px;height:168px;max-width:none;border-radius:var(--nlp-r-l);object-fit:cover}
.nlp .nlp-author-ini{display:grid;place-items:center;background:var(--nlp-dark);color:var(--nlp-lime);font-size:40px;line-height:48px;font-weight:700;letter-spacing:-.6px}
.nlp .nlp-sec .nlp-author-role{margin:0 0 10px;color:var(--nlp-dark);font-size:18px;line-height:24px;font-weight:600}
.nlp .nlp-sec .nlp-author-body p{margin-bottom:12px}
.nlp .nlp-sec .nlp-author-body .nlp-author-links{margin:0}
.nlp .nlp-author-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--nlp-dark);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.nlp .nlp-author-links .nlp-i{width:18px;height:18px;color:var(--nlp-acc)}
.nlp .nlp-author-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.nlp .nlp-author-guides li{min-width:0;margin:0}
.nlp .nlp-author-guides a{display:flex;align-items:center;gap:12px;height:100%;padding:18px 20px;background:var(--nlp-grey);border-radius:var(--nlp-r-l);color:var(--nlp-dark);font-size:17px;line-height:24px;font-weight:600;text-decoration:none}
.nlp .nlp-author-guides a>span:nth-child(2){flex:1;min-width:0}
.nlp .nlp-author-guides a:hover{background:var(--nlp-tint)}
.nlp .nlp-author-guides .nlp-i{flex:none;color:var(--nlp-mid)}
.nlp .nlp-author-geo{display:inline-grid;place-items:center;flex:none;height:24px;padding:0 6px;border-radius:var(--nlp-r-xs);background:var(--nlp-dark);color:var(--nlp-lime);font-size:13px;line-height:18px;font-weight:600}
@media (max-width:1023px){
  .nlp .nlp-author{grid-template-columns:128px minmax(0,1fr);column-gap:24px;padding:24px}
  .nlp .nlp-author-photo{width:128px;height:128px}
}
@media (max-width:767px){
  .nlp .nlp-author{grid-template-columns:minmax(0,1fr);row-gap:16px;padding:20px}
  .nlp .nlp-author-photo{width:112px;height:112px}
  .nlp .nlp-author-ini{font-size:28px;line-height:34px}
  .nlp .nlp-sec .nlp-author-role{font-size:17px}
  .nlp .nlp-author-guides{grid-template-columns:minmax(0,1fr)}
}

/* Home page /play/ (v4, 31.10.2026, src/home.py): the 9 guides as image cards by country, the rules
   behind the guides. Cards are content surfaces (leaf), photos and the age chip functional (plain) */
.nlp .nlp-hub-geo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;margin:40px 0 16px}
.nlp .nlp-sec>p+.nlp-hub-geo{margin-top:28px}
.nlp .nlp-sec .nlp-hub-geo .nlp-h3{display:flex;align-items:center;gap:12px;margin:0}
.nlp .nlp-sec .nlp-hub-age{display:flex;align-items:center;gap:10px;margin:0;color:var(--nlp-muted);font-size:15px;line-height:22px}
.nlp .nlp-hub-chip{display:inline-grid;place-items:center;flex:none;min-width:40px;height:24px;padding:0 8px;border:1.5px solid var(--nlp-mid);border-radius:var(--nlp-r-m);color:var(--nlp-acc);font-size:13px;line-height:18px;font-weight:700}
.nlp .nlp-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}
.nlp .nlp-guides>li{min-width:0;margin:0;overflow:hidden;background:#fff;border:1px solid var(--nlp-line);border-radius:var(--nlp-leaf-m)}
.nlp .nlp-guide{display:flex;flex-direction:column;height:100%;color:var(--nlp-dark);text-decoration:none}
.nlp .nlp-guide img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--nlp-line)}
.nlp .nlp-guide-body{display:flex;flex-direction:column;gap:8px;flex:1;padding:20px 24px}
.nlp .nlp-guide-title{font-size:22px;line-height:28px;font-weight:700;letter-spacing:-.44px}
.nlp .nlp-guide-fact{color:var(--nlp-muted);font-size:16px;line-height:24px}
.nlp .nlp-guide-date{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--nlp-line);color:var(--nlp-muted);font-size:14px;line-height:20px}
.nlp .nlp-guide-date>span{flex:1}
.nlp .nlp-guide-date .nlp-i{width:16px;height:16px;color:var(--nlp-mid)}
.nlp .nlp-guide:hover .nlp-guide-title{text-decoration:underline;text-underline-offset:4px}
.nlp .nlp-guide:focus-visible{outline-offset:-3px}
.nlp .nlp-sec .nlp-hub-rules>li{display:flex;flex-direction:column}
.nlp .nlp-sec .nlp-hub-rules .nlp-author-links{margin:auto 0 0;padding-top:6px}
.nlp .nlp-hub-people{display:flex;gap:8px;margin:0 0 16px}
.nlp .nlp-hub-photo{width:56px;height:56px;border-radius:var(--nlp-r-m);object-fit:cover}
.nlp .nlp-sec .nlp-hub-help{margin:0 0 16px;padding:0;list-style:none}
.nlp .nlp-sec .nlp-hub-help li{display:grid;grid-template-columns:32px minmax(0,1fr);margin:0 0 10px;padding:0;font-size:15px;line-height:22px}
.nlp .nlp-sec .nlp-hub-help li::before{content:none}
.nlp .nlp-hub-help b{grid-row:span 3;color:var(--nlp-acc)}
.nlp .nlp-hub-help li>span{grid-column:2}
.nlp .nlp-sec .nlp-hub-rules .nlp-h3{text-wrap:balance}
@media (max-width:1023px){
  .nlp .nlp-guides{gap:12px}
  .nlp .nlp-guide-body{padding:16px 18px}
  .nlp .nlp-guide-title{font-size:18px;line-height:24px;letter-spacing:-.2px}
  .nlp .nlp-guide-fact{font-size:15px;line-height:22px}
  .nlp .nlp-guide-date{padding-top:10px;font-size:13px;line-height:18px}
}
@media (max-width:767px){
  .nlp .nlp-hub-geo{margin:32px 0 12px}
  .nlp .nlp-guides{grid-template-columns:minmax(0,1fr);gap:10px}
  .nlp .nlp-guides>li{border-radius:var(--nlp-leaf-s)}
  /* v5: a guide card is a row on phones: a 128px thumbnail, the title and the fact, the date under both */
  .nlp .nlp-guide{display:grid;grid-template-columns:128px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:14px;padding:12px}
  .nlp .nlp-guide img{grid-row:1/span 2;align-self:start;border:1px solid var(--nlp-line);border-radius:var(--nlp-r-s)}
  .nlp .nlp-guide-body{display:contents}
  .nlp .nlp-guide-title{grid-column:2;font-size:17px;line-height:22px}
  .nlp .nlp-guide-fact{grid-column:2;margin-top:4px;font-size:14px;line-height:20px}
  .nlp .nlp-guide-date{grid-column:1/-1;margin-top:10px;padding-top:8px}
}

/* ===== src/css/list.css ===== */
/* Casino listing of the GEO pages (LISTING, STRIP): affiliate disclaimer row, leaf cards with the
   "Our top choice" band on #1, compact strips of 3 cards inside long text. Part of the one shared
   stylesheet (build.py appends it after base.css on every page). */

/* List header: the doc H2 and lead share the section style */
.nlp .nlp-sec .nlp-list-lead{margin:0 0 16px}

/* Affiliate disclaimer: one hairline row, opens in place */
.nlp .nlp-disc{margin:0 0 20px;border-top:1px solid var(--nlp-line);border-bottom:1px solid var(--nlp-line)}
.nlp .nlp-disc-btn{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;margin:0;padding:12px 0;border:0;background:none;color:var(--nlp-dark);font-size:16px;line-height:22px;font-weight:600;text-align:left;cursor:pointer}
.nlp .nlp-disc-btn .nlp-disc-i{width:18px;height:18px;color:var(--nlp-mid)}
.nlp .nlp-disc-btn:hover span{text-decoration:underline;text-underline-offset:4px}
.nlp .nlp-disc-body{padding:0 0 18px 28px}
/* The bullets are the shared list (UL, .nlp-list); the box sets 2 columns and the card text size */
.nlp .nlp-disc-body .nlp-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 32px;margin:0 0 10px}
.nlp .nlp-disc-body .nlp-list>li{margin:0}
.nlp .nlp-sec .nlp-disc-body li,.nlp .nlp-sec .nlp-disc-body p{font-size:16px;line-height:26px}
.nlp .nlp-sec .nlp-disc-body p{margin:0}

/* Cards: hairline frame, medium leaf. Row 1: rank, logo and name as one group, the welcome offer
   (v4), the button. Row 2: the other doc fields with icons. */
.nlp .nlp-offers{display:grid;gap:16px;margin:0}
.nlp .nlp-offers>.nlp-offer{min-width:0;margin:0;overflow:hidden;background:#fff;border:1px solid var(--nlp-line);border-radius:var(--nlp-leaf-m)}
.nlp .nlp-offers>.nlp-offer-top{border-color:var(--nlp-dark)}
.nlp .nlp-sec .nlp-offer-band{display:flex;align-items:center;gap:8px;margin:0;padding:8px 24px;background:var(--nlp-dark);color:var(--nlp-lime);font-size:14px;line-height:20px;font-weight:600}
.nlp .nlp-offer-band .nlp-i{width:16px;height:16px}
.nlp .nlp-offer-main{display:grid;grid-template-columns:340px minmax(0,1fr) auto;align-items:center;column-gap:24px;padding:20px 24px}
.nlp .nlp-offer-id{display:flex;align-items:center;gap:14px;min-width:0}
.nlp .nlp-rank{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--nlp-r-s);background:var(--nlp-grey);color:var(--nlp-dark);font-size:15px;line-height:1;font-weight:600;font-variant-numeric:tabular-nums}
.nlp .nlp-offer-top .nlp-rank{background:var(--nlp-lime)}
.nlp a.nlp-logo-link{display:block;flex:none;border-radius:var(--nlp-r-m);text-decoration:none}
/* The rank, logo and name group of a card is one tap target: the logo link (tabindex -1, aria-hidden,
   the button URL) stretches over the group; the button stays the one named link (v5 CRO: taps on the
   brand name land on the casino). In a strip item only the logo is a link */
.nlp .nlp-offer-id{position:relative}
.nlp .nlp-offer-id>a.nlp-logo-link::after{content:"";position:absolute;inset:0}
.nlp .nlp-offer-id:hover .nlp-offer-name{text-decoration:underline;text-underline-offset:4px}
.nlp .nlp-logo{display:block;flex:none;width:112px;height:56px;max-width:none;border-radius:var(--nlp-r-m);outline:1px solid var(--nlp-line);outline-offset:-1px}
/* No logo file yet: a neutral name tile of the same size (replaced on the next build) */
.nlp .nlp-logo-tile{display:grid;place-items:center;padding:0 8px;overflow:hidden;background:var(--nlp-grey);color:var(--nlp-dark);font-size:14px;line-height:1.15;font-weight:700;text-align:center;overflow-wrap:normal;word-break:normal}
.nlp .nlp-sec .nlp-offer-name{min-width:0;margin:0;color:var(--nlp-dark);font-size:22px;line-height:28px;font-weight:700;letter-spacing:-.44px;overflow-wrap:normal;word-break:normal}
.nlp .nlp-offer-key{display:flex;flex-direction:column;min-width:0;padding-left:24px;border-left:1px solid var(--nlp-line)}
.nlp .nlp-offer-key dt{color:var(--nlp-muted);font-size:13px;line-height:18px}
.nlp .nlp-offer-key dd{margin-top:2px;color:var(--nlp-dark);font-size:20px;line-height:26px;font-weight:700;letter-spacing:-.2px;font-variant-numeric:tabular-nums;text-wrap:balance}
.nlp .nlp-btn.nlp-offer-btn{min-width:180px;min-height:52px;white-space:nowrap}
.nlp .nlp-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;row-gap:0;margin:0;padding:16px 24px 6px;border-top:1px solid var(--nlp-line)}
.nlp .nlp-facts-c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.nlp .nlp-facts-c2{grid-template-columns:repeat(2,minmax(0,1fr))}
/* A short last row fills the card: the last field takes the free columns. Generic for any field
   count (_facts_cols): the 4n+2 and 4n+3 rules serve listings with 6 or 7 fields (kept on purpose,
   check.py UNMATCHED_OK) */
@media (min-width:1024px){
  .nlp .nlp-facts-c3>.nlp-fact:last-child:nth-child(3n+2),.nlp .nlp-facts-c4>.nlp-fact:last-child:nth-child(4n+3){grid-column:span 2}
  .nlp .nlp-facts-c4>.nlp-fact:last-child:nth-child(4n+2){grid-column:span 3}
}
/* Each field spans a label row and a value row of the card grid (subgrid): in one row of fields the
   values start on one line even when a neighbouring label runs to 2 lines */
.nlp .nlp-fact{position:relative;display:grid;grid-row:span 2;grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr);align-content:start;align-items:start;min-width:0;padding-left:42px}
/* The icon tile is inside the dt (valid dl groups), placed in the left gutter of the field */
.nlp .nlp-fact-i{position:absolute;left:0;top:0;display:grid;place-items:center;width:32px;height:32px;border-radius:var(--nlp-r-s);background:var(--nlp-tint);color:var(--nlp-acc)}
.nlp .nlp-fact-i .nlp-i{width:18px;height:18px}
.nlp .nlp-fact dt{color:var(--nlp-muted);font-size:13px;line-height:18px}
.nlp .nlp-fact dd{margin:2px 0 14px;color:var(--nlp-dark);font-size:16px;line-height:22px;font-weight:600;font-variant-numeric:tabular-nums}
/* Payment column (v4, owner 31.10.2026): the payment method field (a field like the others: icon,
   doc header, doc text) always sits on the left of the card under the logo, whatever its doc column;
   the other fields take the rest. From 1024px it is as wide as the name column, so the fields start at
   the bonus divider; below 1024px it is the first field of the 2-column grid */
/* From 1024px the payment field and the other fields share one grid (the dls open up with
   display:contents), so its label and value rows line up with the first row of fields; every new row of
   fields starts in column 2 (nlp-offer-body-c2/-c3: the field columns) */
.nlp .nlp-offer-body-pay{display:grid;grid-template-columns:340px repeat(3,minmax(0,1fr));column-gap:24px;row-gap:0;padding:16px 24px 6px;border-top:1px solid var(--nlp-line)}
.nlp .nlp-offer-body-pay.nlp-offer-body-c2{grid-template-columns:340px repeat(2,minmax(0,1fr))}
.nlp .nlp-offer-body-pay>.nlp-facts,.nlp .nlp-offer-body-pay>.nlp-offer-pay{display:contents}
.nlp .nlp-offer-body-pay>.nlp-offer-pay>.nlp-fact{grid-column:1;grid-row:1/span 2}
/* v6: a long payment cell must not stretch the value row of the first fields (each field holds a label row and a value
   row, subgrid). Its value spans down to a last 1fr row that takes all the extra height; 6 auto rows hold up to 3 rows of fields */
@media (min-width:1024px){
  .nlp .nlp-offer-body-pay{grid-template-rows:repeat(6,auto) 1fr}
  .nlp .nlp-offer-body-pay>.nlp-offer-pay>.nlp-fact{grid-row:1/span 7}
  .nlp .nlp-offer-body-pay>.nlp-offer-pay>.nlp-fact dd{grid-row:2/-1}
}
.nlp .nlp-offer-body-c3>.nlp-facts>.nlp-fact:nth-child(3n+1),.nlp .nlp-offer-body-c2>.nlp-facts>.nlp-fact:nth-child(2n+1){grid-column-start:2}
.nlp .nlp-list-foot{margin:20px 0 0}
.nlp .nlp-sec .nlp-list-foot p{margin:0 0 4px;font-size:15px;line-height:22px}

/* Strip: the first 3 cards again inside long text, same data and button */
.nlp .nlp-strip{margin:56px 0 0}
.nlp .nlp-strip ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.nlp .nlp-strip li.nlp-strip-item{display:grid;grid-template-columns:32px 72px minmax(0,1fr);grid-template-areas:"rank logo id" "cta cta cta";column-gap:12px;row-gap:12px;align-items:center;min-width:0;margin:0;padding:14px;background:#fff;border:1px solid var(--nlp-line);border-radius:var(--nlp-leaf-s)}
.nlp .nlp-strip-item>.nlp-rank{grid-area:rank}
.nlp .nlp-strip-item>.nlp-logo-link{grid-area:logo;border-radius:var(--nlp-r-s)}
.nlp .nlp-strip-item .nlp-logo{width:72px;height:36px;border-radius:var(--nlp-r-s);font-size:12px}
.nlp .nlp-strip-id{grid-area:id;min-width:0}
.nlp .nlp-strip .nlp-strip-name{margin:0;color:var(--nlp-dark);font-size:17px;line-height:22px;font-weight:700;overflow-wrap:normal;word-break:normal}
.nlp .nlp-strip .nlp-strip-key{margin:0;color:var(--nlp-muted);font-size:13px;line-height:18px}
.nlp .nlp-strip-key b{display:block;color:var(--nlp-dark);font-size:15px;font-variant-numeric:tabular-nums}
.nlp .nlp-btn.nlp-strip-btn{grid-area:cta;width:100%;min-height:44px;padding:10px 14px;font-size:15px;white-space:nowrap}
/* The section after a strip: the strip already brings its own 56px. A phone-only strip is hidden
   from 768px, so the section after it keeps the full step there */
@media (min-width:768px){
  .nlp .nlp-strip-phone{display:none}
  .nlp .nlp-sheet>.nlp-strip:not(.nlp-strip-phone)+.nlp-sec:not(.nlp-sec-rg){padding-top:56px}
}

/* 1024-1199px */
@media (max-width:1199px){
  /* Name and payment column 280px: the fields keep 3 columns of 170px and more */
  .nlp .nlp-offer-main{grid-template-columns:280px minmax(0,1fr) auto}
  .nlp .nlp-offer-body-pay{grid-template-columns:280px repeat(3,minmax(0,1fr))}
  .nlp .nlp-offer-body-pay.nlp-offer-body-c2{grid-template-columns:280px repeat(2,minmax(0,1fr))}
  .nlp .nlp-sec .nlp-offer-name{font-size:20px;line-height:26px}
  .nlp .nlp-btn.nlp-offer-btn{min-width:160px}
}
/* Tablet: smaller logo and key */
@media (max-width:1023px){
  /* The name group takes its own width, the welcome offer the rest (it wraps), the button its own */
  .nlp .nlp-offer-main{grid-template-columns:auto minmax(0,1fr) auto;column-gap:20px;padding:18px 20px}
  .nlp .nlp-offer-id{gap:12px}
  .nlp .nlp-offer-id .nlp-logo{width:96px;height:48px}
  .nlp .nlp-offer-key{padding-left:20px}
  .nlp .nlp-offer-key dd{font-size:18px;line-height:24px}
  .nlp .nlp-btn.nlp-offer-btn{min-width:150px}
  .nlp .nlp-facts{padding:14px 20px 4px}
  /* The name group has its own width here, so the payment field is the first field of one 2-column
     grid (left, row 1) and the other fields follow; the last field takes the row when the count is odd */
  .nlp .nlp-offer-body-pay{padding:14px 20px 4px}
  .nlp .nlp-offer-body-pay,.nlp .nlp-offer-body-pay.nlp-offer-body-c2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nlp .nlp-offer-body-c3>.nlp-facts>.nlp-fact:nth-child(3n+1),.nlp .nlp-offer-body-c2>.nlp-facts>.nlp-fact:nth-child(2n+1){grid-column-start:auto}
  .nlp .nlp-offer-body-pay>.nlp-facts>.nlp-fact:last-child:nth-child(odd){grid-column:auto}
  .nlp .nlp-offer-body-pay>.nlp-facts>.nlp-fact:last-child:nth-child(even){grid-column:1/-1}
  .nlp .nlp-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nlp .nlp-facts>.nlp-fact:last-child:nth-child(odd){grid-column:1/-1}
  /* Strip item too narrow for the name next to the logo: name and key get their own row */
  .nlp .nlp-strip li.nlp-strip-item{grid-template-areas:"rank logo ." "id id id" "cta cta cta";row-gap:10px}
}
/* Phone: identity row, key row, button, fields two per row */
@media (max-width:767px){
  .nlp .nlp-disc{margin-bottom:12px}
  .nlp .nlp-disc-btn{min-height:46px;padding:10px 0;font-size:15px}
  .nlp .nlp-disc-body{padding-left:0}
  .nlp .nlp-disc-body .nlp-list{grid-template-columns:minmax(0,1fr)}
  .nlp .nlp-sec .nlp-disc-body li,.nlp .nlp-sec .nlp-disc-body p{font-size:15px;line-height:24px}
  .nlp .nlp-disc-body a{display:inline-block;padding:10px 0;margin:-10px 0}
  .nlp .nlp-offers{gap:12px}
  .nlp .nlp-sec .nlp-offer-band{padding:6px 16px;font-size:13px;line-height:18px}
  /* Order on a phone: band, identity, key, button, fields (v5 CRO: the button right under the welcome
     offer; the main row opens up with display:contents) */
  .nlp .nlp-offers>.nlp-offer{display:grid;grid-template-columns:minmax(0,1fr)}
  .nlp .nlp-offer>.nlp-offer-band{grid-row:1}
  .nlp .nlp-offer-main{display:contents}
  .nlp .nlp-offer-id{grid-row:2;gap:10px;padding:14px 16px 0}
  .nlp .nlp-rank{width:28px;height:28px;font-size:14px}
  .nlp .nlp-offer-id .nlp-logo{width:88px;height:44px}
  .nlp .nlp-offer-key{grid-row:3;margin:12px 16px 0;padding:10px 0 0;border-top:1px solid var(--nlp-line);border-left:0}
  .nlp .nlp-offer-key dd{font-size:17px}
  .nlp .nlp-offer-body{grid-row:5;padding-bottom:6px}
  .nlp .nlp-facts{padding:2px 16px 0;border-top:0}
  /* Payment field first, a row of its own above the other fields */
  .nlp .nlp-offer-body-pay{display:block;padding:2px 16px 6px;border-top:0}
  .nlp .nlp-offer-body-pay>.nlp-offer-pay{display:block}
  .nlp .nlp-offer-body-pay>.nlp-facts{display:grid;padding:0}
  .nlp .nlp-offer-body-pay>.nlp-offer-pay>.nlp-fact{border-bottom:1px solid var(--nlp-line)}
  .nlp .nlp-offer-body-pay>.nlp-facts>.nlp-fact:last-child:nth-child(even){grid-column:auto}
  .nlp .nlp-offer-main>.nlp-btn.nlp-offer-btn{grid-row:4;width:auto;min-width:0;min-height:48px;margin:14px 16px 4px}
  /* Fields one per row: icon, label above the value, hairline between rows */
  .nlp .nlp-facts{grid-template-columns:minmax(0,1fr)}
  .nlp .nlp-fact{grid-row:auto;grid-template-rows:auto auto;padding:9px 0 9px 38px;border-bottom:1px solid var(--nlp-line)}
  .nlp .nlp-fact-i{top:9px}
  .nlp .nlp-fact:last-child{border-bottom:0}
  .nlp .nlp-fact-i{width:28px;height:28px}
  .nlp .nlp-fact-i .nlp-i{width:16px;height:16px}
  .nlp .nlp-fact dd{margin:1px 0 0;font-size:15px;line-height:20px}
  .nlp .nlp-sec .nlp-list-foot p{font-size:14px;line-height:20px}
  .nlp .nlp-strip{margin-top:40px}
  .nlp .nlp-sheet>.nlp-strip+.nlp-sec:not(.nlp-sec-rg){padding-top:40px}
  .nlp .nlp-strip ul{grid-template-columns:minmax(0,1fr);gap:8px}
  /* Name, label and value next to the logo, the button under them (the label stays on one line) */
  .nlp .nlp-strip li.nlp-strip-item{grid-template-columns:28px 72px minmax(0,1fr);grid-template-areas:"rank logo id" "cta cta cta";column-gap:10px;padding:12px}
  .nlp .nlp-strip .nlp-strip-name{font-size:16px;line-height:20px}
}

/* At the end of the body styles, so it wins over the base rules of the hero, the sheet and the list head */
/* v5: a low laptop screen (1024px and wider, up to 860px high) gets a 2-line intro and a tighter
   sheet top, so the first casino button is on the first screen */
@media (min-width:1024px) and (max-height:860px){
  .nlp.nlp-js .nlp-hero-intro.nlp-clamped{-webkit-line-clamp:2;line-clamp:2}
  .nlp .nlp-hero h1{margin-top:14px;font-size:40px;line-height:48px;letter-spacing:-1.2px}
  .nlp .nlp-sheet{padding-top:32px}
  .nlp .nlp-sec-list>h2{margin-bottom:12px}
  .nlp .nlp-sec-list .nlp-disc{margin-bottom:12px}
  .nlp .nlp-sec .nlp-list-lead{margin-bottom:8px}
  .nlp .nlp-hero-meta>.nlp-byline{row-gap:2px}
}

/* ===== src/css/page-advertise.css ===== */
/* Advertise page: banner size previews (exist once by nature). Every other block of the page uses
   the shared components (CARDS with icons, NOTE, FLAGS, STEPS, DARK). */

/* "Sizes:" label above the previews */
.nlp[data-page="advertise"] .nlp-adv-label{margin:0 0 10px;color:var(--nlp-dark);font-weight:700}

/* Banner sizes drawn to one scale: --nlp-adv-s px per banner pixel; each size has its own class */
.nlp[data-page="advertise"] .nlp-adv-sizes{--nlp-adv-s:.2px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 24px;list-style:none}
.nlp[data-page="advertise"] .nlp-adv-sizes>li{display:flex;flex-direction:column;gap:12px;grid-column:span 2;margin:0;padding:16px;background:var(--nlp-grey);border-radius:var(--nlp-leaf-s)}
.nlp[data-page="advertise"] .nlp-adv-sizes>li:nth-child(n+4){grid-column:span 3}
.nlp[data-page="advertise"] .nlp-adv-stage{display:flex;align-items:flex-end;justify-content:center;height:120px}
.nlp[data-page="advertise"] .nlp-adv-box{display:block;width:calc(var(--nlp-adv-w) * var(--nlp-adv-s));height:calc(var(--nlp-adv-h) * var(--nlp-adv-s));border:1.5px dashed var(--nlp-mid);border-radius:4px;background:repeating-linear-gradient(135deg,rgba(163,230,37,.30) 0 6px,rgba(163,230,37,.12) 6px 12px)}
.nlp[data-page="advertise"] .nlp-adv-box-728x90{--nlp-adv-w:728;--nlp-adv-h:90}
.nlp[data-page="advertise"] .nlp-adv-box-300x250{--nlp-adv-w:300;--nlp-adv-h:250}
.nlp[data-page="advertise"] .nlp-adv-box-300x600{--nlp-adv-w:300;--nlp-adv-h:600}
.nlp[data-page="advertise"] .nlp-adv-box-320x50{--nlp-adv-w:320;--nlp-adv-h:50}
.nlp[data-page="advertise"] .nlp-adv-box-970x250{--nlp-adv-w:970;--nlp-adv-h:250}
.nlp[data-page="advertise"] .nlp-adv-cap{color:var(--nlp-dark);font-weight:600;font-variant-numeric:tabular-nums}

@media (max-width:1023px){
  .nlp[data-page="advertise"] .nlp-adv-sizes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nlp[data-page="advertise"] .nlp-adv-sizes>li,.nlp[data-page="advertise"] .nlp-adv-sizes>li:nth-child(n+4){grid-column:auto}
  .nlp[data-page="advertise"] .nlp-adv-sizes>li:last-child{grid-column:1/-1}
}
@media (max-width:767px){
  .nlp[data-page="advertise"] .nlp-adv-sizes{--nlp-adv-s:.15px}
  .nlp[data-page="advertise"] .nlp-adv-stage{height:90px}
}
@media (max-width:379px){
  .nlp[data-page="advertise"] .nlp-adv-sizes{grid-template-columns:minmax(0,1fr)}
}

/* ===== src/css/page-contact.css ===== */
/* Contact page: the form with its side column (exists once by nature). The side cards and the
   channel cards are the shared CARDS (line and dark variants, icon tiles). */
.nlp[data-page="contact"] .nlp-ct-grid{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:24px;align-items:start}
.nlp[data-page="contact"] .nlp-ct-grid>*{margin:0}

@media (max-width:1023px){
  .nlp[data-page="contact"] .nlp-ct-grid{grid-template-columns:minmax(0,1fr)}
}
