/* ══════════════════════════════════════════════
   TOKENS
══════════════════════════════════════════════ */
:root{
  --brand:#0a1a82;
  --brand-m:#1630c8;
  --brand-l:#2a44e8;
  --ink:#05071a;
  --ink2:#090d28;
  --card:rgba(10,26,130,.13);
  --cardh:rgba(10,26,130,.26);
  --border:rgba(80,120,255,.17);
  --borders:rgba(80,120,255,.4);
  --txt:#eeeeff;
  --txt2:rgba(200,210,255,.62);
  --txt3:rgba(140,160,230,.4);
  --navbg:rgba(5,7,26,.86);
  --shadow:rgba(10,26,130,.5);
  --inputbg:rgba(5,7,26,.65);
  --gold:#f0c060;
}
[data-theme="light"]{
  --ink:#f0f2ff;
  --ink2:#e4e8ff;
  --card:rgba(10,26,130,.07);
  --cardh:rgba(10,26,130,.14);
  --border:rgba(10,26,130,.13);
  --borders:rgba(10,26,130,.3);
  --txt:#08091e;
  --txt2:rgba(30,40,100,.7);
  --txt3:rgba(30,40,100,.42);
  --navbg:rgba(240,242,255,.92);
  --shadow:rgba(10,26,130,.18);
  --inputbg:rgba(255,255,255,.9);
}

/* ══════════════════════════════════════════════
   RESET
══════════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--ink);color:var(--txt);font-family:'Plus Jakarta Sans',sans-serif;overflow-x:hidden;transition:background .4s,color .4s;cursor:none;}

/* ══════════════════════════════════════════════
   HEADER
══════════════════════════════════════════════ */
header{
  position:fixed;top:0;left:0;right:0;z-index:800;height:68px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5vw;
  background:var(--navbg);backdrop-filter:blur(22px);
  border-bottom:1px solid var(--border);
  transition:background .4s,border-color .4s;
}
.logo-wrap{display:flex;align-items:center;gap:12px;text-decoration:none;}
.logo-slot{
  width:38px;height:38px;border-radius:9px;overflow:hidden;
  background:linear-gradient(135deg,var(--brand),var(--brand-l));
  display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--borders);flex-shrink:0;
}
.logo-slot img{width:100%;height:100%;object-fit:cover;display:none;}
.logo-slot img.loaded{display:block;}
.logo-slot .logo-svg-fallback{display:flex;}
.logo-name{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.08rem;letter-spacing:.07em;text-transform:uppercase;color:var(--txt);line-height:1.1;}
.logo-sub{font-size:.58rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(100,150,255,.75);}
.desk-nav{display:flex;align-items:center;gap:2.2rem;}
.desk-nav a{font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--txt2);position:relative;display:flex;align-items:center;gap:6px;transition:color .2s;}
.desk-nav a::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--brand-l);border-radius:2px;transform:scaleX(0);transform-origin:right;transition:transform .28s;}
.desk-nav a:hover,.desk-nav a.active{color:var(--txt);}
.desk-nav a:hover::after,.desk-nav a.active::after{transform:scaleX(1);transform-origin:left;}
.desk-nav a svg{flex-shrink:0;}
.nav-r{display:flex;align-items:center;gap:.8rem;}
.theme-btn{display:flex;align-items:center;gap:7px;padding:.38rem .82rem;background:var(--card);border:1px solid var(--border);border-radius:100px;cursor:none;transition:all .25s;}
.theme-btn:hover{border-color:var(--borders);}
.t-track{width:30px;height:17px;background:var(--border);border-radius:100px;position:relative;transition:background .3s;}
[data-theme="light"] .t-track{background:var(--brand);}
.t-thumb{width:11px;height:11px;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 1px 4px rgba(0,0,0,.3);}
[data-theme="light"] .t-thumb{transform:translateX(13px);}
.t-ic{font-size:.68rem;color:var(--txt3);}
.hamb{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:none;padding:5px;}
.hamb span{display:block;width:22px;height:2px;background:var(--txt);border-radius:2px;transition:all .28s;}
.mob-nav{display:none;position:fixed;inset:68px 0 0;z-index:700;background:var(--navbg);backdrop-filter:blur(28px);flex-direction:column;align-items:center;justify-content:center;gap:2.4rem;}
.mob-nav.open{display:flex;}
.mob-nav a{font-family:'Barlow Condensed',sans-serif;font-size:3rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--txt);display:flex;align-items:center;gap:.7rem;transition:color .2s;}
.mob-nav a:hover{color:rgba(100,150,255,.9);}

/* ══════════════════════════════════════════════
   HERO
══════════════════════════════════════════════ */
.hero{
  min-height:100vh;display:flex;flex-direction:column;
  justify-content:center;
  padding:0 5vw;padding-top:68px;
  position:relative;overflow:hidden;
}
.h-grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:55px 55px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 100%);
  animation:gridD 18s linear infinite;opacity:.45;
}
@keyframes gridD{from{background-position:0 0;}to{background-position:55px 55px;}}
.blob{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;}
.b1{width:650px;height:650px;top:-18%;left:-15%;background:rgba(10,26,130,.3);animation:bp 14s ease-in-out infinite;}
.b2{width:380px;height:380px;bottom:-10%;right:-8%;background:rgba(40,80,200,.14);animation:bp 19s ease-in-out infinite reverse;}
.b3{width:260px;height:260px;top:45%;left:44%;background:rgba(10,26,130,.1);animation:bp 11s ease-in-out infinite 2s;}
[data-theme="light"] .b1{background:rgba(10,26,130,.07);}[data-theme="light"] .b2{background:rgba(40,80,200,.08);}[data-theme="light"] .b3{background:rgba(10,26,130,.05);}
@keyframes bp{0%,100%{transform:scale(1) translate(0,0);}40%{transform:scale(1.07) translate(24px,-32px);}70%{transform:scale(.94) translate(-18px,22px);}}

.hero-content{position:relative;z-index:2;max-width:760px;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:.4rem .92rem;background:var(--card);border:1px solid var(--border);border-radius:100px;font-size:.67rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(100,150,255,.9);margin-bottom:1.7rem;animation:fuA .7s .1s both;}
.pdot{width:6px;height:6px;border-radius:50%;background:rgba(100,160,255,.9);animation:pd 2.2s infinite;}
@keyframes pd{0%,100%{box-shadow:0 0 0 0 rgba(100,160,255,.6);}60%{box-shadow:0 0 0 5px rgba(100,160,255,0);}}
h1.ht{font-family:'Barlow Condensed',sans-serif;font-size:clamp(3.5rem,9.5vw,9.5rem);font-weight:900;line-height:.84;letter-spacing:-.015em;text-transform:uppercase;margin-bottom:2rem;animation:fuA .8s .25s both;}
.ht .hol{-webkit-text-stroke:2px var(--txt);color:transparent;display:block;}
[data-theme="light"] .ht .hol{-webkit-text-stroke:2px var(--brand);}
.ht .bl{color:var(--brand-l);display:block;}
.ht .wh{display:block;}
.hdesc{font-size:.95rem;line-height:1.78;font-weight:300;color:var(--txt2);max-width:440px;margin-bottom:2.4rem;animation:fuA .8s .4s both;}
.hcta{display:flex;gap:1rem;flex-wrap:wrap;animation:fuA .8s .55s both;}

.bp{display:inline-flex;align-items:center;gap:9px;padding:.84rem 1.9rem;background:linear-gradient(135deg,var(--brand),var(--brand-m));color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:none;border-radius:12px;cursor:none;transition:all .26s;box-shadow:0 7px 26px var(--shadow);position:relative;overflow:hidden;}
.bp::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--brand-l),rgba(130,160,255,.7));opacity:0;transition:opacity .3s;}
.bp:hover::before{opacity:1;}.bp:hover{transform:translateY(-2px);box-shadow:0 13px 38px var(--shadow);}
.bp span,.bp svg,.bp i{position:relative;z-index:1;}
.bs{display:inline-flex;align-items:center;gap:9px;padding:.84rem 1.9rem;background:transparent;border:1.5px solid var(--borders);color:var(--txt);font-family:'Plus Jakarta Sans',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-radius:12px;cursor:none;transition:all .26s;}
.bs:hover{background:var(--card);border-color:rgba(100,140,255,.65);color:rgba(150,190,255,.9);transform:translateY(-2px);}

.scrl-cue{position:absolute;bottom:3.5vh;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--txt3);animation:fuA 1s .9s both;}
.scl{width:1px;height:48px;background:linear-gradient(to bottom,rgba(100,150,255,.7),transparent);animation:scA 2.2s ease-in-out infinite;}
@keyframes scA{0%,100%{opacity:1;}50%{opacity:.3;}}
@keyframes fuA{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}

/* ══════════════════════════════════════════════
   INFO CHIPS
══════════════════════════════════════════════ */
.chips-section{
  padding:2rem 5vw;
  background:linear-gradient(180deg,rgba(10,26,130,.08) 0%,transparent 100%);
  position:relative;
  z-index:10;
}
.chips-container{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1.2rem;
  max-width:900px;
  margin:0 auto;
}
.chip{
  display:flex;
  align-items:center;
  gap:1.1rem;
  padding:1.4rem 1.6rem;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  transition:all .3s ease;
  backdrop-filter:blur(10px);
}
.chip:hover{
  border-color:rgba(80,130,255,.4);
  background:var(--cardh);
  transform:translateY(-2px);
  box-shadow:0 8px 28px var(--shadow);
}
.chip-icon{
  width:40px;
  height:40px;
  flex-shrink:0;
  color:var(--brand-l);
  stroke:currentColor;
}
.chip div{
  display:flex;
  flex-direction:column;
  gap:.3rem;
}
.chip strong{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--txt);
}
.chip span{
  font-size:.82rem;
  color:var(--txt2);
  font-weight:300;
  line-height:1.4;
}
.map-link{
  color:rgba(100,150,255,.9);
  text-decoration:none;
  font-weight:600;
  transition:color .2s;
}
.map-link:hover{
  color:var(--brand-l);
  text-decoration:underline;
}

/* ══════════════════════════════════════════════
   MARQUEE
══════════════════════════════════════════════ */
.mq-strip{overflow:hidden;background:var(--brand);padding:.85rem 0;position:relative;}
.mq-strip::before,.mq-strip::after{content:'';position:absolute;top:0;bottom:0;width:60px;z-index:2;}
.mq-strip::before{left:0;background:linear-gradient(to right,var(--brand),transparent);}
.mq-strip::after{right:0;background:linear-gradient(to left,var(--brand),transparent);}
.mq-t{display:flex;white-space:nowrap;animation:mqs 26s linear infinite;}
.mq-i{display:inline-flex;align-items:center;gap:1.4rem;padding:0 2rem;font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65);}
.mq-i strong{color:#fff;}.mq-d{width:4px;height:4px;background:rgba(255,255,255,.3);border-radius:50%;display:inline-block;}
@keyframes mqs{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ══════════════════════════════════════════════
   SCROLL EXPERIENCE SYSTEM
══════════════════════════════════════════════ */

.s-section{opacity:0;transform:translateY(50px);transition:opacity .8s ease,transform .8s ease;}
.s-section.in-view{opacity:1;transform:translateY(0);}

.parallax-layer{will-change:transform;}

.stats-banner{
  position:sticky;top:68px;z-index:50;
  background:linear-gradient(135deg,var(--brand),var(--brand-m));
  padding:1.2rem 5vw;
  display:flex;justify-content:space-around;align-items:center;
  gap:1rem;flex-wrap:wrap;
  box-shadow:0 4px 30px rgba(10,26,130,.4);
  overflow:hidden;
}
.stats-banner::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-55deg,transparent 0,transparent 28px,rgba(255,255,255,.03) 28px,rgba(255,255,255,.03) 30px);}
.stat-b{text-align:center;position:relative;z-index:1;flex:1;min-width:100px;}
.stat-b-n{font-family:'Barlow Condensed',sans-serif;font-size:clamp(1.8rem,3.5vw,3rem);font-weight:900;color:#fff;line-height:1;}
.stat-b-l{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-top:.25rem;}
.stat-divider{width:1px;height:40px;background:rgba(255,255,255,.15);flex-shrink:0;}

/* ── ABOUT ── */
.about{
  padding:clamp(5rem,10vw,9rem) 5vw;
  display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;
  position:relative;
}
.about-bg-word{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  font-family:'Barlow Condensed',sans-serif;
  font-size:min(28vw,300px);font-weight:900;text-transform:uppercase;
  -webkit-text-stroke:1px rgba(10,26,130,.07);color:transparent;
  pointer-events:none;user-select:none;white-space:nowrap;
  transition:transform .1s linear;
}
.about-body{font-size:.93rem;line-height:1.85;color:var(--txt2);margin-bottom:2rem;font-weight:300;}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;margin-bottom:2.2rem;}
.sp{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.35rem .85rem;text-align:center;transition:all .3s;cursor:default;}
.sp:hover{border-color:rgba(80,130,255,.5);background:var(--cardh);transform:translateY(-4px);box-shadow:0 10px 26px var(--shadow);}
.sp-n{font-family:'Barlow Condensed',sans-serif;font-size:2.4rem;font-weight:900;color:var(--brand-l);line-height:1;}
.sp-l{font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--txt3);margin-top:.28rem;}

