:root{
  /* palette — papel-cemento diurno con bloques lima ácida */
  --bg-main:#EEEDE6;
  --bg-card:#F8F7F2;
  --accent:#FFDB6A;
  --accent-deep:#FFAA06;
  --accent-2:#C4F000;
  --text-main:#14140F;
  --text-muted:#55554C;
  --border:#14140F;

  /* glass surfaces */
  --glass-lime:rgba(196,240,0,.18);
  --glass-lime-strong:rgba(196,240,0,.32);
  --glass-paper:rgba(248,247,242,.72);
  --scrim:rgba(12,12,8,.62);

  /* type */
  --font-head:"Archivo Expanded","Archivo","Arial Black",system-ui,sans-serif;
  --font-body:"IBM Plex Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --font-data:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

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

  /* density — DENSE */
  --wrap:1120px;
  --gutter:18px;
  --sp-1:.35rem;
  --sp-2:.6rem;
  --sp-3:.9rem;
  --sp-4:1.25rem;
  --sp-5:1.8rem;
  --sec-pad:clamp(1.6rem,3.4vw,2.6rem);

  /* signature: solid offset block-shadow */
  --blk:6px 6px 0 var(--border);
  --blk-sm:3px 3px 0 var(--border);
  --bw:2px;
}

*{box-sizing:border-box}
*,::before,::after{margin:0;padding:0}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

body{
  overflow-x:hidden;
  background:var(--bg-main);
  color:var(--text-main);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.62;
  font-weight:400;
  overflow-wrap:anywhere;
  background-image:
    linear-gradient(rgba(20,20,15,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,20,15,.035) 1px,transparent 1px);
  background-size:52px 52px;
}

img{max-width:100%}
a{color:inherit;text-decoration-color:var(--accent-2);text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible,details:focus-visible{
  outline:3px solid var(--accent-2);
  outline-offset:2px;
  border-radius:4px;
}

h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:800;
  line-height:1.03;
  letter-spacing:-.01em;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
h1{font-size:clamp(2rem,5.6vw,3.5rem);text-wrap:balance}
h2{font-size:clamp(1.45rem,3.2vw,2.25rem);text-wrap:balance}
h3{font-size:clamp(1.1rem,2vw,1.4rem)}
h4{font-size:1.02rem;letter-spacing:0}
p,li{overflow-wrap:anywhere}
strong{font-weight:600}

/* ============ CONTAINER / SECTION (archetype: CARDS) ============ */
.eso-container{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.eso-container>*{min-width:0}

main{display:block;padding-block:clamp(1.1rem,2.6vw,1.9rem)}

/* every section = an elevated block card stacked on the page */
.eso-section{
  padding-block:var(--sec-pad);
  margin-block:clamp(.9rem,2vw,1.4rem);
}
.eso-section>.eso-container{
  background:var(--bg-card);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-lg);
  box-shadow:var(--blk);
  padding:clamp(1.1rem,2.8vw,2rem);
}
.eso-section--alt>.eso-container{
  background:linear-gradient(180deg,var(--glass-lime),rgba(248,247,242,.9));
}
.eso-section--flat>.eso-container{
  background:transparent;border:0;box-shadow:none;padding-inline:var(--gutter);
}
.eso-section__head{margin-bottom:var(--sp-4)}
.eso-section p+p{margin-top:var(--sp-3)}
.eso-section h2+p,.eso-section h3+p{margin-top:var(--sp-2)}
.eso-section h3{margin-top:var(--sp-4)}

.eso-eyebrow{
  display:inline-block;
  font-family:var(--font-data);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--text-main);
  background:var(--accent-2);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-pill);
  padding:.15rem .7rem;
  margin-bottom:var(--sp-2);
}
.eso-lead{font-size:clamp(1rem,1.5vw,1.12rem);color:var(--text-main)}
.eso-muted{color:var(--text-muted)}
.eso-fine{font-size:.82rem;color:var(--text-muted);line-height:1.5}

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

/* ============ BUTTONS ============ */
.eso-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  font-family:var(--font-head);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.01em;
  font-size:.92rem;
  line-height:1;
  padding:.82rem 1.3rem;
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
  background:linear-gradient(135deg,var(--accent),var(--accent-deep));
  color:var(--text-main);
  text-decoration:none;
  cursor:pointer;
  box-shadow:var(--blk-sm);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.eso-btn:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--border)}
