/* ═══════════════════════════════════════════════════════════════
   FPCI ITB - Full stylesheet (rebuild)
   ═══════════════════════════════════════════════════════════════ */

/* ─── TOKENS ─── */
:root[data-theme="light"]{
  --bg:#FFFFFF; --bg2:#F6F7FB; --bg3:#ECEEF7;
  --ink:#0D0F1C; --ink2:#3A4060; --ink3:#6B7290;
  --line:#E5E7F0; --line2:#D0D5E5;
  --flame:#4A6BE0; --flame-soft:#E8EDFC; --flame-glow:rgba(74,107,224,0.28);
  --navy:#1B2D7E; --navy2:#0F1A52;
  --glass-bg:rgba(255,255,255,0.72);
  --glass-border:rgba(13,15,28,0.06);
  --shadow-sm:0 2px 6px -1px rgba(13,15,28,0.06);
  --shadow-md:0 12px 30px -10px rgba(13,15,28,0.12);
  --shadow-lg:0 30px 70px -20px rgba(13,15,28,0.18);
}
:root[data-theme="dark"]{
  --bg:#0A0D1F; --bg2:#11152C; --bg3:#1B2247;
  --ink:#F0F2FA; --ink2:#B8BDD8; --ink3:#7A82A8;
  --line:#1F2545; --line2:#2C3360;
  --flame:#8DA0FF; --flame-soft:rgba(141,160,255,0.12);
  --flame-glow:rgba(141,160,255,0.3);
  --navy:#8DA0FF; --navy2:#B0C0FF;
  --glass-bg:rgba(10,13,31,0.7);
  --glass-border:rgba(255,255,255,0.06);
  --shadow-sm:0 2px 6px -1px rgba(0,0,0,0.3);
  --shadow-md:0 12px 30px -10px rgba(0,0,0,0.5);
  --shadow-lg:0 30px 70px -20px rgba(0,0,0,0.6);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;color-scheme:light dark;scroll-padding-top:84px}
body{
  background:var(--bg);color:var(--ink);
  font-family:"Poppins",sans-serif;font-weight:300;font-size:16px;line-height:1.65;
  min-height:100dvh;-webkit-font-smoothing:antialiased;
  transition:background .4s,color .4s;overflow-x:hidden;
}
::selection{background:var(--navy);color:#FFF}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:transparent;color:inherit;padding:0}
:focus-visible{outline:2px solid var(--flame);outline-offset:3px;border-radius:6px}
kbd{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:10.5px;font-weight:600;padding:2px 6px;
  background:var(--bg2);border:1px solid var(--line);border-radius:5px;
  color:var(--ink2);box-shadow:0 1px 0 var(--line2);line-height:1;
}

/* ─── TYPO ─── */
h1,h2,h3,h4{font-family:"Montserrat",sans-serif}
.mega{font-weight:700;letter-spacing:-0.04em;line-height:.95;font-size:clamp(2.6rem,8vw,6.5rem);color:var(--ink);margin-bottom:2rem;will-change:transform}
.mega .accent{color:var(--flame);background:linear-gradient(135deg,var(--flame) 0%,var(--navy) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.big{font-weight:700;letter-spacing:-0.03em;line-height:1.05;font-size:clamp(1.9rem,4.5vw,3.4rem);color:var(--ink);margin:1rem 0;display:block;position:relative}
.big .accent{color:var(--flame)}
.big::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:3px;background:linear-gradient(90deg,var(--flame),transparent);border-radius:2px;transition:width 1.1s cubic-bezier(0.16,1,0.3,1) 0.3s}
.reveal.in .big::after{width:80px}
.lead{font-size:clamp(1rem,1.4vw,1.18rem);color:var(--ink2);max-width:48ch;line-height:1.6}
.kicker{font-family:"Montserrat",sans-serif;font-size:11px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink3);display:flex;align-items:center;gap:10px;margin-bottom:1.1rem;opacity:0;transform:translateY(8px);transition:opacity .6s cubic-bezier(0.16,1,0.3,1),transform .6s cubic-bezier(0.16,1,0.3,1)}
.reveal.in .kicker{opacity:1;transform:translateY(0)}
.kicker .num{color:var(--flame);font-weight:800}
p{color:var(--ink2);max-width:60ch;line-height:1.65}
.wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:clamp(1.5rem,5vw,4rem);position:relative}

/* ─── SCROLL PROGRESS ─── */
.progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--flame),var(--navy));z-index:101;width:0%;transition:width .1s linear;box-shadow:0 0 12px var(--flame-glow)}

/* ─── SIDE DOTS ─── */
.section-dots{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:90;display:none;flex-direction:column;gap:14px}
@media (min-width:1080px){.section-dots{display:flex}}
.section-dots a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;position:relative}
.section-dots a span{width:8px;height:8px;border-radius:50%;background:var(--line2);transition:all .3s}
.section-dots a:hover span,.section-dots a.active span{background:var(--flame);transform:scale(1.6);box-shadow:0 0 0 4px var(--flame-soft)}
.section-dots a::before{content:attr(data-label);position:absolute;right:32px;top:50%;transform:translateY(-50%) translateX(8px);font-family:"Montserrat",sans-serif;font-size:10px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;background:var(--ink);color:var(--bg);padding:5px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .25s}
.section-dots a:hover::before{opacity:1;transform:translateY(-50%) translateX(0)}

/* ─── LOGO ─── */
.brand-logo,.foot-logo{height:44px;width:auto;display:block;object-fit:contain;transition:transform .35s cubic-bezier(0.16,1,0.3,1)}
.brand:hover .brand-logo{transform:scale(1.04)}
.foot-logo{height:46px}
@media (max-width:760px){.brand-logo{height:38px}.foot-logo{height:40px}}
:root[data-theme="dark"] .brand-logo,
:root[data-theme="dark"] .foot-logo{filter:brightness(0) invert(1) brightness(1.08)}

