/* =========================================================
   KOW 5.5.38 — TERRITORIES V2 + FULL-VIEWPORT WEBGL SMOKE
   Clean standalone rebuild. No dependency on legacy countries-* styles.
   ========================================================= */
.kow-territories-v2{
  --kow-territory-bg:#050505;
  --kow-territory-ink:#f0ece4;
  --kow-territory-muted:#77716c;
  --kow-territory-faint:#4b4542;
  --kow-territory-red:#b91729;
  position:relative;
  display:block;
  width:auto;
  height:400vh;
  margin:0 0 0 54px;
  padding:0;
  overflow:visible;
  contain:none;
  transform:none;
  filter:none;
  perspective:none;
  background:var(--kow-territory-bg);
  color:var(--kow-territory-ink);
  isolation:isolate;
}
.kow-territories-v2__sticky{
  position:-webkit-sticky;
  position:sticky;
  top:0;
  width:100%;
  height:100vh;
  min-height:0;
  max-height:none;
  margin:0;
  overflow:hidden;
  contain:none;
  transform:none;
  filter:none;
  perspective:none;
  background:
    radial-gradient(circle at 76% 54%,rgba(120,8,22,.10),transparent 26%),
    linear-gradient(180deg,#060606 0%,#030303 100%);
  isolation:isolate;
}
.kow-territories-v2__topo{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.26;
  background-image:
    radial-gradient(ellipse at 78% 58%,transparent 0 17%,rgba(126,11,25,.22) 17.1% 17.25%,transparent 17.35% 29%,rgba(126,11,25,.16) 29.1% 29.25%,transparent 29.35% 43%,rgba(126,11,25,.11) 43.1% 43.25%,transparent 43.35%),
    linear-gradient(rgba(115,10,22,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(115,10,22,.08) 1px,transparent 1px);
  background-size:auto,96px 96px,96px 96px;
}
.kow-territories-v2__head{
  position:absolute;
  z-index:5;
  top:clamp(64px,8vh,100px);
  left:clamp(28px,6vw,110px);
  right:clamp(28px,6vw,110px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-bottom:12px;
  border-bottom:1px dashed rgba(185,23,41,.32);
  font:600 10px/1.2 Manrope,Arial,sans-serif;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--kow-territory-muted);
}
.kow-territories-v2__head span{color:#ddd7cf;}
.kow-territories-v2__head em{font-style:normal;color:var(--kow-territory-faint);}
.kow-territories-v2__stories{
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
}
.kow-territories-v2__story{
  position:absolute;
  top:50%;
  left:clamp(28px,6vw,96px);
  width:min(34vw,31rem);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-50%);
  filter:none;
}
.kow-territories-v2__story:nth-child(2){left:auto;right:clamp(28px,6vw,96px);text-align:right;}
.kow-territories-v2__story.is-current{visibility:visible;}
.kow-territories-v2__meta{
  display:flex;
  align-items:baseline;
  gap:13px;
  margin-bottom:16px;
  color:var(--kow-territory-faint);
  font:600 10px/1.1 Manrope,Arial,sans-serif;
  letter-spacing:.27em;
  text-transform:uppercase;
}
.kow-territories-v2__story:nth-child(2) .kow-territories-v2__meta{justify-content:flex-end;}
.kow-territories-v2__meta b{
  color:var(--kow-territory-red);
  font:600 clamp(22px,2.7vw,31px)/1 "Bodoni Moda",Georgia,serif;
  letter-spacing:.04em;
}
.kow-territories-v2__story h2{
  margin:0;
  color:var(--kow-territory-ink);
  font:800 clamp(50px,5.5vw,90px)/.88 "Bodoni Moda",Georgia,serif;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.kow-territories-v2__story small{
  display:block;
  margin-top:18px;
  color:var(--kow-territory-red);
  font:600 11px/1.3 Manrope,Arial,sans-serif;
  letter-spacing:.30em;
  text-transform:uppercase;
}
.kow-territories-v2__story p{
  max-width:29ch;
  margin:16px 0 0;
  color:var(--kow-territory-muted);
  font:400 15px/1.58 Manrope,Arial,sans-serif;
}
.kow-territories-v2__story:nth-child(2) p{margin-left:auto;}
.kow-territories-v2__visual{
  position:absolute;
  z-index:3;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  contain:none;
  transform:none;
}
.kow-territories-v2__lion{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:50% 100%;
  opacity:0;
  visibility:hidden;
  transform:none;
  filter:none;
  clip-path:none;
  -webkit-clip-path:none;
}
.kow-territories-v2__lion.is-current{visibility:visible;}
.kow-territories-v2__seam{display:none!important;}
.kow-territories-v2__progress{
  position:absolute;
  z-index:7;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:rgba(255,255,255,.04);
}
.kow-territories-v2__progress i{
  display:block;
  width:calc(var(--kow-territory-progress,0) * 100%);
  height:100%;
  background:var(--kow-territory-red);
}

@media (max-width:860px){
  /* The root is a DIV on purpose: legacy `body.home section{overflow-x:hidden}`
     rules cannot turn this chapter into a sticky scroll-container. */
  .kow-territories-v2{
    width:100%;
    height:360vh;
    margin:0;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    contain:none!important;
    transform:none!important;
    filter:none!important;
    perspective:none!important;
    isolation:isolate;
  }
  .kow-territories-v2__sticky{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    height:100vh!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    contain:none!important;
    transform:none!important;
    filter:none!important;
    perspective:none!important;
    will-change:auto!important;
    isolation:isolate!important;
  }
  .kow-territories-v2__head{
    top:18px;
    left:16px;
    right:16px;
    gap:12px;
    padding-bottom:9px;
    font-size:7px;
    letter-spacing:.18em;
  }
  .kow-territories-v2__head em{text-align:right;}
  .kow-territories-v2__stories{transform:none!important;contain:none!important;}
  .kow-territories-v2__story,
  .kow-territories-v2__story:nth-child(2){
    top:78px;
    left:16px;
    right:16px;
    width:auto;
    max-width:none;
    text-align:left;
    transform:none!important;
    filter:none!important;
    will-change:auto!important;
  }
  .kow-territories-v2__story:nth-child(2) .kow-territories-v2__meta{justify-content:flex-start;}
  .kow-territories-v2__meta{gap:9px;margin-bottom:7px;font-size:8px;letter-spacing:.18em;}
  .kow-territories-v2__meta b{font-size:19px;}
  .kow-territories-v2__story h2{font-size:clamp(38px,11.5vw,52px);line-height:.86;letter-spacing:-.045em;}
  .kow-territories-v2__story small{margin-top:7px;font-size:8px;letter-spacing:.22em;}
  .kow-territories-v2__story p{max-width:31ch;margin-top:9px;font-size:12px;line-height:1.48;}
  .kow-territories-v2__story:nth-child(2) p{margin-left:0;}
  .kow-territories-v2__visual{
    top:300px;
    right:0;
    bottom:0;
    left:0;
    overflow:hidden;
    transform:none!important;
    contain:none!important;
  }
  .kow-territories-v2__lion{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:50% 100%;
    transform:none!important;
    filter:none!important;
    will-change:auto!important;
  }
  .kow-territories-v2__topo{opacity:.20;background-size:auto,72px 72px,72px 72px;}
  .kow-territories-v2__seam{left:50%;top:42%;bottom:14%;opacity:.25;}
  .kow-territories-v2__progress{display:none;}
}

@media (prefers-reduced-motion:reduce){
  .kow-territories-v2__lion,
  .kow-territories-v2__story{transition:none!important;}
}

@media (max-width:860px){
  /* Keep the new chapter's ancestor chain equivalent to the Mina capture:
     horizontal clip is allowed; vertical overflow, transforms and containment are not. */
  body.home #kow-page-shell,
  body.home main.kow-mina-home{
    overflow-x:clip!important;
    overflow-y:visible!important;
    transform:none!important;
    filter:none!important;
    perspective:none!important;
    contain:none!important;
  }
}


/* =========================================================
   KOW 5.5.38 — COUNTRIES-STYLE PORTRAIT + FULL-VIEWPORT WEBGL SMOKE
   Visual-only WebGL layer. It never participates in sticky geometry.
   ========================================================= */
.kow-territories-v2__fx{
  position:absolute;
  inset:0;
  z-index:3;
  display:block;
  width:100%;
  height:100%;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  background:transparent;
  transform:none!important;
  filter:none!important;
  contain:none!important;
}
.kow-territories-v2.is-webgl .kow-territories-v2__fx{
  opacity:1;
  visibility:visible;
}
.kow-territories-v2.is-webgl .kow-territories-v2__lion{
  opacity:0!important;
  visibility:hidden!important;
}
/* Keep all transition pixels inside the portrait stage; copy and sticky
   geometry remain independent, which protects the rebuilt zero-jitter pin. */
.kow-territories-v2__visual{
  isolation:isolate;
}
@media (max-width:860px){
  .kow-territories-v2__fx{
    transform:none!important;
    will-change:auto!important;
  }
}


/* 5.5.38: full-height smoke is a lightweight WebGL overlay, not CSS blur. */
.kow-territories-v2__seam{display:none!important;}
.kow-territories-v2__sweep-fx{
  position:absolute;
  inset:0;
  z-index:6;
  display:block;
  width:100%;
  height:100%;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  background:transparent;
  transform:none!important;
  filter:none!important;
  contain:none!important;
}
.kow-territories-v2.is-sweep-webgl .kow-territories-v2__sweep-fx{
  opacity:1;
  visibility:visible;
}
@media(max-width:860px){
  .kow-territories-v2__sweep-fx{
    transform:none!important;
    filter:none!important;
    will-change:auto!important;
  }
}


/* KOW 5.5.52 — left realm rail removed; Territories now uses the full viewport width. */
body.home .kow-territories-v2{margin-left:0!important;}