.eso-btn:active{transform:translate(3px,3px);box-shadow:none}
.eso-btn--ghost{
  background:var(--glass-lime);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  color:var(--text-main);
}
.eso-btn--ghost:hover{background:var(--glass-lime-strong)}
.eso-btn--lg{font-size:1.02rem;padding:1rem 1.7rem}
.eso-btn--block{width:100%}

/* ============ HEADER ============ */
.eso-header{
  position:sticky;
  top:0;
  z-index:900;
  background:var(--bg-card);
  border-bottom:var(--bw) solid var(--border);
}
.eso-header__bar{
  max-width:var(--wrap);
  margin-inline:auto;
  padding:.55rem var(--gutter);
  display:flex;
  align-items:center;
  gap:clamp(.5rem,2vw,1.4rem);
}
.eso-header__bar>*{min-width:0}
.eso-logo{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  flex-shrink:0;
}
.eso-logo__img{
  display:block;
  height:40px;
  width:auto;
  max-width:min(45vw,190px);
  object-fit:contain;
}
.eso-logo__text{
  font-family:var(--font-head);
  font-weight:800;
  font-size:1.28rem;
  text-transform:uppercase;
  letter-spacing:-.01em;
  color:var(--text-main);
}
.eso-logo__text em{font-style:normal;color:var(--text-main);background:var(--accent-2);padding:0 .18em;border-radius:4px}

.eso-nav{margin-inline-start:auto}
.eso-nav__list{
  display:flex;
  align-items:center;
  gap:clamp(.35rem,1.4vw,1.05rem);
  list-style:none;
}
.eso-nav a:not(.eso-btn){
  display:block;
  font-family:var(--font-body);
  font-weight:600;
  font-size:.92rem;
  color:var(--text-main);
  text-decoration:none;
  padding:.5rem .35rem;
  border-bottom:3px solid transparent;
}
.eso-nav a:not(.eso-btn):hover,
.eso-nav a:not(.eso-btn):focus-visible{border-bottom-color:var(--accent-2)}
.eso-nav a:not(.eso-btn)[aria-current="page"]:not(.eso-btn){border-bottom-color:var(--border)}
.eso-nav>.eso-btn{display:none}

.eso-header__cta{flex-shrink:0;padding:.62rem 1rem;font-size:.85rem}

.eso-burger{
  display:none;
  flex-shrink:0;
  width:44px;height:44px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  background:var(--accent-2);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-sm);
  cursor:pointer;
}
.eso-burger span{
  display:block;
  width:22px;
  height:2px;
  background:var(--text-main);
  border-radius:2px;
}

@media (max-width:900px){
  .eso-nav{
    display:none;
    position:absolute;
    left:0;right:0;
    top:100%;
    flex-direction:column;
    background:var(--bg-card);
    border-bottom:var(--bw) solid var(--border);
    padding:var(--sp-3) var(--gutter) var(--sp-4);
    box-shadow:0 8px 0 rgba(20,20,15,.08);
    max-height:calc(100vh - 64px);
    overflow-y:auto;
  }
  .eso-header{position:sticky}
  .eso-header__bar{position:relative}
  .eso-header.is-open .eso-nav{display:flex}
  .eso-nav__list{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .eso-nav a:not(.eso-btn){padding:.75rem .25rem;border-bottom:1px solid rgba(20,20,15,.14)}
  .eso-nav .eso-btn{width:100%;margin-top:var(--sp-3)}
  .eso-nav>.eso-btn{display:block;width:100%}
  .eso-header__cta{display:none}
  .eso-burger{display:flex}
  .eso-nav{margin-inline-start:0}
  .eso-logo__img{height:34px;max-width:min(45vw,160px)}
}
@media (max-width:900px){
  .eso-header__bar{justify-content:space-between}
}

/* grouped menu (unused when flat, kept for parity) */
.eso-nav__group{position:relative}
.eso-submenu{display:none;list-style:none}
.eso-nav__toggle{display:none;background:none;border:0;cursor:pointer;font:inherit;color:inherit}
@media (min-width:901px){
  .eso-nav__group:hover .eso-submenu,
  .eso-nav__group:focus-within .eso-submenu{
    display:block;
    position:absolute;
    top:100%;left:0;
    min-width:220px;
    background:var(--bg-card);
    border:var(--bw) solid var(--border);
    border-radius:var(--r-md);
    box-shadow:var(--blk);
    padding:.4rem;
    z-index:1000;
  }
}
@media (max-width:900px){
  .eso-nav__toggle{display:inline-flex;align-items:center;padding:.4rem}
  .eso-nav__group.is-open .eso-submenu{display:block;padding-inline-start:1rem}
}

/* ============ HERO — HOME (mirror-split: visual LEFT, text RIGHT) ============ */
.eso-hero{position:relative}
.eso-hero__inner{position:relative}

.eso-hero--home{padding-block:clamp(1.4rem,3vw,2.4rem)}
.eso-hero--home .eso-hero__inner{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1rem,2.6vw,1.8rem);
  align-items:center;
  background:var(--bg-card);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-lg);
  box-shadow:var(--blk);
  padding:clamp(1.1rem,2.8vw,2rem);
}
.eso-hero--home .eso-hero__inner>*{min-width:0}
@media (min-width:900px){
  .eso-hero--home .eso-hero__inner{grid-template-columns:.9fr 1.1fr}
  .eso-hero--home .eso-hero__media{order:1}
  .eso-hero--home .eso-hero__text{order:2}
}
.eso-hero--home .eso-hero__media{
  position:relative;
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
  overflow:hidden;
  background:linear-gradient(135deg,var(--accent-2) 0%,var(--accent) 55%,var(--accent-deep) 100%);
  aspect-ratio:3/2;
}
.eso-hero__img{
  display:block;
  width:100%;
  height:auto;
  max-height:70vh;
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:var(--r-md);
}
.eso-hero--home .eso-hero__img{border-radius:0;height:100%}
.eso-hero--home h1{margin-bottom:var(--sp-3)}
.eso-hero__sub{font-size:clamp(1rem,1.6vw,1.15rem);color:var(--text-muted);margin-bottom:var(--sp-4)}
.eso-hero__actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}
.eso-hero__note{margin-top:var(--sp-3);font-size:.8rem;color:var(--text-muted)}