.photo-card{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--border);background:var(--card);aspect-ratio:4/5;}
.photo-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.photo-card:hover img{transform:scale(1.04);}
.photo-card-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,7,26,.85) 0%,transparent 55%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.8rem;}
.pc-lbl{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(160,190,255,.75);margin-bottom:.4rem;display:flex;align-items:center;gap:6px;}
.pc-cap{font-family:'Barlow Condensed',sans-serif;font-size:1.6rem;font-weight:800;text-transform:uppercase;line-height:1.1;color:#fff;}
.photo-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;}
.photo-ph svg{opacity:.2;}
.photo-ph p{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--txt3);}

.sec-lbl{display:inline-flex;align-items:center;gap:8px;font-size:.64rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:rgba(100,150,255,.85);margin-bottom:1.1rem;}
.sec-lbl::before{content:'';display:inline-block;width:16px;height:2px;background:rgba(100,150,255,.85);border-radius:2px;}
.sec-title{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.5rem,6vw,6rem);font-weight:900;line-height:.88;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:1.3rem;}
.sec-title .hol{-webkit-text-stroke:2px currentColor;color:transparent;}

.features-outer{overflow:hidden;position:relative;}
.features-header-row{display:flex;justify-content:space-between;align-items:flex-end;padding:clamp(4rem,7vw,7rem) 5vw 0;flex-wrap:wrap;gap:1.5rem;}
.feat-scroll-track{
  display:flex;gap:1.5rem;
  padding:2.5rem 5vw 3rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  cursor:grab;
}
.feat-scroll-track:active{cursor:grabbing;}
.feat-scroll-track::-webkit-scrollbar{display:none;}
.feat-card{
  flex:0 0 300px;scroll-snap-align:start;
  background:var(--card);border:1px solid var(--border);border-radius:20px;
  padding:2.2rem 1.8rem;position:relative;overflow:hidden;
  transition:border-color .3s,transform .3s,box-shadow .3s;
}
.feat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--brand),var(--brand-l));transform:scaleX(0);transition:transform .35s;transform-origin:left;}
.feat-card:hover{border-color:rgba(80,130,255,.4);transform:translateY(-6px);box-shadow:0 16px 36px var(--shadow);}
.feat-card:hover::before{transform:scaleX(1);}
.feat-icon-wrap{
  width:52px;height:52px;border-radius:14px;
  background:linear-gradient(135deg,var(--brand),var(--brand-m));
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.5rem;box-shadow:0 4px 16px var(--shadow);
  transition:transform .3s;
}
.feat-card:hover .feat-icon-wrap{transform:scale(1.1) rotate(-5deg);}
.feat-num{position:absolute;top:1.3rem;right:1.3rem;font-family:'Barlow Condensed',sans-serif;font-size:3rem;font-weight:900;color:var(--border);line-height:1;transition:color .3s;}
.feat-card:hover .feat-num{color:rgba(10,26,130,.12);}
.feat-title{font-family:'Barlow Condensed',sans-serif;font-size:1.18rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.6rem;}
.feat-body{font-size:.82rem;line-height:1.72;color:var(--txt2);font-weight:300;}
.drag-hint{display:flex;align-items:center;gap:.6rem;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt3);padding:0 5vw 2.5rem;animation:hintSlide 3s ease-in-out infinite;}
@keyframes hintSlide{0%,100%{transform:translateX(0);}50%{transform:translateX(8px);}}

.court-section{padding:clamp(3rem,6vw,6rem) 5vw;display:flex;flex-direction:column;align-items:center;gap:1.8rem;text-align:center;}
.court-wrap{width:100%;max-width:820px;border-radius:18px;border:1px solid var(--border);background:var(--card);padding:2.5rem 2rem;overflow:hidden;position:relative;}
.court-sub{font-size:.9rem;color:var(--txt2);max-width:480px;line-height:1.7;font-weight:300;}
.court-svg{width:100%;max-width:560px;margin:0 auto;display:block;}
.cl{stroke-dasharray:2000;stroke-dashoffset:2000;transition:stroke-dashoffset 1.4s ease;}
.in-view .cl{stroke-dashoffset:0;}
.cl:nth-child(1){transition-delay:.05s;}.cl:nth-child(2){transition-delay:.2s;}.cl:nth-child(3){transition-delay:.35s;}.cl:nth-child(4){transition-delay:.45s;}.cl:nth-child(5){transition-delay:.55s;}.cl:nth-child(6){transition-delay:.65s;}.cl:nth-child(7){transition-delay:.75s;}.cl:nth-child(8){transition-delay:.85s;}

.shuttle-dot{animation:none;}
.in-view .shuttle-dot{animation:travelArc 3.6s cubic-bezier(.4,0,.2,1) infinite 1.2s;}
@keyframes travelArc{
  0%  {opacity:0;offset-distance:0%;}
  8%  {opacity:1;}
  92% {opacity:1;}
  100%{opacity:0;offset-distance:100%;}
}
.shuttle-path-group{offset-path:path('M 60 220 Q 200 60 320 160 Q 440 260 560 80');}
.in-view .shuttle-path-group{animation:followPath 3.6s cubic-bezier(.4,0,.2,1) infinite 1.2s;}
@keyframes followPath{
  0%  {opacity:0;offset-distance:0%;transform:rotate(20deg);}
  8%  {opacity:1;}
  45% {transform:rotate(-18deg);}
  92% {opacity:1;}
  100%{opacity:0;offset-distance:100%;transform:rotate(8deg);}
}

#form{padding:clamp(5rem,10vw,9rem) 5vw;position:relative;overflow:hidden;}
#form::before{content:'JOIN';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Barlow Condensed',sans-serif;font-size:min(32vw,340px);font-weight:900;-webkit-text-stroke:1px rgba(10,26,130,.07);color:transparent;pointer-events:none;user-select:none;white-space:nowrap;}
.form-wrap{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start;position:relative;z-index:1;}
.fi-body{font-size:.88rem;line-height:1.82;color:var(--txt2);font-weight:300;margin-bottom:2.4rem;}
.step-list{display:flex;flex-direction:column;gap:.75rem;}
.step-item{display:flex;align-items:center;gap:1rem;padding:.95rem 1.15rem;background:var(--card);border:1px solid var(--border);border-radius:13px;transition:all .28s;}
.step-item:hover{border-color:rgba(80,130,255,.45);transform:translateX(5px);}
.step-num{font-family:'Barlow Condensed',sans-serif;font-size:1.5rem;font-weight:900;color:var(--brand-l);line-height:1;min-width:1.8rem;}
.step-title{font-size:.82rem;font-weight:600;margin-bottom:.1rem;}
.step-sub{font-size:.7rem;color:var(--txt3);}
.step-ico{margin-left:auto;color:var(--txt3);}
.form-card{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:2.4rem;transition:border-color .3s;}
.form-card:focus-within{border-color:rgba(80,130,255,.5);}
.fsh{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(120,160,255,.9);display:flex;align-items:center;gap:8px;margin-bottom:.2rem;}
.fsh svg{flex-shrink:0;}
.fdiv{width:100%;height:1px;background:var(--border);margin:1.4rem 0;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:.9rem;}
.frow.full{grid-template-columns:1fr;}
.field{display:flex;flex-direction:column;gap:.38rem;}
.field label{font-size:.6rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--txt3);display:flex;align-items:center;gap:5px;}
.field label svg{flex-shrink:0;opacity:.7;}
.field input,.field select{background:var(--inputbg);border:1.5px solid var(--border);border-radius:10px;padding:.72rem .95rem;color:var(--txt);font-family:'Plus Jakarta Sans',sans-serif;font-size:.86rem;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;cursor:none;}
.field input::placeholder{color:var(--txt3);}
.field input:focus,.field select:focus{border-color:rgba(80,130,255,.6);box-shadow:0 0 0 3px rgba(40,80,255,.12);}
.field select option{background:var(--ink);}
.btn-sub{width:100%;margin-top:1.4rem;padding:.95rem;background:linear-gradient(135deg,var(--brand),var(--brand-m));border:none;border-radius:12px;color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:.86rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:none;transition:all .26s;box-shadow:0 6px 22px var(--shadow);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:9px;}
.btn-sub::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--brand-l),rgba(130,160,255,.7));opacity:0;transition:opacity .35s;}
.btn-sub:hover::before{opacity:1;}.btn-sub:hover{transform:translateY(-2px);box-shadow:0 12px 34px var(--shadow);}
.btn-sub span,.btn-sub svg{position:relative;z-index:1;}

footer{background:var(--ink);border-top:1px solid var(--border);padding:5rem 5vw 2.5rem;transition:background .4s;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:4rem;margin-bottom:3rem;}
.foot-brand{font-family:'Barlow Condensed',sans-serif;font-size:1.35rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.7rem;display:flex;align-items:center;gap:10px;}
.foot-acc{color:rgba(100,160,255,.9);}
.foot-logo-m{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,var(--brand),var(--brand-m));display:flex;align-items:center;justify-content:center;}
.foot-tag{font-size:.82rem;line-height:1.75;color:var(--txt2);margin-bottom:1.4rem;font-weight:300;}
.foot-coc{display:inline-flex;align-items:center;gap:7px;padding:.5rem 1rem;border:1.5px solid var(--border);border-radius:100px;font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--txt2);transition:all .25s;}
.foot-coc:hover{border-color:rgba(80,130,255,.5);color:rgba(120,170,255,.9);background:var(--card);}
.foot-ct{font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--txt3);margin-bottom:1.2rem;}
.foot-info{display:flex;flex-direction:column;gap:.9rem;}
.foot-row{display:flex;gap:.85rem;}
.foot-row svg{flex-shrink:0;margin-top:2px;opacity:.7;}
.foot-row p{font-size:.8rem;line-height:1.62;color:var(--txt2);}
.foot-row span{display:block;color:var(--txt3);font-size:.75rem;}
.socials{display:flex;gap:.7rem;margin-top:.4rem;}
.soc-a{width:37px;height:37px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--border);border-radius:10px;color:var(--txt2);text-decoration:none;font-size:.9rem;transition:all .25s;}
.soc-a:hover{border-color:rgba(80,130,255,.5);color:rgba(130,180,255,.9);background:var(--card);transform:translateY(-3px);}
.foot-bot{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;border-top:1px solid var(--border);font-size:.67rem;color:var(--txt3);flex-wrap:wrap;gap:.7rem;}
.field textarea{background:var(--inputbg);border:1.5px solid var(--border);border-radius:10px;padding:.72rem .95rem;color:var(--txt);font-family:'Plus Jakarta Sans',sans-serif;font-size:.86rem;outline:none;transition:border-color .2s,box-shadow .2s;resize:vertical;min-height:80px;width:100%;}
.field textarea::placeholder{color:var(--txt3);}
.field textarea:focus{border-color:rgba(80,130,255,.6);box-shadow:0 0 0 3px rgba(40,80,255,.12);}
.fconsent{display:flex;align-items:flex-start;gap:.75rem;margin-top:.4rem;}
.fconsent input[type="checkbox"]{width:16px;height:16px;flex-shrink:0;margin-top:2px;accent-color:var(--brand-l);cursor:none;}
.fconsent label{font-size:.75rem;line-height:1.6;color:var(--txt2);}
.fconsent-hint{display:block;font-size:.68rem;color:var(--txt3);margin-top:.2rem;}
.fconsent-hint a{color:rgba(100,150,255,.9);text-decoration:none;}
.fconsent-hint a:hover{text-decoration:underline;}
.form-msg{display:none;margin-top:1.1rem;padding:.85rem 1rem;border-radius:10px;font-size:.82rem;font-weight:500;}
.form-success{background:rgba(40,180,100,.1);border:1px solid rgba(40,180,100,.3);color:rgba(80,220,130,.9);}
.form-error{background:rgba(200,60,60,.1);border:1px solid rgba(200,60,60,.3);color:rgba(255,110,110,.9);}
[data-theme="light"] .form-success{color:rgba(20,140,70,.9);}
[data-theme="light"] .form-error{color:rgba(180,40,40,.9);}

#prog{position:fixed;top:68px;left:0;height:2px;background:linear-gradient(90deg,var(--brand-l),rgba(150,180,255,.8));z-index:900;width:0%;transition:width .05s linear;}