/* ─── NAV ─── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:14px 0;transition:padding .4s cubic-bezier(0.16,1,0.3,1),background .4s,border-color .4s}
.nav.scrolled{padding:8px 0;background:var(--glass-bg);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border-bottom:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;line-height:1;padding:4px 6px;border-radius:10px;transition:background .25s}
.brand:hover{background:var(--bg2)}
.brand-text{display:none;flex-direction:column;gap:1px;line-height:1.1}
@media (min-width:880px){.brand-text{display:flex}}
.brand-name{font-family:"Montserrat",sans-serif;font-weight:800;font-size:13px;letter-spacing:-0.005em;color:var(--ink)}
.brand-sub{font-family:"Poppins",sans-serif;font-weight:300;font-size:10.5px;letter-spacing:0.04em;color:var(--ink3)}
.primary-nav ul{list-style:none;display:none;gap:1.8rem;align-items:center}
.primary-nav a{font-family:"Montserrat",sans-serif;font-size:13px;font-weight:500;color:var(--ink2);transition:color .25s;position:relative;padding:6px 2px}
.primary-nav a:hover,.primary-nav a.active{color:var(--ink)}
.primary-nav a.active::after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--flame);border-radius:2px;animation:slideIn .3s cubic-bezier(0.16,1,0.3,1)}
@keyframes slideIn{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1)}}
.tools{display:flex;align-items:center;gap:8px}
.tool{height:38px;min-width:38px;padding:0 10px;border-radius:99px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--ink2);font-family:"Montserrat",sans-serif;font-weight:700;font-size:11px;background:var(--bg);transition:all .25s}
.tool:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.tool svg{width:15px;height:15px}
.menu-btn{display:flex;flex-direction:column;gap:4px;padding:0;width:38px}
.menu-btn span{width:14px;height:1.5px;background:var(--ink);transition:transform .3s}
@media (min-width:1080px){.primary-nav ul{display:flex}.menu-btn{display:none}}

/* Nav Join CTA */
.tool-join{background:var(--ink) !important;color:var(--bg) !important;border-color:var(--ink) !important;padding:0 16px;font-size:12px;letter-spacing:0.02em;text-decoration:none;text-transform:none;position:relative;overflow:hidden;isolation:isolate}
.tool-join::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--flame);transform:translateY(100%);transition:transform .35s cubic-bezier(0.65,0,0.35,1)}
.tool-join:hover{color:#FFFFFF !important;border-color:var(--flame) !important;transform:translateY(-1px)}
.tool-join:hover::before{transform:translateY(0)}
@media (max-width:760px){.tool-join{display:none}}

/* Mobile menu */
.mobile-menu{position:fixed;inset:0;background:var(--bg);z-index:200;padding:6rem 2rem 2rem;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;overflow-y:auto}
.mobile-menu.open{opacity:1;visibility:visible}
.mobile-menu .mm-wrap{max-width:400px;width:100%}
.mobile-menu ul{list-style:none;display:flex;flex-direction:column;gap:0.4rem;margin-top:2rem}
.mobile-menu a{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1.6rem;color:var(--ink);letter-spacing:-0.025em;display:flex;align-items:baseline;justify-content:space-between;padding:0.8rem 0;border-bottom:1px solid var(--line);transition:padding-left .25s,color .25s}
.mobile-menu a:hover{padding-left:8px;color:var(--flame)}
.mobile-menu a span{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:400;color:var(--ink3);letter-spacing:0}
.mobile-menu .close{position:absolute;top:1.5rem;right:1.5rem;font-size:32px;color:var(--ink);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}
.mobile-menu .close:hover{background:var(--bg2)}
.mm-foot{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;font-family:"Montserrat",sans-serif;font-size:13px;font-weight:500;color:var(--ink2)}

/* ═══════════════════════════════════════════════════════════════
   SEARCH OVERLAY - Google-style pill
   ═══════════════════════════════════════════════════════════════ */
.search-overlay{position:fixed;inset:0;z-index:400;display:flex;align-items:flex-start;justify-content:center;padding-top:18vh;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.search-overlay.open{opacity:1;visibility:visible}
.search-overlay-backdrop{position:absolute;inset:0;background:rgba(13,15,28,0.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.search-overlay-box{position:relative;width:min(620px,92vw);background:var(--bg);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-lg);transform:translateY(-8px) scale(0.98);transition:transform .3s cubic-bezier(0.16,1,0.3,1),border-radius .3s;overflow:hidden}
.search-overlay.open .search-overlay-box{transform:translateY(0) scale(1)}
.search-overlay-box:has(.search-overlay-results:not(:empty)){border-radius:24px}

/* The vertical centering technique: flex container + height + line-height = height on input */
.search-overlay-input{
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 18px 0 22px;
  height:64px;
}
.search-overlay-input > svg{
  width:18px;height:18px;
  color:var(--ink3);
  flex-shrink:0;display:block;
}
#searchOverlayInput{
  flex:1;
  background:transparent;border:0;outline:none;
  -webkit-appearance:none;appearance:none;
  font-family:"Poppins",sans-serif;font-size:15px;font-weight:400;
  color:var(--ink);
  height:64px;line-height:64px;
  padding:0;margin:0;
  display:block;text-indent:0;
}
#searchOverlayInput::placeholder{color:var(--ink3);opacity:1;line-height:64px}
#searchOverlayClose{
  width:32px;height:32px;border-radius:50%;
  color:var(--ink3);
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,color .2s;
  padding:0;flex-shrink:0;
}
#searchOverlayClose svg{width:14px;height:14px;display:block}
#searchOverlayClose:hover{background:var(--bg2);color:var(--ink)}

/* Results list */
.search-overlay-results{max-height:55vh;overflow-y:auto;padding:4px 0}
.search-overlay-results:not(:empty){border-top:1px solid var(--line)}
.so-item{width:100%;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:14px;padding:0 22px;height:48px;text-align:left;cursor:pointer;transition:background .15s}
.so-item:hover,.so-item.active{background:var(--bg2)}
.so-item-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--ink3);flex-shrink:0}
.so-item-icon svg{width:16px;height:16px}
.so-item-text{display:flex;align-items:baseline;gap:10px;min-width:0;overflow:hidden}
.so-item-title{font-family:"Poppins",sans-serif;font-weight:400;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}
.so-item-sub{font-family:"Poppins",sans-serif;font-weight:300;font-size:13px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto}
.so-item-type{font-family:"Poppins",sans-serif;font-weight:400;font-size:11.5px;color:var(--ink3);flex-shrink:0}
.so-empty{padding:24px 22px;text-align:center;font-family:"Poppins",sans-serif;font-weight:300;font-size:13px;color:var(--ink3)}

/* ─── TOASTS ─── */
.toasts{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:400;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:99px;font-family:"Montserrat",sans-serif;font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-lg);pointer-events:auto;animation:toastIn .35s cubic-bezier(0.16,1,0.3,1)}
.toast.out{animation:toastOut .25s cubic-bezier(0.65,0,0.35,1) forwards}
.toast svg{width:14px;height:14px}
@keyframes toastIn{from{opacity:0;transform:translateY(20px) scale(0.9)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes toastOut{to{opacity:0;transform:translateY(20px) scale(0.9)}}

/* ─── HERO ─── */
.hero{min-height:100dvh;padding-top:clamp(7rem,14vh,11rem);padding-bottom:clamp(3rem,6vw,5rem);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.hero-bg{position:absolute;top:15%;right:-8%;width:45vw;height:45vw;max-width:650px;max-height:650px;background:radial-gradient(circle,var(--flame-soft) 0%,transparent 65%);border-radius:50%;pointer-events:none;z-index:-1;filter:blur(20px);animation:float 14s ease-in-out infinite}
.hero-grid-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:60px 60px;opacity:0.25;mask-image:radial-gradient(ellipse at center,black 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,black 0%,transparent 70%)}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-3%,4%) scale(1.05)}}