/* hero glass fact chips */
.eso-hero__chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--sp-3);list-style:none}
.eso-chip{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-size:.82rem;
  font-weight:600;
  padding:.32rem .7rem;
  border:1px solid var(--border);
  border-radius:var(--r-pill);
  background:var(--glass-lime);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}

/* ============ HERO — INNER (compact page band) ============ */
.eso-hero--inner{
  position:relative;
  overflow:hidden;
  min-height:160px;
  display:flex;
  align-items:center;
  padding-block:clamp(1.1rem,2.6vw,1.7rem);
  background:linear-gradient(120deg,var(--accent-2) 0%,rgba(196,240,0,.35) 48%,var(--bg-card) 100%);
  border-block:var(--bw) solid var(--border);
  padding-inline:max(var(--gutter),calc((100% - var(--wrap))/2 + var(--gutter)));
}
.eso-hero--inner .eso-hero__inner{
  position:relative;
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
}
.eso-hero--inner h1{font-size:clamp(1.6rem,4vw,2.5rem);text-wrap:balance}
.eso-hero--inner .eso-hero__sub{margin-top:var(--sp-2);margin-bottom:0;color:var(--text-main);max-width:70ch}
.eso-hero--inner .eso-hero__img{
  position:absolute;inset:0;
  width:100%;height:100%;
  max-height:none;
  aspect-ratio:auto;
  object-fit:cover;
  border-radius:0;
  z-index:0;
}
.eso-hero--inner:has(.eso-hero__img) .eso-hero__inner::after{
  content:"";
  position:absolute;
  inset:-1rem -2rem;
  z-index:1;
  background:linear-gradient(90deg,rgba(10,12,8,.9) 0%,rgba(10,12,8,.74) 55%,rgba(10,12,8,.5) 100%);
}
:where(.eso-hero--inner .eso-hero__inner>:not(.eso-hero__img)){position:relative;z-index:2}
.eso-hero--inner:has(.eso-hero__img) h1,
.eso-hero--inner:has(.eso-hero__img) .eso-hero__sub,
.eso-hero--inner:has(.eso-hero__img) .eso-breadcrumb,
.eso-hero--inner:has(.eso-hero__img) .eso-breadcrumb a{color:#F6F7EF}

/* ============ PAGE HEADER (legal pages) ============ */
.eso-page-header{
  position:relative;
  overflow:hidden;
  padding-block:clamp(1.2rem,3vw,1.9rem);
  background:var(--bg-card);
  border-bottom:var(--bw) solid var(--border);
}
.eso-page-header h1{margin-top:var(--sp-2);text-wrap:balance}

.eso-breadcrumb{font-size:.8rem;color:var(--text-muted)}
.eso-breadcrumb ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none}
.eso-breadcrumb li+li::before{content:"/";margin-inline-end:.4rem;color:var(--text-muted)}
.eso-breadcrumb a{color:inherit;text-decoration:none}
.eso-breadcrumb a:hover{text-decoration:underline}

