/* ============================================================
   Legiano — legiano-play.it.com
   Layout archetype: magazine (asymmetric grids, offset heads)
   Theme: dark · Shape: rounded · Density: dense · Persona: retro
   Hero: stacked · Features: icon-rows · Stats: strip · FAQ: single
   ============================================================ */

*,*::before,*::after{box-sizing:border-box}

:root{
  /* --- accent-lock --- */
  --accent:#C8A24C;
  --accent-soft:#E7C87E;
  --accent-deep:#8C6B23;

  /* --- retro-arcade dark base: warm bitumen, not navy --- */
  --bg-main:#171310;
  --bg-alt:#1F1A15;
  --bg-card:#241E18;
  --bg-inset:#100D0A;
  --bg-rail:#0D0B09;

  /* --- ink --- */
  --text-main:#F2E9DA;
  --text-muted:#A99B87;
  --text-dim:#9A8C7A;
  --text-on-accent:#1A1409;

  /* --- secondary hue: retro teal-jade, only for signals --- */
  --signal:#57B79A;
  --signal-dim:#2E4E45;
  --warn:#E08A57;

  --border:#3A3128;
  --border-soft:#2B241D;
  --border-accent:rgba(200,162,76,.42);

  /* --- shape: rounded --- */
  --r-lg:18px;
  --r-md:14px;
  --r-sm:10px;
  --r-pill:999px;

  /* --- density: dense --- */
  --wrap:1180px;
  --gutter:clamp(20px,3vw,40px);
  --sec-pad:clamp(2.1rem,4.2vw,3.2rem);
  --blk-gap:clamp(1rem,2vw,1.5rem);

  /* --- type --- */
  --font-head:"Bodoni Moda","Playfair Display",Georgia,"Times New Roman",serif;
  --font-body:"Sora","Avenir Next",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-data:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --shadow-1:0 1px 0 rgba(255,255,255,.04) inset,0 10px 26px rgba(0,0,0,.45);
  --shadow-2:0 18px 46px rgba(0,0,0,.55);
  --glow:0 0 0 1px rgba(200,162,76,.28),0 12px 30px rgba(200,162,76,.14);

  --hdr-h:72px;
}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--bg-main);
  color:var(--text-main);
  font-family:var(--font-body);
  font-size:16.5px;
  line-height:1.62;
  overflow-x:hidden;
  letter-spacing:.005em;
  /* retro halftone: faint warm scanline field, magazine paper feel */
  background-image:
    radial-gradient(1100px 520px at 78% -8%,rgba(200,162,76,.09),transparent 62%),
    repeating-linear-gradient(180deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px);
  background-attachment:fixed,scroll;
}

img,svg{max-width:100%}
a{color:var(--accent-soft);text-decoration-color:rgba(200,162,76,.35);text-underline-offset:3px}
a:hover{color:var(--accent)}
p{margin:0 0 1rem;overflow-wrap:anywhere}
ul,ol{margin:0 0 1rem;padding-inline-start:1.25rem}
li{margin-bottom:.4rem}
strong{color:#FBF3E4;font-weight:650}
hr{border:0;border-top:1px solid var(--border-soft);margin:1.6rem 0}

h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:700;
  line-height:1.08;
  margin:0 0 .6rem;
  letter-spacing:-.012em;
  color:#FCF6EA;
  text-wrap:balance;
}
h1{font-size:clamp(2.1rem,5.2vw,3.5rem)}
h2{font-size:clamp(1.6rem,3.2vw,2.35rem)}
h3{font-size:clamp(1.15rem,1.9vw,1.42rem)}
h4{font-size:1.05rem;font-family:var(--font-body);font-weight:650;letter-spacing:0}

:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px;border-radius:4px}

::selection{background:var(--accent);color:var(--text-on-accent)}

/* ---------- container / sections (magazine) ---------- */
.itp-container{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.itp-section{padding-block:var(--sec-pad);position:relative}
.itp-section--alt{background:var(--bg-alt)}
.itp-section--inset{background:var(--bg-inset)}
.itp-section > .itp-container > :last-child{margin-bottom:0}

/* magazine: offset section heads with a rule that runs into the margin */
.itp-sec-head{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
  gap:clamp(.6rem,2vw,2rem);
  align-items:end;
  margin-bottom:clamp(1.1rem,2.4vw,1.9rem);
  padding-bottom:.85rem;
  border-bottom:1px solid var(--border);
}
.itp-sec-head > *{min-width:0}
.itp-sec-head p{margin:0;color:var(--text-muted);font-size:.95rem}
.itp-sec-head h2{margin:0}
/* same breakpoint as .itp-two-cols — otherwise 761–900px keeps a squeezed
   two-column head above a single-column body */
@media (max-width:900px){
  .itp-sec-head{grid-template-columns:1fr;align-items:start;gap:.5rem}
}

.itp-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-family:var(--font-data);
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 .55rem;
}
.itp-eyebrow::before{
  content:"";
  width:26px;height:2px;
  background:linear-gradient(90deg,var(--accent),transparent);
  flex-shrink:0;
}
.itp-lead{font-size:clamp(1.02rem,1.5vw,1.16rem);color:var(--text-muted);max-width:none}
.itp-muted{color:var(--text-muted)}
.itp-fine{font-size:.86rem;color:var(--text-dim);line-height:1.6}
/* 18+ badge is a 2.1rem disc inside .86rem copy: left inline it blows up the
   first line box and the rest of the copy slides under it. Pull the disc out of
   the flow and indent the paragraph, so every line sits on one axis beside it.
   (Not flex: that would make each <a>/<strong> its own item and shred the text.) */
