/* GENERATED by tools/build-site.py from materials/apec-artifact.html — do not hand-edit.
 * The artifact's stylesheet, verbatim. Only the embedded image data URIs are
 * replaced by the same images under /media/apec/ (tools/media-map.json).
 */
:root{
  color-scheme: dark;
  --ink:#07090C;
  --panel:#0E1318;
  --raise:#151C23;
  --chalk:#F2F6FA;
  --haze:#8B98A7;
  --dim:#5D6875;
  --apec:#4DA4D8;
  --apec-deep:#2A6E97;
  --raise2:#1C242D;
  --s1:#2E7099; --s2:#4093C6; --s3:#63B6E6; --s4:#9BD8F7;
  --warn:#E0A33B;
  --line:rgba(255,255,255,.085);
  --line-strong:rgba(255,255,255,.16);

  --display:"Archivo Black","Arial Black",Impact,sans-serif;
  --cond:"Barlow Condensed","Oswald","Arial Narrow",sans-serif;
  --body:"Barlow","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--ink);color:var(--chalk);
  font-family:var(--body);font-size:16.5px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--apec);text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--apec);outline-offset:3px;
}

.wrap{max-width:1160px;margin-inline:auto;padding-inline:20px}
.band{padding-block:clamp(52px,7vw,96px)}
.band.panel{background:var(--panel)}
.band.edge{border-top:1px solid var(--line)}

/* ---------- header ---------- */
.hdr{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:60;
  background:rgba(7,9,12,.93);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.hdr-in{display:flex;align-items:center;gap:22px;min-height:62px}
.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.brand img{width:76px;height:auto}
.brand b{
  font-family:var(--cond);font-weight:700;font-size:13px;letter-spacing:.22em;
  color:var(--haze);text-transform:uppercase;padding-left:11px;border-left:1px solid var(--line-strong);
}
.nav{margin-left:auto;display:flex;gap:2px;flex-wrap:nowrap}
.nav a{
  font-family:var(--cond);font-weight:600;font-size:12.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--haze);padding:8px 8px;white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .15s,border-color .15s;
}
.nav a:hover{color:var(--chalk)}
.nav a[aria-current="page"]{color:var(--chalk);border-bottom-color:var(--apec)}
.burger{
  margin-left:auto;display:none;background:none;border:1px solid var(--line-strong);
  color:var(--chalk);font-family:var(--cond);font-weight:700;font-size:13px;letter-spacing:.16em;
  text-transform:uppercase;padding:9px 14px;cursor:pointer;
}
.drawer{display:none;border-top:1px solid var(--line);background:var(--panel)}
.drawer.open{display:block}
.drawer nav{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.drawer nav a{
  background:var(--panel);padding:15px 18px;font-family:var(--cond);font-weight:600;
  font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--haze);
}
.drawer nav a[aria-current="page"]{color:var(--apec)}
@media(max-width:1400px){.nav{display:none}.burger{display:block}}
@media(max-width:620px){.drawer nav{grid-template-columns:1fr}}

/* ---------- type ---------- */
.eyebrow{
  font-family:var(--cond);font-weight:700;font-size:clamp(17px,1.9vw,25px);letter-spacing:.15em;
  text-transform:uppercase;color:var(--apec);margin:0 0 16px;
  display:flex;align-items:center;gap:14px;
}
.eyebrow::before{content:"";width:38px;height:3px;background:var(--apec);flex:0 0 auto}
h1,h2,h3{font-family:var(--display);font-weight:400;text-wrap:balance;margin:0;line-height:1.02}
h1{font-size:clamp(34px,5.6vw,62px);letter-spacing:-.015em}
h2{font-size:clamp(26px,3.6vw,42px);letter-spacing:-.01em}
h3{font-size:clamp(17px,1.7vw,21px);line-height:1.2}
p{margin:0 0 15px}
.lede{font-size:clamp(17px,1.9vw,20px);color:var(--haze);max-width:62ch;line-height:1.55}
.prose{max-width:66ch}
.prose p{color:var(--haze)}
.prose strong{color:var(--chalk);font-weight:600}
.small{font-size:14px;color:var(--dim)}

/* ---------- page head ---------- */
/* ---------- social icons (home hero, under the buttons) ---------- */
.hero-social{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:30px}
.hero-social .lbl{font-family:var(--cond);font-weight:600;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--chalk);opacity:.8;text-shadow:0 2px 10px rgba(0,0,0,.85)}
.hero-social ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:center}
.soc{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--chalk);background:rgba(7,9,12,.45);border:1px solid var(--line-strong);transition:color .15s,border-color .15s;cursor:pointer;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}
.soc svg{width:19px;height:19px;display:block}
.soc:hover,.soc:focus-visible{color:var(--apec);border-color:var(--apec)}