.wipe-in{
  position:relative;overflow:hidden;
}
.wipe-in::after{
  content:'';
  position:absolute;inset:0;
  background:var(--ink);
  transform:scaleX(1);
  transform-origin:left;
  transition:transform .9s cubic-bezier(.77,0,.18,1);
  z-index:3;pointer-events:none;
}
.wipe-in.wiped::after{transform:scaleX(0);transform-origin:right;}

.para-num{
  position:absolute;font-family:'Barlow Condensed',sans-serif;font-weight:900;
  -webkit-text-stroke:1px rgba(10,26,130,.08);color:transparent;
  pointer-events:none;user-select:none;will-change:transform;
}

.sessions-section{padding:clamp(4rem,8vw,8rem) 5vw;background:var(--ink2);transition:background .4s;}
.sessions-header{margin-bottom:2.8rem;}
.sessions-header .sec-title{margin-bottom:.6rem;}
.sessions-header-sub{font-size:.93rem;line-height:1.75;font-weight:300;color:var(--txt2);max-width:500px;}
.sessions-list{display:flex;flex-direction:column;gap:1rem;}
.session-card{display:grid;grid-template-columns:280px 1fr;background:var(--card);border:1px solid var(--border);border-radius:16px;margin-top:0;overflow:hidden;opacity:0;transform:translateX(-24px);transition:opacity .65s ease,transform .65s ease,background .3s,border-color .3s;}
.session-card:first-child{border-radius:16px;}
.session-card:last-child{border-radius:16px;}
.session-card.in-view{opacity:1;transform:translateX(0);}
.session-card:nth-child(2){transition-delay:.12s;}
.session-card:nth-child(3){transition-delay:.24s;}
.session-card:hover{background:var(--cardh);border-color:rgba(80,130,255,.35);z-index:1;position:relative;}
.session-head{padding:2rem;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;gap:.5rem;position:relative;overflow:hidden;}
.session-head::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--brand),var(--brand-l));}
.session-head strong{font-family:'Barlow Condensed',sans-serif;font-size:1.3rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:var(--txt);line-height:1;}
.session-time{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-l);display:flex;align-items:center;gap:6px;}
.session-time svg{flex-shrink:0;opacity:.8;}
.session-body{padding:1.8rem 2rem;display:flex;flex-direction:column;justify-content:center;gap:1rem;}
.session-desc{font-size:.88rem;line-height:1.72;color:var(--txt2);font-weight:300;}
.pill-row{display:flex;gap:.5rem;flex-wrap:wrap;}
.pill{display:inline-block;padding:.28rem .75rem;background:rgba(80,130,255,.35);border:1px solid var(--border);border-radius:100px;font-size:.63rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,0,0);transition:border-color .2s,background .2s;}
.session-card:hover .pill{border-color:rgba(80,130,255,.4);}

@media(max-width:960px){
  .desk-nav{display:none;}
  .hamb{display:flex;}
  .about{grid-template-columns:1fr;}
  .form-wrap{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;gap:2.5rem;}
  .scrl-cue{display:none;}
  .feat-scroll-track{padding-bottom:1.5rem;}
  .session-card{grid-template-columns:1fr;}
  .session-head{border-right:none;border-bottom:1px solid var(--border);}
  .chips-container{grid-template-columns:1fr;}
}
@media(max-width:540px){
  .frow{grid-template-columns:1fr;}
  .foot-bot{flex-direction:column;text-align:center;}
  .chips-container{grid-template-columns:1fr;}
}

[data-theme="dark"] .team-card li {
    color: #D4AF37;
}
/* ══════════════════════════════════════════════
   ABOUT PAGE — HERO
══════════════════════════════════════════════ */
.page-hero {
  min-height:90vh;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:0 5vw clamp(4rem,8vh,8rem);
  padding-top:68px;
  position:relative; overflow:hidden;
}
.page-hero .b1 { top:-15%; left:-12%; background:rgba(10,26,130,.28); }
.page-hero .b2 { bottom:-5%; right:-8%; background:rgba(40,80,200,.13); }
[data-theme="light"] .page-hero .b1 { background:rgba(10,26,130,.07); }
[data-theme="light"] .page-hero .b2 { background:rgba(40,80,200,.07); }
.page-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  padding:.4rem .92rem; background:var(--card); border:1px solid var(--border); border-radius:100px;
  font-size:.67rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(100,150,255,.9); margin-bottom:1.8rem; position:relative; z-index:2;
  animation:fuA .7s .1s both;
}
.page-title {
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(4.5rem,13vw,14rem); font-weight:900; line-height:.82;
  letter-spacing:-.02em; text-transform:uppercase; position:relative; z-index:2;
}
.page-title .hol { -webkit-text-stroke:2px var(--txt); color:transparent; display:block; animation:fuA .8s .15s both; }
[data-theme="light"] .page-title .hol { -webkit-text-stroke:2px var(--brand); }
.page-title .bl { color:var(--brand-l); display:block; animation:fuA .8s .3s both; }
.page-hero-sub {
  max-width:560px; font-size:.97rem; line-height:1.75; font-weight:300;
  color:var(--txt2); margin-top:1.8rem; position:relative; z-index:2;
  animation:fuA .8s .48s both;
}

/* ═══════════════════════════════════════
   WORD REVEAL SECTIONS
   Full-height panels. Words are wrapped in
   <span class="w"> by JS and each gets a
   CSS custom property --i (word index).
   A CSS counter-based opacity transition
   fires when the section has .active added.
═══════════════════════════════════════ */
.reveal-section {
  min-height: 100vh;
  display: flex; flex-direction: column; justify-content: center;
  padding: clamp(6rem,12vh,12rem) 5vw;
  position: relative; overflow: hidden;
}
.reveal-section.dark-bg  { background: var(--ink); }
.reveal-section.mid-bg   { background: var(--ink2); }

/* Diagonal stripe texture */
.reveal-section::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(
    -60deg,
    transparent 0px, transparent 40px,
    rgba(10,26,130,.018) 40px, rgba(10,26,130,.018) 42px
  );
}
[data-theme="light"] .reveal-section::before {
  background: repeating-linear-gradient(-60deg,transparent 0,transparent 40px,rgba(10,26,130,.04) 40px,rgba(10,26,130,.04) 42px);
}

/* Section number — slides in from right */
.sec-num {
  position: absolute; right: 3vw; top: 50%; transform: translateY(-50%) translateX(40px);
  font-family:'Barlow Condensed',sans-serif; font-size: min(24vw,260px); font-weight:900;
  -webkit-text-stroke: 1px var(--border); color:transparent;
  pointer-events:none; user-select:none; line-height:1;
  opacity:0; transition: opacity .9s ease, transform .9s ease;
}
.reveal-section.active .sec-num { opacity:1; transform:translateY(-50%) translateX(0); }

/* Section label */
.sec-lbl {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.64rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase;
  color:rgba(24, 57, 130, 0.85); margin-bottom:1.4rem;
  opacity:0; transform:translateX(-16px);
  transition: opacity .6s .1s ease, transform .6s .1s ease;
  position: relative; z-index:2;
}
.sec-lbl::before { content:''; display:inline-block; width:16px; height:2px; background:rgba(100,150,255,.85); border-radius:2px; }
.reveal-section.active .sec-lbl { opacity:1; transform:translateX(0); }

/* The large reveal paragraph */
.reveal-text {
  font-family:'Barlow Condensed',sans-serif;
  font-size: clamp(2rem,4.8vw,4.8rem);
  font-weight: 700; line-height: 1.08; letter-spacing:-.01em;
  max-width: 1000px;
  position: relative; z-index:2;
}
/* Each word span injected by JS */
.reveal-text .w {
  display: inline-block;
  color: var(--word-bg, rgba(200,210,255,.1));
  transition: color .35s calc(var(--i, 0) * 18ms) ease,
              opacity .35s calc(var(--i, 0) * 18ms) ease;
  white-space: pre-wrap;
}
.reveal-section.active .reveal-text .w {
  color: var(--word-fg, rgba(141, 150, 192, 0.92));
}
/* Colour variant overrides per section */
.reveal-section[data-gold] .reveal-text .w { --word-fg: var(--gold); }

/* Highlighted words inside text never dim */
.reveal-text .hl-blue { color: var(--brand-l) !important; }
.reveal-text .hl-white { color: var(--txt) !important; }
.reveal-text .hl-gold  { color: var(--gold) !important; }

/* Section CTA */
.sec-cta {
  margin-top: 3rem; display:flex; gap:1rem; flex-wrap:wrap;
  opacity:0; transform:translateY(14px);
  transition: opacity .6s .5s ease, transform .6s .5s ease;
  position:relative; z-index:2;
}
.reveal-section.active .sec-cta { opacity:1; transform:translateY(0); }

/* Left accent bar animates in */
.reveal-section::after {
  content:''; position:absolute; left:0; top:10%; bottom:10%; width:2px;
  background: linear-gradient(to bottom, transparent, var(--brand-l), transparent);
  transform: scaleY(0); transform-origin: top;
  transition: transform 1s .2s ease;
}
.reveal-section.active::after { transform: scaleY(1); }

/* Buttons */
.bp { display:inline-flex; align-items:center; gap:9px; padding:.84rem 1.9rem; background:linear-gradient(135deg,var(--brand),var(--brand-m)); color:#fff; font-family:'Plus Jakarta Sans',sans-serif; font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; border:none; border-radius:12px; cursor:none; transition:all .26s; box-shadow:0 7px 26px var(--shadow); position:relative; overflow:hidden; }
.bp::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,var(--brand-l),rgba(130,160,255,.7)); opacity:0; transition:opacity .3s; }
.bp:hover::before { opacity:1; } .bp:hover { transform:translateY(-2px); box-shadow:0 13px 38px var(--shadow); }
.bp span,.bp svg { position:relative; z-index:1; }
.bs { display:inline-flex; align-items:center; gap:9px; padding:.84rem 1.9rem; background:transparent; border:1.5px solid var(--borders); color:var(--txt); font-family:'Plus Jakarta Sans',sans-serif; font-size:.8rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; border-radius:12px; cursor:none; transition:all .26s; }
.bs:hover { background:var(--card); border-color:rgba(100,140,255,.65); color:rgba(150,190,255,.9); transform:translateY(-2px); }


/* ═══════════════════════════════════════
   TEAM PHOTO
═══════════════════════════════════════ */
.team-photo-section {
  padding: clamp(5rem,10vw,9rem) 5vw;
  background: var(--ink2);
  display: flex; flex-direction:column; align-items:center; gap:2.5rem;
}
.team-hdr { text-align:center; }
.team-hdr .sec-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(2.5rem,5vw,5.5rem); font-weight:900; line-height:.88; text-transform:uppercase; letter-spacing:-.01em; }
.team-hdr .sec-title .hol { -webkit-text-stroke:2px currentColor; color:transparent; }
.sec-title-lbl { font-size:.64rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:rgba(100,150,255,.85); margin-bottom:1rem; display:flex; align-items:center; justify-content:center; gap:8px; }
.sec-title-lbl::before { content:''; display:inline-block; width:16px; height:2px; background:rgba(100,150,255,.85); border-radius:2px; }

.team-photo-wrap {
  width:100%; max-width:860px; border-radius:22px; overflow:hidden;
  border:1px solid var(--border); position:relative; background:var(--card);
  aspect-ratio:4/3;
}
.team-photo-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.team-photo-wrap:hover img { transform:scale(1.03); }
.team-photo-ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(5,7,26,.8) 0%,transparent 55%); display:flex; align-items:flex-end; padding:2.2rem; }
.team-photo-cap { font-family:'Barlow Condensed',sans-serif; font-size:2rem; font-weight:900; text-transform:uppercase; color:#fff; letter-spacing:.03em; }
.team-photo-ph { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; }
.team-photo-ph svg { opacity:.18; }
.team-photo-ph p { font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; color:var(--txt3); }

/* ═══════════════════════════════════════
   TEAM CARDS
═══════════════════════════════════════ */
.team-section {
  padding: clamp(4rem,8vw,8rem) 5vw;
  background: var(--ink);
}
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3rem; }
.team-card {
  background:var(--card); border:1px solid var(--border); border-radius:20px;
  padding:2.2rem; position:relative; overflow:hidden;
  opacity:0; transform:translateY(36px);
  transition: opacity .7s ease, transform .7s ease, border-color .3s, box-shadow .3s;
}
.team-card.in-view { opacity:1; transform:translateY(0); }
.team-card:nth-child(2) { transition-delay:.12s; }
.team-card:nth-child(3) { transition-delay:.24s; }
.team-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--brand),var(--brand-l)); transform:scaleX(0); transition:transform .35s; transform-origin:left; }
.team-card:hover { border-color:rgba(80,130,255,.4); box-shadow:0 16px 36px var(--shadow); transform:translateY(-5px) !important; }
.team-card:hover::before { transform:scaleX(1); }
.team-card-icon { width:48px; height:48px; border-radius:13px; background:linear-gradient(135deg,var(--brand),var(--brand-m)); display:flex; align-items:center; justify-content:center; margin-bottom:1.4rem; box-shadow:0 4px 16px var(--shadow); transition:transform .3s; }
.team-card:hover .team-card-icon { transform:scale(1.1) rotate(-5deg); }
.team-card h3 { font-family:'Barlow Condensed',sans-serif; font-size:1.3rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; margin-bottom:1.2rem; }
.team-card ul { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.team-card li { font-size:.84rem; color:var(--txt); font-weight:300; display:flex; align-items:center; gap:.6rem; line-height:1.4; }
.team-card li::before { content:''; display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--brand-l); flex-shrink:0; opacity:.7; }
.team-card li strong { color:var(--txt); font-weight:600; }
.level { display:inline-block; padding:.1rem .55rem; background:rgba(10,26,130,.3); border:1px solid var(--border); border-radius:100px; font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--txt); margin-left:.4rem; vertical-align:middle; }