:where(p):has(> .itp-age:first-child){
  position:relative;
  padding-inline-start:2.9rem;
  min-height:2.1rem;
}
:where(p) > .itp-age:first-child{
  position:absolute;
  inset-inline-start:0;
  top:0;
}

/* magazine pull-quote — a real device, used for brand facts */
.itp-pull{
  margin:1.6rem 0;
  padding:1rem 0 1rem 1.15rem;
  border-inline-start:3px solid var(--accent);
  font-family:var(--font-head);
  font-size:clamp(1.2rem,2.2vw,1.6rem);
  line-height:1.25;
  color:#FCF6EA;
}
.itp-pull cite{display:block;margin-top:.5rem;font:400 .8rem/1.4 var(--font-data);color:var(--text-dim);font-style:normal;letter-spacing:.08em;text-transform:uppercase}

/* ---------- icons ---------- */
.itp-icon{
  width:1.5em;height:1.5em;
  display:inline-block;
  vertical-align:middle;
  flex-shrink:0;
  stroke:currentColor;
  fill:none;
}
.itp-icon--lg{width:2rem;height:2rem}
.itp-icon--sm{width:1.05em;height:1.05em}

/* ---------- buttons ---------- */
.itp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  font-family:var(--font-body);
  font-weight:650;
  font-size:.95rem;
  letter-spacing:.01em;
  line-height:1.15;
  padding:.78rem 1.35rem;
  border-radius:var(--r-md);
  border:1px solid transparent;
  background:linear-gradient(175deg,var(--accent-soft),var(--accent) 58%,var(--accent-deep));
  color:var(--text-on-accent);
  text-decoration:none;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
  box-shadow:0 6px 18px rgba(200,162,76,.2);
}
.itp-btn:hover{color:var(--text-on-accent);transform:translateY(-2px);box-shadow:0 12px 26px rgba(200,162,76,.3)}
.itp-btn:active{transform:translateY(0)}
.itp-btn--ghost{
  background:transparent;
  color:var(--accent-soft);
  border-color:var(--border-accent);
  box-shadow:none;
}
.itp-btn--ghost:hover{color:var(--accent);background:rgba(200,162,76,.08);box-shadow:none}
.itp-btn--lg{padding:.95rem 1.7rem;font-size:1.02rem}
.itp-btn--block{width:100%}

.itp-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.itp-actions > *{min-width:0}

/* ============================================================
   HEADER — magazine masthead, single CTA outside <nav>
   ============================================================ */
.itp-header{
  position:sticky;
  top:0;
  z-index:900;
  background:rgba(13,11,9,.94);
  backdrop-filter:saturate(1.3) blur(10px);
  border-bottom:1px solid var(--border-soft);
}
.itp-header::after{
  content:"";
  display:block;
  height:2px;
  background:linear-gradient(90deg,var(--accent-deep),var(--accent) 22%,transparent 62%);
}
.itp-header__bar{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding:.6rem var(--gutter);
  min-height:var(--hdr-h);
  display:flex;
  align-items:center;
  gap:clamp(.5rem,2vw,1.6rem);
}
.itp-header__bar > *{min-width:0}

.itp-logo{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  flex-shrink:0;
  line-height:0;
}
.itp-logo__img{
  height:40px;
  width:auto;
  object-fit:contain;
  display:block;
}
.itp-logo__text{
  font-family:var(--font-head);
  font-size:1.5rem;
  font-weight:700;
  letter-spacing:-.02em;
  color:#FCF6EA;
  line-height:1;
}
.itp-logo__text em{font-style:normal;color:var(--accent)}

.itp-nav{
  display:flex;
  align-items:center;
  gap:clamp(.3rem,1.4vw,1.15rem);
  margin-inline-start:auto;
}
.itp-nav ul{
  list-style:none;
  display:flex;
  align-items:center;
  gap:clamp(.3rem,1.4vw,1.15rem);
  margin:0;
  padding:0;
}
.itp-nav li{margin:0}
.itp-nav a:not(.itp-btn){
  display:inline-block;
  font-size:.87rem;
  font-weight:550;
  letter-spacing:.01em;
  color:var(--text-muted);
  text-decoration:none;
  padding:.5rem .2rem;
  position:relative;
  white-space:nowrap;
}
.itp-nav a:not(.itp-btn)::after{
  content:"";
  position:absolute;
  left:.2rem;right:.2rem;bottom:.24rem;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}
.itp-nav a:not(.itp-btn):hover{color:var(--text-main)}
.itp-nav a:not(.itp-btn):hover::after,
.itp-nav a:not(.itp-btn)[aria-current="page"]::after{transform:scaleX(1)}
.itp-nav a:not(.itp-btn)[aria-current="page"]{color:var(--text-main)}

/* single CTA, standalone, outside nav — visible at every width */
.itp-header__cta{flex-shrink:0;padding:.6rem 1.05rem;font-size:.88rem}
.itp-nav > .itp-btn{display:none}