.phead{
  padding-block:clamp(44px,6vw,76px) clamp(30px,4vw,46px);
  border-bottom:1px solid var(--line);
  background:radial-gradient(70% 150% at 8% 0%, rgba(77,164,216,.14), transparent 62%), var(--ink);
}
.phead h1{margin-bottom:16px}

/* ---------- hero (full-bleed photo, Dukes-style) ---------- */
.hero{
  position:relative;min-height:min(90vh,820px);display:flex;align-items:center;
  background:#000 url("/media/apec/hero-home-bg.jpg") 50% 36%/cover no-repeat;
  border-bottom:1px solid var(--line);overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(7,9,12,.62) 0%, rgba(7,9,12,.26) 36%, rgba(7,9,12,.60) 74%, var(--ink) 100%),
    radial-gradient(66% 60% at 50% 46%, rgba(7,9,12,.06), rgba(7,9,12,.58) 94%);
}
.hero-in{position:relative;z-index:2;width:100%;text-align:center;padding-block:clamp(90px,14vw,130px)}
.hero .eyebrow{justify-content:center;color:var(--chalk);letter-spacing:.17em;text-shadow:0 2px 14px rgba(0,0,0,.8)}
.hero .eyebrow::before{background:var(--apec)}
.hero-mark{width:min(400px,72vw);margin:0 auto 4px;filter:drop-shadow(0 6px 26px rgba(0,0,0,.75))}
.hero-word{
  font-family:var(--display);font-size:clamp(24px,4.4vw,48px);letter-spacing:.3em;text-indent:.3em;
  color:var(--chalk);line-height:1;margin:0;text-shadow:0 3px 20px rgba(0,0,0,.8);
}
.hero-rule{width:54px;height:3px;background:var(--apec);margin:26px auto}
.hero-tag{
  font-family:var(--cond);font-weight:500;font-size:clamp(16px,2vw,21px);letter-spacing:.06em;
  color:var(--chalk);max-width:34ch;margin:0 auto;text-shadow:0 2px 16px rgba(0,0,0,.85);
}
.scroll-cue{
  position:absolute;left:0;right:0;bottom:26px;z-index:2;text-align:center;
  font-family:var(--cond);font-weight:600;font-size:11.5px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--haze);
}
.scroll-cue span{display:block;margin-top:7px;font-size:15px;animation:bob 2.1s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* ---------- buttons ---------- */
.btn{
  font-family:var(--cond);font-weight:700;font-size:14px;letter-spacing:.18em;text-transform:uppercase;
  padding:14px 26px;border:1px solid var(--apec);background:var(--apec);color:#06212F;
  cursor:pointer;transition:background .15s,border-color .15s,color .15s;display:inline-block;
}
.btn:hover{background:#6FB9E4;border-color:#6FB9E4}
.btn.ghost{background:transparent;color:var(--chalk);border-color:var(--line-strong)}
.btn.ghost:hover{background:transparent;border-color:var(--apec);color:var(--apec)}
.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}

/* ---------- scoreboard ---------- */
.score{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.score div{background:var(--ink);padding:24px 18px;text-align:center}
.score dt{
  font-family:var(--display);font-size:clamp(24px,3.4vw,36px);color:var(--chalk);
  font-variant-numeric:tabular-nums;line-height:1;margin-bottom:9px;
}
.score dd{
  margin:0;font-family:var(--cond);font-weight:600;font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--dim);
}
.score dd span{display:block;margin-top:5px;color:var(--apec)}
.score .sc-stack{padding-block:16px 14px}
.score .sc-stack > dd:first-of-type span{margin-top:0}
.score dt.sc-sub{font-size:clamp(15px,1.6vw,18px);margin:12px auto 5px;padding-top:10px;border-top:1px solid var(--line);width:min(220px,80%)}
.score dd.sc-sub{font-size:10.5px;letter-spacing:.18em}
.score dd.sc-sub span{display:inline;margin:0}
@media(max-width:640px){.score{grid-template-columns:1fr}}

/* ---------- split (photo + copy) ---------- */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,4vw,56px);align-items:center}
.split.flip .split-media{order:2}
.split-media{position:relative}
.split-media img{width:100%;height:100%;object-fit:cover;border:1px solid var(--line)}
.split-media::after{
  content:"";position:absolute;left:-1px;top:-1px;width:64px;height:4px;background:var(--apec);
}
@media(max-width:820px){
  .split{grid-template-columns:1fr}
  .split.flip .split-media{order:0}
}