/* ═══════════════════════════════════════
   POLICY SECTION
═══════════════════════════════════════ */
.policy-section {
  padding: clamp(5rem,10vw,9rem) 5vw;
  background: var(--ink2);
  display: flex; flex-direction:column; align-items:center;
  text-align:center; gap:1.5rem;
  position: relative; overflow:hidden;
}
/* Decorative court lines bg */
.policy-section .court-deco {
  position:absolute; inset:0; opacity:.04; pointer-events:none;
}
.policy-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(2.2rem,5vw,5rem); font-weight:900; text-transform:uppercase; line-height:.9; position:relative; z-index:1; }
.policy-sub { font-size:.9rem; color:var(--txt2); max-width:520px; line-height:1.75; font-weight:300; position:relative; z-index:1; }
.policy-btns { display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; margin-top:1rem; position:relative; z-index:1; }

/* entrance for policy + photo */
.fade-up { opacity:0; transform:translateY(36px); transition:opacity .75s ease, transform .75s ease; }
.fade-up.in-view { opacity:1; transform:translateY(0); }


/* ══════════════════════════════════════════════
   ABOUT PAGE — RESPONSIVE
══════════════════════════════════════════════ */
@media(max-width:960px) {
  .team-grid { grid-template-columns:1fr; }
}
@media(max-width:540px) {
  .policy-btns { flex-direction:column; align-items:center; }
}


/* ═══════════════════════════════════════
   MARQUEE
═══════════════════════════════════════ */
.mq-strip::before,.mq-strip::after { content:''; position:absolute; top:0; bottom:0; width:60px; z-index:2; }
.mq-strip::before { left:0; background:linear-gradient(to right,var(--brand),transparent); }
.mq-strip::after  { right:0; background:linear-gradient(to left,var(--brand),transparent); }
.mq-t  { display:flex; white-space:nowrap; animation:mqs 26s linear infinite; }
.mq-i  { display:inline-flex; align-items:center; gap:1.4rem; padding:0 2rem; font-family:'Barlow Condensed',sans-serif; font-size:1.05rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.65); }
.mq-i strong { color:#fff; }
.mq-d  { width:4px; height:4px; background:rgba(255,255,255,.3); border-radius:50%; display:inline-block; }

/* ═══════════════════════════════════════
   SECTION HELPERS
═══════════════════════════════════════ */
.sec-lbl { display:inline-flex; align-items:center; gap:8px; font-size:.64rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:rgba(100,150,255,.85); margin-bottom:1rem; }
.sec-lbl::before { content:''; display:inline-block; width:16px; height:2px; background:rgba(100,150,255,.85); border-radius:2px; }
/* ═══════════════════════════════════════
   MONTH FILTER BAR
═══════════════════════════════════════ */
.filter-section {
  padding: clamp(3rem,5vw,5rem) 5vw 0;
  background: var(--ink2);
  transition: background .4s;
}
.filter-bar {
  display:flex; align-items:center; gap:.6rem;
  flex-wrap:wrap; padding-bottom:2rem;
}
.filter-btn {
  padding:.42rem 1rem;
  background:var(--card); border:1px solid var(--border);
  border-radius:100px; cursor:none;
  font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--txt2); transition:all .22s;
}
.filter-btn:hover { border-color:rgba(80,130,255,.4); color:var(--txt); }
.filter-btn.active { background:linear-gradient(135deg,var(--brand),var(--brand-m)); border-color:transparent; color:#fff; box-shadow:0 4px 14px var(--shadow); }

/* ═══════════════════════════════════════
   CALENDAR GRID
═══════════════════════════════════════ */
.calendar-section {
  padding: 0 5vw clamp(5rem,10vw,9rem);
  background: var(--ink2);
  transition: background .4s;
}
.calendar-grid {
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* Month card */
.month-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:20px; overflow:hidden;
  opacity:0; transform:translateY(28px);
  transition:opacity .65s ease, transform .65s ease, border-color .3s;
}
.month-card.in-view { opacity:1; transform:translateY(0); }
.month-card:hover { border-color:rgba(80,130,255,.35); }

/* Month header */
.month-head {
  padding:1.2rem 1.5rem .9rem;
  border-bottom:1px solid var(--border);
  display:flex; justify-content:space-between; align-items:center;
}
.month-name {
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.4rem; font-weight:900; text-transform:uppercase;
  letter-spacing:.04em; color:var(--txt);
}
.month-count {
  font-size:.62rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--txt3);
  background:var(--card); border:1px solid var(--border);
  padding:.22rem .65rem; border-radius:100px;
}

/* Session grid inside card */
.sat-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:.7rem; padding:1.2rem 1.5rem 1.5rem;
}
.sat-box {
  background:var(--ink); border:1px solid var(--border);
  border-radius:12px; padding:.85rem .9rem;
  display:flex; flex-direction:column; gap:.18rem;
  transition:border-color .25s, background .25s;
  position:relative; overflow:hidden;
}
.sat-box::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,var(--brand),var(--brand-l));
  transform:scaleX(0); transition:transform .3s; transform-origin:left;
}
.sat-box:hover { border-color:rgba(80,130,255,.4); background:var(--cardh); }
.sat-box:hover::before { transform:scaleX(1); }
.sat-box strong { font-size:.88rem; font-weight:700; color:var(--txt); }
.sat-box span   { font-size:.74rem; color:var(--brand-l); font-weight:600; font-family:'Barlow Condensed',sans-serif; letter-spacing:.05em; }
.sat-box small  { font-size:.68rem; color:var(--txt3); font-weight:300; }

/* "Today" highlight on session tile */
.sat-box.today {
  border-color:var(--brand-l);
  background:linear-gradient(135deg,rgba(10,26,130,.28),rgba(26,48,200,.16));
}
.sat-box.today::before { transform:scaleX(1); }
.today-pill {
  display:inline-block; padding:.1rem .45rem;
  background:var(--brand-l); border-radius:100px;
  font-size:.55rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  color:#fff; margin-top:.12rem;
}

/* Past session — dimmed */
.sat-box.past { opacity:.35; }

/* Pending month card */
.month-card--pending { opacity:.5; }
.month-card--pending.in-view { opacity:.55; }
.month-card--pending:hover { opacity:.75; }
.month-note {
  padding:2.2rem 1.5rem;
  display:flex; align-items:center; gap:.8rem;
  font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--txt3);
}
.month-note svg { flex-shrink:0; opacity:.5; }

/* ═══════════════════════════════════════
   VENUE LEGEND
═══════════════════════════════════════ */
.venue-legend {
  padding: clamp(4rem,8vw,7rem) 5vw;
  background: var(--ink);
  transition: background .4s;
}
.venue-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem;
  margin-top:2rem;
}
.venue-card {
  background:var(--card); border:1px solid var(--border); border-radius:16px;
  padding:1.4rem 1.5rem;
  opacity:0; transform:translateY(24px);
  transition:opacity .65s ease, transform .65s ease, border-color .3s;
}
.venue-card.in-view { opacity:1; transform:translateY(0); }
.venue-card:nth-child(2) { transition-delay:.1s; }
.venue-card:nth-child(3) { transition-delay:.2s; }
.venue-card:hover { border-color:rgba(80,130,255,.38); }
.venue-name { font-family:'Barlow Condensed',sans-serif; font-size:1.1rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--txt); margin-bottom:.5rem; display:flex; align-items:center; gap:8px; }
.venue-name svg { color:rgba(100,150,255,.75); flex-shrink:0; }
.venue-detail { font-size:.8rem; color:var(--txt2); font-weight:300; line-height:1.6; }

/* ═══════════════════════════════════════
   UPDATES SECTION
═══════════════════════════════════════ */
.updates-section {
  padding: clamp(4rem,8vw,7rem) 5vw clamp(5rem,10vw,9rem);
  background: var(--ink2);
  transition: background .4s;
}
.updates-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:2.5rem;
}
.update-card {
  background:var(--card); border:1px solid var(--border); border-radius:20px;
  padding:2rem;
  opacity:0; transform:translateY(24px);
  transition:opacity .65s ease, transform .65s ease, border-color .3s, box-shadow .3s;
  position:relative; overflow:hidden;
}
.update-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--brand),var(--brand-l)); transform:scaleX(0); transition:transform .35s; transform-origin:left; }
.update-card.in-view { opacity:1; transform:translateY(0); }
.update-card:nth-child(2) { transition-delay:.12s; }
.update-card:hover { border-color:rgba(80,130,255,.38); box-shadow:0 12px 32px var(--shadow); }
.update-card:hover::before { transform:scaleX(1); }
.update-badge {
  display:inline-flex; align-items:center; gap:6px;
  padding:.3rem .85rem; border-radius:100px;
  font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  margin-bottom:1.2rem;
}
.badge-event  { background:rgba(240,192,96,.1); border:1px solid rgba(240,192,96,.28); color:var(--gold); }
.badge-sched  { background:rgba(10,26,130,.2); border:1px solid var(--border); color:rgba(120,160,255,.9); }
.update-title { font-family:'Barlow Condensed',sans-serif; font-size:1.5rem; font-weight:900; text-transform:uppercase; letter-spacing:.03em; margin-bottom:.7rem; }
.update-body  { font-size:.86rem; color:var(--txt2); font-weight:300; line-height:1.72; }

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media(max-width:1100px) {
  .calendar-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:960px) {
  .desk-nav { display:none; }
  .hamb { display:flex; }
  .calendar-grid { grid-template-columns:1fr 1fr; }
  .venue-grid { grid-template-columns:1fr; }
  .updates-grid { grid-template-columns:1fr; }
  .foot-grid { grid-template-columns:1fr; gap:2.5rem; }
}
@media(max-width:600px) {
  .calendar-grid { grid-template-columns:1fr; }
  .sat-grid { grid-template-columns:1fr; }
  .foot-bot { flex-direction:column; text-align:center; }
}

/* ═══════════════════════════════════════
   FADE-UP GENERIC
═══════════════════════════════════════ */
.fade-up { opacity:0; transform:translateY(28px); transition:opacity .7s ease,transform .7s ease; }
.fade-up.in-view { opacity:1; transform:translateY(0); }


/* ═══════════════════════════════════════
   PAGE HERO
═══════════════════════════════════════ */
.page-hero {
  min-height: 80vh;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:0 5vw clamp(4rem,8vh,8rem); padding-top:68px;
  position:relative; overflow:hidden;
}

.article-meta { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; margin-top:2rem; position:relative; z-index:2; animation:fuA .8s .45s both; }
.meta-pill { display:inline-flex; align-items:center; gap:7px; padding:.42rem 1rem; border-radius:100px; font-size:.68rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; background:var(--card); border:1px solid var(--border); color:var(--txt2); }
.meta-pill svg { flex-shrink:0; opacity:.7; }
.meta-pill.gold { border-color:rgba(240,192,96,.35); color:var(--gold); background:rgba(240,192,96,.06); }
.meta-pill.blue { border-color:var(--borders); color:rgba(120,160,255,.9); background:rgba(10,26,130,.2); }