/* burger */
.itp-burger{
  display:none;
  flex-shrink:0;
  width:44px;height:44px;
  padding:0;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  background:transparent;
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  cursor:pointer;
}
.itp-burger span{
  display:block;
  width:22px;
  height:2px;
  background:var(--text-main);
  border-radius:2px;
  transition:transform .2s ease,opacity .2s ease;
}
.itp-header.is-open .itp-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.itp-header.is-open .itp-burger span:nth-child(2){opacity:0}
.itp-header.is-open .itp-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:900px){
  .itp-burger{display:flex}
  .itp-nav{
    display:none;
    position:absolute;
    left:0;right:0;
    top:100%;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0;
    padding:.6rem var(--gutter) 1rem;
    background:var(--bg-rail);
    border-bottom:1px solid var(--border);
    box-shadow:var(--shadow-2);
  }
  .itp-header.is-open .itp-nav{display:flex}
  .itp-nav ul{flex-direction:column;align-items:stretch;gap:0;width:100%}
  /* block, not inline-block: full-width tap row + a rule that spans the panel */
  .itp-nav a:not(.itp-btn){
    display:block;
    padding:.85rem .1rem;
    font-size:1rem;
    border-bottom:1px solid var(--border-soft);
  }
  .itp-nav li:last-child a:not(.itp-btn){border-bottom:0}
  .itp-nav a:not(.itp-btn)::after{display:none}
  .itp-logo__img{height:34px;max-width:min(45vw,190px)}
  .itp-header__cta{padding:.55rem .85rem;font-size:.84rem;min-height:44px}
}
@media (max-width:420px){
  .itp-header__cta{padding:.5rem .75rem;font-size:.8rem}
  .itp-logo__img{height:30px;max-width:min(42vw,150px)}
  .itp-logo__text{font-size:1.3rem}
}

/* ============================================================
   HERO — stacked (text block, then full-width visual)
   ============================================================ */
.itp-hero{position:relative}
.itp-hero__inner{position:relative}
.itp-hero__img{
  display:block;
  width:100%;
  height:auto;
  max-height:70vh;
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:var(--r-lg);
}

/* --- homepage marketing hero --- */
.itp-hero--home{
  padding-block:clamp(2.2rem,5vw,3.6rem) var(--sec-pad);
  background:
    radial-gradient(900px 420px at 12% 0%,rgba(200,162,76,.14),transparent 60%),
    linear-gradient(180deg,var(--bg-inset),var(--bg-main) 72%);
  border-bottom:1px solid var(--border-soft);
  overflow:hidden;
}
.itp-hero--home .itp-hero__inner{
  display:flex;
  flex-direction:column;
  gap:clamp(1.1rem,2.4vw,1.7rem);
}
.itp-hero--home .itp-hero__text{
  display:flex;
  flex-direction:column;
  gap:.55rem;
  max-width:none;
}
.itp-hero--home h1{
  font-size:clamp(2.25rem,6vw,4.1rem);
  margin:0;
}
.itp-hero--home h1 em{
  font-style:normal;
  color:var(--accent);
  /* retro double-line underscore */
  box-shadow:inset 0 -.14em 0 rgba(200,162,76,.28);
}
.itp-hero--home .itp-hero__sub{
  font-size:clamp(1.02rem,1.6vw,1.2rem);
  color:var(--text-muted);
  margin:.2rem 0 0;
  max-width:none;
}
.itp-hero--home .itp-actions{margin-top:.5rem}
@media (max-width:400px){
  .itp-hero--home .itp-actions .itp-btn{flex:1 1 100%}
}
.itp-hero--home .itp-hero__visual{
  position:relative;
  width:100%;
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow-2);
  background:linear-gradient(135deg,#2A2118,#1A1511 46%,#2E2517);
  aspect-ratio:3/2;
  max-height:min(70vh,420px);
}
.itp-hero--home .itp-hero__visual .itp-hero__img{border-radius:0;border:0}
.itp-hero--home .itp-hero__note{
  font-family:var(--font-data);
  font-size:.74rem;
  letter-spacing:.14em;
  line-height:1.75;
  text-transform:uppercase;
  color:var(--text-dim);
  /* it is a legal note, not a button caption — it must not read as glued to
     the CTAs above (the .55rem column gap alone is too tight for that) */
  margin:1.1rem 0 0;
}
@media (min-width:960px){
  .itp-hero--home .itp-hero__visual{aspect-ratio:21/9}
}

/* --- SIGNATURE: the "marquee ledger" strip under the hero —
   a retro casino tote-board of the brand's real, checkable facts. --- */
.itp-tote{
  /* a 52px strip must not inherit the 34–51px section padding — that reads as
     a hanging gap inside its own rules */
  padding-block:0;
  border-block:1px solid var(--border);
  background:
    repeating-linear-gradient(90deg,rgba(200,162,76,.045) 0 2px,transparent 2px 9px),
    var(--bg-inset);
  overflow:hidden;
}
.itp-tote > .itp-container{padding-inline:0}
.itp-tote__track{
  display:flex;
  align-items:center;
  gap:0;
  width:max-content;
  animation:itp-tote 46s linear infinite;
}
.itp-tote:hover .itp-tote__track{animation-play-state:paused}
.itp-tote__item{
  display:flex;
  align-items:baseline;
  gap:.55rem;
  padding:.8rem clamp(1rem,2.4vw,2rem);
  border-inline-end:1px solid var(--border-soft);
  white-space:nowrap;
}
.itp-tote__val{
  font-family:var(--font-data);
  font-size:1rem;
  font-weight:600;
  color:var(--accent);
  letter-spacing:.02em;
}
.itp-tote__lbl{
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--text-dim);
}
@keyframes itp-tote{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .itp-tote__track{animation:none;width:100%;flex-wrap:wrap;justify-content:center}
}
/* touch: no hover to pause, so a crawling strip is just unreadable —
   hand it to the finger as a snap-scroll rail instead */