/* ============ TOC — sticky lime-glass pill grid ============ */
.eso-toc{
  position:sticky;
  top:74px;
  z-index:400;
  background:var(--glass-lime);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-lg);
  padding:var(--sp-3) var(--sp-4);
  box-shadow:var(--blk-sm);
}
.eso-toc__title{
  font-family:var(--font-data);
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:var(--sp-2);
}
.eso-toc__list{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  list-style:none;
}
.eso-toc__list a{
  display:inline-block;
  font-size:.83rem;
  font-weight:600;
  text-decoration:none;
  padding:.3rem .72rem;
  border:1px solid var(--border);
  border-radius:var(--r-pill);
  background:var(--glass-paper);
}
.eso-toc__list a:hover,
.eso-toc__list a:focus-visible{background:var(--accent-2)}
.eso-toc__list a.is-active,
.eso-toc__list a[aria-current="true"]{background:var(--text-main);color:var(--bg-card);border-color:var(--border)}

/* ============ OVERVIEW ============ */
.eso-overview p+p{margin-top:var(--sp-3)}
.eso-overview ul,.eso-overview ol{margin:var(--sp-3) 0 var(--sp-3) 1.15rem}
.eso-overview li+li{margin-top:.3rem}

/* ============ FEATURE CARDS — pattern: ICON-ROWS ============ */
.eso-features{display:flex;flex-direction:column;list-style:none}
.eso-feature{
  display:flex;
  align-items:flex-start;
  gap:clamp(.75rem,2vw,1.15rem);
  padding-block:var(--sp-4);
  border-bottom:1px solid rgba(20,20,15,.16);
}
.eso-features>.eso-feature:last-child{border-bottom:0;padding-bottom:0}
.eso-features>.eso-feature:first-child{padding-top:0}
.eso-feature>*{min-width:0}
.eso-feature__icon{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:clamp(44px,9vw,56px);
  height:clamp(44px,9vw,56px);
  background:var(--accent-2);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--blk-sm);
  color:var(--text-main);
}
.eso-feature__title{margin-bottom:.2rem}
.eso-feature__text{color:var(--text-muted);font-size:.95rem}

/* ============ CARDS GRID ============ */
.eso-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));
  gap:clamp(.7rem,1.8vw,1.1rem);
  list-style:none;
}
.eso-cards>*{min-width:0}
.eso-card{
  background:var(--bg-card);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--blk);
  padding:var(--sp-4);
  transition:transform .16s ease,box-shadow .16s ease;
}
.eso-card:hover{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--border)}
.eso-card__title{margin-bottom:.3rem}
.eso-card__text{color:var(--text-muted);font-size:.94rem}
.eso-card__link{display:inline-block;margin-top:var(--sp-2);font-weight:600;font-size:.9rem}

/* ============ TABLES ============ */
.eso-table-wrap{
  overflow-x:auto;
  max-width:100%;
  margin-block:1.5rem;
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--blk-sm);
  background:var(--bg-card);
}
.eso-table{
  width:100%;
  border-collapse:collapse;
  font-size:.92rem;
  min-width:520px;
}
.eso-table caption{
  caption-side:top;
  text-align:start;
  padding:.7rem .9rem;
  font-size:.82rem;
  color:var(--text-muted);
}
.eso-table th{
  white-space:nowrap;
  text-align:start;
  background:var(--accent-2);
  color:var(--text-main);
  font-family:var(--font-head);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.01em;
  font-size:.82rem;
  padding:.7rem .9rem;
  border-bottom:var(--bw) solid var(--border);
}
.eso-table td{
  padding:.7rem .9rem;
  border-bottom:1px solid rgba(20,20,15,.14);
  vertical-align:top;
}
.eso-table tbody tr:last-child td{border-bottom:0}
.eso-table tbody tr:nth-child(even){background:rgba(196,240,0,.07)}
.eso-table td:first-child{font-weight:600}
.eso-table .eso-num{font-family:var(--font-data);font-variant-numeric:tabular-nums}

/* ============ PAYMENTS TABLE ============ */
.eso-payments .eso-table td:first-child{white-space:nowrap}
.eso-pay{display:inline-flex;align-items:center;gap:.5rem;font-weight:600}
.eso-pay .eso-icon{color:var(--text-main)}

