:root{
  --bg-deep:#0B1E36;
  --bg-card:#162B4A;
  --bg-pale:#F5F7FA;
  --text:#E8F0FF;
  --text-dim:#A0B3CC;
  --gold:#C9A227;
  --red:#D32F2F;
  --cyan:#00D1B2;
  --font-display:"Roboto Condensed","Noto Sans SC","Arial Narrow",sans-serif;
  --font-body:"Source Serif Pro","Noto Serif SC",Georgia,serif;
  --container:72rem;
  --radius:1.5rem;
  --radius-sm:.75rem;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg-deep);
  color:var(--text);
  font-family:var(--font-body);
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  margin:0;
  font-family:var(--font-display);
  color:var(--text);
  line-height:1.1;
}
h1{
  font-size:clamp(2rem,6vw,4rem);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.01em;
}
h2{
  font-size:clamp(1.4rem,3vw,2rem);
  font-weight:900;
}
h3{
  font-size:1.25rem;
  font-weight:800;
}
p{margin:0 0 1rem}
a{color:var(--gold);text-decoration:none}
a:hover{color:#e7c956}
img,svg,video{max-width:100%;height:auto}
button{font:inherit;color:inherit}
:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:3px;
  border-radius:4px;
}
::selection{
  background:var(--gold);
  color:var(--bg-deep);
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,
  *::before,
  *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}

.container{
  width:min(100% - 2rem,var(--container));
  margin-inline:auto;
}
.section{
  padding:clamp(3rem,7vw,6rem) 0;
}
.section--pale{
  background:var(--bg-pale);
  color:var(--bg-deep);
}
.section--pale .section__title,
.section--pale .chapter__title,
.section--pale h1,
.section--pale h2{
  color:var(--bg-deep);
}
.section--pale .chapter__lead,
.section--pale .data-line{
  color:rgba(11,30,54,.7);
}
.section--pale .data-line{
  border-bottom-color:rgba(11,30,54,.12);
}
.section__title{
  margin:0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.6rem,4vw,2.5rem);
  color:var(--text);
  text-transform:uppercase;
}
.kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-family:var(--font-display);
  font-weight:800;
  font-size:.85rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
}
.kicker::before{
  content:"";
  width:2.2rem;
  height:2px;
  background:var(--red);
}

.chapter{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:1.25rem;
  align-items:end;
  margin-bottom:2rem;
}
.chapter__number{
  grid-row:1 / -1;
  align-self:start;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(3rem,6vw,5rem);
  line-height:.8;
  color:transparent;
  -webkit-text-fill-color:transparent;
  background:linear-gradient(135deg,#d9bc54,#a8841d);
  -webkit-background-clip:text;
  background-clip:text;
}
.chapter__title{
  margin:0;
  align-self:end;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.6rem,4vw,2.5rem);
  color:var(--text);
  text-transform:uppercase;
  line-height:1;
}
.chapter__lead{
  grid-column:2;
  margin:.35rem 0 0;
  color:var(--text-dim);
  max-width:34rem;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.75rem 1.35rem;
  border-radius:var(--radius-sm);
  font-family:var(--font-display);
  font-weight:800;
  font-size:1rem;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.04em;
  border:1px solid transparent;
  cursor:pointer;
  transition:
    transform .2s var(--ease),
    background .2s var(--ease),
    color .2s var(--ease),
    box-shadow .2s var(--ease);
}
.btn--gold{
  background:var(--gold);
  color:var(--bg-deep);
  box-shadow:0 10px 24px rgba(201,162,39,.22);
}
.btn--gold:hover{
  background:#e7c956;
  color:var(--bg-deep);
  transform:translateY(-3px);
  box-shadow:0 16px 30px rgba(201,162,39,.3);
}
.btn--ghost{
  background:transparent;
  color:var(--text);
  border-color:rgba(201,162,39,.5);
}
.btn--ghost:hover{
  background:rgba(201,162,39,.08);
  color:var(--gold);
  transform:translateY(-2px);
}