@media (hover:none){
  .itp-tote{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .itp-tote::-webkit-scrollbar{display:none}
  .itp-tote__track{animation:none}
  .itp-tote__item{scroll-snap-align:start}
  /* the marquee's duplicated half would read as repeated content when scrolled */
  .itp-tote__item[aria-hidden="true"]{display:none}
  .itp-tote__track > .itp-tote__item:last-of-type{border-inline-end:0}
}
@media (prefers-reduced-motion:reduce){
  .itp-tote__item[aria-hidden="true"]{display:none}
}

/* ---------- inner page header (compact band) ---------- */
.itp-hero--inner,
.itp-page-header{
  position:relative;
  overflow:hidden;
  min-height:190px;
  display:flex;
  align-items:center;
  padding-block:clamp(1.4rem,3vw,2.1rem);
  background:
    radial-gradient(700px 300px at 8% 120%,rgba(200,162,76,.16),transparent 62%),
    linear-gradient(180deg,var(--bg-rail),var(--bg-alt));
  border-bottom:1px solid var(--border);
}
.itp-hero--inner .itp-hero__inner,
.itp-page-header .itp-page-header__inner{
  position:relative;
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:max(var(--gutter),calc((100% - var(--wrap))/2 + var(--gutter)));
}
.itp-hero--inner h1,
.itp-page-header h1{
  font-size:clamp(1.8rem,4vw,2.7rem);
  margin:.3rem 0 0;
  text-wrap:balance;
}
.itp-hero--inner .itp-hero__sub,
.itp-page-header .itp-hero__sub{
  margin:.6rem 0 0;
  color:var(--text-muted);
  font-size:1rem;
}
.itp-hero--inner .itp-hero__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:0;
  max-height:none;
  aspect-ratio:auto;
  z-index:0;
}
.itp-hero--inner:has(.itp-hero__img) .itp-hero__inner::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(10,8,6,.9) 0%,rgba(10,8,6,.76) 48%,rgba(10,8,6,.55) 100%);
}
:where(.itp-hero--inner .itp-hero__inner > :not(.itp-hero__img)){position:relative;z-index:2}

/* breadcrumb */
.itp-breadcrumb{
  font-family:var(--font-data);
  font-size:.74rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text-dim);
}
.itp-breadcrumb ol{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin:0;
  padding:0;
}
.itp-breadcrumb li{margin:0;display:flex;align-items:center;gap:.4rem}
.itp-breadcrumb li+li::before{content:"/";color:var(--border);}
.itp-breadcrumb a{color:var(--text-muted);text-decoration:none}
.itp-breadcrumb a:hover{color:var(--accent)}

/* ---------- TOC ---------- */
.itp-toc{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:clamp(1rem,2vw,1.4rem);
  box-shadow:var(--shadow-1);
}
.itp-toc__title{
  font-family:var(--font-data);
  font-size:.74rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 .8rem;
}
.itp-toc ol,.itp-toc ul{
  list-style:none;
  margin:0;padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));
  gap:.35rem 1.2rem;
  counter-reset:itp-toc;
}
.itp-toc li{margin:0;min-width:0}
.itp-toc a{
  display:flex;
  align-items:baseline;
  gap:.6rem;
  padding:.5rem .2rem;
  color:var(--text-main);
  text-decoration:none;
  font-size:.93rem;
  border-bottom:1px solid var(--border-soft);
}
.itp-toc a::before{
  counter-increment:itp-toc;
  content:counter(itp-toc,decimal-leading-zero);
  font-family:var(--font-data);
  font-size:.72rem;
  color:var(--accent-deep);
  flex-shrink:0;
}
.itp-toc a:hover{color:var(--accent);border-bottom-color:var(--border-accent)}
@media (max-width:767px){
  .itp-toc a{padding:.68rem .2rem}
}

/* ---------- overview / prose ---------- */
/* a 1180px-wide line of body copy is ~150 characters — cap the measure */
.itp-overview p,.itp-prose p{max-width:74ch}
.itp-prose h3{margin-top:1.6rem}
/* kills the hanging margin under the last block of a grid column (pull-quote,
   trailing paragraph) — the column box already provides the rhythm */
.itp-two-cols > * > :last-child{margin-bottom:0}
.itp-anchor{scroll-margin-top:calc(var(--hdr-h) + 16px)}

/* ---------- feature-cards → icon-rows ---------- */
.itp-features{display:flex;flex-direction:column;gap:0}
.itp-two-cols + .itp-features{margin-top:clamp(1.5rem,3vw,2.2rem)}
.itp-feature{
  display:flex;
  align-items:flex-start;
  gap:clamp(.85rem,2vw,1.35rem);
  padding:clamp(1rem,2vw,1.35rem) 0;
  border-bottom:1px solid var(--border-soft);
  min-width:0;
}
.itp-feature:first-child{padding-top:0}
.itp-feature:last-child{border-bottom:0;padding-bottom:0}
.itp-feature__icon{
  flex-shrink:0;
  width:52px;height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--r-md);
  background:linear-gradient(160deg,rgba(200,162,76,.2),rgba(200,162,76,.06));
  border:1px solid var(--border-accent);
  color:var(--accent);
}
.itp-feature__icon .itp-icon{width:1.6rem;height:1.6rem}
.itp-feature__body{min-width:0}
.itp-feature__body h3{margin:0 0 .3rem;font-family:var(--font-body);font-size:1.06rem;font-weight:650;letter-spacing:0}
.itp-feature__body p{margin:0;color:var(--text-muted);font-size:.95rem}
@media (max-width:520px){
  .itp-feature__icon{width:42px;height:42px}
  .itp-feature__icon .itp-icon{width:1.3rem;height:1.3rem}
}