/* ═══════════════════════════════════════
   MARQUEE (top-level, outside year cards)
═══════════════════════════════════════ */
.mq-strip::before,.mq-strip::after { content:''; position:absolute; top:0; bottom:0; width:60px; z-index:2; }
.mq-strip::before { left:0; background:linear-gradient(to right,var(--brand),transparent); }
.mq-strip::after  { right:0; background:linear-gradient(to left,var(--brand),transparent); }
.mq-t  { display:flex; white-space:nowrap; animation:mqs 26s linear infinite; }
.mq-i  { display:inline-flex; align-items:center; gap:1.4rem; padding:0 2rem; font-family:'Barlow Condensed',sans-serif; font-size:1.05rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.65); }
.mq-i strong { color:#fff; }
.mq-d  { width:4px; height:4px; background:rgba(255,255,255,.3); border-radius:50%; display:inline-block; }

/* ═══════════════════════════════════════
   RESULTS BANNER
═══════════════════════════════════════ */
.results-banner { background:linear-gradient(135deg,var(--brand),var(--brand-m)); padding:1.4rem 5vw; display:grid; grid-template-columns:1fr 1px 1fr 1px 1fr 1px 1fr; align-items:center; gap:0; box-shadow:0 4px 30px rgba(10,26,130,.4); overflow:hidden; position:relative; }
.results-banner::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(-55deg,transparent 0,transparent 28px,rgba(255,255,255,.03) 28px,rgba(255,255,255,.03) 30px); }
.res-item { text-align:center; position:relative; z-index:1; padding:.4rem 1rem; }
.res-num  { font-family:'Barlow Condensed',sans-serif; font-size:clamp(2rem,4vw,3.2rem); font-weight:900; color:#fff; line-height:1; }
.res-lbl  { font-size:.6rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-top:.2rem; }
.res-div  { width:1px; height:44px; background:rgba(255,255,255,.15); }
.res-item.gold   .res-num { color:var(--gold); }
.res-item.silver .res-num { color:rgba(200,215,240,.9); }

/* ═══════════════════════════════════════
   ARTICLE LAYOUT
═══════════════════════════════════════ */
.article-wrap { display:grid; grid-template-columns:1fr 340px; gap:5vw; padding:clamp(4rem,8vw,8rem) 5vw; align-items:start; }
.article-body { min-width:0; }
.article-lead { font-family:'Barlow Condensed',sans-serif; font-size:clamp(1.6rem,3.5vw,3rem); font-weight:700; line-height:1.12; color:var(--txt); margin-bottom:2.5rem; opacity:0; transform:translateY(24px); transition:opacity .75s ease,transform .75s ease; }
.article-lead.in-view { opacity:1; transform:translateY(0); }
.article-p { font-size:.96rem; line-height:1.85; font-weight:300; color:var(--txt2); margin-bottom:1.4rem; opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .65s ease; }
.article-p.in-view { opacity:1; transform:translateY(0); }
.article-p strong { color:var(--txt); font-weight:600; }
.pull-quote { border-left:3px solid var(--brand-l); padding:1.4rem 1.8rem; margin:2.5rem 0; background:var(--card); border-radius:0 12px 12px 0; opacity:0; transform:translateX(-16px); transition:opacity .7s ease,transform .7s ease; }
.pull-quote.in-view { opacity:1; transform:translateX(0); }
.pull-quote p { font-family:'Barlow Condensed',sans-serif; font-size:clamp(1.3rem,2.8vw,2rem); font-weight:700; line-height:1.2; color:var(--txt); }
.pull-quote cite { display:block; margin-top:.6rem; font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(100,150,255,.8); font-style:normal; }
.a-divider { width:100%; height:1px; background:var(--border); margin:2.5rem 0; }
.score-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:2rem 0; }
.score-card { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:1.5rem; display:flex; flex-direction:column; gap:.5rem; opacity:0; transform:translateY(20px); transition:opacity .65s ease,transform .65s ease,border-color .3s; }
.score-card.in-view { opacity:1; transform:translateY(0); }
.score-card:hover { border-color:rgba(80,130,255,.4); }
.score-card:nth-child(2) { transition-delay:.12s; }
.score-card-label { font-size:.62rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--txt3); }
.score-card-team  { font-family:'Barlow Condensed',sans-serif; font-size:1.4rem; font-weight:900; text-transform:uppercase; color:var(--txt); }
.score-card-badge { display:inline-flex; align-items:center; gap:6px; padding:.3rem .8rem; border-radius:100px; font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; width:fit-content; }
.badge-gold   { background:rgba(240,192,96,.15); border:1px solid rgba(240,192,96,.35); color:var(--gold); }
.badge-silver { background:rgba(180,200,230,.1); border:1px solid rgba(180,200,230,.25); color:rgba(110,116,125,.9); }
.score-card-scores { font-size:.85rem; color:var(--txt2); font-weight:300; }
.score-card-scores span { color:var(--brand-l); font-weight:600; }

/* Sidebar */
.article-sidebar { position:sticky; top:88px; display:flex; flex-direction:column; gap:1.2rem; }
.sidebar-card { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:1.5rem; opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.sidebar-card.in-view { opacity:1; transform:translateY(0); }
.sidebar-card:nth-child(2) { transition-delay:.1s; }
.sidebar-card:nth-child(3) { transition-delay:.2s; }
.sidebar-card-title { font-family:'Barlow Condensed',sans-serif; font-size:1rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; margin-bottom:1rem; display:flex; align-items:center; gap:8px; }
.sidebar-card-title svg { color:rgba(100,150,255,.8); flex-shrink:0; }
.result-list { display:flex; flex-direction:column; gap:.7rem; }
.result-row  { display:flex; justify-content:space-between; align-items:center; padding:.6rem .8rem; background:rgba(10,26,130,.1); border-radius:8px; border:1px solid var(--border); }
.result-vs   { font-size:.78rem; font-weight:500; color:var(--txt2); }
.result-score{ font-family:'Barlow Condensed',sans-serif; font-size:1.1rem; font-weight:800; color:var(--brand-l); }
.participant-list { display:flex; flex-direction:column; gap:.5rem; }
.participant-row  { display:flex; align-items:center; gap:.7rem; font-size:.82rem; color:var(--txt2); font-weight:300; }
.participant-dot  { width:6px; height:6px; border-radius:50%; background:var(--brand-l); flex-shrink:0; opacity:.7; }
.fact-list { display:flex; flex-direction:column; gap:.65rem; }
.fact-row  { display:flex; gap:.8rem; align-items:flex-start; font-size:.82rem; color:var(--txt2); font-weight:300; line-height:1.5; }
.fact-row svg { flex-shrink:0; margin-top:2px; opacity:.65; }

/* ═══════════════════════════════════════
   PHOTO SECTION
═══════════════════════════════════════ */
.photos-section { padding:0 5vw clamp(4rem,8vw,8rem); display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.photo-card { border-radius:20px; overflow:hidden; border:1px solid var(--border); background:var(--card); position:relative; aspect-ratio:4/3; opacity:0; transform:translateY(30px); transition:opacity .7s ease,transform .7s ease,border-color .3s; }
.photo-card.in-view { opacity:1; transform:translateY(0); }
.photo-card:nth-child(2) { transition-delay:.15s; }
.photo-card:hover { border-color:rgba(80,130,255,.4); }
.photo-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.photo-card:hover img { transform:scale(1.04); }
.photo-card-ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(5,7,26,.8) 0%,transparent 55%); display:flex; align-items:flex-end; padding:1.6rem; }
.photo-card-cap { display:flex; flex-direction:column; gap:.3rem; }
.photo-cap-lbl  { font-size:.6rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,1); display:flex; align-items:center; gap:5px; }
.photo-cap-title { font-family:'Barlow Condensed',sans-serif; font-size:1.5rem; font-weight:800; text-transform:uppercase; color:#fff; line-height:1.1; }
.photo-ph { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.8rem; }
.photo-ph svg { opacity:.18; }
.photo-ph p { font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; color:var(--txt3); }

/* ═══════════════════════════════════════
   BACK LINK
═══════════════════════════════════════ */
.back-link { display:inline-flex; align-items:center; gap:8px; font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--txt2); text-decoration:none; padding:.5rem 1rem; border:1px solid var(--border); border-radius:100px; background:var(--card); cursor:none; transition:all .25s; margin:0 5vw; display:flex; width:fit-content; margin-top:calc(68px + 2rem); position:relative; z-index:2; opacity:0; animation:fuA .6s .6s both; }
.back-link:hover { border-color:rgba(80,130,255,.45); color:rgba(130,180,255,.9); transform:translateX(-3px); }