/* ============ TWO COLS + CONTENT PANEL ============ */
.eso-two{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(.9rem,2.2vw,1.5rem);
  align-items:start;
}
.eso-two>*{min-width:0}
@media (min-width:900px){
  .eso-two{grid-template-columns:1.35fr .95fr}
}
.eso-two__main p+p{margin-top:var(--sp-3)}

.eso-panel{
  background:var(--bg-card);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--blk);
  padding:var(--sp-4);
}
.eso-panel--glass{
  background:var(--glass-lime);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.eso-panel__title{
  font-family:var(--font-head);
  font-size:1rem;
  text-transform:uppercase;
  letter-spacing:-.01em;
  margin-bottom:var(--sp-3);
  padding-bottom:var(--sp-2);
  border-bottom:var(--bw) solid var(--border);
}
.eso-facts{margin:0}
.eso-facts__row{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:.5rem;
  padding-block:.5rem;
  border-bottom:1px solid rgba(20,20,15,.16);
}
.eso-facts__row:last-child{border-bottom:0;padding-bottom:0}
.eso-facts dt{font-size:.85rem;color:var(--text-muted)}
.eso-facts dd{font-weight:600;font-size:.9rem;text-align:end}

.eso-checklist{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.eso-checklist li{display:flex;align-items:flex-start;gap:.55rem;font-size:.92rem}
.eso-checklist .eso-icon{color:var(--text-main);margin-top:.05rem}

.eso-mini{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));
  gap:.55rem;
}
.eso-mini>*{min-width:0}
.eso-mini__tile{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  padding:.65rem .75rem;
}
.eso-mini__val{
  display:block;
  font-family:var(--font-head);
  font-weight:800;
  font-size:1.3rem;
  line-height:1.1;
}
.eso-mini__lbl{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}

.eso-score{
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:.7rem .8rem;
  background:var(--accent-2);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
}
.eso-score__val{font-family:var(--font-head);font-weight:800;font-size:1.9rem;line-height:1}
.eso-score__stars{display:inline-flex;gap:.1rem;color:var(--text-main)}
.eso-score__stars .eso-icon{width:1.05em;height:1.05em}
.eso-score__lbl{font-size:.78rem;font-weight:600}

/* rating strip (Tribuna / Casino.guru) */
.eso-ratings{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  list-style:none;
  margin-block:var(--sp-3);
}
.eso-ratings li{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-size:.84rem;
  font-weight:600;
  padding:.35rem .75rem;
  border:1px solid var(--border);
  border-radius:var(--r-pill);
  background:var(--glass-paper);
}
.eso-ratings .eso-num{font-family:var(--font-data)}

/* ============ NUMBERED LIST — editorial outline numerals ============ */
.eso-steps{list-style:none;counter-reset:eso-step}
.eso-steps>li{
  counter-increment:eso-step;
  position:relative;
  padding-inline-start:clamp(3.2rem,8vw,4.4rem);
  padding-block:var(--sp-3);
  min-height:2.6rem;
}
.eso-steps>li+li{border-top:1px solid rgba(20,20,15,.16)}
.eso-steps>li::before{
  content:counter(eso-step,decimal-leading-zero);
  position:absolute;
  inset-inline-start:0;
  top:var(--sp-3);
  font-family:var(--font-head);
  font-weight:800;
  font-size:clamp(2rem,5vw,2.8rem);
  line-height:.85;
  color:transparent;
  -webkit-text-stroke:2px var(--accent-2);
  letter-spacing:-.03em;
}
.eso-steps__title{display:block;font-weight:600;margin-bottom:.15rem}
.eso-steps p{color:var(--text-muted);font-size:.94rem}

/* ============ STATS BAR — pattern: TILES ============ */
.eso-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));
  gap:clamp(.6rem,1.6vw,.9rem);
  list-style:none;
}
.eso-stats>*{min-width:0}
.eso-stat{
  background:var(--bg-card);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--blk-sm);
  padding:var(--sp-3) var(--sp-4);
}
.eso-stat__val{
  display:block;
  font-family:var(--font-head);
  font-weight:800;
  font-size:clamp(1.5rem,3.4vw,2.1rem);
  line-height:1.05;
  font-variant-numeric:tabular-nums;
}
.eso-stat__lbl{
  display:block;
  margin-top:.2rem;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--text-muted);
}