/* ---------- cards grid ---------- */
.itp-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));
  gap:var(--blk-gap);
}
.itp-cards > *{min-width:0}
.itp-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:clamp(1rem,2vw,1.3rem);
  box-shadow:var(--shadow-1);
  display:flex;
  flex-direction:column;
  gap:.5rem;
  transition:border-color .18s ease,transform .18s ease;
}
.itp-card:hover{border-color:var(--border-accent);transform:translateY(-2px)}
.itp-card h3{margin:0;font-size:1.08rem}
.itp-card p{margin:0;color:var(--text-muted);font-size:.94rem}
.itp-card__tag{
  align-self:flex-start;
  font-family:var(--font-data);
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  border:1px solid var(--border-accent);
  border-radius:var(--r-pill);
  padding:.18rem .6rem;
}
.itp-card--accent{
  border-color:var(--border-accent);
  background:linear-gradient(165deg,rgba(200,162,76,.1),var(--bg-card) 55%);
}

/* ---------- two-cols (magazine 1.6fr / 1fr) ---------- */
.itp-two-cols{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
  gap:clamp(1.1rem,3vw,2.4rem);
  align-items:start;
}
.itp-two-cols > *{min-width:0}
.itp-two-cols--flip{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
/* asymmetry is for "copy + panel"; two prose columns need an equal measure,
   otherwise the reading order is ambiguous */
.itp-two-cols:has(> article + article:last-child){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:900px){
  .itp-two-cols,.itp-two-cols--flip{grid-template-columns:1fr}
}

/* ---------- content panel ---------- */
.itp-panel{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:clamp(1rem,2vw,1.35rem);
  box-shadow:var(--shadow-1);
  position:sticky;
  top:calc(var(--hdr-h) + 16px);
}
@media (max-width:900px){.itp-panel{position:static}}
.itp-panel__title{
  font-family:var(--font-data);
  font-size:.73rem;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 .85rem;
  padding-bottom:.6rem;
  border-bottom:1px solid var(--border);
}
.itp-panel > :last-child{margin-bottom:0}

/* quick facts dl */
.itp-facts{margin:0}
.itp-facts__row{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:.5rem;
  padding:.55rem 0;
  border-bottom:1px dashed var(--border-soft);
}
.itp-facts__row:last-child{border-bottom:0;padding-bottom:0}
.itp-facts dt{
  font-size:.8rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--text-dim);
  margin:0;
  min-width:0;
}
.itp-facts dd{
  margin:0;
  font-family:var(--font-data);
  font-size:.9rem;
  color:var(--text-main);
  text-align:end;
  min-width:0;
  overflow-wrap:anywhere;
}

/* checklist */
.itp-checklist{list-style:none;margin:0;padding:0}
.itp-checklist li{
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  padding:.45rem 0;
  font-size:.93rem;
  color:var(--text-main);
  min-width:0;
}
.itp-checklist .itp-icon{color:var(--signal);margin-top:.15rem;width:1.15em;height:1.15em}
.itp-checklist--warn .itp-icon{color:var(--warn)}
/* pros list + cons list back-to-back read as one list — the inversion is lost */
.itp-checklist + .itp-checklist{
  margin-top:.9rem;
  padding-top:.9rem;
  border-top:1px dashed var(--border-soft);
}

/* mini stat tiles inside a panel */
.itp-minitiles{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.6rem;
}
.itp-minitile{
  background:var(--bg-inset);
  border:1px solid var(--border-soft);
  border-radius:var(--r-sm);
  padding:.7rem .75rem;
  min-width:0;
}
.itp-minitile__val{
  display:block;
  font-family:var(--font-data);
  font-size:1.12rem;
  font-weight:600;
  color:var(--accent);
  overflow-wrap:anywhere;
}
.itp-minitile__lbl{
  display:block;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-dim);
  margin-top:.15rem;
}

/* rating badge */
.itp-score{
  display:flex;
  align-items:center;
  gap:.85rem;
  padding:.7rem 0;
  min-width:0;
}
.itp-score__num{
  font-family:var(--font-head);
  font-size:2.4rem;
  line-height:1;
  color:var(--accent);
  flex-shrink:0;
}
.itp-score__stars{display:flex;gap:.15rem;color:var(--accent-soft)}
.itp-score__stars .itp-icon{width:1.1rem;height:1.1rem;fill:currentColor;stroke:none}
/* the unearned part of the rating — same glyph, dimmed, so 4/5 reads as 4/5 */
.itp-score__stars .itp-icon--off{color:var(--text-dim);opacity:.45}
.itp-score__label{font-size:.8rem;color:var(--text-dim);margin-top:.2rem;line-height:1.4}
.itp-score__body{min-width:0}

/* ---------- numbered list (real sequence: step-by-step) ---------- */
.itp-steps{
  list-style:none;
  counter-reset:itp-step;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.9rem;
}
.itp-steps > li{
  position:relative;
  counter-increment:itp-step;
  padding:0 0 0 3.4rem;
  min-height:2.4rem;
  margin:0;
}
.itp-steps > li::before{
  content:counter(itp-step,decimal-leading-zero);
  position:absolute;
  inset-inline-start:0;
  top:0;
  width:2.4rem;
  height:2.4rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--r-md);
  background:linear-gradient(160deg,rgba(200,162,76,.22),rgba(200,162,76,.05));
  border:1px solid var(--border-accent);
  font-family:var(--font-data);
  font-size:.85rem;
  color:var(--accent);
}
.itp-steps h3{margin:.2rem 0 .25rem;font-family:var(--font-body);font-size:1.02rem;font-weight:650;letter-spacing:0}
.itp-steps p{margin:0;color:var(--text-muted);font-size:.94rem}
.itp-steps + .itp-actions{margin-top:1.5rem}
.itp-actions__note{margin:.7rem 0 0}