/* ---------- photo strip ---------- */
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--line)}
.strip figure{margin:0;position:relative;overflow:hidden;background:var(--ink)}
.strip img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .5s ease}
.strip figure:hover img{transform:scale(1.035)}
.strip .cname{display:block;font-family:var(--display);font-size:clamp(14px,1.5vw,17px);letter-spacing:.01em;text-transform:none;color:var(--chalk);line-height:1.15;margin-bottom:5px}
.strip figcaption:has(.cname){color:var(--apec)}
.strip figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:34px 18px 15px;
  background:linear-gradient(0deg, rgba(7,9,12,.92), transparent);
  font-family:var(--cond);font-weight:600;font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--chalk);
}

/* ---------- pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1px;background:var(--line);margin-top:38px}
.pillar{background:var(--panel);padding:30px 26px 34px;border-top:3px solid var(--apec)}
.pillar h3{margin-bottom:11px}
.pillar p{color:var(--haze);font-size:15px;margin:0}

/* ---------- age ladder ---------- */
.ladder{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);margin-top:34px}
.rung{flex:1 1 160px;min-width:0}
.rung{background:var(--panel);transition:background .15s}
.rung>summary{padding:26px 20px;cursor:pointer;list-style:none;position:relative;outline-offset:-2px}
.rung>summary::-webkit-details-marker{display:none}
.rung>summary:hover{background:var(--raise)}
.rung>summary:focus-visible{outline:2px solid var(--apec)}
.rchev{position:absolute;right:20px;top:32px;width:9px;height:9px;border-right:2px solid var(--dim);border-bottom:2px solid var(--dim);transform:rotate(45deg);transition:transform .18s,border-color .18s}
.rung>summary:hover .rchev{border-color:var(--apec)}
.rung[open]{flex:1 1 100%;background:var(--raise)}
.rung[open]>summary{background:var(--raise);border-bottom:1px solid var(--line)}
.rung[open] .rchev{transform:rotate(-135deg);border-color:var(--apec)}
.rung-body{padding:22px 20px 26px}
.rung-note{font-size:14.5px;color:var(--haze);margin:0 0 16px;text-wrap:pretty}
.rung-empty{font-size:15px;color:var(--haze);margin:0}
.rung-empty b{color:var(--chalk);font-weight:600}
.rtable{width:100%;border-collapse:collapse;margin-top:4px}
.rtable th{font-family:var(--cond);font-weight:700;font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--dim);text-align:left;padding:0 14px 10px 0;border-bottom:1px solid var(--line)}
.rtable td{padding:11px 14px 11px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--haze)}
.rtable tr:last-child td{border-bottom:0}
.rtable td.rn{color:var(--chalk)}
.rtable .rno{font-family:var(--display);font-size:12px;color:var(--apec);margin-right:9px}
.rung .age{font-family:var(--display);font-size:clamp(28px,3.6vw,38px);color:var(--chalk);font-variant-numeric:tabular-nums;line-height:1;margin:0}
.rung .age em{font-style:normal;color:var(--apec)}
.rung p.lbl{font-family:var(--cond);font-weight:600;font-size:12.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--dim);margin:11px 0 0}
.rung.scout{background:var(--raise);outline:1px solid var(--apec-deep)}
.rung.scout .age{font-size:clamp(20px,2.4vw,26px)}

/* ---------- cards / lists ---------- */
.grid{display:grid;gap:1px;background:var(--line);margin-top:34px}
.g2{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(255px,1fr))}
.cell{background:var(--panel);padding:30px 26px}
.cell h3{margin-bottom:12px}
.cell p{color:var(--haze);font-size:15px}
.cell p:last-child{margin-bottom:0}
.cell.photo{padding:0;background:var(--ink)}
.cell.photo img{width:100%;aspect-ratio:3/4;object-fit:cover}

.ticks{list-style:none;margin:0;padding:0}
.ticks li{position:relative;padding:11px 0 11px 26px;border-bottom:1px solid var(--line);color:var(--haze);font-size:15.5px}
.ticks li:last-child{border-bottom:0}
.ticks li::before{content:"";position:absolute;left:0;top:19px;width:9px;height:9px;border:2px solid var(--apec);border-radius:50%}
.ticks li b{color:var(--chalk);font-weight:600}

.steps{counter-reset:s;list-style:none;margin:34px 0 0;padding:0;display:grid;gap:1px;background:var(--line)}
.steps li{counter-increment:s;background:var(--panel);padding:26px 26px 26px 78px;position:relative}
.steps li::before{
  content:counter(s,decimal-leading-zero);position:absolute;left:26px;top:25px;
  font-family:var(--display);font-size:20px;color:var(--apec);font-variant-numeric:tabular-nums;
}
.steps h3{margin-bottom:8px}
.steps p{color:var(--haze);font-size:15px;margin:0}