/* ============ CATEGORIES BAR ============ */
.eso-cats{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none}
.eso-cats a,.eso-cats span{
  display:inline-block;
  font-size:.83rem;
  font-weight:600;
  text-decoration:none;
  padding:.35rem .8rem;
  border:1px solid var(--border);
  border-radius:var(--r-pill);
  background:var(--glass-lime);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.eso-cats a:hover{background:var(--accent-2)}

/* ============ METHODOLOGY / AUTHOR / REVIEWS ============ */
.eso-method__list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));
  gap:clamp(.7rem,1.8vw,1.05rem);
  list-style:none;
}
.eso-method__list>*{min-width:0}
.eso-method__item{
  border:1px solid var(--border);
  border-radius:var(--r-md);
  padding:var(--sp-3);
  background:var(--glass-paper);
}
.eso-method__item h3{font-size:.98rem;margin-bottom:.25rem}
.eso-method__item p{font-size:.9rem;color:var(--text-muted)}

.eso-author{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:var(--sp-4);
  background:var(--glass-lime);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
  padding:var(--sp-4);
}
.eso-author>*{min-width:0}
.eso-author__mark{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:54px;height:54px;
  background:var(--text-main);
  color:var(--accent-2);
  border-radius:var(--r-md);
  font-family:var(--font-head);
  font-weight:800;
  font-size:1.1rem;
}
.eso-author__name{margin-bottom:.15rem}
.eso-author__role{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--sp-2)}
.eso-author p{font-size:.92rem}

.eso-reviews{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  gap:clamp(.7rem,1.8vw,1.05rem);
  list-style:none;
}
.eso-reviews>*{min-width:0}
.eso-quote{
  background:var(--bg-card);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--blk-sm);
  padding:var(--sp-4);
  position:relative;
}
.eso-quote blockquote{font-size:.95rem;line-height:1.55}
.eso-quote::before{
  content:"“";
  font-family:var(--font-head);
  font-size:2.6rem;
  line-height:.6;
  color:var(--accent-2);
  display:block;
  margin-bottom:.2rem;
}
.eso-quote figcaption{
  margin-top:var(--sp-3);
  font-size:.8rem;
  color:var(--text-muted);
}
.eso-quote figcaption a{font-weight:600;color:var(--text-main)}

/* ============ RTP / SLOT GRID ============ */
.eso-rtp{
  display:grid;
  gap:clamp(.6rem,1.5vw,1rem);
  grid-template-columns:repeat(2,minmax(0,1fr));
  list-style:none;
}
@media (min-width:640px){.eso-rtp{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:960px){.eso-rtp{grid-template-columns:repeat(4,minmax(0,1fr))}}
.eso-rtp-item{
  position:relative;
  overflow:hidden;
  min-width:0;
  background:var(--bg-card);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--blk-sm);
}
.eso-rtp-item__thumb{
  aspect-ratio:3/2;
  position:relative;
  background:linear-gradient(135deg,var(--accent-2),var(--accent) 70%,var(--accent-deep));
  border-bottom:var(--bw) solid var(--border);
}
.eso-rtp-item__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.eso-rtp-item__name{
  display:block;
  padding:.45rem .6rem;
  font-size:.82rem;
  font-weight:600;
  line-height:1.25;
}
.eso-rtp-tooltip{
  position:absolute;
  bottom:0;left:0;right:0;
  opacity:0;
  transition:opacity .2s;
  background:rgba(20,20,15,.9);
  color:#F6F7EF;
  font-family:var(--font-data);
  font-size:.74rem;
  padding:.4rem .55rem;
}
.eso-rtp-item:hover .eso-rtp-tooltip,
.eso-rtp-item:focus-within .eso-rtp-tooltip{opacity:1}

/* ============ FAQ — pattern: BOXED ============ */
.eso-faq{display:flex;flex-direction:column;gap:.7rem}
.eso-faq details{
  background:var(--bg-card);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--blk-sm);
  padding:0 var(--sp-4);
}
.eso-faq details[open]{background:var(--glass-lime)}
.eso-faq summary{cursor:pointer;padding:1rem 0;font-weight:600;list-style:none}
.eso-faq summary::-webkit-details-marker{display:none}
.eso-faq summary::before{content:'+';margin-right:.5rem;transition:transform .2s;font-family:var(--font-head);font-weight:800;color:var(--text-main)}
.eso-faq details[open] summary::before{content:'−'}
.eso-faq details>:not(summary){padding:.5rem 0 1rem}
.eso-faq details>:not(summary){border-top:1px solid rgba(20,20,15,.16)}