/* Meta row */
.meta{display:flex;align-items:center;gap:14px;margin-bottom:2.5rem;flex-wrap:wrap;line-height:1}
.meta .kicker{margin:0;line-height:1;display:inline-flex;align-items:center;gap:10px}
.meta-divider{width:1px;height:14px;background:var(--line2);display:none}
@media (min-width:760px){.meta-divider{display:block}}
.meta-live{display:none;align-items:center;gap:8px;font-family:"Montserrat",sans-serif;font-size:10.5px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink3);line-height:1}
@media (min-width:760px){.meta-live{display:inline-flex}}
.live-dot{width:6px;height:6px;border-radius:50%;background:#22C55E;animation:pulse 1.6s ease-in-out infinite;box-shadow:0 0 8px #22C55E;display:inline-block}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}

.hero-foot{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:end;margin-top:2rem}
@media (min-width:880px){.hero-foot{grid-template-columns:1fr;max-width:760px}}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:2rem}
.hero-scroll-hint{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;font-family:"Montserrat",sans-serif;font-size:9.5px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--ink3);animation:bounceDown 2.4s ease-in-out infinite;text-decoration:none;cursor:pointer;padding:14px 18px 10px;border-radius:14px;transition:color .25s,background .25s}
.hero-scroll-hint:hover{color:var(--flame);background:var(--flame-soft);animation-play-state:paused}
.hero-scroll-hint svg{width:14px;height:14px}
@keyframes bounceDown{0%,100%{transform:translateX(-50%) translateY(0);opacity:0.5}50%{transform:translateX(-50%) translateY(8px);opacity:1}}
@media (max-width:760px){.hero-scroll-hint{display:none}}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;background:var(--ink);color:var(--bg);font-family:"Montserrat",sans-serif;font-size:13px;font-weight:600;border:1px solid var(--ink);transition:all .3s cubic-bezier(0.16,1,0.3,1);position:relative;overflow:hidden;isolation:isolate;will-change:transform}
.btn svg{width:14px;height:14px;transition:transform .3s}
.btn::before{content:"";position:absolute;inset:0;background:var(--flame);z-index:-1;transform:translateY(100%);transition:transform .35s cubic-bezier(0.65,0,0.35,1)}
.btn:hover{color:#FFF;border-color:var(--flame);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn:hover::before{transform:translateY(0)}
.btn:hover svg{transform:translateX(3px)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line2)}
.btn.ghost::before{background:var(--ink)}
.btn.ghost:hover{color:var(--bg);border-color:var(--ink)}

/* ─── NUMBERS ─── */
.numbers{padding-block:clamp(3.5rem,5vw,5rem);border-block:1px solid var(--line);background:var(--bg2)}
.num-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem}
@media (min-width:760px){.num-grid{grid-template-columns:repeat(4,1fr)}}
.num-item{border-left:2px solid var(--flame);padding-left:1.2rem;transition:padding-left .35s,border-color .35s}
.num-item:hover{padding-left:1.6rem;border-color:var(--ink)}
.num-item .v{font-family:"Montserrat",sans-serif;font-weight:700;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1;letter-spacing:-0.035em;color:var(--ink);font-variant-numeric:tabular-nums;display:inline-flex;align-items:center}
.num-digit{display:inline-block;height:1em;overflow:hidden;vertical-align:top}
.num-roll{display:inline-flex;flex-direction:column;transition:transform 1.6s cubic-bezier(0.22,1,0.36,1)}
.num-roll span{height:1em;display:flex;align-items:center;line-height:1;min-width:0.5em}
.num-suffix{display:inline-block;margin-left:2px}
.num-item .l{font-weight:300;font-size:12.5px;color:var(--ink3);margin-top:8px}

/* ─── PARENT (FPCI national) ─── */
.parent{padding-block:clamp(5rem,9vw,7rem)}
.parent-grid{display:grid;grid-template-columns:1fr;gap:3rem}
@media (min-width:980px){.parent-grid{grid-template-columns:1fr 1.3fr;gap:4rem;align-items:center}}
.parent-grid p{margin-bottom:1rem}
.parent-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}
.parent-stats .v{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1.4rem;color:var(--flame);letter-spacing:-0.02em}
.parent-stats .l{font-size:12px;color:var(--ink3);margin-top:4px}
.link{display:inline-flex;align-items:center;gap:8px;font-family:"Montserrat",sans-serif;font-weight:600;font-size:13px;color:var(--flame);margin-top:2rem;transition:gap .25s}
.link:hover{gap:14px}
.video{position:relative;width:100%;aspect-ratio:16/9;background:var(--bg3);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px -20px rgba(27,45,126,0.2)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vcap{font-size:12px;color:var(--ink3);margin-top:12px}
.vcap strong{font-family:"Montserrat",sans-serif;font-weight:600;color:var(--ink2)}

/* ─── BRIDGE (AA quote + hook) ─── */
.bridge{padding-block:clamp(5rem,9vw,7rem);background:var(--bg2);position:relative;overflow:hidden}
.bridge::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:680px;height:680px;background:radial-gradient(circle,var(--flame-soft),transparent 70%);opacity:0.45;pointer-events:none;z-index:0}
.bridge-inner{position:relative;z-index:1;max-width:780px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.bridge-quote{display:flex;flex-direction:column;align-items:center;gap:1.2rem;margin:0}
.bridge-portrait{width:72px;height:72px;border-radius:50%;overflow:hidden;border:2px solid var(--flame-soft);background:linear-gradient(135deg,var(--flame-soft),var(--bg3))}
.bridge-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(0.1)}
.bridge-portrait.fail img{display:none}
.bridge-portrait.fail::before{content:"AA";display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:"Montserrat",sans-serif;font-weight:800;font-size:1.4rem;color:var(--flame)}
.bridge-quote-text{font-family:"Montserrat",sans-serif;font-weight:500;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.45;letter-spacing:-0.005em;color:var(--ink2);max-width:36ch;margin:0;font-style:italic}
.bridge-quote-text::before{content:'"'}
.bridge-quote-text::after{content:'"'}
.bridge-quote-attr{display:flex;flex-direction:column;gap:1px;font-family:"Poppins",sans-serif;font-weight:300;font-size:12px;color:var(--ink3)}
.bridge-quote-attr strong{font-family:"Montserrat",sans-serif;font-weight:700;font-size:13px;color:var(--ink);letter-spacing:0.01em}
.bridge-divider{display:flex;gap:8px;align-items:center;margin:clamp(2.5rem,4vw,3.5rem) 0}
.bridge-divider span{width:5px;height:5px;border-radius:50%;background:var(--line2)}
.bridge-divider span:nth-child(2){background:var(--flame)}
.bridge-hook{font-family:"Montserrat",sans-serif;font-weight:700;font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-0.03em;line-height:1.1;color:var(--ink);max-width:22ch;margin:0 0 1rem}
.bridge-sub{font-family:"Poppins",sans-serif;font-weight:300;font-size:clamp(0.95rem,1.2vw,1.1rem);line-height:1.65;color:var(--ink2);max-width:48ch;margin:0 auto}