.flag{
  display:inline-block;font-family:var(--cond);font-weight:700;font-size:10.5px;
  letter-spacing:.18em;text-transform:uppercase;color:#0B1B24;background:var(--apec);
  padding:3px 9px;margin-bottom:12px;
}
.callout{background:var(--raise);border-left:3px solid var(--apec);padding:26px 28px;margin-top:32px}
.callout p{color:var(--haze)}
.callout p:last-child{margin-bottom:0}

.tablewrap{overflow-x:auto;margin-top:32px;border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;min-width:520px}
th,td{padding:15px 20px;text-align:left;border-bottom:1px solid var(--line);font-size:15px}
th{font-family:var(--cond);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);background:var(--raise)}
td{color:var(--haze)}
td b{color:var(--chalk);font-weight:600}
tr:last-child td{border-bottom:0}

/* ---------- form ---------- */
.form{display:grid;gap:18px;max-width:640px;margin-top:34px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:560px){.row2{grid-template-columns:1fr}}
label{display:block;font-family:var(--cond);font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:7px}
input,select,textarea{
  width:100%;background:var(--ink);border:1px solid var(--line-strong);color:var(--chalk);
  font-family:var(--body);font-size:16px;padding:13px 14px;
}
textarea{min-height:120px;resize:vertical}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--haze) 50%),linear-gradient(135deg,var(--haze) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.compose{margin-top:28px;border:1px solid var(--apec-deep);background:var(--raise);padding:26px}
.compose pre{white-space:pre-wrap;word-break:break-word;font-family:var(--body);font-size:14.5px;color:var(--haze);background:var(--ink);border:1px solid var(--line);padding:18px;margin:16px 0}

/* ---------- footer ---------- */
.ftr{border-top:1px solid var(--line);background:var(--panel);padding-block:48px 34px}
.ftr-top{display:flex;gap:34px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}
.ftr img{width:118px;margin-bottom:16px}
.ftr p{color:var(--haze);font-size:15px;max-width:38ch}
.ftr-links{display:flex;gap:44px;flex-wrap:wrap}
.ftr-links h4{font-family:var(--cond);font-weight:700;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin:0 0 12px}
.ftr-links ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ftr-links a{color:var(--haze);font-size:14.5px}
.ftr-links a:hover{color:var(--apec)}
.ftr-btm{
  margin-top:40px;padding-top:22px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-family:var(--cond);font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);
}

/* ================= differentiation / orgs / camp ================= */
h2.big{font-size:clamp(28px,4.4vw,52px);line-height:1.0;max-width:20ch}
.protocol{
  margin-top:clamp(28px,3.2vw,40px);max-width:960px;
  font-size:clamp(17px,1.75vw,21px);line-height:1.62;color:var(--haze);
  text-wrap:pretty;
}
.protocol strong{color:var(--chalk);font-weight:600}
.statement{
  margin-top:clamp(26px,3.2vw,40px);padding-left:clamp(18px,2.4vw,30px);
  border-left:4px solid var(--apec);max-width:860px;
}
.statement p{
  font-size:clamp(18px,2vw,24px);line-height:1.45;color:var(--chalk);
  margin:0 0 .7em;text-wrap:pretty;
}
.statement p:last-child{margin-bottom:0}
.statement p:not(:first-child){color:var(--haze)}
.statement strong{color:var(--apec);font-weight:600}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:26px 44px;margin-top:26px}
.two-col .lede{max-width:52ch}

.tracks{counter-reset:none;list-style:none;margin:36px 0 0;padding:0;display:grid;gap:1px;background:var(--line);grid-template-columns:1fr}
@media(min-width:880px){.tracks{grid-template-columns:repeat(3,1fr)}}
.tracks li{background:var(--ink);padding:30px 26px 32px;border-top:3px solid var(--apec)}
.tracks .tnum{font-family:var(--display);font-size:13px;letter-spacing:.14em;color:var(--apec);display:block;margin-bottom:14px}
.tracks h3{margin-bottom:12px;font-size:clamp(18px,2vw,22px)}
.tracks p{color:var(--haze);font-size:15.5px}
.tracks .tk{color:var(--chalk);font-weight:600;font-size:15px;margin:0;padding-top:12px;border-top:1px solid var(--line)}

.pros{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:1px;background:var(--line);margin-top:18px}
.pro{background:var(--panel);padding:20px 20px 22px;border-left:3px solid var(--apec-deep)}
.pro .pn{display:block;font-family:var(--display);font-size:16px;line-height:1.15;overflow-wrap:anywhere}
.pro .ps{display:block;font-family:var(--cond);font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--apec);margin-top:8px}