/* ═══════════════════════════════════════════════════════════
   NEWS CARD COMPONENTS — scoped with .nc- prefix so they
   never collide with the base styles above
═══════════════════════════════════════════════════════════ */

  /* Design tokens (mirrors the news page, auto-adapts to any
     light/dark class already on <html> or <body>) */
  .nc-wrap {
    --nc-brand:   #0a1a82;
    --nc-brand-m: #1630c8;
    --nc-brand-l: #2a44e8;
    --nc-gold:    #de9c19;
    --nc-card:    rgba(10,26,130,.07);
    --nc-cardh:   rgba(10,26,130,.14);
    --nc-border:  rgba(10,26,130,.13);
    --nc-borders: rgba(10,26,130,.3);
    --nc-txt:     #08091e;
    --nc-txt2:    rgba(30,40,100,.7);
    --nc-txt3:    rgba(30,40,100,.42);
    --nc-bg:      #f0f2ff;

    font-family: 'Plus Jakarta Sans', sans-serif;
    margin-top: 1.5rem;
    border-top: 1px solid var(--nc-border);
    overflow: hidden;
    border-radius: 0 0 16px 16px;
  }

  /* ── Eyebrow pill ── */
  .nc-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    padding: .38rem .9rem;
    background: var(--nc-card); border: 1px solid var(--nc-border);
    border-radius: 100px;
    font-size: .65rem; font-weight: 700; letter-spacing: .22em;
    text-transform: uppercase; color: rgba(40,80,220,.85);
    margin: 1.4rem 0 .8rem;
  }
  .nc-eyebrow .nc-pdot {
    width: 6px; height: 6px; border-radius: 50%;
    background: rgba(80,130,255,.9);
    animation: ncPd 2.2s infinite;
  }
  @keyframes ncPd {
    0%,100%{ box-shadow:0 0 0 0 rgba(80,130,255,.6); }
    60%     { box-shadow:0 0 0 5px rgba(80,130,255,0); }
  }

  /* ── Meta pills row ── */
  .nc-meta { display:flex; align-items:center; gap:.9rem; flex-wrap:wrap; margin-bottom:1.4rem; }
  .nc-pill {
    display: inline-flex; align-items: center; gap: 6px;
    padding: .38rem .9rem; border-radius: 100px;
    font-size: .66rem; font-weight: 600; letter-spacing: .12em;
    text-transform: uppercase;
    background: var(--nc-card); border: 1px solid var(--nc-border);
    color: var(--nc-txt2);
  }
  .nc-pill.gold   { border-color:rgba(222,156,25,.35); color:var(--nc-gold); background:rgba(222,156,25,.06); }
  .nc-pill.blue   { border-color:var(--nc-borders); color:rgba(40,90,240,.9); background:rgba(10,26,130,.1); }
  .nc-pill svg { flex-shrink:0; opacity:.75; }

  /* ── Marquee strip ── */
  .nc-mq {
    overflow: hidden;
    background: var(--nc-brand);
    padding: .75rem 0;
    position: relative;
    margin: 1rem 0;
    border-radius: 10px;
  }
  .nc-mq::before,.nc-mq::after {
    content:''; position:absolute; top:0; bottom:0; width:40px; z-index:2;
  }
  .nc-mq::before { left:0;  background:linear-gradient(to right, var(--nc-brand),transparent); }
  .nc-mq::after  { right:0; background:linear-gradient(to left,  var(--nc-brand),transparent); }
  .nc-mq-t { display:flex; white-space:nowrap; animation:ncMq 22s linear infinite; }
  .nc-mq-i {
    display: inline-flex; align-items: center; gap: 1.2rem; padding: 0 1.6rem;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: .95rem; font-weight: 700; letter-spacing: .14em;
    text-transform: uppercase; color: rgba(255,255,255,.65);
  }
  .nc-mq-i strong { color:#fff; }
  .nc-mq-d { width:4px;height:4px;background:rgba(255,255,255,.3);border-radius:50%;display:inline-block; }
  @keyframes ncMq { from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* ── Results banner ── */
  .nc-banner {
    background: linear-gradient(135deg, var(--nc-brand), var(--nc-brand-m));
    border-radius: 12px;
    padding: 1.2rem 1.4rem;
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr 1px 1fr;
    align-items: center;
    gap: 0;
    margin: 1.2rem 0;
    position: relative; overflow: hidden;
    box-shadow: 0 4px 24px rgba(10,26,130,.25);
  }
  .nc-banner::before {
    content:''; position:absolute; inset:0;
    background:repeating-linear-gradient(-55deg,transparent 0,transparent 22px,rgba(255,255,255,.03) 22px,rgba(255,255,255,.03) 24px);
  }
  .nc-res-item { text-align:center; position:relative; z-index:1; padding:.3rem .6rem; }
  .nc-res-num  { font-family:'Barlow Condensed',sans-serif; font-size:clamp(1.4rem,2.8vw,2.2rem); font-weight:900; color:#fff; line-height:1; }
  .nc-res-lbl  { font-size:.57rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-top:.18rem; }
  .nc-res-div  { width:1px; height:36px; background:rgba(255,255,255,.15); }
  .nc-res-item.gold   .nc-res-num { color:var(--nc-gold); }
  .nc-res-item.silver .nc-res-num { color:rgba(200,215,240,.9); }

  /* ── Article layout ── */
  .nc-article {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 2.5rem;
    margin: 1.6rem 0;
    align-items: start;
  }
  .nc-body { min-width:0; }

  /* Lead */
  .nc-lead {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(1.3rem, 2.8vw, 2rem);
    font-weight: 700; line-height: 1.14;
    color: var(--nc-txt);
    margin-bottom: 1.4rem;
  }

  /* Paragraphs */
  .nc-p {
    font-size: .9rem; line-height: 1.82; font-weight: 300;
    color: var(--nc-txt2); margin-bottom: 1.1rem;
  }
  .nc-p strong { color:var(--nc-txt); font-weight:600; }

  /* Pull quote */
  .nc-quote {
    border-left: 3px solid var(--nc-brand-l);
    padding: 1.1rem 1.5rem;
    margin: 1.8rem 0;
    background: var(--nc-card);
    border-radius: 0 10px 10px 0;
  }
  .nc-quote p {
    font-family:'Barlow Condensed',sans-serif;
    font-size: clamp(1.1rem,2.2vw,1.55rem);
    font-weight:700; line-height:1.22; color:var(--nc-txt);
  }
  .nc-quote cite {
    display:block; margin-top:.5rem;
    font-size:.68rem; font-weight:600; letter-spacing:.14em;
    text-transform:uppercase; color:rgba(40,90,240,.8); font-style:normal;
  }

  /* Divider */
  .nc-divider { width:100%; height:1px; background:var(--nc-border); margin:1.8rem 0; }

  /* Score grid */
  .nc-score-grid { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; margin:1.4rem 0; }
  .nc-score-card {
    background:var(--nc-card); border:1px solid var(--nc-border);
    border-radius:14px; padding:1.2rem;
    display:flex; flex-direction:column; gap:.45rem;
    transition:border-color .25s;
  }
  .nc-score-card:hover { border-color:rgba(40,90,240,.3); }
  .nc-sc-label  { font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--nc-txt3); }
  .nc-sc-team   { font-family:'Barlow Condensed',sans-serif;font-size:1.25rem;font-weight:900;text-transform:uppercase;color:var(--nc-txt); }
  .nc-sc-badge  { display:inline-flex;align-items:center;gap:5px;padding:.25rem .7rem;border-radius:100px;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;width:fit-content; }
  .nc-badge-gold   { background:rgba(222,156,25,.12);border:1px solid rgba(222,156,25,.3);color:var(--nc-gold); }
  .nc-badge-silver { background:rgba(180,200,230,.08);border:1px solid rgba(180,200,230,.22);color:rgba(100,110,130,.85); }
  .nc-sc-scores { font-size:.82rem;color:var(--nc-txt2);font-weight:300; }
  .nc-sc-scores span { color:var(--nc-brand-l);font-weight:600; }

  /* ── Sidebar ── */
  .nc-sidebar { display:flex;flex-direction:column;gap:1rem;position:sticky;top:88px; }
  .nc-scard {
    background:var(--nc-card); border:1px solid var(--nc-border);
    border-radius:14px; padding:1.3rem;
  }
  .nc-scard-title {
    font-family:'Barlow Condensed',sans-serif;
    font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
    margin-bottom:.85rem; display:flex;align-items:center;gap:7px; color:var(--nc-txt);
  }
  .nc-scard-title svg { color:rgba(40,90,240,.75);flex-shrink:0; }

  /* Result list */
  .nc-rlist { display:flex;flex-direction:column;gap:.55rem; }
  .nc-rrow  { display:flex;justify-content:space-between;align-items:center;padding:.5rem .7rem;background:rgba(10,26,130,.06);border-radius:7px;border:1px solid var(--nc-border); }
  .nc-rvs   { font-size:.76rem;font-weight:500;color:var(--nc-txt2); }
  .nc-rscore{ font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:800;color:var(--nc-brand-l); }

  /* Participants */
  .nc-plist { display:flex;flex-direction:column;gap:.45rem; }
  .nc-prow  { display:flex;align-items:center;gap:.65rem;font-size:.8rem;color:var(--nc-txt2);font-weight:300; }
  .nc-pdot2 { width:6px;height:6px;border-radius:50%;background:var(--nc-brand-l);flex-shrink:0;opacity:.7; }

  /* Fact list */
  .nc-flist { display:flex;flex-direction:column;gap:.58rem; }
  .nc-frow  { display:flex;gap:.75rem;align-items:flex-start;font-size:.8rem;color:var(--nc-txt2);font-weight:300;line-height:1.5; }
  .nc-frow svg { flex-shrink:0;margin-top:2px;opacity:.6; }

  /* ── Photo cards ── */
  .nc-photos { display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:1.4rem 0; }
  .nc-photo {
    border-radius:16px;overflow:hidden;border:1px solid var(--nc-border);
    background:var(--nc-card);position:relative;aspect-ratio:4/3;
    transition:border-color .3s;
  }
  .nc-photo:hover { border-color:rgba(40,90,240,.35); }
  .nc-photo img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease; }
  .nc-photo:hover img { transform:scale(1.04); }
  .nc-photo-ov {
    position:absolute;inset:0;
    background:linear-gradient(to top,rgba(5,7,26,.78) 0%,transparent 55%);
    display:flex;align-items:flex-end;padding:1.3rem;
  }
  .nc-photo-cap { display:flex;flex-direction:column;gap:.25rem; }
  .nc-cap-lbl   { font-size:.58rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.85);display:flex;align-items:center;gap:4px; }
  .nc-cap-title { font-family:'Barlow Condensed',sans-serif;font-size:1.35rem;font-weight:800;text-transform:uppercase;color:#fff;line-height:1.1; }
  .nc-photo-ph  { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem; }
  .nc-photo-ph svg { opacity:.14; }
  .nc-photo-ph p { font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--nc-txt3); }

  /* ── "No article yet" placeholder ── */
  .nc-placeholder {
    text-align:center;padding:2.5rem 1rem;color:var(--nc-txt3);
    font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;
  }

  /* ── Responsive ── */
  @media(max-width:900px){
    .nc-article { grid-template-columns:1fr; }
    .nc-sidebar  { position:static; }
    .nc-banner   { grid-template-columns:1fr 1fr; }
    .nc-res-div  { display:none; }
  }
  @media(max-width:540px){
    .nc-score-grid { grid-template-columns:1fr; }
    .nc-photos     { grid-template-columns:1fr; }
  }
  
  /* ═══════════════════════════════════════════════════════════
   NEWS — YEAR CARDS & RESULTS
═══════════════════════════════════════════════════════════ */

.container {
  padding: 0 5vw;
}

.club-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
}

.club-radio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: .42rem 1rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 100px;
  font-size: .75rem;
  color: var(--txt2);
  font-weight: 500;
}

.radio-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--brand-l);
  opacity: .75;
}


/* ─────────────────────────────────────────────────────────
   SECTION TITLE
───────────────────────────────────────────────────────── */

.section-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin: 3.5rem 0 1.4rem;
}

.section-title h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 900;
  text-transform: uppercase;
  color: var(--txt);
}

.section-title p {
  font-size: .78rem;
  color: var(--txt2);
  margin-top: .3rem;
}


/* ─────────────────────────────────────────────────────────
   YEAR CARDS
───────────────────────────────────────────────────────── */

.year-grid {
  display: flex;
  flex-direction: column;
  gap: .7rem;
  margin-bottom: 4rem;
}

.year-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color .25s;
}

.year-card:hover,
.year-card[open] {
  border-color: var(--borders);
}

.year-summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 1.4rem;
  cursor: pointer;
  user-select: none;
}

.year-summary::-webkit-details-marker {
  display: none;
}

.year-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.55rem;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--txt);
  min-width: 4rem;
}

.year-badge {
  margin-left: auto;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: .3rem .75rem;
  border-radius: 100px;
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--txt3);
}

.year-card[open] .year-badge {
  border-color: var(--brand-l);
  color: var(--brand-l);
}


/* ─────────────────────────────────────────────────────────
   NEWS BUTTONS
───────────────────────────────────────────────────────── */

.btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: .38rem .85rem;
  border-radius: 100px;
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--txt2);
  transition: all .22s;
  cursor: pointer;
}

.btn:hover {
  border-color: var(--borders);
  color: var(--txt);
}

.btn-photo .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(100, 160, 255, .8);
}

.btn-results {
  gap: 5px;
}

.pdf-ico {
  flex-shrink: 0;
}


/* ─────────────────────────────────────────────────────────
   YEAR CONTENT
───────────────────────────────────────────────────────── */

.year-body {
  padding: 0 1.4rem 1.4rem;
  border-top: 1px solid var(--border);
}

.year-row {
  margin: 1rem 0;
}

.year-row-head,
.year-row-body {
  display: flex;
  justify-content: space-between;
}

.label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--txt3);
  padding: .3rem 0;
}

.label-right,
.value-right {
  text-align: right;
}

.value {
  font-size: .82rem;
  color: var(--txt2);
  padding: .2rem 0;
  font-weight: 300;
}


/* ─────────────────────────────────────────────────────────
   RESULT CARDS
───────────────────────────────────────────────────────── */

.year-results-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .9rem;
  margin-top: .8rem;
}

.year-result-card {
  background: rgba(10, 26, 130, .08);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1.1rem;
}

.result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .7rem;
}

.result-head h4 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--txt);
}

.year-result-card p {
  font-size: .8rem;
  color: var(--txt2);
  line-height: 1.6;
  font-weight: 300;
}

.year-result-card p strong {
  color: var(--txt);
  font-weight: 600;
}


/* ═══════════════════════════════════════════════════════════
   NEWS RESPONSIVE
═══════════════════════════════════════════════════════════ */

@media (max-width: 960px) {

  .article-wrap {
    grid-template-columns: 1fr;
  }

  .article-sidebar {
    position: static;
  }

  .photos-section {
    grid-template-columns: 1fr;
  }

  .results-banner {
    grid-template-columns: 1fr 1fr;
  }

  .res-div {
    display: none;
  }

  .year-results-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 540px) {

  .score-grid {
    grid-template-columns: 1fr;
  }

  .results-banner {
    grid-template-columns: 1fr 1fr;
  }

  .club-radio-group {
    flex-direction: column;
  }

  .year-summary {
    gap: .6rem;
    padding: 1rem;
  }

  .year-body {
    padding: 0 1rem 1rem;
  }

  .year-title {
    min-width: 3.2rem;
    font-size: 1.35rem;
  }

  .year-photo-btn {
    font-size: .58rem;
    padding: .34rem .65rem;
  }

  .year-badge {
    font-size: .55rem;
    padding: .25rem .55rem;
  }

  .year-row-body {
    gap: 1rem;
  }

  .value {
    font-size: .75rem;
  }
}

/* ─────────────────────────────────────────
   NEWS HERO — PARTICIPATING CLUBS
───────────────────────────────────────── */

.hero-clubs {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  animation: fuA .8s .6s both;
  margin-bottom: 2.5rem;
}

.club-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: .42rem 1rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 100px;
  font-size: .75rem;
  color: var(--txt2);
  font-weight: 500;
}

.club-pill-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--brand-l);
  opacity: .75;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════
   LINKS PAGE — CONTENT
═══════════════════════════════════════════════════════════ */

.links-section {
  padding: clamp(4rem, 8vw, 8rem) 5vw;
  background: var(--ink2);
  transition: background .4s;
}

.links-section + .links-section {
  background: var(--ink);
}


/* ─────────────────────────────────────────
   SECTION HELPERS
───────────────────────────────────────── */

.sec-lbl {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(100,150,255,.85);
  margin-bottom: 1rem;
}

.sec-lbl::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 2px;
  background: rgba(100,150,255,.85);
  border-radius: 2px;
}

.sec-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 900;
  line-height: .88;
  text-transform: uppercase;
  letter-spacing: -.01em;
  margin-bottom: .6rem;
}

.sec-title .hol {
  -webkit-text-stroke: 2px currentColor;
  color: transparent;
}

.sec-sub {
  font-size: .88rem;
  color: var(--txt2);
  font-weight: 300;
  line-height: 1.65;
  margin-bottom: 2.2rem;
}


/* ─────────────────────────────────────────
   ORGANISATION LINK CARDS
───────────────────────────────────────── */

.link-cards {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.link-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 1.5rem 1.8rem;
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity .6s ease,
    transform .6s ease,
    border-color .3s,
    background .3s;
  text-decoration: none;
}

.link-card.in-view {
  opacity: 1;
  transform: translateY(0);
}

.link-card:nth-child(2) {
  transition-delay: .1s;
}

.link-card:nth-child(3) {
  transition-delay: .2s;
}

.link-card:hover {
  border-color: rgba(80,130,255,.4);
  background: var(--cardh);
}

.link-card-left {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  min-width: 0;
}

.link-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--brand), var(--brand-m));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px var(--shadow);
  transition: transform .3s;
}