.tag{
  display:inline-block;
  padding:.25rem .75rem;
  border-radius:999px;
  background:rgba(0,209,178,.12);
  color:var(--cyan);
  font-family:var(--font-display);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.04em;
  border:1px solid rgba(0,209,178,.28);
}
.tag--gold{
  background:rgba(201,162,39,.16);
  color:var(--gold);
  border-color:rgba(201,162,39,.35);
}
.tag--red{
  background:rgba(211,47,47,.14);
  color:#ffb2b2;
  border-color:rgba(211,47,47,.4);
}
.chip-group{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.chip{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.45rem 1rem;
  background:transparent;
  border:1px solid rgba(201,162,39,.3);
  border-radius:999px;
  color:var(--text);
  font-family:var(--font-display);
  font-weight:700;
  font-size:.9rem;
  cursor:pointer;
  transition:
    background .2s,
    border-color .2s,
    color .2s,
    transform .2s;
}
.chip:hover,
.chip[aria-pressed="true"]{
  background:rgba(201,162,39,.15);
  border-color:var(--gold);
  color:var(--gold);
  transform:translateY(-2px);
}

.bento{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:1.25rem;
}
.bento__item{
  grid-column:span 6;
}
.bento__item--half{
  grid-column:span 6;
}
.bento__item--third{
  grid-column:span 4;
}
.bento__item--two-thirds{
  grid-column:span 8;
}
.bento__item--full{
  grid-column:span 12;
}
.bento__card{
  position:relative;
  height:100%;
  min-height:220px;
  padding:1.5rem;
  background:var(--bg-card);
  border:1px solid rgba(232,240,255,.08);
  border-radius:var(--radius);
  overflow:hidden;
  transition:
    transform .25s var(--ease),
    border-color .25s var(--ease),
    background .25s var(--ease);
}
.bento__card::after{
  content:"";
  position:absolute;
  right:-2rem;
  bottom:-2rem;
  width:8rem;
  height:8rem;
  background:radial-gradient(circle,rgba(201,162,39,.18),transparent 68%);
  pointer-events:none;
}
.bento__card:hover{
  transform:translateY(-4px);
  border-color:rgba(201,162,39,.4);
  background:#1c365c;
}
.bento__card--tall{
  min-height:340px;
}
.bento__card--gold{
  background:linear-gradient(135deg,#d5b144,#a8841d);
  color:var(--bg-deep);
  border-color:transparent;
}
.bento__card--gold .text-dim{
  color:rgba(11,30,54,.72);
}
.bento__card--red{
  background:linear-gradient(135deg,#b02323,#891b1b);
  color:var(--text);
}
.bento__card--pale{
  background:var(--bg-pale);
  color:var(--bg-deep);
  border-color:transparent;
}
.text-dim{
  color:var(--text-dim);
}
.bento__title{
  margin:0 0 .5rem;
  font-family:var(--font-display);
  font-weight:900;
  font-size:1.35rem;
  line-height:1.2;
}
.bento__text{
  margin:0;
  color:var(--text-dim);
}
.bento__meta{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1.25rem;
}
@media (max-width:880px){
  .bento__item,
  .bento__item--half,
  .bento__item--third,
  .bento__item--two-thirds,
  .bento__item--full{
    grid-column:span 12;
  }
}

.data-line{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.65rem 0;
  border-bottom:1px solid rgba(232,240,255,.1);
  font-family:var(--font-display);
}
.data-line:last-child{
  border-bottom:0;
}
.data-line__value{
  color:var(--cyan);
  font-weight:800;
}
.data-line--large .data-line__value{
  color:var(--gold);
  font-size:1.4rem;
}

.media{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#132a47,#0c2238);
  border-radius:var(--radius);
  --media-ratio:16/9;
  aspect-ratio:var(--media-ratio);
}
.media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg,rgba(11,30,54,.4),transparent 55%),
    linear-gradient(45deg,rgba(201,162,39,.12),transparent 70%);
  pointer-events:none;
}
.media--ratio-wide{
  --media-ratio:21/9;
}
.media--ratio-portrait{
  --media-ratio:4/5;
}
.media--ratio-square{
  --media-ratio:1;
}
.media__slot{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:var(--gold);
  font-family:var(--font-display);
  font-weight:900;
  font-size:1.25rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.media--pale{
  background:linear-gradient(135deg,#d8e2f0,#f5f7fa);
}
.media--pale .media__slot{
  color:var(--bg-deep);
}

.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  padding:1rem 0;
  color:var(--text-dim);
  font-family:var(--font-display);
  font-size:.9rem;
}
.breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  list-style:none;
  margin:0;
  padding:0;
}
.breadcrumb__item + .breadcrumb__item::before{
  content:"/";
  margin-right:.5rem;
  color:var(--gold);
}
.breadcrumb__item a{
  color:var(--text);
}
.breadcrumb__item a:hover{
  color:var(--gold);
}
.breadcrumb__item[aria-current="page"]{
  color:var(--gold);
  font-weight:700;
}

.toc{
  list-style:none;
  margin:0;
  padding:.75rem 1rem .75rem 1.25rem;
  border-left:3px solid var(--gold);
  background:linear-gradient(90deg,rgba(201,162,39,.06),transparent 70%);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}
.toc__item{
  margin:.45rem 0;
}
.toc__link{
  display:flex;
  gap:.65rem;
  align-items:baseline;
  color:var(--text-dim);
  font-family:var(--font-display);
  font-weight:700;
}
.toc__link::before{
  content:attr(data-index);
  color:var(--gold);
  font-weight:900;
  min-width:1.6rem;
  font-size:1.1rem;
}
.toc__link:hover{
  color:var(--gold);
}

.disclosure{
  border:1px solid rgba(232,240,255,.1);
  background:rgba(22,43,74,.66);
  border-radius:var(--radius);
  margin-bottom:1rem;
  overflow:hidden;
}
.disclosure__toggle{
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  gap:1rem;
  padding:1rem 1.25rem;
  background:transparent;
  border:0;
  color:var(--text);
  font-family:var(--font-display);
  font-weight:800;
  font-size:1.05rem;
  text-align:left;
  cursor:pointer;
  transition:
    background .2s,
    color .2s;
}
.disclosure__toggle:hover{
  background:rgba(201,162,39,.06);
  color:var(--gold);
}
.disclosure__icon{
  position:relative;
  width:1.25rem;
  height:1.25rem;
  flex:0 0 1.25rem;
}
.disclosure__icon::before,
.disclosure__icon::after{
  content:"";
  position:absolute;
  background:var(--gold);
  border-radius:2px;
  transition:transform .25s var(--ease);
}
.disclosure__icon::before{
  top:50%;
  left:0;
  width:100%;
  height:2px;
  transform:translateY(-50%);
}
.disclosure__icon::after{
  left:50%;
  top:0;
  width:2px;
  height:100%;
  transform:translateX(-50%);
}
.disclosure[data-open] .disclosure__icon::after{
  transform:translateX(-50%) scaleY(0);
}
.disclosure__panel{
  display:grid;
  grid-template-rows:0fr;
  visibility:hidden;
  transition:
    grid-template-rows .3s var(--ease),
    visibility .3s;
}
.disclosure[data-open] .disclosure__panel{
  grid-template-rows:1fr;
  visibility:visible;
}
.disclosure__inner{
  overflow:hidden;
  min-height:0;
  padding:0 1.25rem 1.1rem;
  color:var(--text-dim);
}
.disclosure__inner p:last-child{
  margin-bottom:0;
}

[data-reveal]{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .6s var(--ease),
    transform .6s var(--ease);
}
[data-reveal].is-revealed{
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{
    opacity:1;
    transform:none;
    transition:none;
  }
}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  padding:1rem clamp(1rem,3vw,2.5rem);
  background:rgba(11,30,54,.72);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(201,162,39,.16);
}
.site-header__inner{
  position:relative;
  max-width:var(--container);
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.skip-link{
  position:fixed;
  top:.75rem;
  left:50%;
  transform:translate(-50%,-200%);
  background:var(--gold);
  color:var(--bg-deep);
  padding:.6rem 1.2rem;
  border-radius:var(--radius-sm);
  font-family:var(--font-display);
  font-weight:800;
  z-index:2000;
  box-shadow:0 .5rem 1rem rgba(0,0,0,.4);
  transition:transform .2s var(--ease);
}
.skip-link:focus{
  transform:translate(-50%,0);
}
.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  height:3px;
  width:100%;
  z-index:1500;
  pointer-events:none;
}
.scroll-progress::after{
  content:"";
  display:block;
  width:var(--scroll,0%);
  height:100%;
  background:linear-gradient(90deg,var(--gold),var(--red));
  box-shadow:0 0 12px rgba(201,162,39,.35);
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  color:var(--text);
  font-family:var(--font-display);
  font-weight:800;
  letter-spacing:.01em;
  transition:color .2s;
}
.brand:hover{
  color:var(--text);
}
.brand__mark{
  display:grid;
  place-items:center;
  width:2.4rem;
  height:2.4rem;
  background:linear-gradient(135deg,#0B1E36,#162B4A 60%,#C9A227 160%);
  border:1px solid rgba(201,162,39,.55);
  border-radius:42% 58% 50% 50% / 48% 44% 56% 52%;
  color:var(--gold);
  font-weight:900;
  font-size:1.35rem;
  box-shadow:0 0 0 4px rgba(201,162,39,.08);
  transform:rotate(-8deg);
}
.brand__text{
  font-size:1.25rem;
  line-height:1;
  text-transform:uppercase;
}
.cap-nav{
  position:static;
}
.cap-nav__list{
  margin:0;
  padding:.35rem .45rem;
  display:flex;
  align-items:center;
  gap:.25rem;
  list-style:none;
  background:rgba(22,43,74,.85);
  border:1px solid rgba(201,162,39,.22);
  border-radius:999px;
  box-shadow:
    0 12px 30px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.04);
}
.cap-nav__item{
  margin:0;
}
.cap-nav__link{
  display:block;
  padding:.55rem 1rem;
  border-radius:999px;
  color:var(--text);
  font-family:var(--font-display);
  font-weight:700;
  font-size:.95rem;
  letter-spacing:.04em;
  transition:
    background .2s var(--ease),
    color .2s var(--ease),
    transform .2s var(--ease);
}
.cap-nav__link:hover{
  background:var(--gold);
  color:var(--bg-deep);
  transform:translateY(-2px);
}
.cap-nav__link[aria-current="page"]{
  background:var(--gold);
  color:var(--bg-deep);
  box-shadow:0 8px 20px rgba(201,162,39,.28);
}
.nav-toggle{
  display:none;
  background:transparent;
  border:0;
  cursor:pointer;
  color:var(--text);
  padding:.5rem;
}
.nav-toggle__bar{
  display:block;
  width:24px;
  height:2px;
  background:var(--gold);
  border-radius:2px;
}
.nav-toggle__label{
  font-family:var(--font-display);
  font-size:.7rem;
  font-weight:700;
  color:var(--text-dim);
  letter-spacing:.08em;
}