.orgs{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);margin-top:34px}
@media(min-width:860px){.orgs{grid-template-columns:repeat(2,1fr)}}
.org{background:var(--ink);padding:28px 26px 30px}
.oh{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line)}
.oh .ot{font-family:var(--display);font-size:clamp(17px,2vw,21px)}
.oh .oc{font-family:var(--cond);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--apec)}
.od{color:var(--haze);font-size:15.5px;margin:16px 0 20px}
.rungs{display:flex;gap:8px;flex-wrap:wrap}
.rg{font-family:var(--display);font-size:14px;padding:9px 13px;background:var(--raise);border:1px solid var(--line-strong);color:var(--chalk)}
.rg.scout{font-family:var(--cond);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:12px;padding:11px 13px;border-color:var(--apec-deep);color:var(--apec)}

.namewall{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.nw{
  font-family:var(--cond);font-weight:600;font-size:14px;letter-spacing:.06em;
  padding:9px 14px;background:var(--panel);border:1px solid var(--line-strong);color:var(--chalk);
}
.nw:first-child{border-color:var(--apec);color:var(--apec)}

/* athletic score scale */
.ascale{margin-top:36px;border:1px solid var(--line);background:var(--line)}
.asrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}
@media(min-width:620px){.asrow{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){.asrow{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1180px){.asrow{grid-template-columns:repeat(6,minmax(0,1fr))}.asu:last-child{grid-column:span 2}}
.asu{background:var(--panel);padding:16px 14px 18px;display:flex;flex-direction:column;min-width:0}
.astag{display:block;font-family:var(--cond);font-weight:700;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--apec);margin-bottom:7px}
.asn{display:block;font-family:var(--cond);font-weight:700;font-size:clamp(14px,1.5vw,16px);line-height:1.15;letter-spacing:.02em;text-transform:uppercase;color:var(--chalk);margin-bottom:11px;overflow-wrap:anywhere}
.asn .raw{text-transform:none}
.aspips{display:flex;gap:3px;margin-bottom:9px}
.asp{display:block;flex:1 1 0;max-width:15px;height:6px;background:var(--raise2)}
.asp.on{background:var(--apec)}
.asd{display:block;font-size:12.5px;line-height:1.4;color:var(--haze);margin-top:auto;text-wrap:pretty}
.assum{display:flex;align-items:baseline;justify-content:center;gap:12px;padding:18px 16px;border-top:1px solid var(--line);flex-wrap:wrap}
.assum .asl{font-family:var(--cond);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.assum .asv{font-family:var(--display);font-size:32px;color:var(--apec);line-height:1}

/* comparison bars */
.cmp{margin-top:32px}
.cmprow{display:grid;grid-template-columns:minmax(150px,230px) 1fr 52px;gap:16px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}
.cmprow:first-child{border-top:0}
.cmpname .cn{display:block;font-weight:600;color:var(--chalk);font-size:15.5px}
.cmpname .cs{display:block;font-family:var(--cond);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:3px}
.cmptrack{display:block;height:14px;background:var(--raise2)}
.cmpfill{display:block;height:14px;background:var(--apec);border-radius:0 4px 4px 0;min-width:3px}
.cmprow.is-first .cmpfill{background:var(--s1)}
.cmprow.is-retest{border-top:0;padding-top:2px}
.cmprow.is-retest .cmpname .cn:empty{display:none}
.cmprow.is-retest .cmpname .cs{color:var(--apec)}
.cmpval{font-family:var(--display);font-size:18px;text-align:right}
.cmpaxis{display:grid;grid-template-columns:minmax(150px,230px) 1fr 52px;gap:16px;margin-top:8px}
.cmpticks{grid-column:2;display:flex;justify-content:space-between;font-family:var(--cond);font-weight:600;font-size:11px;letter-spacing:.14em;color:var(--dim)}
@media(max-width:620px){
  .cmprow{grid-template-columns:1fr 46px;row-gap:8px}
  .cmpname{grid-column:1/-1}
  .cmpaxis{display:none}
}

.nw.more{border-style:dashed;color:var(--haze)}
.ptag{color:var(--apec);font-family:var(--cond);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:12.5px}

.consent{display:flex;gap:12px;align-items:flex-start;margin:4px 0 2px;cursor:pointer}
.consent input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--apec)}
.consent span{font-size:14px;line-height:1.5;color:var(--haze)}
.form input[type=file]{width:100%;padding:12px 14px;background:var(--raise);border:1px solid var(--line-strong);color:var(--haze);font:inherit;font-size:14px}
.form input[type=file]::file-selector-button{font-family:var(--cond);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;background:var(--raise2);color:var(--chalk);border:1px solid var(--line-strong);padding:8px 14px;margin-right:14px;cursor:pointer}
.gcgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1px;background:var(--line);margin-top:clamp(24px,2.8vw,34px);border:1px solid var(--line)}
.gcteam{background:var(--ink);padding:22px 20px;display:flex;flex-direction:column;gap:7px;min-width:0}
.gct-org{font-family:var(--cond);font-weight:700;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--apec)}
.gct-name{font-family:var(--display);font-size:clamp(19px,2.2vw,24px);color:var(--chalk);line-height:1}
.gcteam .flag{align-self:flex-start;margin-top:6px}

.galrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--line);margin-top:clamp(24px,2.8vw,34px);border:1px solid var(--line)}
.galcard{margin:0;background:var(--ink)}
.galcard img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;filter:saturate(.85)}
.galcard figcaption{padding:14px 16px 16px}
.galcard .gc-n{display:block;font-family:var(--cond);font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--chalk)}
.galcard .gc-p{display:block;font-family:var(--cond);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--apec);margin-top:5px}

.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1px;background:var(--line);margin-top:clamp(24px,2.8vw,34px);border:1px solid var(--line)}
.quote{background:var(--panel);margin:0;padding:clamp(24px,2.6vw,32px);display:flex;flex-direction:column}
.quote blockquote{margin:14px 0 0;padding-left:clamp(16px,1.8vw,22px);border-left:3px solid var(--apec)}
.quote blockquote p{margin:0 0 .85em;color:var(--chalk);font-size:clamp(15.5px,1.55vw,17px);line-height:1.6;text-wrap:pretty}
.quote blockquote p:last-child{margin-bottom:0;color:var(--haze)}
.quote figcaption{margin-top:auto;padding-top:18px}
.quote .qwho{display:block;font-family:var(--cond);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--apec)}
.quote .qmeta{display:block;font-family:var(--cond);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:4px}

.tourns{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);margin-top:clamp(26px,3vw,38px);border:1px solid var(--line)}
.tourn{background:var(--ink);display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:760px){.tourn{grid-template-columns:minmax(0,300px) minmax(0,1fr)}}
.tourn-media{position:relative;min-height:190px;background:var(--panel)}
.tourn-media img{width:100%;height:100%;min-height:190px;object-fit:cover;display:block;filter:saturate(.85) contrast(1.05)}
.tourn-body{padding:clamp(20px,2.4vw,28px)}
.tourn-tag{display:block;font-family:var(--cond);font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--apec);margin-bottom:9px}
.tourn-body h3{font-family:var(--display);font-size:clamp(17px,2vw,22px);line-height:1.12;color:var(--chalk);margin:0 0 12px}
.tourn-body p{color:var(--haze);margin:0 0 .8em;text-wrap:pretty}
.tourn-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 20px;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.tourn-facts dt{font-family:var(--cond);font-weight:600;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.tourn-facts dd{margin:3px 0 0;font-size:14.5px;color:var(--chalk);overflow-wrap:anywhere}
.tourn-reg{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.tourn-reg .reg-mail{font-size:14.5px;color:var(--haze)}
.tourn-reg .reg-mail b{color:var(--chalk);font-weight:600;user-select:all}
.copybtn{background:transparent;border:1px solid var(--line-strong);color:var(--chalk);font-family:var(--cond);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;cursor:pointer}
.copybtn:hover{border-color:var(--apec);color:var(--apec)}
.tsub{display:block;font-family:var(--cond);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:3px}

.boards{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);margin-top:32px}
@media(min-width:820px){.boards{grid-template-columns:repeat(3,1fr)}}
.board{background:var(--ink);padding:24px 22px 26px}
.board .bh{display:block;font-family:var(--cond);font-weight:700;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--apec);padding-bottom:12px;border-bottom:1px solid var(--line)}
.board ol{list-style:none;margin:0;padding:0;counter-reset:bd}
.board li{counter-increment:bd;display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line)}
.board li:last-child{border-bottom:0}
.board li::before{content:counter(bd);font-family:var(--display);font-size:12px;color:var(--dim)}
.board .bn{color:var(--chalk);font-size:15px;overflow-wrap:anywhere}
.board .bm{font-family:var(--display);font-size:15px;color:var(--apec)}
.board li:first-child .bn{font-weight:600}

.price{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px}
@media(min-width:760px){.price{grid-template-columns:minmax(230px,300px) 1fr}}
.pmain{background:var(--raise);padding:34px 28px;display:flex;flex-direction:column;justify-content:center;border-left:3px solid var(--apec)}
.pmain .pamt{font-family:var(--display);font-size:clamp(38px,5.4vw,58px);line-height:1;color:var(--apec)}
.pmain .pper{font-family:var(--cond);font-weight:600;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--haze);margin-top:12px}
.pwhat{background:var(--panel);padding:30px 28px}
.pwhat p{color:var(--haze);font-size:15.5px}