.link-card:hover .link-card-icon {
  transform: scale(1.1) rotate(-4deg);
}

.link-card-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.15rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--txt);
  margin-bottom: .18rem;
}

.link-card-desc {
  font-size: .78rem;
  color: var(--txt2);
  font-weight: 300;
}

.link-card-action {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: .5rem 1.1rem;
  border-radius: 100px;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: all .25s;
  white-space: nowrap;
}

.link-card-action.url {
  background: linear-gradient(135deg, var(--brand), var(--brand-m));
  color: #fff;
  border: none;
  box-shadow: 0 4px 14px var(--shadow);
  text-decoration: none;
}

.link-card:hover .link-card-action.url {
  box-shadow: 0 8px 22px var(--shadow);
}

.link-card-action.contact {
  background: var(--card);
  border: 1.5px solid var(--border);
  color: var(--txt2);
}

.link-card:hover .link-card-action.contact {
  border-color: rgba(80,130,255,.45);
  color: rgba(130,180,255,.9);
}

.ext-ico {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

/* ─────────────────────────────────────────
   OTHER JUNIOR CLUBS
───────────────────────────────────────── */

.clubs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.club-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 1.5rem;
  transition:
    border-color .3s,
    background .3s,
    transform .3s;
}

.club-card:hover {
  border-color: rgba(80, 130, 255, .4);
  background: var(--cardh);
  transform: translateY(-3px);
}

.club-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--txt);
  margin-bottom: .45rem;
}

.club-note {
  font-size: .76rem;
  color: var(--txt2);
  font-weight: 300;
  line-height: 1.55;
  margin-bottom: 1rem;
}

.club-contact {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .68rem;
  color: var(--brand-l);
  text-decoration: none;
  font-weight: 600;
  letter-spacing: .06em;
  transition: opacity .2s;
}

.club-contact:hover {
  opacity: .75;
}

/* ─────────────────────────────────────────
   LINKS PAGE — FADE-UP ANIMATION
───────────────────────────────────────── */

.fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity .7s ease,
    transform .7s ease;
}

.fade-up.in-view {
  opacity: 1;
  transform: translateY(0);
}


/* ─────────────────────────────────────────
   LINKS PAGE — RESPONSIVE
───────────────────────────────────────── */

@media (max-width: 800px) {

  .clubs-grid {
    grid-template-columns: 1fr;
  }

  .link-card {
    padding: 1.25rem;
  }

  .link-card-action {
    padding: .45rem .8rem;
  }
}


@media (max-width: 540px) {

  .links-section {
    padding: 4rem 5vw;
  }

  .link-card {
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
  }

  .link-card-left {
    width: 100%;
  }

  .link-card-action {
    align-self: flex-start;
  }

  .clubs-grid {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════════════════
   FEES & PAYMENT — PRICING
═══════════════════════════════════════════════════════════ */

.pricing-section {
  padding: clamp(5rem, 10vw, 9rem) 5vw;
  background: var(--ink2);
  transition: background .4s;
}

.pricing-header {
  margin-bottom: 3.5rem;
}


/* ─────────────────────────────────────────
   PRICING GRID
───────────────────────────────────────── */

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 4rem;
}


/* ─────────────────────────────────────────
   PRICE CARDS
───────────────────────────────────────── */

.price-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 2.4rem 2rem;
  position: relative;
  overflow: hidden;
  cursor: none;

  opacity: 0;
  transform: translateY(30px);

  transition:
    opacity .65s ease,
    transform .65s ease,
    border-color .3s,
    box-shadow .3s,
    background .3s;
}

.price-card.in-view {
  opacity: 1;
  transform: translateY(0);
}

.price-card:nth-child(2) {
  transition-delay: .12s;
}

.price-card:nth-child(3) {
  transition-delay: .24s;
}


/* Hover accent bar */

.price-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;

  background: linear-gradient(
    90deg,
    var(--brand),
    var(--brand-l)
  );

  transform: scaleX(0);
  transition: transform .35s;
  transform-origin: left;
}

.price-card:hover {
  border-color: rgba(80,130,255,.38);
  box-shadow: 0 16px 40px var(--shadow);
  transform: translateY(-6px) !important;
}

.price-card:hover::before {
  transform: scaleX(1);
}


/* Selected card */

.price-card.selected {
  border-color: var(--brand-l);

  background:
    linear-gradient(
      135deg,
      rgba(10,26,130,.28),
      rgba(26,48,200,.16)
    );

  box-shadow: 0 20px 50px var(--shadow);
  transform: translateY(-8px) !important;
}

.price-card.selected::before {
  transform: scaleX(1);
}


/* Featured / family card */

.price-card.featured {
  border-color: rgba(80,120,255,.35);

  background:
    linear-gradient(
      135deg,
      rgba(10,26,130,.2),
      rgba(26,48,200,.1)
    );
}


/* ─────────────────────────────────────────
   PRICE CARD CONTENT
───────────────────────────────────────── */

.price-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;

  padding: .28rem .7rem;

  background: rgba(240,192,96,.1);
  border: 1px solid #db4437;
  border-radius: 100px;

  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;

  color: var(--gold);

  margin-bottom: 1.2rem;
}

.price-children {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;

  color: var(--txt3);

  margin-bottom: .6rem;
}

.price-amount {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(3rem, 5vw, 5rem);
  font-weight: 900;
  line-height: 1;

  color: var(--txt);

  margin-bottom: .3rem;
}

.price-amount sup {
  font-size: 1.4rem;
  font-weight: 400;

  color: var(--txt3);

  vertical-align: super;
}

.price-period {
  font-size: .75rem;
  color: var(--txt3);

  margin-bottom: 1.8rem;
}


/* ─────────────────────────────────────────
   PRICE FEATURES
───────────────────────────────────────── */

.price-features {
  display: flex;
  flex-direction: column;
  gap: .65rem;

  margin-bottom: 2rem;
}

.price-feature {
  display: flex;
  align-items: center;
  gap: .7rem;

  font-size: .83rem;
  color: var(--txt2);
  font-weight: 300;
  line-height: 1.4;
}

.price-feature svg {
  flex-shrink: 0;
  color: var(--brand-l);
}


/* ─────────────────────────────────────────
   SELECT PLAN BUTTON
───────────────────────────────────────── */

.price-select-btn {
  width: 100%;
  padding: .88rem;

  background: transparent;
  border: 1.5px solid var(--borders);

  color: var(--txt);

  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;

  border-radius: 12px;

  cursor: none;

  transition: all .26s;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}

.price-select-btn:hover {
  background: var(--cardh);
  border-color: rgba(100,140,255,.65);
  color: rgba(150,190,255,.9);
}

.price-card.selected .price-select-btn {
  background: linear-gradient(
    135deg,
    var(--brand),
    var(--brand-m)
  );

  border: none;
  color: #fff;

  box-shadow: 0 6px 22px var(--shadow);
}

.price-card.selected .price-select-btn svg {
  display: block;
}

.price-card.featured .price-select-btn {
  background: linear-gradient(
    135deg,
    var(--brand),
    var(--brand-m)
  );

  border: none;
  color: #fff;

  box-shadow: 0 6px 22px var(--shadow);
}

/* ═══════════════════════════════════════════════════════════
   FEES & PAYMENT — PLAN SUMMARY
═══════════════════════════════════════════════════════════ */

.plan-summary {
  max-width: 900px;
  margin: 0 auto 5rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 22px;
  overflow: hidden;
  opacity: 0;
  transform: translateY(25px);
  transition:
    opacity .7s ease,
    transform .7s ease,
    border-color .3s,
    background .3s;
}

.plan-summary.in-view {
  opacity: 1;
  transform: translateY(0);
}

.plan-summary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--border);
}

.plan-summary-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.35rem;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--txt);
}

.plan-summary-label {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--txt3);
}

.plan-summary-body {
  padding: 1.5rem;
}

.plan-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem 0;
  border-bottom: 1px solid var(--border);
}

.plan-summary-row:last-child {
  border-bottom: none;
}

.plan-summary-name {
  font-size: .82rem;
  color: var(--txt2);
  font-weight: 300;
}

.plan-summary-value {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--txt);
}

.plan-summary-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--borders);
}

.plan-summary-total span:first-child {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--txt3);
}

.plan-summary-total strong {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2rem;
  font-weight: 900;
  color: var(--txt);
}


/* ─────────────────────────────────────────
   PAYMENT INFORMATION
───────────────────────────────────────── */

.payment-panel {
  margin-top: 1.5rem;
  padding: 1.4rem;
  background: var(--inputbg);
  border: 1px solid var(--border);
  border-radius: 16px;
}

.payment-panel-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--txt);
  margin-bottom: .9rem;
}

.payment-panel-text {
  font-size: .78rem;
  line-height: 1.65;
  color: var(--txt2);
  font-weight: 300;
}


/* ─────────────────────────────────────────
   PAYMENT ACTION
───────────────────────────────────────── */

.payment-action {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.25rem;
}

.payment-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  padding: .8rem 1.4rem;

  border: none;
  border-radius: 12px;

  background: linear-gradient(
    135deg,
    var(--brand),
    var(--brand-m)
  );

  color: #fff;

  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;

  cursor: none;

  box-shadow: 0 6px 20px var(--shadow);

  transition:
    transform .22s,
    box-shadow .22s;
}

.payment-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px var(--shadow);
}

/* ═══════════════════════════════════════════════════════════
   FEES & PAYMENT — RESPONSIVE
═══════════════════════════════════════════════════════════ */

@media (max-width: 900px) {

  .pricing-grid {
    grid-template-columns: 1fr;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }

  .price-card.selected,
  .price-card:hover {
    transform: translateY(-4px) !important;
  }

  .plan-summary {
    max-width: 600px;
  }
}


@media (max-width: 540px) {

  .pricing-section {
    padding: 4rem 5vw;
  }

  .pricing-grid {
    gap: 1rem;
  }

  .price-card {
    padding: 2rem 1.4rem;
    border-radius: 18px;
  }

  .price-amount {
    font-size: 3.5rem;
  }

  .plan-summary {
    border-radius: 18px;
    margin-bottom: 3rem;
  }

  .plan-summary-head {
    padding: 1rem;
  }

  .plan-summary-body {
    padding: 1rem;
  }

  .plan-summary-row {
    gap: .75rem;
  }

  .payment-panel {
    padding: 1rem;
  }

  .payment-action {
    justify-content: stretch;
  }

  .payment-btn {
    width: 100%;
  }
}

/* ═══════════════════════════════════════════════════════════
   FEES & PAYMENT — PLAN SUMMARY PANEL
═══════════════════════════════════════════════════════════ */

.plan-summary-section {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid var(--border);

  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 5vw;
  align-items: start;

  opacity: 0;
  transform: translateY(24px);

  transition:
    opacity .7s ease,
    transform .7s ease;
}

.plan-summary-section.visible {
  opacity: 1;
  transform: translateY(0);
}


/* ─────────────────────────────────────────
   BROWSER SCREEN MOCKUP
───────────────────────────────────────── */

.plan-screen {
  background: var(--ink);
  border: 1px solid var(--border);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(5,7,26,.7);
  position: relative;
}


/* Browser chrome */

.screen-chrome {
  background: rgba(10,26,130,.22);
  border-bottom: 1px solid var(--border);
  padding: .65rem 1rem;

  display: flex;
  align-items: center;
  gap: .6rem;
}

.chrome-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.chrome-dot:nth-child(1) {
  background: rgba(255,95,87,.6);
}

.chrome-dot:nth-child(2) {
  background: rgba(255,189,46,.6);
}

.chrome-dot:nth-child(3) {
  background: rgba(39,201,63,.6);
}

.chrome-url {
  flex: 1;
  margin-left: .4rem;

  background: rgba(5,7,26,.5);
  border: 1px solid var(--border);
  border-radius: 6px;

  padding: .22rem .7rem;

  font-size: .62rem;
  color: var(--txt3);

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* Screen body */

.screen-body {
  padding: 1.8rem;
}

.screen-header-bar {
  width: 40px;
  height: 3px;
  background: var(--brand-l);
  border-radius: 3px;
  margin-bottom: 1.2rem;
}

.screen-plan-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(100,150,255,.7);
  margin-bottom: .4rem;
}

.screen-plan-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2rem;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--txt);
  line-height: 1;
  margin-bottom: .2rem;
  transition: all .4s;
}

.screen-plan-price {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 3.6rem;
  font-weight: 900;
  line-height: 1;
  color: var(--brand-l);
  transition: all .4s;
}

.screen-plan-price sup {
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--txt3);
  vertical-align: super;
}

.screen-plan-period {
  font-size: .75rem;
  color: var(--txt3);
  margin-bottom: 1.4rem;
}

.screen-divider {
  height: 1px;
  background: var(--border);
  margin: 1.2rem 0;
}

.screen-feature-list {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  margin-bottom: 1.4rem;
}