/* generic fallback if faq wrapper class differs */
.eso-section details{border-radius:var(--r-md)}
.eso-section summary{cursor:pointer}

/* ============ LEGAL BODY ============ */
.eso-legal{counter-reset:eso-legal}
.eso-legal h2{
  counter-increment:eso-legal;
  margin-top:var(--sp-5);
  margin-bottom:var(--sp-2);
  font-size:clamp(1.15rem,2.4vw,1.5rem);
  padding-bottom:.35rem;
  border-bottom:var(--bw) solid var(--border);
}
.eso-legal h2::before{
  content:counter(eso-legal) ". ";
  color:var(--text-main);
  background:var(--accent-2);
  padding:0 .3em;
  margin-inline-end:.4em;
  border-radius:4px;
}
.eso-legal h2:first-child{margin-top:0}
.eso-legal h3{margin-top:var(--sp-4);font-size:1.02rem}
.eso-legal p+p{margin-top:var(--sp-3)}
.eso-legal ul,.eso-legal ol{margin:var(--sp-3) 0 var(--sp-3) 1.2rem}
.eso-legal li+li{margin-top:.3rem}
.eso-legal address{font-style:normal}

/* ============ CTA BLOCK ============ */
.eso-cta{padding-block:var(--sec-pad);margin-block:clamp(.9rem,2vw,1.4rem)}
.eso-cta>.eso-container{
  background:var(--text-main);
  color:#F6F7EF;
  border:var(--bw) solid var(--border);
  border-radius:var(--r-lg);
  box-shadow:var(--blk);
  padding:clamp(1.3rem,3.2vw,2.2rem);
  position:relative;
  overflow:hidden;
}
.eso-cta>.eso-container::before{
  content:"";
  position:absolute;
  inset:auto -10% -60% auto;
  width:min(460px,90%);
  height:320px;
  background:radial-gradient(circle,rgba(196,240,0,.42),transparent 68%);
  filter:blur(28px);
  pointer-events:none;
}
.eso-cta__inner{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:var(--sp-3);
  text-align:center;
  align-items:center;
}
.eso-cta__inner>*{min-width:0;max-width:100%}
.eso-cta h2{color:#F6F7EF}
.eso-cta p{color:rgba(246,247,239,.82)}
.eso-cta .eso-eyebrow{background:var(--accent-2);color:var(--text-main);border-color:var(--accent-2);margin-bottom:0}
.eso-cta__actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:center}
.eso-cta .eso-btn{box-shadow:0 0 0 2px rgba(196,240,0,.35),4px 4px 0 rgba(196,240,0,.55)}
.eso-cta .eso-btn:hover{box-shadow:0 0 0 2px rgba(196,240,0,.35),1px 1px 0 rgba(196,240,0,.55)}
.eso-cta__fine{font-size:.78rem;color:rgba(246,247,239,.68)}

/* ============ STICKY NAV (mobile) ============ */
.eso-sticky-nav{display:none}
@media (max-width:767px){
  .eso-sticky-nav{
    display:flex;
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:800;
    background:var(--bg-card);
    border-top:var(--bw) solid var(--border);
    padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom));
    gap:.4rem;
  }
  .eso-sticky-nav a{
    flex:1 1 0;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.15rem;
    font-size:.68rem;
    font-weight:600;
    text-decoration:none;
    padding:.3rem .2rem;
    border-radius:var(--r-sm);
  }
  .eso-sticky-nav a.is-active{background:var(--accent-2)}
  body{padding-bottom:64px}
}

/* ============ CHAT WIDGET ============ */
.eso-chat-btn{
  position:fixed;
  right:16px;bottom:16px;
  z-index:850;
  width:52px;height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--accent-2);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--blk-sm);
  cursor:pointer;
}
.eso-chat-panel{
  position:fixed;
  right:16px;bottom:80px;
  z-index:850;
  width:min(320px,calc(100vw - 32px));
  background:var(--bg-card);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--blk);
  padding:var(--sp-4);
  display:none;
}
.eso-chat-panel.is-open{display:block}
@media (max-width:767px){
  .eso-chat-btn{bottom:76px}
  .eso-chat-panel{bottom:140px}
}