.schedwrap{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);margin-top:32px}
@media(min-width:860px){.schedwrap{grid-template-columns:repeat(2,1fr)}}
.sched{background:var(--ink);padding:26px 24px 28px}
.sched .sh{display:block;font-family:var(--cond);font-weight:700;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--apec);padding-bottom:14px;border-bottom:1px solid var(--line)}
.sched ol{list-style:none;margin:0;padding:0}
.sched li{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);align-items:baseline}
.sched li:last-child{border-bottom:0}
.sched .st{font-family:var(--display);font-size:13px;color:var(--chalk)}
.sched .si{color:var(--haze);font-size:15px}
@media(max-width:480px){.sched li{grid-template-columns:1fr;gap:4px}}

.national{
  margin-top:1px;background:var(--raise);border:1px solid var(--apec-deep);
  border-left:4px solid var(--apec);padding:26px 26px 28px;
}
.nat-h{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line)}
.nat-tag{
  font-family:var(--cond);font-weight:700;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:#06212F;background:var(--apec);padding:4px 10px;
}
.nat-t{font-family:var(--display);font-size:clamp(17px,2vw,21px)}
.nat-c{margin-left:auto;font-family:var(--cond);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--apec)}
.national p{color:var(--haze);font-size:15.5px;margin:16px 0 0;max-width:72ch}

/* development camp */
.camp-hero{border-bottom:1px solid var(--line);background:radial-gradient(64% 120% at 82% 0%, rgba(77,164,216,.18), transparent 64%), var(--panel);padding-block:clamp(34px,5vw,56px)}
.days{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px}
.day{background:var(--ink);padding:22px 20px;flex:1 1 0;min-width:0}
.day .dn{font-family:var(--cond);font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--apec);display:block;margin-bottom:10px}
.day h3{font-size:16px;margin-bottom:8px}
.day p{color:var(--haze);font-size:14.5px;margin:0}
@media(max-width:760px){.days{flex-direction:column}}
.scorecard{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);margin-top:32px}
@media(min-width:820px){.scorecard{grid-template-columns:repeat(3,1fr)}}
.sc{background:var(--panel);padding:26px 24px}
.sc .scl{font-family:var(--cond);font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:12px}
.sc h3{margin-bottom:10px}
.sc p{color:var(--haze);font-size:15px;margin:0}
.bandline{display:grid;grid-template-columns:auto 1fr;gap:14px 18px;margin-top:24px;align-items:center}
.bandline .bv{font-family:var(--display);font-size:15px;color:var(--apec);min-width:62px}
.bandline .bt{color:var(--haze);font-size:15px}

/* ================= roster / stats pages ================= */
.num{font-variant-numeric:tabular-nums}
.lbl{font-family:var(--cond);font-weight:600;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}
.banner{display:flex;gap:14px;padding:13px 20px;font-size:14.5px;border-bottom:1px solid var(--line)}
.banner.demo{background:rgba(224,163,59,.10);color:#F0CE93;border-bottom-color:rgba(224,163,59,.3)}
.banner b{color:#fff}
.bar2{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;padding-block:20px}
.bar2 .grow{flex:1 1 auto}
.seg{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);flex-wrap:wrap;max-width:100%}
.seg button{background:var(--panel);border:0;color:var(--haze);cursor:pointer;padding:9px 13px;font-family:var(--cond);font-weight:600;font-size:12.5px;letter-spacing:.13em;text-transform:uppercase}
.seg button[aria-pressed="true"]{background:var(--apec);color:#06212F}
select.filt{background:var(--panel);border:1px solid var(--line-strong);color:var(--chalk);font-family:var(--body);font-size:14.5px;padding:9px 12px}

.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:24px}
.pod{background:var(--panel);padding:22px 20px;display:flex;gap:16px;align-items:flex-start;text-align:left;border:0;width:100%;cursor:pointer;color:inherit;font:inherit}
.pod:hover{background:var(--raise)}
.pod .rank{font-family:var(--display);font-size:38px;line-height:.9;color:var(--apec);flex:0 0 auto}
.pod .rank sup{font-size:14px;color:var(--haze)}
.pod .who{display:block;min-width:0;flex:1 1 auto}
.pod .nm,.pod .sub,.pod .val,.pod .gap{display:block}
.pod .nm{font-family:var(--display);font-size:17px;line-height:1.15;overflow-wrap:anywhere}
.pod .sub{font-family:var(--cond);font-weight:600;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-top:5px}
.pod .val{font-family:var(--display);font-size:26px;margin-top:12px}
.pod .gap{font-size:13px;color:var(--haze);margin-top:4px;line-height:1.35}
.pod.lead{outline:1px solid var(--apec-deep)}
@media(max-width:820px){.podium{grid-template-columns:1fr}}

.stable{overflow-x:auto;border:1px solid var(--line);margin-top:24px}
.stable table{border-collapse:collapse;width:100%;min-width:820px}
.stable th,.stable td{padding:12px 14px;text-align:right;border-bottom:1px solid var(--line);font-size:14.5px;white-space:nowrap}
.stable th:first-child,.stable td:first-child,.stable th:nth-child(2),.stable td:nth-child(2){text-align:left}
.stable thead th{font-family:var(--cond);font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);background:var(--raise);cursor:pointer}
.stable thead th:hover{color:var(--chalk)}
.stable thead th[aria-sort]{color:var(--apec)}
.stable tbody tr{cursor:pointer}
.stable tbody tr:hover{background:var(--raise)}
.stable tbody tr:last-child td{border-bottom:0}
.stable td.pname{font-weight:600;color:var(--chalk)}
.jersey{display:inline-block;min-width:26px;font-family:var(--display);font-size:13px;color:var(--apec);margin-right:9px}