.site-footer{
  position:relative;
  margin-top:clamp(4rem,8vw,7rem);
  background:linear-gradient(180deg,#081828,#0B1E36 42%);
  border-top:1px solid rgba(201,162,39,.2);
  overflow:hidden;
}
.site-footer::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:35%;
  height:100%;
  background:linear-gradient(135deg,transparent,rgba(201,162,39,.08));
  clip-path:polygon(25% 0,100% 0,100% 80%,0 100%);
  pointer-events:none;
}
.site-footer__beam{
  position:absolute;
  left:-10%;
  top:-3rem;
  width:60%;
  height:8rem;
  background:linear-gradient(90deg,transparent,rgba(211,47,47,.16),transparent);
  transform:rotate(-8deg);
  pointer-events:none;
}
.site-footer__inner{
  position:relative;
  max-width:var(--container);
  margin-inline:auto;
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.6fr;
  gap:2rem;
  padding:clamp(2.5rem,6vw,4.5rem) 1.5rem 2.5rem;
}
.site-footer__block{
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
.site-footer__block--contact{
  background:rgba(211,47,47,.04);
  border:1px solid rgba(211,47,47,.14);
  padding:1rem 1.2rem;
  border-radius:var(--radius);
}
.site-footer__title{
  margin:0;
  font-family:var(--font-display);
  font-weight:800;
  font-size:.85rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
}
.site-footer__links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.55rem;
}
.site-footer__links a{
  color:var(--text-dim);
  transition:
    color .2s,
    padding-left .2s;
}
.site-footer__links a:hover{
  color:var(--gold);
  padding-left:.3rem;
}
.site-footer__statement{
  margin:0;
  color:var(--text-dim);
  font-size:.95rem;
  max-width:36rem;
}
.site-footer__safe{
  margin:0;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--cyan);
}
.site-footer__contact{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.65rem;
  color:var(--text-dim);
}
.site-footer__label{
  display:inline-block;
  min-width:3.2rem;
  font-family:var(--font-display);
  font-weight:800;
  color:var(--gold);
  font-size:.8rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.site-footer__note{
  margin:0;
  color:var(--text-dim);
  font-size:.85rem;
  border-left:2px solid var(--red);
  padding-left:.75rem;
}
.site-footer__bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.8rem;
  padding:1.1rem 1.5rem;
  border-top:1px solid rgba(232,240,255,.08);
  color:var(--text-dim);
  font-family:var(--font-display);
  font-size:.85rem;
}
.site-footer__bottom a{
  color:var(--text-dim);
}
.site-footer__bottom a:hover{
  color:var(--gold);
}
.site-footer__dot{
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--gold);
  opacity:.8;
}
.brand--footer .brand__mark{
  width:2.8rem;
  height:2.8rem;
  font-size:1.5rem;
  background:var(--bg-deep);
  transform:rotate(8deg);
}
.brand--footer .brand__text{
  font-size:1.4rem;
}