/* ============ FOOTER ============ */
.eso-footer{
  background:var(--bg-card);
  border-top:var(--bw) solid var(--border);
  margin-top:clamp(1.4rem,3vw,2.2rem);
}
.eso-footer__top{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1rem,2.4vw,1.7rem);
  padding-block:clamp(1.4rem,3vw,2.2rem);
}
.eso-footer__top>*{min-width:0}
@media (min-width:760px){
  .eso-footer__top{grid-template-columns:1.4fr 1fr 1fr}
}
.eso-footer__brand p{font-size:.88rem;color:var(--text-muted);margin-top:var(--sp-3)}
.eso-footer__brand .eso-logo{margin-bottom:var(--sp-2)}
.eso-footer__col h3{
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:var(--sp-3);
  padding-bottom:.3rem;
  border-bottom:var(--bw) solid var(--border);
}
.eso-footer__col ul{list-style:none;display:flex;flex-direction:column;gap:.4rem}
.eso-footer__col a{font-size:.9rem;text-decoration:none;color:var(--text-main)}
.eso-footer__col a:hover{text-decoration:underline;text-decoration-color:var(--accent-2)}

.eso-footer__age{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-family:var(--font-head);
  font-weight:800;
  font-size:.82rem;
  padding:.25rem .6rem;
  background:var(--accent-2);
  border:var(--bw) solid var(--border);
  border-radius:var(--r-pill);
  margin-bottom:var(--sp-2);
}
.eso-footer__help{
  margin-top:var(--sp-3);
  font-size:.85rem;
  background:var(--glass-lime);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  padding:.6rem .75rem;
}
.eso-footer__help .eso-num{font-family:var(--font-data);font-weight:600}

.eso-footer__disclaimer{
  border-top:var(--bw) solid var(--border);
  padding-block:var(--sp-4);
  font-size:.8rem;
  line-height:1.55;
  color:var(--text-muted);
}
.eso-footer__bottom{
  border-top:1px solid rgba(20,20,15,.18);
  padding-block:var(--sp-3);
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-2) var(--sp-4);
  justify-content:space-between;
  align-items:center;
  font-size:.8rem;
  color:var(--text-muted);
}
.eso-footer__bottom>*{min-width:0}
.eso-footer__legal{display:flex;flex-wrap:wrap;gap:.4rem 1rem;list-style:none}
.eso-footer__legal a{text-decoration:none}
.eso-footer__legal a:hover{text-decoration:underline}
/* sa-responsive-net */
table th{white-space:nowrap}
figure,blockquote,dl,dd,fieldset{margin:0}
/* sa-logo-fit */
.eso-logo__img{object-fit:contain}
/* sa-ph-media */
.eso-page-header:has(.eso-hero__img){position:relative;overflow:hidden;isolation:isolate;min-height:clamp(200px,30vh,300px);display:flex;flex-direction:column;justify-content:center}
.eso-page-header:has(.eso-hero__img) .eso-hero__img{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;margin:0;z-index:0}
.eso-page-header:has(.eso-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(.eso-page-header:has(.eso-hero__img)>:not(.eso-hero__img)){position:relative}
.eso-page-header:has(.eso-hero__img)>:not(.eso-hero__img){z-index:2}
.eso-page-header:has(.eso-hero__img),.eso-page-header:has(.eso-hero__img) h1,.eso-page-header:has(.eso-hero__img) a,.eso-page-header:has(.eso-hero__img) p,.eso-page-header:has(.eso-hero__img) li,.eso-page-header:has(.eso-hero__img) span{color:#fff}
/* sa-hero-media */
.eso-hero:has(>.eso-hero__img){position:relative;isolation:isolate}
.eso-hero:has(>.eso-hero__img)>.eso-hero__img{z-index:0}
.eso-hero:has(>.eso-hero__img)::after{z-index:1}
:where(.eso-hero:has(>.eso-hero__img)>:not(.eso-hero__img)){position:relative}
.eso-hero:has(>.eso-hero__img)>:not(.eso-hero__img){z-index:2}
/* sa-rhythm */
:where(.eso-table-wrap){margin-block:1.5rem}
:where(main) :where(ul,ol,table,.eso-table-wrap)+p{margin-block-start:1rem}
/* sa-slot-link */
.eso-rtp-item,.eso-rtp-item:hover,.eso-rtp-item:focus{color:inherit;text-decoration:none;cursor:pointer}
/* sa-logo-chip */
.eso-footer .eso-logo__img{filter:none;background:transparent;padding:0}
.eso-footer .eso-footer__logo-chip{background:transparent;padding:0}