/* ─── ABOUT (ITB chapter) ─── */
.about{padding-block:clamp(5rem,9vw,7rem)}
.about-head{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start;margin-bottom:3rem}
@media (min-width:880px){.about-head{grid-template-columns:1fr 1.4fr;gap:3rem}}
.about-head p{margin-bottom:1rem;max-width:55ch}
.about-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:180px;gap:14px}
.about-grid.uniform{grid-template-columns:repeat(3,1fr);grid-auto-rows:240px}
@media (max-width:760px){.about-grid.uniform{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}}
.ap{position:relative;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,var(--bg3),var(--flame-soft));margin:0}
.ap img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(0.16,1,0.3,1)}
.ap:hover img{transform:scale(1.08)}
.ap.fail img{display:none}
.ap.fail::before{content:"ITB";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:"Montserrat",sans-serif;font-weight:800;font-size:1.4rem;color:var(--flame);letter-spacing:0.1em}
.ap::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(13,15,28,0.78) 0%,transparent 55%);pointer-events:none;transition:opacity .35s}
.ap:hover::after{opacity:0.7}
.ap figcaption{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;color:#FFF;display:flex;flex-direction:column;gap:3px;transform:translateY(0);transition:transform .35s cubic-bezier(0.16,1,0.3,1)}
.ap:hover figcaption{transform:translateY(-4px)}
.ap .t{font-family:"Montserrat",sans-serif;font-weight:700;font-size:9.5px;letter-spacing:0.18em;text-transform:uppercase;color:#B0C0FF}
.ap .d{font-family:"Montserrat",sans-serif;font-weight:600;font-size:13.5px;line-height:1.25;color:#FFF}

/* ─── FOKUS ─── */
.fokus{padding-block:clamp(5rem,9vw,7rem);background:var(--bg2)}
.fokus p{font-size:clamp(0.95rem,1.2vw,1.05rem);line-height:1.6;color:var(--ink2);max-width:62ch}
.fokus-grid{margin-top:3rem;display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:760px){.fokus-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.fokus-grid{grid-template-columns:repeat(4,1fr)}}
.fk-card{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:1.8rem 1.6rem;display:flex;flex-direction:column;gap:0.8rem;transition:all .4s cubic-bezier(0.16,1,0.3,1);min-height:240px;position:relative;overflow:hidden}
.fk-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,var(--flame-soft) 100%);opacity:0;transition:opacity .4s;pointer-events:none}
.fk-card:hover{border-color:var(--flame);transform:translateY(-6px);box-shadow:0 24px 50px -20px var(--flame-glow)}
.fk-card:hover::before{opacity:0.5}
.fk-icon{width:52px;height:52px;border-radius:14px;background:var(--flame-soft);color:var(--flame);display:inline-flex;align-items:center;justify-content:center;transition:all .35s;position:relative;z-index:1}
.fk-card:hover .fk-icon{background:var(--flame);color:#FFF;transform:scale(1.08) rotate(-4deg)}
.fk-icon svg{width:24px;height:24px}
.fk-n{font-family:"Montserrat",sans-serif;font-weight:700;font-size:11px;letter-spacing:0.18em;color:var(--ink3);position:relative;z-index:1}
.fk-t{font-family:"Montserrat",sans-serif;font-weight:600;font-size:1.3rem;letter-spacing:-0.02em;line-height:1.15;color:var(--ink);position:relative;z-index:1}
.fk-en{font-style:italic;font-size:12px;color:var(--ink3);margin-top:-4px;position:relative;z-index:1}
.fk-d{font-size:13px;color:var(--ink2);line-height:1.55;margin-top:auto;position:relative;z-index:1}

/* ─── PROGRAM ─── */
.program{padding-block:clamp(5rem,9vw,7rem)}
.program p{font-size:clamp(0.95rem,1.2vw,1.05rem);line-height:1.6;color:var(--ink2)}
.program-grid{margin-top:3rem;display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:760px){.program-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.program-grid{grid-template-columns:repeat(3,1fr)}}
.pg-card{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:1.8rem;cursor:pointer;display:flex;flex-direction:column;gap:0.8rem;min-height:240px;transition:all .4s cubic-bezier(0.16,1,0.3,1);position:relative;overflow:hidden;text-align:left}
.pg-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,var(--flame-soft) 100%);opacity:0;transition:opacity .4s;pointer-events:none}
.pg-card:hover{border-color:var(--flame);transform:translateY(-4px);box-shadow:0 20px 40px -16px var(--flame-glow)}
.pg-card:hover::before{opacity:0.5}
.pg-icon{width:44px;height:44px;border-radius:12px;background:var(--flame-soft);color:var(--flame);display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:all .35s}
.pg-card:hover .pg-icon{background:var(--flame);color:#FFF;transform:scale(1.08) rotate(-3deg)}
.pg-icon svg{width:20px;height:20px}
.pg-freq{font-family:"Montserrat",sans-serif;font-weight:700;font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--flame);position:relative;z-index:1}
.pg-t{font-family:"Montserrat",sans-serif;font-weight:600;font-size:1.2rem;color:var(--ink);line-height:1.2;letter-spacing:-0.02em;position:relative;z-index:1}
.pg-d{font-size:13px;color:var(--ink2);line-height:1.55;position:relative;z-index:1}
.pg-cta{margin-top:auto;font-family:"Montserrat",sans-serif;font-weight:600;font-size:11.5px;color:var(--flame);position:relative;z-index:1;display:flex;align-items:center;gap:6px;transition:gap .25s}
.pg-card:hover .pg-cta{gap:10px}
.pg-card.promo{background:linear-gradient(135deg,rgba(13,15,28,0.85),rgba(27,45,126,0.92) 50%,rgba(15,26,82,0.95)),url('https://upload.wikimedia.org/wikipedia/commons/c/c6/Lecturers_and_students_of_the_University_of_Indonesia_International_Relations_Department_01.jpg') center/cover;color:#FFF}
.pg-card.promo .pg-icon{background:rgba(255,255,255,0.15);color:#FFF}
.pg-card.promo .pg-freq{color:#B0C0FF}
.pg-card.promo .pg-t{color:#FFF}
.pg-card.promo .pg-d{color:rgba(255,255,255,0.78)}
.pg-card.promo .pg-cta{color:#B0C0FF}

/* ─── NETWORK / MAP ─── */
.network{padding-block:clamp(5rem,9vw,7rem);background:var(--bg2);position:relative;overflow:hidden}
.network::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 30%,var(--flame-soft) 0%,transparent 35%),radial-gradient(circle at 90% 70%,var(--flame-soft) 0%,transparent 35%);opacity:0.55;pointer-events:none}
.net-head{margin-bottom:3rem;max-width:760px;position:relative;z-index:20}
.net-head p{font-size:clamp(0.95rem,1.2vw,1.05rem);line-height:1.6;color:var(--ink2)}
.map-wrap{position:relative;z-index:1;background:#FFF;border:1px solid var(--line);border-radius:20px;padding:1.5rem;box-shadow:0 24px 60px -30px rgba(74,107,224,0.18);isolation:isolate}
:root[data-theme="dark"] .map-wrap{background:var(--bg);border-color:var(--line)}
#leafletMap{width:100%;height:560px;border-radius:14px;overflow:hidden;background:#F8F4EC;position:relative}
@media (max-width:760px){#leafletMap{height:420px}}
.leaflet-container{font-family:"Poppins",sans-serif !important;background:#F8F4EC !important}
:root[data-theme="dark"] .leaflet-container{background:#1A1F3A !important}
:root[data-theme="dark"] .leaflet-tile{filter:invert(0.92) hue-rotate(180deg) brightness(0.95)}
.leaflet-control-attribution{font-size:10px !important;background:rgba(255,255,255,0.85) !important;color:#5C5440 !important}
.leaflet-control-zoom a{background:#FFF !important;color:#0D0F1C !important;border:1px solid #E8DFCB !important;font-family:"Montserrat",sans-serif !important;font-weight:700 !important}
.leaflet-control-zoom a:hover{background:#4A6BE0 !important;color:#FFF !important}
.fpci-marker{background:transparent !important;border:0 !important}
@keyframes fpciRipple{0%{transform:scale(1);opacity:0.6}100%{transform:scale(2.8);opacity:0}}
.map-controls{position:absolute;top:2rem;right:2rem;z-index:1000;display:flex;flex-direction:column;gap:8px}
.map-ctl{width:38px;height:38px;border-radius:10px;background:#FFF;color:#0D0F1C;border:1px solid #E5E7F0;display:flex;align-items:center;justify-content:center;transition:all .25s;box-shadow:0 4px 12px -4px rgba(13,15,28,0.15)}
.map-ctl:hover{background:var(--flame);color:#FFF;border-color:var(--flame);transform:translateY(-2px)}
.map-ctl svg{width:16px;height:16px}
.map-legend{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:11.5px;color:var(--ink3);flex-wrap:wrap}
.lg-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--flame);border:1.5px solid var(--bg);margin-right:6px}
.lg-dot.itb{box-shadow:0 0 0 3px var(--flame-soft)}
.region-bar{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}
.region-tab{font-family:"Montserrat",sans-serif;font-weight:500;font-size:12px;padding:9px 16px;border-radius:999px;border:1px solid var(--line2);color:var(--ink2);background:var(--bg);cursor:pointer;transition:all .25s}
.region-tab:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-1px)}
.region-tab.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.region-tab .count{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:100px;background:var(--flame-soft);color:var(--flame);font-size:10px;font-weight:800}
.region-tab.active .count{background:rgba(255,255,255,0.18);color:var(--bg)}

/* Chapter search bar (network section) */
.search-wrap{position:relative;margin-top:1.5rem;max-width:480px;z-index:10}
.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--ink3);pointer-events:none;z-index:2}
#chapterSearch{
  width:100%;
  height:50px;line-height:50px;
  padding:0 16px 0 46px;
  background:var(--bg);border:1px solid var(--line);border-radius:14px;
  font-family:"Poppins",sans-serif;font-size:14px;color:var(--ink);
  transition:all .25s;outline:none;
  -webkit-appearance:none;appearance:none;
  box-sizing:border-box;
}
#chapterSearch::placeholder{color:var(--ink3);line-height:50px}
#chapterSearch:focus{border-color:var(--flame);box-shadow:0 0 0 4px var(--flame-soft)}
.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--bg);border:1px solid var(--line);border-radius:14px;max-height:340px;overflow-y:auto;z-index:50;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,visibility .2s,transform .2s;box-shadow:var(--shadow-md)}
.search-results.open{opacity:1;visibility:visible;transform:translateY(0)}
.sr-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--line);transition:background .15s;width:100%;background:transparent;text-align:left}
.sr-item:last-child{border-bottom:0}
.sr-item:hover,.sr-item.active{background:var(--bg2)}
.sr-tag{font-family:"Montserrat",sans-serif;font-weight:800;font-size:10px;color:var(--flame);background:var(--flame-soft);padding:4px 7px;border-radius:6px;min-width:42px;text-align:center;letter-spacing:0.04em}
.sr-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sr-name{font-family:"Montserrat",sans-serif;font-weight:600;font-size:13.5px;color:var(--ink);letter-spacing:-0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-city{font-family:"Poppins",sans-serif;font-weight:300;font-size:11.5px;color:var(--ink3)}
.sr-empty{padding:14px 16px;font-family:"Poppins",sans-serif;font-weight:300;font-size:13px;color:var(--ink3);font-style:italic}

/* ─── GALLERY ─── */
.gallery{padding-block:clamp(5rem,9vw,7rem);background:var(--bg2)}
.gallery p{font-size:0.95rem;color:var(--ink3)}
.gallery-grid{margin-top:3rem;display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:600px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}
.g-card{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .4s cubic-bezier(0.16,1,0.3,1);display:flex;flex-direction:column;text-align:left}
.g-card:hover{transform:translateY(-4px);border-color:var(--flame);box-shadow:0 20px 40px -16px var(--flame-glow)}
.g-cover{position:relative;width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,var(--bg3),var(--flame-soft));overflow:hidden}
.g-cover img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(0.16,1,0.3,1)}
.g-card:hover .g-cover img{transform:scale(1.08)}
.g-cover.fail img{display:none}
.g-cover.fail::before{content:"FPCI";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:"Montserrat",sans-serif;font-weight:800;font-size:1.5rem;color:var(--flame);letter-spacing:0.1em}
.g-body{padding:1.2rem 1.4rem 1.4rem;display:flex;flex-direction:column;gap:6px;flex:1}
.g-tag{font-family:"Montserrat",sans-serif;font-weight:700;font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:var(--flame)}
.g-ttl{font-family:"Montserrat",sans-serif;font-weight:600;font-size:1rem;color:var(--ink);letter-spacing:-0.01em;line-height:1.25}
.g-date{font-size:11.5px;color:var(--ink3);margin-top:auto;padding-top:6px;display:flex;align-items:center;gap:8px}
.g-date::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--flame)}
.g-card.promo{background:linear-gradient(180deg,rgba(13,15,28,0.55) 0%,rgba(13,15,28,0.92) 100%),url('https://fpcindonesia.org/wp-content/uploads/2025/02/Conference-on-Indonesian-Foreign-Policy-2024-1024x576.jpg') center/cover no-repeat;color:#FFFFFF;border-color:rgba(74,107,224,0.4);position:relative}
.g-card.promo::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(74,107,224,0.3),transparent 50%);pointer-events:none;z-index:0}
.g-card.promo .g-cover{background:transparent;font-size:0;display:block;position:relative;overflow:hidden}
.g-card.promo .g-cover::after{display:block;content:"7+";position:absolute;top:14px;right:14px;z-index:5;font-family:"Montserrat",sans-serif;font-weight:800;font-size:13px;color:#FFFFFF;background:rgba(74,107,224,0.95);padding:6px 12px;border-radius:100px;letter-spacing:0.04em;backdrop-filter:blur(4px)}
.g-card.promo .g-body{background:transparent;position:relative;z-index:1}
.g-card.promo .g-tag{color:#B0C0FF}
.g-card.promo .g-ttl{color:#FFFFFF;font-size:1.1rem;line-height:1.3}
.g-card.promo .g-date{color:rgba(255,255,255,0.7)}
.g-card.promo .g-date::before{background:var(--flame);box-shadow:0 0 8px var(--flame)}
.g-card.promo:hover{border-color:var(--flame);box-shadow:0 24px 50px -16px var(--flame-glow)}

/* ─── LEGACY-JOIN (recruit mega-section, no quote zone) ─── */
.legacy-join{position:relative;padding-block:clamp(5rem,9vw,7rem);background:linear-gradient(135deg,#0A0D1F 0%,#0F1A52 50%,#1B2D7E 100%);color:#FFFFFF;overflow:hidden;isolation:isolate}
:root[data-theme="dark"] .legacy-join{background:linear-gradient(135deg,#000814 0%,#0A1140 50%,#142D8C 100%)}
.lj-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.lj-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:0.42;will-change:transform}
.lj-orb-1{width:580px;height:580px;background:radial-gradient(circle,#4A6BE0,transparent 65%);top:-12%;right:-10%;animation:ljOrbFloat 20s ease-in-out infinite}
.lj-orb-2{width:480px;height:480px;background:radial-gradient(circle,#8DA0FF,transparent 65%);bottom:-18%;left:-12%;animation:ljOrbFloat 26s ease-in-out infinite reverse}
.lj-orb-3{width:380px;height:380px;background:radial-gradient(circle,#4A6BE0,transparent 70%);top:45%;left:42%;transform:translate(-50%,-50%);opacity:0.25;animation:ljOrbFloat3 30s ease-in-out infinite}
@keyframes ljOrbFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,5%) scale(1.1)}}
@keyframes ljOrbFloat3{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-46%,-54%) scale(1.15)}}
.lj-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.035) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse at center,black 0%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at center,black 0%,transparent 80%)}
.lj-recruit-zone{position:relative;z-index:1;max-width:1200px;margin:0 auto}
.lj-inner{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}
@media (min-width:980px){.lj-inner{grid-template-columns:1.25fr 1fr;gap:4rem}}
.lj-left{display:flex;flex-direction:column;gap:1.2rem}
.lj-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:100px;background:rgba(34,197,94,0.16);border:1px solid rgba(34,197,94,0.42);font-family:"Montserrat",sans-serif;font-weight:700;font-size:10.5px;letter-spacing:0.22em;color:#FFFFFF;align-self:flex-start;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.lj-dot{width:7px;height:7px;border-radius:50%;background:#22C55E;animation:pulse 1.6s ease-in-out infinite;box-shadow:0 0 12px #22C55E}
.lj-headline{font-family:"Montserrat",sans-serif;font-weight:700;font-size:clamp(2.4rem,5.5vw,4.2rem);letter-spacing:-0.035em;line-height:1;color:#FFFFFF;margin:0.4rem 0 0.6rem}
.lj-accent{background:linear-gradient(135deg,#8DA0FF 0%,#FFFFFF 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lj-lead{font-family:"Poppins",sans-serif;font-weight:300;font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.65;color:rgba(255,255,255,0.82);max-width:55ch;margin-bottom:0.6rem}
.lj-benefits{list-style:none;padding:0;margin:0.4rem 0 0.8rem;display:flex;flex-direction:column;gap:11px}
.lj-benefits li{display:flex;align-items:center;gap:12px;font-family:"Poppins",sans-serif;font-weight:400;font-size:15px;color:rgba(255,255,255,0.92);line-height:1.4}
.lj-benefits li svg{width:18px;height:18px;flex-shrink:0;color:#22C55E;background:rgba(34,197,94,0.15);border-radius:50%;padding:3px;border:1px solid rgba(34,197,94,0.3)}
.lj-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:0.8rem}
.lj-cta{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;background:#FFFFFF;color:#0A0D1F;border-radius:100px;border:1px solid #FFFFFF;font-family:"Montserrat",sans-serif;font-weight:700;font-size:14px;letter-spacing:-0.005em;cursor:pointer;transition:all .25s cubic-bezier(0.16,1,0.3,1);position:relative;overflow:hidden;isolation:isolate;box-shadow:0 16px 36px -12px rgba(74,107,224,0.5)}
.lj-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,#8DA0FF,#4A6BE0);transform:translateY(100%);transition:transform .35s cubic-bezier(0.65,0,0.35,1)}
.lj-cta:hover{color:#FFFFFF;border-color:#8DA0FF;transform:translateY(-2px);box-shadow:0 24px 50px -12px rgba(141,160,255,0.6)}
.lj-cta:hover::before{transform:translateY(0)}
.lj-cta svg{width:15px;height:15px;transition:transform .25s}
.lj-cta:hover svg{transform:translateX(4px)}
.lj-secondary{display:inline-flex;align-items:center;gap:8px;font-family:"Poppins",sans-serif;font-weight:400;font-size:13px;color:rgba(255,255,255,0.72);padding:8px 0;transition:color .25s}
.lj-secondary svg{width:16px;height:16px}
.lj-secondary:hover{color:#FFFFFF}
.lj-right{position:relative}
.lj-countdown-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.12);border-radius:22px;padding:1.8rem 2rem;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);display:flex;flex-direction:column;gap:1.2rem;box-shadow:0 36px 90px -22px rgba(0,0,0,0.55)}
.lj-cc-label{display:inline-flex;align-items:center;gap:10px;font-family:"Montserrat",sans-serif;font-weight:700;font-size:10.5px;letter-spacing:0.22em;color:rgba(255,255,255,0.72)}
.lj-pulse{width:8px;height:8px;border-radius:50%;background:#EF4444;box-shadow:0 0 0 0 rgba(239,68,68,0.6);animation:ljPulse 1.5s ease-out infinite}
@keyframes ljPulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,0.6)}100%{box-shadow:0 0 0 14px rgba(239,68,68,0)}}
.lj-countdown{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:6px}
.lj-cd-unit{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 4px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:12px}
.lj-cd-num{font-family:"Montserrat",sans-serif;font-weight:700;font-size:clamp(1.7rem,3.6vw,2.4rem);letter-spacing:-0.04em;line-height:1;color:#FFFFFF;font-variant-numeric:tabular-nums}
.lj-cd-lbl{font-family:"Poppins",sans-serif;font-weight:300;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.58)}
.lj-cd-sep{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1.4rem;color:rgba(255,255,255,0.3);align-self:flex-start;margin-top:14px}
.lj-deadline{display:flex;align-items:center;gap:10px;padding-top:0.8rem;border-top:1px solid rgba(255,255,255,0.08);font-family:"Poppins",sans-serif;font-weight:400;font-size:12.5px;color:rgba(255,255,255,0.72)}
.lj-deadline svg{width:15px;height:15px;color:#8DA0FF}
.lj-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0.8rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.08)}
.lj-stat{display:flex;flex-direction:column;gap:2px;text-align:left}
.lj-stat-v{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1.6rem;letter-spacing:-0.025em;color:#FFFFFF;line-height:1}
.lj-stat-l{font-family:"Poppins",sans-serif;font-weight:300;font-size:10.5px;color:rgba(255,255,255,0.58);letter-spacing:0.04em;margin-top:4px;line-height:1.3}
@media (max-width:560px){.lj-countdown{gap:3px}.lj-cd-unit{padding:10px 2px}.lj-cd-sep{font-size:1.1rem;margin-top:10px}.lj-stats{grid-template-columns:repeat(3,1fr);gap:0.5rem}.lj-stat-v{font-size:1.3rem}}

/* ─── CONTACT (CTA) with social icons ─── */
.cta{padding-block:clamp(5rem,9vw,7rem)}
.cta-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:end}
@media (min-width:880px){.cta-grid{grid-template-columns:1.4fr 1fr;gap:5rem}}
.cta-list{display:flex;flex-direction:column;gap:1rem}
.cta-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.2rem 1.5rem;border:1px solid var(--line);border-radius:14px;transition:all .25s cubic-bezier(0.16,1,0.3,1);font-family:"Montserrat",sans-serif}
.cta-row:hover{border-color:var(--flame);transform:translateX(-4px);background:var(--bg2);box-shadow:var(--shadow-sm)}
.cta-ic{width:40px;height:40px;border-radius:10px;background:var(--flame-soft);color:var(--flame);display:flex;align-items:center;justify-content:center;transition:all .25s;flex-shrink:0}
.cta-row:hover .cta-ic{background:var(--flame);color:#FFFFFF;transform:scale(1.05) rotate(-3deg)}
.cta-ic svg{width:18px;height:18px}
.cta-row .k{display:block;font-weight:600;font-size:0.95rem;color:var(--ink);margin-bottom:2px}
.cta-row .v{font-weight:300;font-size:12.5px;color:var(--ink3);font-family:"Poppins",sans-serif}
.cta-arrow{color:var(--ink3);font-size:18px;transition:all .25s}
.cta-row:hover .cta-arrow{color:var(--flame);transform:translate(3px,-3px)}

/* ─── FOOTER ─── */
footer{padding:3rem 0 1.5rem;border-top:1px solid var(--line);background:var(--bg)}
.foot-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media (min-width:760px){.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem}}
footer p{font-size:13px;color:var(--ink3);max-width:32ch;line-height:1.6;margin-top:0.8rem}
footer h4{font-family:"Montserrat",sans-serif;font-weight:600;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink3);margin-bottom:1rem}
footer ul{list-style:none;display:flex;flex-direction:column;gap:0.5rem}
footer ul a{font-size:13px;color:var(--ink2);transition:color .2s,padding-left .2s}
footer ul a:hover{color:var(--flame);padding-left:4px}
.foot-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:11.5px;color:var(--ink3);letter-spacing:0.04em}
.foot-help{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--ink3);text-decoration:underline;text-underline-offset:3px;transition:color .2s}
.foot-help:hover{color:var(--flame)}