/* ---------- stats bar → strip ---------- */
.itp-stats{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:0;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  background:var(--bg-inset);
  overflow:hidden;
}
.itp-stats__item{
  flex:1 1 190px;
  min-width:0;
  padding:.95rem clamp(.8rem,2vw,1.4rem);
  border-inline-start:1px solid var(--border-soft);
}
.itp-stats__item:first-child{border-inline-start:0}
.itp-stats__val{
  display:block;
  font-family:var(--font-data);
  font-size:clamp(1.25rem,2.4vw,1.6rem);
  font-weight:600;
  color:var(--accent);
  line-height:1.1;
  overflow-wrap:anywhere;
}
.itp-stats__lbl{
  display:block;
  margin-top:.25rem;
  font-size:.75rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text-dim);
}

/* ---------- categories bar (pills) ---------- */
.itp-pills{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  list-style:none;
  margin:0;
  padding:0;
}
.itp-pills li{margin:0;min-width:0}
.itp-pill{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.45rem .9rem;
  border-radius:var(--r-pill);
  border:1px solid var(--border);
  background:var(--bg-card);
  color:var(--text-main);
  font-size:.86rem;
  text-decoration:none;
  white-space:nowrap;
}
.itp-pill:hover{border-color:var(--border-accent);color:var(--accent);background:rgba(200,162,76,.07)}
.itp-pill .itp-icon{width:1.05em;height:1.05em;color:var(--accent)}
.itp-pill--active{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}