@media (max-width:960px){
  .site-footer__inner{
    grid-template-columns:1fr 1fr;
  }
  .site-header__inner{
    flex-wrap:wrap;
  }
  .nav-toggle{
    display:inline-flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:4px;
    padding:.6rem;
  }
  .nav-toggle__bar{
    transition:
      transform .25s var(--ease),
      opacity .25s var(--ease);
  }
  .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1){
    transform:translateY(4px) rotate(45deg);
  }
  .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2){
    opacity:0;
  }
  .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3){
    transform:translateY(-4px) rotate(-45deg);
  }
  .cap-nav{
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    right:0;
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px) scale(.98);
    pointer-events:none;
    transition:
      opacity .22s var(--ease),
      transform .22s var(--ease),
      visibility .22s;
    z-index:1050;
  }
  .cap-nav[data-open]{
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
  }
  .cap-nav__list{
    flex-direction:column;
    align-items:stretch;
    border-radius:var(--radius);
    padding:.75rem;
    background:rgba(22,43,74,.97);
    box-shadow:0 20px 50px rgba(0,0,0,.45);
  }
  .cap-nav__link{
    border-radius:var(--radius-sm);
    text-align:center;
    padding:.9rem 1rem;
    font-size:1.05rem;
  }
}
@media (max-width:640px){
  .site-footer__inner{
    grid-template-columns:1fr;
  }
  .site-footer__bottom{
    flex-direction:column;
    gap:.5rem;
  }
}