/* ─── REVEAL ANIMATIONS ─── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(0.16,1,0.3,1),transform .9s cubic-bezier(0.16,1,0.3,1)}
.reveal.in{opacity:1;transform:translateY(0)}
.stagger > *{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(0.16,1,0.3,1),transform .7s cubic-bezier(0.16,1,0.3,1)}
.stagger.in > *{opacity:1;transform:translateY(0)}
.stagger.in > *:nth-child(1){transition-delay:.05s}
.stagger.in > *:nth-child(2){transition-delay:.12s}
.stagger.in > *:nth-child(3){transition-delay:.19s}
.stagger.in > *:nth-child(4){transition-delay:.26s}
.stagger.in > *:nth-child(5){transition-delay:.33s}
.stagger.in > *:nth-child(6){transition-delay:.40s}
.stagger.in > *:nth-child(7){transition-delay:.47s}
.stagger.in > *:nth-child(8){transition-delay:.54s}
.big{opacity:0;transform:translateY(14px);transition:opacity .85s cubic-bezier(0.16,1,0.3,1) 0.15s,transform .85s cubic-bezier(0.16,1,0.3,1) 0.15s}
.reveal.in .big{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){.reveal,.stagger > *,.kicker,.big,.brand-logo{opacity:1 !important;transform:none !important;transition:none !important;animation:none !important}}

/* ─── FAB TOP ─── */
.fab-top{position:fixed;bottom:24px;right:24px;z-index:80;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--bg);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s}
.fab-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.fab-top:hover{background:var(--flame);transform:translateY(-2px) scale(1.05);box-shadow:0 20px 40px -16px var(--flame-glow)}
.fab-top svg{width:18px;height:18px}