.profile{background:radial-gradient(60% 110% at 12% 0%, rgba(77,164,216,.16), transparent 64%), var(--panel);border-block:1px solid var(--line);padding-block:30px 26px}
.pro-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,3vw,40px);align-items:center}
.pro-no{font-family:var(--display);font-size:clamp(56px,9vw,104px);line-height:.82}
.pro-no span{display:block;font-family:var(--cond);font-weight:600;font-size:12px;letter-spacing:.2em;color:var(--apec);margin-top:8px}
.pro-pos{font-family:var(--cond);font-weight:700;font-size:15px;letter-spacing:.22em;text-transform:uppercase;color:var(--apec);margin-bottom:10px}
.vitals{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px 22px;max-width:520px;margin:14px 0 0}
.vitals dt{font-family:var(--cond);font-weight:600;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.vitals dd{margin:2px 0 0;font-size:15px;overflow-wrap:anywhere}
.rings{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.ring{width:70px;text-align:center}
.ring .rv{width:64px;height:64px;border-radius:50%;border:2px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:18px;margin-bottom:7px}
.ring.hi .rv{border-color:var(--apec);color:var(--apec)}
.ring .rl{font-family:var(--cond);font-weight:600;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
@media(max-width:1000px){.pro-top{grid-template-columns:auto minmax(0,1fr)}.rings{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:560px){.pro-top{grid-template-columns:minmax(0,1fr)}.pro-top>*{min-width:0}.vitals{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}}

.panels{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line)}
@media(min-width:900px){.panels{grid-template-columns:repeat(2,1fr)}}
.panel-c{background:var(--panel);padding:24px 22px 26px}
.panel-c header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
.panel-c .note{font-size:13px;color:var(--dim);margin:0 0 16px}
.chart{width:100%;height:auto;display:block;overflow:visible}
.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px}
.legend span{display:flex;align-items:center;gap:7px;font-family:var(--cond);font-weight:600;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--haze)}
.legend i{width:11px;height:11px;display:block;border-radius:2px}
.rates{display:grid;gap:14px}
.rate{display:grid;grid-template-columns:52px 1fr 62px;gap:12px;align-items:center}
.rate .rn{font-family:var(--cond);font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--dim)}
.rate .track{display:block;height:10px;background:var(--raise2)}
.rate .fill{display:block;height:10px;background:var(--apec);border-radius:0 4px 4px 0;min-width:2px}
.rate .rv2{font-family:var(--display);font-size:15px;text-align:right}

.film{display:flex;gap:1px;overflow-x:auto;background:var(--line);padding:1px;margin-top:10px}
.film button{flex:0 0 96px;background:var(--raise);border:0;cursor:pointer;color:var(--haze);padding:14px 8px;text-align:center}
.film button:hover{background:var(--raise2);color:var(--chalk)}
.film button[aria-current="true"]{background:var(--apec);color:#06212F}
.film .fn{display:block;font-family:var(--display);font-size:18px;line-height:1}
.film .fl{display:block;font-family:var(--cond);font-weight:600;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.fset{border:1px solid var(--line);padding:20px;margin:0 0 18px}
.fset legend{font-family:var(--cond);font-weight:700;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--apec);padding-inline:8px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:16px}
.toolrow{display:grid;grid-template-columns:70px 1fr 42px;gap:12px;align-items:center;margin-bottom:12px}
.toolrow .tn{font-family:var(--cond);font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--haze)}
.toolrow output{font-family:var(--display);font-size:15px;text-align:right}
input[type="range"]{padding:0;border:0;background:transparent;accent-color:var(--apec)}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.status{font-size:14px;color:var(--haze)}
.btn.danger{background:transparent;color:#E88B7D;border-color:rgba(232,139,125,.45)}
.empty{padding:56px 20px;text-align:center;color:var(--haze)}
.tt{position:fixed;pointer-events:none;z-index:200;background:#05070A;border:1px solid var(--line-strong);padding:8px 11px;font-size:13px;white-space:nowrap;opacity:0;transition:opacity .12s}
.tt.on{opacity:1}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