.screen-feature {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: .78rem;
  color: var(--txt2);
  font-weight: 300;
}

.screen-feature svg {
  flex-shrink: 0;
  color: var(--brand-l);
}


/* Payment notice inside screen */

.screen-notice {
  background: rgba(10,26,130,.25);
  border: 1px solid rgba(80,120,255,.3);
  border-radius: 10px;

  padding: 1rem 1.1rem;

  display: flex;
  align-items: flex-start;
  gap: .7rem;
}

.screen-notice svg {
  flex-shrink: 0;
  color: var(--gold);
  margin-top: 1px;
}

.screen-notice-text {
  font-size: .76rem;
  line-height: 1.6;
  color: var(--txt2);
  font-weight: 300;
}

.screen-notice-text strong {
  color: var(--txt);
  font-weight: 600;
}


/* Idle state */

.screen-idle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 3rem 1.8rem;

  text-align: center;
  gap: 1rem;
}

.screen-idle-icon {
  width: 52px;
  height: 52px;

  border-radius: 14px;

  background: var(--card);
  border: 1px solid var(--border);

  display: flex;
  align-items: center;
  justify-content: center;
}

.screen-idle-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.2rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--txt3);
}

.screen-idle-sub {
  font-size: .78rem;
  color: var(--txt3);
  font-weight: 300;
  max-width: 200px;
  line-height: 1.6;
}


/* ─────────────────────────────────────────
   SUMMARY INFORMATION
───────────────────────────────────────── */

.summary-info {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.summary-info-header {
  margin-bottom: .5rem;
}

.summary-info-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(1.8rem, 3.5vw, 3.2rem);
  font-weight: 900;
  text-transform: uppercase;
  line-height: .9;
  margin-bottom: .8rem;
}

.summary-info-sub {
  font-size: .88rem;
  color: var(--txt2);
  font-weight: 300;
  line-height: 1.75;
}


/* Information card */

.info-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;

  padding: 1.4rem 1.6rem;

  display: flex;
  flex-direction: column;
  gap: .6rem;

  transition: border-color .3s;
}

.info-card:hover {
  border-color: rgba(80,130,255,.35);
}

.info-card-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: .95rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;

  display: flex;
  align-items: center;
  gap: 8px;
}

.info-card-title svg {
  color: rgba(100,150,255,.75);
  flex-shrink: 0;
}


/* Information rows */

.info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;

  font-size: .83rem;

  padding: .35rem 0;

  border-bottom: 1px solid var(--border);
}

.info-row:last-child {
  border-bottom: none;
}

.info-row-label {
  color: var(--txt2);
  font-weight: 300;
}

.info-row-val {
  font-weight: 600;
  color: var(--txt);
}

.info-row-val.accent {
  color: var(--brand-l);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.1rem;
  font-weight: 900;
}


/* ─────────────────────────────────────────
   PAYMENT NOT AVAILABLE NOTICE
───────────────────────────────────────── */

.cannot-pay-box {
  background:
    linear-gradient(
      135deg,
      rgba(10,26,130,.22),
      rgba(26,48,200,.12)
    );

  border: 1px solid var(--borders);
  border-radius: 16px;

  padding: 1.6rem;

  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.cannot-pay-icon {
  width: 42px;
  height: 42px;

  border-radius: 11px;

  background: rgba(240,192,96,.12);
  border: 1px solid #db4437;

  display: flex;
  align-items: center;
  justify-content: center;

  flex-shrink: 0;
}

.cannot-pay-text h4 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--gold);
  margin-bottom: .4rem;
}

.cannot-pay-text p {
  font-size: .83rem;
  line-height: 1.72;
  color: var(--txt2);
  font-weight: 300;
}

.cannot-pay-text a {
  color: var(--brand-l);
  text-decoration: none;
  border-bottom: 1px solid rgba(42,68,232,.35);
  transition: all .2s;
}

.cannot-pay-text a:hover {
  color: rgba(150,190,255,.9);
}


/* ─────────────────────────────────────────
   CONTACT BUTTON
───────────────────────────────────────── */

.btn-contact {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  padding: .84rem 1.9rem;

  background:
    linear-gradient(
      135deg,
      var(--brand),
      var(--brand-m)
    );

  color: #fff;

  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;

  text-decoration: none;
  border: none;
  border-radius: 12px;

  cursor: none;

  transition: all .26s;

  box-shadow: 0 7px 26px var(--shadow);

  position: relative;
  overflow: hidden;

  width: fit-content;
}

.btn-contact::before {
  content: '';
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      135deg,
      var(--brand-l),
      rgba(130,160,255,.7)
    );

  opacity: 0;
  transition: opacity .3s;
}

.btn-contact:hover::before {
  opacity: 1;
}

.btn-contact:hover {
  transform: translateY(-2px);
  box-shadow: 0 13px 38px var(--shadow);
}

.btn-contact span,
.btn-contact svg {
  position: relative;
  z-index: 1;
}

/* ═══════════════════════════════════════════════════════════
   PRIVACY POLICY PAGE
═══════════════════════════════════════════════════════════ */


/* ─────────────────────────────────────────
   DOCUMENT LAYOUT
───────────────────────────────────────── */

.doc-wrap {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 0;

  padding: clamp(3rem, 6vw, 6rem) 5vw;

  align-items: start;

  max-width: 1200px;
  margin: 0 auto;
}


/* ─────────────────────────────────────────
   STICKY TABLE OF CONTENTS
───────────────────────────────────────── */

.doc-toc {
  position: sticky;
  top: 88px;
  padding-right: 3rem;
}

.toc-label {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--txt3);
  margin-bottom: 1rem;
}

.toc-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.toc-item {
  border-left: 2px solid var(--border);
}

.toc-item.active {
  border-left-color: var(--brand-l);
}

.toc-link {
  display: block;
  padding: .5rem .9rem;

  font-size: .75rem;
  font-weight: 500;
  line-height: 1.3;

  text-decoration: none;
  color: var(--txt3);

  transition:
    color .2s,
    padding-left .2s;
}

.toc-item.active .toc-link {
  color: rgba(120,160,255,.9);
  padding-left: 1.1rem;
}

.toc-link:hover {
  color: var(--txt2);
}


/* ─────────────────────────────────────────
   DOCUMENT BODY
───────────────────────────────────────── */

.doc-body {
  min-width: 0;
}


/* Document section */

.doc-section {
  padding: 2.8rem 0;

  border-bottom: 1px solid var(--border);

  opacity: 0;
  transform: translateY(24px);

  transition:
    opacity .7s ease,
    transform .7s ease;
}

.doc-section:last-child {
  border-bottom: none;
}

.doc-section.in-view {
  opacity: 1;
  transform: translateY(0);
}


/* Section heading */

.doc-section-head {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;

  margin-bottom: 1.5rem;
}

.doc-section-icon {
  width: 40px;
  height: 40px;

  border-radius: 11px;
  flex-shrink: 0;

  background:
    linear-gradient(
      135deg,
      var(--brand),
      var(--brand-m)
    );

  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 4px 14px var(--shadow);

  transition: transform .3s;
}

.doc-section:hover .doc-section-icon {
  transform: scale(1.08) rotate(-4deg);
}

.doc-h2 {
  font-family: 'Barlow Condensed', sans-serif;

  font-size: clamp(1.4rem, 3vw, 2.2rem);
  font-weight: 800;

  text-transform: uppercase;
  letter-spacing: .02em;

  line-height: 1;

  color: var(--txt);

  padding-top: .4rem;
}


/* ─────────────────────────────────────────
   DOCUMENT TEXT
───────────────────────────────────────── */

.doc-p {
  font-size: .93rem;
  line-height: 1.85;

  font-weight: 300;

  color: var(--txt2);

  margin-bottom: 1rem;
}

.doc-p:last-child {
  margin-bottom: 0;
}

.doc-p b,
.doc-p strong {
  color: var(--txt);
  font-weight: 600;
}

.doc-p i,
.doc-p em {
  color: var(--txt3);
  font-style: italic;
}

.doc-p a {
  color: var(--brand-l);

  text-decoration: none;

  border-bottom:
    1px solid rgba(42,68,232,.35);

  transition:
    border-color .2s,
    color .2s;
}

.doc-p a:hover {
  color: rgba(150,190,255,.9);
  border-color: rgba(150,190,255,.5);
}


/* ─────────────────────────────────────────
   LEGAL BASIS CARDS
───────────────────────────────────────── */

.basis-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;

  gap: 1rem;

  margin: 1.2rem 0;
}

.basis-card {
  background: var(--card);

  border: 1px solid var(--border);
  border-radius: 14px;

  padding: 1.2rem 1.4rem;

  transition: border-color .3s;
}

.basis-card:hover {
  border-color: rgba(80,130,255,.4);
}

.basis-title {
  font-family: 'Barlow Condensed', sans-serif;

  font-size: 1rem;
  font-weight: 800;

  text-transform: uppercase;
  letter-spacing: .04em;

  color: var(--brand-l);

  margin-bottom: .5rem;

  display: flex;
  align-items: center;
  gap: 7px;
}

.basis-body {
  font-size: .82rem;
  line-height: 1.7;

  color: var(--txt2);

  font-weight: 300;
}

.basis-example {
  margin-top: .5rem;

  font-size: .77rem;
  color: var(--txt3);

  font-style: italic;

  line-height: 1.6;
}


/* ─────────────────────────────────────────
   ORDERED LIST
───────────────────────────────────────── */

.doc-ol {
  list-style: none;

  counter-reset: doc-counter;

  display: flex;
  flex-direction: column;

  gap: .75rem;

  margin: 1rem 0;
}

.doc-ol li {
  counter-increment: doc-counter;

  display: flex;
  align-items: flex-start;

  gap: .9rem;

  font-size: .91rem;
  line-height: 1.75;

  color: var(--txt2);

  font-weight: 300;
}

.doc-ol li::before {
  content: counter(doc-counter, '0' decimal);

  font-family: 'Barlow Condensed', sans-serif;

  font-size: 1rem;
  font-weight: 800;

  color: var(--brand-l);

  min-width: 1.6rem;
  flex-shrink: 0;

  background: rgba(10,26,130,.2);

  border: 1px solid var(--border);
  border-radius: 6px;

  display: flex;
  align-items: center;
  justify-content: center;

  height: 24px;

  margin-top: 2px;
}


/* ─────────────────────────────────────────
   RIGHTS LIST
───────────────────────────────────────── */

.rights-list {
  display: flex;
  flex-direction: column;

  gap: .65rem;

  margin: 1rem 0;
}

.rights-item {
  display: flex;
  align-items: flex-start;

  gap: .85rem;

  padding: .9rem 1.1rem;

  background: var(--card);

  border: 1px solid var(--border);
  border-radius: 11px;

  font-size: .86rem;
  line-height: 1.65;

  color: var(--txt2);

  font-weight: 300;

  transition: border-color .25s;
}

.rights-item:hover {
  border-color: rgba(80,130,255,.38);
}

.rights-item svg {
  flex-shrink: 0;

  margin-top: 2px;

  color: rgba(100,160,255,.7);
}


/* ─────────────────────────────────────────
   CONTACT HIGHLIGHT
───────────────────────────────────────── */

.contact-box {
  background:
    linear-gradient(
      135deg,
      rgba(10,26,130,.2),
      rgba(26,48,200,.1)
    );

  border: 1px solid var(--borders);

  border-radius: 16px;

  padding: 1.6rem;

  margin-top: 1.4rem;

  display: flex;
  flex-direction: column;

  gap: .6rem;
}

.contact-box-title {
  font-family: 'Barlow Condensed', sans-serif;

  font-size: 1rem;
  font-weight: 800;

  text-transform: uppercase;
  letter-spacing: .05em;

  color: rgba(120,160,255,.9);
}

.contact-box-row {
  display: flex;
  align-items: center;

  gap: .75rem;

  font-size: .86rem;

  color: var(--txt2);

  font-weight: 300;
}

/* ═══════════════════════════════════════════════════════════
   PRIVACY POLICY — RESPONSIVE
═══════════════════════════════════════════════════════════ */

@media (max-width: 960px) {

  .doc-wrap {
    grid-template-columns: 1fr;
    padding-top: 2.5rem;
  }

  .doc-toc {
    display: none;
  }

  .basis-grid {
    grid-template-columns: 1fr;
  }
}


@media (max-width: 540px) {

  .doc-section {
    padding: 2.2rem 0;
  }

  .doc-section-head {
    gap: .9rem;
  }

  .doc-section-icon {
    width: 36px;
    height: 36px;
  }

  .doc-h2 {
    font-size: 1.35rem;
  }

  .doc-p {
    font-size: .86rem;
    line-height: 1.75;
  }

  .basis-grid {
    grid-template-columns: 1fr;
  }

  .contact-box {
    padding: 1.2rem;
  }

  .contact-box-row {
    align-items: flex-start;
  }
}