/* ─── HELP PANEL ─── */
.help-panel{position:fixed;inset:0;z-index:350;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:rgba(13,15,28,0.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.help-panel.open{opacity:1;visibility:visible}
.help-card{background:var(--bg);border:1px solid var(--line);border-radius:18px;max-width:460px;width:100%;padding:1.5rem 1.8rem;box-shadow:var(--shadow-lg);transform:translateY(16px) scale(0.96);transition:transform .3s cubic-bezier(0.16,1,0.3,1)}
.help-panel.open .help-card{transform:translateY(0) scale(1)}
.help-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}
.help-head h4{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1rem;color:var(--ink)}
.help-head button{font-size:24px;color:var(--ink2);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.help-head button:hover{background:var(--bg2)}
.help-card ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.help-card li{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:13px;color:var(--ink2)}
.help-card li span:first-child{display:flex;gap:4px;align-items:center}

/* ─── MODAL ─── */
.modal{position:fixed;inset:0;background:rgba(13,15,28,0.65);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:300;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.modal.open{opacity:1;visibility:visible}
.modal-card{background:var(--bg);border:1px solid var(--line);border-radius:20px;max-width:640px;width:100%;max-height:88vh;overflow:hidden;display:flex;flex-direction:column;transform:translateY(20px) scale(0.96);transition:transform .35s cubic-bezier(0.16,1,0.3,1);box-shadow:var(--shadow-lg)}
.modal.open .modal-card{transform:translateY(0) scale(1)}

.magnetic{will-change:transform}

/* ═══════════════════════════════════════════════════════════════
   REGISTRATION MODAL
   ═══════════════════════════════════════════════════════════════ */
.reg-modal{position:fixed;inset:0;z-index:350;display:flex;align-items:flex-start;justify-content:center;padding:5vh 1.5rem 2rem;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;overflow-y:auto}
.reg-modal.open{opacity:1;visibility:visible}
.reg-modal-backdrop{position:fixed;inset:0;background:rgba(13,15,28,0.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.reg-modal-card{position:relative;width:100%;max-width:620px;background:var(--bg);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden;transform:translateY(20px) scale(0.96);transition:transform .35s cubic-bezier(0.16,1,0.3,1);margin:auto}
.reg-modal.open .reg-modal-card{transform:translateY(0) scale(1)}
.reg-close{position:absolute;top:14px;right:14px;z-index:5;width:36px;height:36px;border-radius:50%;background:var(--bg2);color:var(--ink2);display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;transition:all .2s}
.reg-close:hover{background:var(--ink);color:var(--bg);transform:rotate(90deg)}
.reg-header{background:linear-gradient(135deg,#1B2D7E 0%,#0F1A52 60%,#0D0F1C 100%);color:#FFF;padding:2rem 2rem 1.6rem;position:relative;overflow:hidden}
.reg-header::before{content:"";position:absolute;top:-50%;right:-20%;width:240px;height:240px;background:radial-gradient(circle,rgba(74,107,224,0.4),transparent 65%);pointer-events:none}
.reg-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:100px;background:rgba(34,197,94,0.18);border:1px solid rgba(34,197,94,0.4);font-family:"Montserrat",sans-serif;font-weight:700;font-size:10px;letter-spacing:0.22em;color:#FFF;margin-bottom:0.9rem;position:relative;z-index:1}
.reg-dot{width:7px;height:7px;border-radius:50%;background:#22C55E;animation:pulse 1.8s ease-in-out infinite}
.reg-title{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1.6rem;letter-spacing:-0.025em;line-height:1.1;color:#FFF;margin-bottom:0.4rem;position:relative;z-index:1}
.reg-sub{font-family:"Poppins",sans-serif;font-weight:300;font-size:13px;line-height:1.5;color:rgba(255,255,255,0.78);max-width:46ch;position:relative;z-index:1}
.reg-form{padding:1.8rem 2rem 2rem;display:flex;flex-direction:column;gap:1.1rem}
.reg-row{display:grid;grid-template-columns:1fr 1fr;gap:0.9rem}
@media (max-width:560px){.reg-row{grid-template-columns:1fr}}
.reg-field{display:flex;flex-direction:column;gap:5px;position:relative}
.reg-field-sm{max-width:140px}
@media (max-width:560px){.reg-field-sm{max-width:none}}
.reg-field > span{font-family:"Montserrat",sans-serif;font-weight:600;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink3)}
.reg-field input,.reg-field textarea{font-family:"Poppins",sans-serif;font-weight:400;font-size:14px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 14px;outline:none;transition:all .2s;width:100%}
.reg-field textarea{resize:vertical;min-height:80px;line-height:1.5}
.reg-field input:focus,.reg-field textarea:focus{border-color:var(--flame);box-shadow:0 0 0 4px var(--flame-soft)}
.reg-field input:invalid:not(:focus):not(:placeholder-shown),.reg-field textarea:invalid:not(:focus):not(:placeholder-shown){border-color:#EF4444}
.reg-field input::placeholder,.reg-field textarea::placeholder{color:var(--ink3);opacity:0.7}
.reg-counter{position:absolute;bottom:8px;right:14px;font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--ink3);pointer-events:none}
.reg-counter.warn{color:#EF4444}
.reg-fieldset{border:0;padding:0;display:flex;flex-direction:column;gap:8px}
.reg-fieldset legend{font-family:"Montserrat",sans-serif;font-weight:600;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px}
.reg-chips{display:flex;flex-wrap:wrap;gap:8px}
.reg-chips label{position:relative;cursor:pointer}
.reg-chips input{position:absolute;opacity:0;width:0;height:0}
.reg-chips span{display:inline-block;padding:8px 14px;border-radius:100px;border:1px solid var(--line2);font-family:"Montserrat",sans-serif;font-size:12px;font-weight:500;color:var(--ink2);background:var(--bg);transition:all .2s}
.reg-chips label:hover span{border-color:var(--ink);color:var(--ink)}
.reg-chips input:checked + span{background:var(--flame);color:#FFF;border-color:var(--flame);box-shadow:0 4px 12px -4px var(--flame-glow)}
.reg-actions{display:flex;gap:10px;align-items:center;margin-top:0.4rem}
.reg-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:99px;font-family:"Montserrat",sans-serif;font-weight:600;font-size:13px;letter-spacing:-0.005em;transition:all .25s;cursor:pointer}
.reg-btn svg{width:14px;height:14px;transition:transform .2s}
.reg-btn.primary{background:var(--ink);color:var(--bg);border:1px solid var(--ink);margin-left:auto}
.reg-btn.primary:hover{background:var(--flame);border-color:var(--flame);transform:translateY(-2px);box-shadow:0 12px 24px -8px var(--flame-glow)}
.reg-btn.primary:hover svg{transform:translateX(3px)}
.reg-btn.primary:disabled{background:var(--ink3);border-color:var(--ink3);cursor:not-allowed;transform:none;box-shadow:none}
.reg-btn.ghost{background:transparent;color:var(--ink2);border:1px solid var(--line2)}
.reg-btn.ghost:hover{color:var(--ink);border-color:var(--ink)}
.reg-note{font-family:"Poppins",sans-serif;font-weight:300;font-size:11.5px;color:var(--ink3);font-style:italic;text-align:center;margin-top:0.4rem;line-height:1.5}
.reg-btn.primary.loading{pointer-events:none}
.reg-btn.primary.loading svg{animation:regSpin 0.8s linear infinite}
@keyframes regSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.reg-success{padding:3rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}
.reg-success-icon{width:64px;height:64px;border-radius:50%;background:#22C55E;color:#FFF;display:flex;align-items:center;justify-content:center;animation:regSuccessPop 0.5s cubic-bezier(0.16,1,0.3,1)}
.reg-success-icon svg{width:32px;height:32px;stroke-width:3}
.reg-success h3{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1.4rem;color:var(--ink)}
.reg-success p{font-size:13px;color:var(--ink2);max-width:38ch;line-height:1.6}
@keyframes regSuccessPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}

/* Print */
@media print{
  .nav,.section-dots,.fab-top,.search-overlay,.modal,.reg-modal,.progress,.hero-scroll-hint,.tools{display:none !important}
  body{background:#FFF;color:#000}
}