/* ---------- tables ---------- */
.itp-table-wrap{
  overflow-x:auto;
  max-width:100%;
  margin-block:1.5rem;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  background:var(--bg-card);
  -webkit-overflow-scrolling:touch;
}
.itp-table{
  width:100%;
  border-collapse:collapse;
  font-size:.92rem;
  min-width:520px;
}
.itp-table caption{
  caption-side:top;
  text-align:start;
  padding:.9rem 1rem .2rem;
  font-family:var(--font-data);
  font-size:.73rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--text-dim);
}
.itp-table th,.itp-table td{
  padding:.72rem 1rem;
  text-align:start;
  border-bottom:1px solid var(--border-soft);
  vertical-align:top;
}
.itp-table th{
  white-space:nowrap;
  font-family:var(--font-data);
  font-size:.74rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent);
  background:var(--bg-inset);
  border-bottom-color:var(--border);
}
.itp-table tbody tr:last-child td{border-bottom:0}
.itp-table tbody tr:hover{background:rgba(200,162,76,.045)}
.itp-table td strong{color:#FBF3E4}
.itp-table .itp-num{font-family:var(--font-data);white-space:nowrap}

/* payments table */
.itp-payments .itp-table td:first-child{white-space:nowrap}
.itp-pay-name{display:flex;align-items:center;gap:.6rem;min-width:0}
.itp-pay-name .itp-icon{color:var(--accent);width:1.25em;height:1.25em}
.itp-pay-name span{overflow-wrap:anywhere}
.itp-tag{
  display:inline-block;
  font-family:var(--font-data);
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.16rem .5rem;
  border-radius:var(--r-pill);
  border:1px solid var(--signal-dim);
  color:var(--signal);
  white-space:nowrap;
}
.itp-tag--slow{border-color:rgba(224,138,87,.5);color:var(--warn)}

/* ---------- rtp-grid (game tiles) ---------- */
.itp-rtp{
  display:grid;
  gap:clamp(.6rem,1.5vw,1rem);
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (min-width:640px){.itp-rtp{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:960px){.itp-rtp{grid-template-columns:repeat(4,minmax(0,1fr))}}
.itp-rtp-item{
  position:relative;
  overflow:hidden;
  min-width:0;
  border-radius:var(--r-md);
  border:1px solid var(--border);
  background:var(--bg-card);
  display:block;
  text-decoration:none;
  color:inherit;
}
.itp-rtp-item:hover{border-color:var(--border-accent)}
.itp-rtp-item__thumb{
  display:block;
  aspect-ratio:3/2;
  position:relative;
  overflow:hidden;
  background:linear-gradient(140deg,#2C2318,#1B1610 55%,#332818);
}
.itp-rtp-item__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.itp-rtp-item__name{
  display:block;
  padding:.55rem .7rem;
  font-size:.86rem;
  font-weight:600;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.itp-rtp-item__prov{
  display:block;
  padding:0 .7rem .6rem;
  font-family:var(--font-data);
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-dim);
}
.itp-rtp-tooltip{
  position:absolute;
  bottom:0;
  left:0;right:0;
  opacity:0;
  transition:opacity .2s;
  background:linear-gradient(0deg,rgba(10,8,6,.95),rgba(10,8,6,.7));
  color:var(--text-main);
  padding:.6rem .7rem;
  font-family:var(--font-data);
  font-size:.76rem;
  letter-spacing:.04em;
  pointer-events:none;
}
.itp-rtp-item:hover .itp-rtp-tooltip,
.itp-rtp-item:focus-within .itp-rtp-tooltip{opacity:1}

/* ---------- FAQ (single column) ---------- */
.itp-faq{display:block}
.itp-faq details{border-bottom:1px solid var(--border)}
.itp-faq details:first-of-type{border-top:1px solid var(--border)}
.itp-faq summary{
  cursor:pointer;
  padding:1rem 0;
  font-weight:600;
  list-style:none;
  display:flex;
  align-items:flex-start;
  gap:.5rem;
  color:#FCF6EA;
  font-size:1.02rem;
}
.itp-faq summary::-webkit-details-marker{display:none}
/* summary already sets gap:.5rem — a margin here doubles it and the glyph's
   own line-height lifts the sign off the first line of the question */
.itp-faq summary::before{
  content:'+';
  transition:transform .2s;
  color:var(--accent);
  font-family:var(--font-data);
  font-size:1.1rem;
  line-height:inherit;
  width:1ch;
  flex-shrink:0;
}
.itp-faq details[open] summary::before{content:'−'}
.itp-faq details[open] summary{color:var(--accent-soft)}
.itp-faq details > :not(summary){padding:.5rem 0 1rem;color:var(--text-muted)}
.itp-faq details > :not(summary):last-child{margin-bottom:0}

/* generic details fallback outside .itp-faq */
summary{cursor:pointer}

/* ---------- CTA block ---------- */
.itp-cta{
  padding-block:var(--sec-pad);
  background:
    radial-gradient(700px 320px at 82% 20%,rgba(200,162,76,.2),transparent 62%),
    linear-gradient(180deg,var(--bg-alt),var(--bg-inset));
  border-block:1px solid var(--border-accent);
  text-align:center;
}
.itp-cta__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.85rem;
}
.itp-cta__inner > *{margin:0;min-width:0}
.itp-cta h2{font-size:clamp(1.7rem,3.6vw,2.6rem)}
.itp-cta p{color:var(--text-muted);max-width:62ch}
.itp-cta .itp-actions{justify-content:center;margin-top:.2rem}
.itp-cta .itp-fine{max-width:70ch}

/* ---------- legal body ---------- */
/* these pages are pure prose: centre the whole column instead of leaving half
   the viewport empty to the right */
.itp-legal{counter-reset:itp-h2;max-width:76ch;margin-inline:auto}
.itp-section > .itp-container > .itp-note,
.itp-section > .itp-container > .itp-fine{max-width:76ch;margin-inline:auto}
.itp-legal h2{
  counter-increment:itp-h2;
  margin-top:2rem;
  padding-top:1.1rem;
  border-top:1px solid var(--border-soft);
  font-size:clamp(1.3rem,2.4vw,1.75rem);
  display:flex;
  gap:.7rem;
  align-items:baseline;
}
.itp-legal h2:first-of-type{margin-top:0;border-top:0;padding-top:0}
.itp-legal h2::before{
  content:counter(itp-h2) ".";
  font-family:var(--font-data);
  font-size:.9rem;
  color:var(--accent);
  flex-shrink:0;
}
.itp-legal h3{margin-top:1.4rem;font-size:1.1rem}
.itp-legal p,.itp-legal li{color:var(--text-muted)}
.itp-legal strong{color:var(--text-main)}
.itp-legal address{font-style:normal;color:var(--text-muted)}

/* callout — used for the non-AAMS honest note */
.itp-note{
  border:1px solid var(--border-accent);
  border-inline-start-width:3px;
  border-radius:var(--r-md);
  background:rgba(200,162,76,.06);
  padding:.95rem 1.1rem;
  margin-block:1.3rem;
}
.itp-note > :last-child{margin-bottom:0}
.itp-note__title{
  font-family:var(--font-data);
  font-size:.73rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 .4rem;
}
.itp-note--warn{border-color:rgba(224,138,87,.5);background:rgba(224,138,87,.07)}
.itp-note--warn .itp-note__title{color:var(--warn)}

/* age badge */
.itp-age{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.1rem;height:2.1rem;
  border-radius:50%;
  border:2px solid var(--warn);
  color:var(--warn);
  font-family:var(--font-data);
  font-size:.78rem;
  font-weight:600;
  flex-shrink:0;
}

/* ---------- sticky bottom nav (mobile) ---------- */
.itp-sticky-nav{display:none}
@media (max-width:767px){
  .itp-sticky-nav{
    display:flex;
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:880;
    background:rgba(13,11,9,.97);
    border-top:1px solid var(--border);
    padding:.35rem .3rem calc(.35rem + env(safe-area-inset-bottom));
    backdrop-filter:blur(8px);
  }
  .itp-sticky-nav a{
    flex:1 1 0;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.15rem;
    padding:.35rem .2rem;
    font-size:.66rem;
    letter-spacing:.04em;
    color:var(--text-muted);
    text-decoration:none;
    text-align:center;
  }
  .itp-sticky-nav a .itp-icon{width:1.2rem;height:1.2rem}
  .itp-sticky-nav a.itp-sticky-nav__cta{color:var(--accent)}
  body:has(.itp-sticky-nav){padding-bottom:64px}
}

/* ---------- chat widget ---------- */
.itp-chat-btn{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:890;
  width:52px;height:52px;
  border-radius:50%;
  border:1px solid var(--border-accent);
  background:linear-gradient(175deg,var(--accent-soft),var(--accent-deep));
  color:var(--text-on-accent);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:var(--shadow-2);
}
.itp-chat-btn .itp-icon{width:1.5rem;height:1.5rem}
@media (max-width:767px){.itp-chat-btn{bottom:76px}}
.itp-chat{
  display:none;
  position:fixed;
  inset:auto 16px 80px 16px;
  max-width:360px;
  margin-inline-start:auto;
  z-index:895;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-2);
  padding:1rem;
}
.itp-chat.is-open{display:block}
.itp-chat__title{margin:0 0 .4rem;font-size:1.05rem}
.itp-chat p{font-size:.9rem;color:var(--text-muted)}
.itp-chat > :last-child{margin-bottom:0}
@media (max-width:767px){.itp-chat{bottom:140px}}

/* ============================================================
   FOOTER
   ============================================================ */
.itp-footer{
  background:var(--bg-rail);
  border-top:1px solid var(--border);
  padding-block:clamp(2rem,4vw,2.8rem) 1.2rem;
  margin-top:0;
}
.itp-footer__grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));
  gap:clamp(1.2rem,3vw,2.4rem);
  align-items:start;
}
.itp-footer__grid > *{min-width:0}
@media (max-width:820px){
  .itp-footer__grid{grid-template-columns:1fr 1fr}
  .itp-footer__brand{grid-column:1 / -1}
}
@media (max-width:520px){
  .itp-footer__grid{grid-template-columns:1fr}
}
.itp-footer__brand p{color:var(--text-muted);font-size:.92rem;margin:.9rem 0 0}
.itp-footer .itp-logo{margin-bottom:.2rem}
.itp-footer__col h3{
  font-family:var(--font-data);
  font-size:.72rem;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 .75rem;
}
.itp-footer__col ul{list-style:none;margin:0;padding:0}
.itp-footer__col li{margin:0 0 .45rem}
.itp-footer__col a{
  color:var(--text-muted);
  text-decoration:none;
  font-size:.92rem;
}
/* 16px-tall links 7px apart are a finger trap — give each its own row */
@media (max-width:767px){
  .itp-footer__col li{margin:0}
  .itp-footer__col a{display:block;padding:.5rem 0}
}
.itp-footer__col a:hover{color:var(--accent)}
.itp-footer__contact{
  font-family:var(--font-data);
  font-size:.82rem;
  color:var(--text-dim);
  margin-top:.7rem;
  overflow-wrap:anywhere;
}
.itp-footer__disclaimer{
  margin-top:clamp(1.4rem,3vw,2rem);
  padding-top:1.1rem;
  border-top:1px solid var(--border-soft);
  display:flex;
  align-items:flex-start;
  gap:.9rem;
}
.itp-footer__disclaimer p{margin:0}
.itp-footer__bottom{
  margin-top:1.1rem;
  padding-top:1rem;
  border-top:1px solid var(--border-soft);
  display:flex;
  flex-wrap:wrap;
  gap:.6rem 1.2rem;
  align-items:center;
  justify-content:space-between;
}
.itp-footer__bottom p{margin:0;font-size:.8rem;color:var(--text-dim)}

/* ---------- small screens: raise the type floor ----------
   the mono/uppercase labels bottom out at 11.2px on a phone; with .1–.2em
   tracking on a dark ground that is past the point of comfortable reading */
@media (max-width:480px){
  .itp-eyebrow{font-size:.8rem}
  .itp-panel__title,.itp-note__title,.itp-toc__title,.itp-footer__col h3{font-size:.8rem}
  .itp-breadcrumb,.itp-hero--home .itp-hero__note{font-size:.79rem}
  .itp-table caption,.itp-table th{font-size:.79rem}
  .itp-tag{font-size:.75rem}
  .itp-tote__lbl,.itp-stats__lbl,.itp-minitile__lbl,.itp-card__tag,.itp-rtp-item__prov{font-size:.78rem}
  .itp-facts dt{font-size:.83rem}
  .itp-score__label{font-size:.85rem}
  .itp-footer__bottom p,.itp-footer__bottom a{font-size:.83rem}
  .itp-footer__contact{font-size:.85rem}
}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
/* sa-responsive-net */
table th{white-space:nowrap}
figure,blockquote,dl,dd,fieldset{margin:0}
/* sa-logo-chip */
.itp-footer .itp-logo__img{filter:none;background:transparent;padding:0}
.itp-footer .itp-footer__logo-chip{background:transparent;padding:0}
/* sa-logo-fit */
.itp-logo__img{object-fit:contain}
/* sa-ph-media */
.itp-page-header:has(.itp-hero__img){position:relative;overflow:hidden;isolation:isolate;min-height:clamp(200px,30vh,300px);display:flex;flex-direction:column;justify-content:center}
.itp-page-header:has(.itp-hero__img) .itp-hero__img{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;margin:0;z-index:0}
.itp-page-header:has(.itp-hero__img)::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,12,18,.72),rgba(10,12,18,.5))}
:where(.itp-page-header:has(.itp-hero__img)>:not(.itp-hero__img)){position:relative}
.itp-page-header:has(.itp-hero__img)>:not(.itp-hero__img){z-index:2}
.itp-page-header:has(.itp-hero__img),.itp-page-header:has(.itp-hero__img) h1,.itp-page-header:has(.itp-hero__img) a,.itp-page-header:has(.itp-hero__img) p,.itp-page-header:has(.itp-hero__img) li,.itp-page-header:has(.itp-hero__img) span{color:#fff}
/* sa-hero-media */
.itp-hero:has(>.itp-hero__img){position:relative;isolation:isolate}
.itp-hero:has(>.itp-hero__img)>.itp-hero__img{z-index:0}
.itp-hero:has(>.itp-hero__img)::after{z-index:1}
:where(.itp-hero:has(>.itp-hero__img)>:not(.itp-hero__img)){position:relative}
.itp-hero:has(>.itp-hero__img)>:not(.itp-hero__img){z-index:2}
/* sa-rhythm */
:where(.itp-table-wrap){margin-block:1.5rem}
:where(main) :where(ul,ol,table,.itp-table-wrap)+p{margin-block-start:1rem}
/* sa-slot-link */
.itp-rtp-item,.itp-rtp-item:hover,.itp-rtp-item:focus{color:inherit;text-decoration:none;cursor:pointer}
/* sa-rtp-touch */
.itp-rtp-item__thumb{display:block}
@media (hover:none){.itp-rtp-item__thumb{aspect-ratio:auto;overflow:visible}.itp-rtp-item__thumb img{height:auto}.itp-rtp-tooltip{position:static;opacity:1;background:transparent;border-top:0;padding:.4rem .7rem 0;font-size:.74rem;line-height:1.35}.itp-rtp-item__name{padding-top:.35rem}}
/* sa-sticky-pad */
