/* Layout concept: a vertical cinematic reel — full-bleed video stages separated by
   quiet editorial type panels, stitched together by a single connective "signal line"
   that runs down the page and lights up as the visitor scrolls through the loop. */
:root{
  --bg:#0a0a0a; --ink:#f6f4ef; --ink-soft:#b9b4a9; --line:#2a2823;
  --accent:#a970ff; --accent-2:#ff7fb0; --accent-soft:#1c1730; --surface:#161319;
  --nav-surface: rgba(10,10,10,.5);
  --grad: linear-gradient(100deg, #7c3aed 0%, #ec4899 55%, #f97362 100%);
  --font-display:'Poppins','Gilroy','Cairo',Arial,sans-serif; --font-body:'Helvetica Neue',Helvetica,Arial,sans-serif; --font-mono:'IBM Plex Mono',monospace;
  --radius:18px; --radius-sm:10px; --radius-pill:999px;
  color-scheme: dark;
}
.grad-text{
  background:var(--grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
*{box-sizing:border-box;}
html,body{margin:0; width:100%; overflow-x:hidden;}
body{
  background:var(--bg); color:var(--ink); font-family:var(--font-body);
  padding-left:max(16px, env(safe-area-inset-left,0px));
  padding-right:max(16px, env(safe-area-inset-right,0px));
  overflow-x:hidden;
}
img{max-width:100%;}
h1,h2,h3{font-family:var(--font-display); text-wrap:balance; margin:0; font-weight:700; letter-spacing:-0.02em;}
h4{margin:0;}
p{line-height:1.6; color:var(--ink-soft); margin:0;}
.wrap{max-width:1180px; margin:0 auto; width:100%;}
.eyebrow{font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--accent);}
a{color:inherit; text-decoration:none;}
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:0.85rem 1.8rem; border-radius:var(--radius-pill);
  font-family:var(--font-body); font-weight:600; font-size:0.92rem; text-decoration:none;
  border:1px solid var(--ink); cursor:pointer; transition:background .2s,color .2s,border-color .2s;
}
.btn-primary{ background:var(--accent); color:#fff; border-color:var(--accent); }
.btn-primary:hover{ background:var(--accent-2); border-color:var(--accent-2); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--ink); }

/* nav */
.nav{
  position:fixed; top:env(safe-area-inset-top,0px); left:0; right:0; z-index:50;
  padding:0.9rem clamp(14px, 3.4vw, 28px) 0; background:transparent;
  transition:padding .35s ease;
}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; gap:1rem;
  max-width:1180px; margin:0 auto; width:100%;
  padding:0.6rem 1rem;
  background:rgba(246,244,239,.06);
  border:1px solid rgba(246,244,239,.12);
  border-radius:var(--radius-pill);
  backdrop-filter:blur(20px) saturate(160%); -webkit-backdrop-filter:blur(20px) saturate(160%);
  box-shadow:0 8px 32px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
  transition:background .35s ease, border-color .35s ease, box-shadow .35s ease, padding .35s ease;
}
.nav.scrolled .wrap{
  padding:0.5rem 0.9rem;
  background:rgba(14,13,17,.56);
  border-color:rgba(246,244,239,.16);
  box-shadow:0 10px 36px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.08);
}
.logo{display:flex; align-items:center; padding-left:0.4rem;}
.logo img{display:block; height:20px; width:auto;}
.navlinks{display:flex; align-items:center; gap:0.2rem; font-family:var(--font-display); font-size:0.84rem; font-weight:500; white-space:nowrap;}
.navlinks a{
  position:relative; color:#f6f4ef; opacity:0.72; letter-spacing:-0.005em;
  padding:0.5rem 0.85rem; border-radius:var(--radius-pill); text-decoration:none;
  transition:opacity .2s ease, background .2s ease, color .2s ease;
}
.navlinks a:hover{opacity:1; background:rgba(246,244,239,.08);}
.navlinks a[aria-current="page"]{opacity:1; color:var(--ink); background:rgba(169,112,255,.16);}
.navcta{display:flex; align-items:center; gap:1rem;}
.navcta a.btn-primary{padding:0.6rem 1.3rem;font-size:0.85rem;}
.nav-toggle{display:none; flex-direction:column; justify-content:center; gap:5px; width:36px; height:36px; padding:0; background:none; border:none; cursor:pointer; flex-shrink:0; z-index:51; position:relative;}
.nav-toggle span{display:block; width:100%; height:2px; background:#f6f4ef; border-radius:2px; transition:transform .3s ease, opacity .3s ease;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{
  display:none; position:fixed; inset:0; z-index:49; flex-direction:column; align-items:center; justify-content:center; gap:1.3rem;
  background:rgba(10,9,13,.7);
  backdrop-filter:blur(28px) saturate(160%); -webkit-backdrop-filter:blur(28px) saturate(160%);
  overflow-y:auto; padding:2rem 1.5rem;
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}
.mobile-menu.open{opacity:1; pointer-events:auto;}
.mobile-menu a{font-family:var(--font-display); font-size:1.4rem; font-weight:600; color:#f6f4ef; letter-spacing:-0.01em; text-decoration:none;}
.mobile-menu a.btn{margin-top:0.8rem; font-size:1rem; padding:0.9rem 2.2rem;}
@media (max-width:1040px){
  .navlinks a{padding:0.5rem 0.65rem; font-size:0.8rem;}
}
@media (max-width:900px){
  .navlinks, .navcta{display:none;}
  .nav-toggle{display:flex; margin-right:0.4rem;}
  .mobile-menu{display:flex;}
}
body{padding-top:0;}
main, header.hero, section{ }

/* hero */
.hero{position:relative; width:100%; min-height:92vh; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden;}
.hero-media{position:absolute; inset:0; z-index:0;}
.hero-media video{width:100%; height:100%; object-fit:cover; filter:saturate(1.05) brightness(0.62);}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(4,5,12,.35) 0%, rgba(4,5,12,.2) 40%, rgba(4,5,12,.88) 100%);}
.hero-inner{position:relative; z-index:2; padding:9rem 0 4.5rem; color:#f4f5fb;}
.hero-inner .eyebrow{color:var(--accent);}
.hero-inner h1{font-size:clamp(2.4rem,6.4vw,5.2rem); font-weight:500; color:#fbfbfe; max-width:17ch; margin-top:0.9rem; line-height:1.08; letter-spacing:-0.01em;}
.hero-inner p.sub{color:#d6d9ec; max-width:46ch; margin-top:1.4rem; font-size:1.06rem;}
.hero-ctas{display:flex; gap:1rem; margin-top:2.2rem; flex-wrap:wrap;}
.hero .btn-primary{background:#f4f5fb;color:#0b0d14;border-color:#f4f5fb;}
.hero .btn-primary:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.hero .btn-ghost{color:#f4f5fb;border-color:rgba(244,245,251,.45);}
.hero .btn-ghost:hover{border-color:#f4f5fb;}
.hero-stats{display:flex; gap:1rem; margin-top:3rem; flex-wrap:wrap;}
.hero-stat{flex:1 1 180px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.12); backdrop-filter:blur(10px); border-radius:var(--radius); padding:1.2rem 1.3rem;}
.hero-stat .v{font-family:var(--font-display); font-size:1.7rem; font-weight:600; color:#fff; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.hero-stat .l{font-size:0.78rem; color:#d6d9ec; margin-top:0.4rem; line-height:1.4;}
.hero-stat .src{color:#8f94ab;}
@media (max-width:620px){ .hero-stats{margin-top:2rem;} }
.scrollcue{position:relative; z-index:2; display:flex; align-items:center; gap:0.6rem; padding:1.6rem 0 2.2rem; color:#c9cde4; font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase;}
.scrollcue .bar{width:1px; height:28px; background:linear-gradient(180deg, #c9cde4, transparent); animation:cuemove 1.8s ease-in-out infinite;}
@keyframes cuemove{0%{opacity:0.2;}50%{opacity:1;}100%{opacity:0.2;}}

/* section shell */
section{position:relative; padding:5.5rem 0;}
.section-head{max-width:46ch; margin-bottom:3rem;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.5rem); margin-top:0.7rem; text-wrap:balance;}
.section-head p{margin-top:1rem; font-size:1.02rem; text-wrap:pretty;}
.section-head.center{max-width:56ch; margin-left:auto; margin-right:auto; text-align:center;}
.section-head.center .eyebrow{display:flex; justify-content:center; align-items:center; gap:0.6rem;}
.section-head.center .eyebrow::before, .section-head.center .eyebrow::after{content:""; width:28px; height:1px; background:var(--line);}
.section-head.right{max-width:50ch; margin-left:auto; text-align:right;}
.section-head.wide{max-width:68ch;}

/* film-grain texture, used page-wide and on feature backgrounds */
.grain-overlay{content:""; position:absolute; inset:0; pointer-events:none; opacity:0.5; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:160px 160px;}
body::before{content:""; position:fixed; inset:0; z-index:4; pointer-events:none; opacity:0.045; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:140px 140px;}

/* program section — blended photo + grainy gradient backdrop */
.program-feature{position:relative; overflow:hidden; border-radius:var(--radius); padding:5.5rem 2.5rem; margin:0 -2.5rem;}
.program-feature-bg{position:absolute; inset:0; z-index:0;}
.program-feature-bg img{width:100%; height:100%; object-fit:cover; object-position:center 25%; opacity:0.24; mix-blend-mode:luminosity; filter:saturate(0.5) contrast(1.1);}
.program-feature-bg::after{content:""; position:absolute; inset:0;
  background:
    radial-gradient(55% 50% at 12% 8%, rgba(124,58,237,.6), transparent 70%),
    radial-gradient(50% 45% at 92% 88%, rgba(249,115,98,.4), transparent 70%),
    linear-gradient(180deg, rgba(10,10,10,.8) 0%, rgba(10,10,10,.94) 100%);
}
.program-feature-bg .grain-overlay{opacity:0.35;}
.program-feature > .section-head, .program-feature > .program-grid{position:relative; z-index:1;}
.program-feature .program-card{background:rgba(22,19,25,.7); backdrop-filter:blur(6px);}
@media (max-width:760px){ .program-feature{padding:4rem 1.2rem; margin:0 -1.2rem; border-radius:0;} }

/* keyword marquee strip */
.marquee-strip{position:relative; overflow:hidden; border-bottom:1px solid var(--line); padding:1.1rem 0; background:#060606; -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);}
.marquee-track{display:flex; width:max-content; gap:2.4rem; animation:marquee 32s linear infinite;}
.marquee-track span{font-family:var(--font-mono); font-size:0.74rem; letter-spacing:0.1em; color:var(--ink-soft); white-space:nowrap; display:flex; align-items:center; gap:2.4rem;}
.marquee-track span::after{content:"·"; color:var(--accent); margin-left:2.4rem;}
@keyframes marquee{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){ .marquee-track{animation:none;} }
@media (max-width:620px){ .marquee-track span{font-size:0.66rem; gap:1.6rem;} .marquee-track span::after{margin-left:1.6rem;} }

/* problem section — ghost numerals for depth, asymmetric first card */
.problem-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:1.6rem;}
.problem-card{position:relative; border:none; padding:2.2rem; background:var(--surface); border-radius:var(--radius); overflow:hidden;}
.problem-card .ghost-num{position:absolute; top:-0.6rem; right:0.6rem; font-family:var(--font-display); font-size:5.5rem; font-weight:800; color:rgba(255,255,255,.035); line-height:1; pointer-events:none; user-select:none;}
.problem-card .num{font-family:var(--font-mono); color:var(--accent); font-size:0.8rem; position:relative; z-index:1;}
.problem-card h3{font-size:1.15rem; margin-top:0.9rem; font-weight:600; position:relative; z-index:1;}
.problem-card p{margin-top:0.7rem; font-size:0.93rem; position:relative; z-index:1;}
.problem-card:first-child{background:linear-gradient(155deg, var(--accent-soft) 0%, var(--surface) 65%);}
@media (max-width:860px){ .problem-grid{grid-template-columns:1fr;} }

/* process stepper */
.process-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:1.2rem;}
.process-step{position:relative; padding-top:2.4rem;}
.process-step .pn{position:absolute; top:0; left:0; font-family:var(--font-display); font-size:2.2rem; font-weight:700; color:transparent; -webkit-text-stroke:1px var(--line);}
.process-step h4{font-size:0.98rem; font-weight:600; margin-top:0.3rem;}
.process-step p{font-size:0.82rem; margin-top:0.5rem;}
.process-step::before{content:""; position:absolute; top:0.9rem; left:-0.6rem; width:calc(100% + 1.2rem); height:1px; background:var(--line);}
.process-step:first-child::before{display:none;}
@media (max-width:980px){ .process-grid{grid-template-columns:repeat(3,1fr);} .process-step::before{display:none;} }
@media (max-width:620px){ .process-grid{grid-template-columns:1fr 1fr;} }

/* differentiators */
.diff-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
.diff-card{padding:1.8rem; background:var(--surface); border-radius:var(--radius);}
.diff-card .dn{font-family:var(--font-mono); font-size:0.72rem; color:var(--accent);}
.diff-card h4{font-family:var(--font-display); font-size:1.08rem; font-weight:600; margin-top:0.7rem;}
.diff-card p{margin-top:0.6rem; font-size:0.9rem;}
@media (max-width:900px){ .diff-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .diff-grid{grid-template-columns:1fr;} }

/* FAQ accordion */
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.4rem 0; cursor:pointer; background:none; border:none; width:100%; text-align:left; font-family:var(--font-body); font-size:1.02rem; font-weight:600; color:var(--ink);}
.faq-q .plus{font-family:var(--font-mono); font-size:1.1rem; color:var(--accent); transition:transform .3s ease; flex-shrink:0;}
.faq-item.open .faq-q .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .35s ease;}
.faq-a p{padding:0 0 1.4rem; max-width:62ch; font-size:0.94rem;}

/* icon badge, shared by governance + program grids */
.icon-badge{width:52px; height:52px; border-radius:50%; background:var(--accent-soft); display:flex; align-items:center; justify-content:center; color:var(--accent); flex-shrink:0;}
.icon-badge svg{width:24px; height:24px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}

/* governance & delivery grid */
.gov-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem;}
.gov-card{background:var(--surface); border-radius:var(--radius); padding:1.8rem; display:flex; flex-direction:column; gap:1.1rem;}
.gov-card h4{font-family:var(--font-display); font-size:1.08rem; font-weight:600;}
.gov-card p{font-size:0.87rem;}
.gov-grid .gov-card:nth-child(5), .gov-grid .gov-card:nth-child(6){grid-column:span 2;}
@media (max-width:900px){ .gov-grid{grid-template-columns:1fr 1fr;} .gov-grid .gov-card:nth-child(5), .gov-grid .gov-card:nth-child(6){grid-column:span 1;} }
@media (max-width:560px){ .gov-grid{grid-template-columns:1fr;} }

/* the program — five connected modules */
.program-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1.1rem; background:transparent; border-radius:var(--radius);}
.program-card{
  position:relative; padding:1.8rem 1.5rem; display:flex; flex-direction:column; gap:0.9rem; border-radius:var(--radius-sm);
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"),
    radial-gradient(120% 140% at 10% -10%, rgba(124,58,237,.24), transparent 55%),
    radial-gradient(130% 120% at 110% 115%, rgba(236,72,153,.16), transparent 55%),
    linear-gradient(165deg, #171320 0%, #0b0a0d 100%);
  background-blend-mode:overlay, normal, normal, normal;
  background-size:140px 140px, auto, auto, auto;
  box-shadow:0 34px 64px -30px rgba(124,58,237,.42), 0 16px 32px -16px rgba(236,72,153,.26), inset 0 1px 0 rgba(255,255,255,.05);
}
.program-card .icon-badge{width:44px; height:44px;}
.program-card .icon-badge svg{width:20px; height:20px;}
.program-card h4{font-size:1rem; font-weight:600; font-family:var(--font-display);}
.program-card p{font-size:0.84rem;}
.program-tags{display:flex; flex-wrap:wrap; gap:0.4rem; margin-top:0.2rem;}
.program-tags span{font-family:var(--font-mono); font-size:0.6rem; letter-spacing:0.03em; padding:0.3rem 0.6rem; border:1px solid var(--line); border-radius:999px; color:var(--ink-soft); white-space:nowrap;}
@media (max-width:980px){ .program-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .program-grid{grid-template-columns:1fr;} }

/* ring diagram — glossy segmented ring with glow, fully fluid */
.ring-section{display:grid; grid-template-columns:auto 1fr; gap:4rem; align-items:center;}
.ring-wrap{position:relative; width:clamp(190px, 46vw, 460px); height:clamp(190px, 46vw, 460px); margin:0 auto; flex-shrink:0;}
.ring-glow{position:absolute; inset:-8%; border-radius:50%; z-index:0;
  background:
    radial-gradient(circle at 24% 20%, rgba(124,58,237,.5), transparent 55%),
    radial-gradient(circle at 78% 78%, rgba(249,115,98,.4), transparent 55%);
  filter:blur(40px); opacity:0.85;}
.ring-svg{position:relative; z-index:1; width:100%; height:100%; transform:rotate(-90deg); filter:drop-shadow(0 18px 30px rgba(0,0,0,.55));}
.ring-svg circle{fill:none; stroke-width:26; stroke-linecap:round;}
.ring-hub{position:absolute; z-index:2; inset:18.5%; border-radius:50%; background:radial-gradient(circle at 35% 30%, #211d2a, #0a0a0a 75%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.06), inset 0 10px 24px rgba(0,0,0,.6);
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:0 10%;}
.ring-hub img{max-width:65%; height:auto;}
.ring-hub .tag{font-family:var(--font-mono); font-size:clamp(0.5rem, 1.6vw, 0.6rem); letter-spacing:0.1em; color:var(--ink-soft); margin-top:0.6rem; line-height:1.7;}
.ring-label{position:absolute; z-index:2; width:clamp(76px, 25vw, 160px); font-size:clamp(0.6rem, 2.1vw, 0.84rem); font-weight:500; color:#ededf3; text-shadow:0 2px 10px rgba(0,0,0,.95), 0 0 18px rgba(0,0,0,.8); display:flex; align-items:center; gap:0.4em; line-height:1.25;}
.ring-label .dot{width:9px; height:9px; border-radius:50%; flex-shrink:0; box-shadow:0 0 8px currentColor;}
.ring-label.pos-top{left:50%; top:5.4%; justify-content:center; text-align:center; margin-top:-14px; animation:floatY 5s ease-in-out infinite; --base-transform:translate(-50%,-100%);}
.ring-label.pos-bottom{left:50%; top:94.6%; justify-content:center; text-align:center; margin-top:14px; animation:floatY 5s ease-in-out infinite; --base-transform:translate(-50%,0%);}
.ring-label.pos-right{top:27.6%; left:88.5%; justify-content:flex-start; text-align:left; margin-left:10px; animation:floatX 5s ease-in-out infinite; --base-transform:translate(0,-50%);}
.ring-label.pos-right.pos-lower{top:72.4%;}
.ring-label.pos-left{top:27.6%; left:11.5%; flex-direction:row-reverse; justify-content:flex-start; text-align:right; margin-left:-10px; animation:floatX 5s ease-in-out infinite; --base-transform:translate(-100%,-50%);}
.ring-label.pos-left.pos-lower{top:72.4%;}
@keyframes floatY{0%,100%{transform:var(--base-transform) translateY(0);} 50%{transform:var(--base-transform) translateY(-9px);}}
@keyframes floatX{0%,100%{transform:var(--base-transform) translateY(0) translateX(0);} 50%{transform:var(--base-transform) translateY(-6px) translateX(3px);}}
@media (prefers-reduced-motion: reduce){ .ring-label{animation:none;} }
.ring-chips{display:flex; gap:2rem; flex-wrap:wrap; margin-top:1.8rem; padding-top:1.4rem; border-top:1px solid var(--line);}
.ring-chips .chip{font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft);}
@media (max-width:980px){
  .ring-section{grid-template-columns:1fr; justify-items:center; text-align:center;}
  .ring-section > .reveal{max-width:52ch;}
  .ring-section > .reveal .hero-ctas{justify-content:center;}
  .ring-chips{justify-content:center;}
}

/* big numbered list */
.big-list{border-top:1px solid var(--line); margin-top:1rem;}
.big-row{position:relative; display:grid; grid-template-columns:120px 1fr 52px; gap:1.6rem; align-items:center; padding:2.1rem 0; border-bottom:1px solid var(--line);}
.big-row .bn{font-family:var(--font-display); font-size:3.2rem; font-weight:800; line-height:1; color:transparent; -webkit-text-stroke:1px var(--line); transition:all .35s ease;}
.big-row.active .bn{-webkit-text-stroke:0; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.big-row h4{font-family:var(--font-display); font-size:1.25rem; font-weight:600; transition:color .35s ease;}
.big-row.active h4{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.big-row p{margin-top:0.5rem; font-size:0.93rem; max-width:62ch;}
.big-tags{display:flex; gap:0.5rem; flex-wrap:wrap; margin-top:0.9rem;}
.big-tags span{font-family:var(--font-mono); font-size:0.64rem; letter-spacing:0.03em; padding:0.3rem 0.65rem; border:1px solid var(--line); border-radius:999px; color:var(--ink-soft);}
.big-arrow{width:44px; height:44px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; transition:background .3s, border-color .3s, transform .3s; flex-shrink:0;}
.big-arrow svg{width:16px; height:16px; stroke:var(--ink); transition:stroke .3s;}
.big-row.active .big-arrow{background:var(--grad); border-color:transparent; transform:rotate(45deg);}
.big-row.active .big-arrow svg{stroke:#fff;}
@media (max-width:760px){ .big-row{grid-template-columns:70px 1fr; gap:1rem;} .big-row .bn{font-size:2.1rem;} .big-arrow{display:none;} }

/* statement / pull-quote band */
.statement{background:#050505; margin:0 -100vw; padding:7rem 100vw; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.statement .wrap{max-width:900px;}
.statement blockquote{margin:0; font-family:var(--font-display); font-weight:500; font-size:clamp(1.8rem,4vw,3.1rem); line-height:1.25; letter-spacing:-0.01em; color:#f6f4ef; text-align:center;}
.statement cite{display:block; margin-top:1.6rem; font-family:var(--font-mono); font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); font-style:normal; text-align:center;}

/* bento pillars */
.pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
.pillars .pillar:first-child{grid-column:span 2;}
.pillars .pillar:first-child .pillar-media{aspect-ratio:16/7;}
@media (max-width:900px){ .pillars{grid-template-columns:1fr;} .pillars .pillar:first-child{grid-column:span 1;} .pillars .pillar:first-child .pillar-media{aspect-ratio:4/3;} }

/* loop section - video + diagram */
.loop-section{position:relative; overflow:hidden; background:#0a0a0a; color:#f4f5fb; margin:0 -100vw; padding:6rem 100vw;}
.loop-section .section-head{color:#f4f5fb; max-width:68ch;}
.loop-section .section-head h2{font-size:clamp(1.7rem,2.8vw,2.3rem);}
.loop-section .section-head p{color:#b9bdd6;}
.loop-section .eyebrow{color:var(--accent);}
.loop-media{position:relative; width:100%; aspect-ratio:16/8; overflow:hidden; border:1px solid rgba(255,255,255,.12); margin-bottom:3rem; border-radius:var(--radius);}
.loop-media video{width:100%;height:100%;object-fit:cover; filter:brightness(.75) saturate(1.1);}
.loop-stages{display:grid; grid-template-columns:repeat(5,1fr); gap:1.1rem; background:transparent; border-radius:var(--radius);}
.loop-stage{
  position:relative; padding:1.6rem 1.3rem; min-height:168px; display:flex; flex-direction:column; gap:0.6rem; border-radius:var(--radius-sm);
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"),
    radial-gradient(120% 140% at 10% -10%, rgba(124,58,237,.24), transparent 55%),
    radial-gradient(130% 120% at 110% 115%, rgba(236,72,153,.16), transparent 55%),
    linear-gradient(165deg, #171320 0%, #0b0a0d 100%);
  background-blend-mode:overlay, normal, normal, normal;
  background-size:140px 140px, auto, auto, auto;
  box-shadow:0 30px 58px -28px rgba(124,58,237,.4), 0 14px 28px -14px rgba(236,72,153,.24), inset 0 1px 0 rgba(255,255,255,.05);
}
.loop-stage .n{font-family:var(--font-mono); font-size:0.75rem; color:var(--accent);}
.loop-stage h4{font-family:var(--font-display); font-size:1.02rem; color:#f4f5fb; font-weight:600;}
.loop-stage p{font-size:0.82rem; color:#aeb2c6; line-height:1.5;}
@media (max-width:900px){ .loop-stages{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .loop-stages{grid-template-columns:1fr;} }

/* pillars */
.pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
.pillar{border:none; background:var(--surface); display:flex; flex-direction:column; border-radius:var(--radius); overflow:hidden;}
.pillar-media{aspect-ratio:4/3; overflow:hidden; background:var(--accent-soft);}
.pillar-media video{width:100%;height:100%;object-fit:cover;}
.pillar-body{padding:1.6rem;}
.pillar .tag{font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent);}
.pillar h3{font-size:1.18rem; margin-top:0.6rem;}
.pillar ul{margin:1rem 0 0; padding:0; list-style:none; font-size:0.88rem; color:var(--ink-soft);}
.pillar li{padding:0.5rem 0; border-top:1px solid var(--line);}
.pillar li:first-child{border-top:none;}
@media (max-width:900px){ .pillars{grid-template-columns:1fr;} }

/* signal to action — vertical timeline */
.timeline{position:relative; margin-top:1rem; padding-left:2.6rem;}
.timeline::before{content:""; position:absolute; left:7px; top:6px; bottom:6px; width:1px; background:linear-gradient(180deg, var(--accent) 0%, var(--line) 60%, transparent);}
.timeline-row{position:relative; padding:0 0 3rem; max-width:62ch;}
.timeline-row:last-child{padding-bottom:0;}
.timeline-row::before{content:""; position:absolute; left:-2.6rem; top:4px; width:15px; height:15px; border-radius:50%; background:var(--bg); border:2px solid var(--accent); box-shadow:0 0 0 4px var(--bg);}
.timeline-row.active::before{background:var(--accent); box-shadow:0 0 0 4px var(--bg), 0 0 14px rgba(169,112,255,.7);}
.timeline-row .role{font-family:var(--font-mono); font-size:0.74rem; letter-spacing:0.1em; color:var(--accent);}
.timeline-row h4{font-size:1.1rem; font-weight:600; font-family:var(--font-display); margin-top:0.5rem;}
.timeline-row p{margin-top:0.5rem; font-size:0.95rem;}
@media (max-width:620px){ .timeline{padding-left:2rem;} .timeline-row::before{left:-2rem;} }

/* stakeholders */
.stake-intro{display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:center; margin-bottom:3rem;}
.stake-photo{position:relative; width:360px; flex-shrink:0;}
.stake-photo::before{content:""; position:absolute; inset:-18px; background:radial-gradient(circle, rgba(124,58,237,.22), transparent 70%); filter:blur(20px); z-index:0;}
.stake-photo img{position:relative; z-index:1; width:100%; aspect-ratio:3/4; object-fit:cover; object-position:top center; filter:saturate(1.08) contrast(1.03);
  -webkit-mask-image:radial-gradient(ellipse 88% 85% at 50% 42%, #000 58%, transparent 100%);
  mask-image:radial-gradient(ellipse 88% 85% at 50% 42%, #000 58%, transparent 100%);}
@media (max-width:760px){ .stake-intro{grid-template-columns:1fr; justify-items:center; text-align:center;} .stake-photo{width:260px;} }
.stake-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem;}
.stake{border:none; padding:1.6rem; background:var(--surface); border-radius:var(--radius);}
.stake h3{font-size:1.05rem; font-weight:600;}
.stake .label{font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:0.6rem;}
.stake p{margin-top:0.7rem; font-size:0.89rem;}
@media (max-width:900px){ .stake-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .stake-grid{grid-template-columns:1fr;} }

/* proof */
.proof-band{background:var(--accent-soft); margin:0 -100vw; padding:5.5rem 100vw;}
.proof-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; margin-bottom:2.6rem;}
.proof-stat{padding:1.5rem 0 0; border-top:2px solid var(--ink); border-radius:var(--radius-sm) var(--radius-sm) 0 0;}
.proof-stat .v{font-family:var(--font-display); font-size:2.1rem; font-weight:700;}
.proof-stat .l{font-size:0.82rem; color:var(--ink-soft); margin-top:0.4rem;}
@media (max-width:900px){ .proof-grid{grid-template-columns:1fr 1fr;} }
.proof-list{display:flex; flex-direction:column; gap:0.9rem; font-size:0.9rem;}
.proof-list li{list-style:none; padding-left:1.2rem; border-left:2px solid var(--line); margin:0;}

/* programme */
.prog{display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:center;}
.prog-media{aspect-ratio:4/3; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius);}
.prog-media video{width:100%;height:100%;object-fit:cover;}
@media (max-width:860px){ .prog{grid-template-columns:1fr;} }

/* mission band — full-bleed AMR video statement */
.mission{position:relative; width:100%; overflow:hidden; min-height:64vh; display:flex; align-items:center; justify-content:center;}
.mission-media{position:absolute; inset:0; z-index:0;}
.mission-media video{width:100%; height:100%; object-fit:cover; filter:saturate(1.05) brightness(0.55);}
.mission-media::after{content:""; position:absolute; inset:0; background:
  radial-gradient(60% 60% at 50% 100%, rgba(124,58,237,.35), transparent 70%),
  linear-gradient(180deg, rgba(4,5,12,.55) 0%, rgba(4,5,12,.78) 100%);}
.mission-inner{position:relative; z-index:2; text-align:center; padding:5rem 0; max-width:720px; margin:0 auto;}
.mission-inner .eyebrow{color:var(--accent-2); justify-content:center; display:flex;}
.mission-inner h2{color:#fbfbfe; font-size:clamp(2rem,4.4vw,3.4rem); margin-top:0.9rem; line-height:1.15;}
.mission-inner p{color:#e3e4ee; max-width:56ch; margin:1.2rem auto 0; font-size:1.05rem;}

/* final cta */
.finale{position:relative; width:100%; overflow:hidden; min-height:72vh; display:flex; align-items:center;}
.finale-media{position:absolute;inset:0;z-index:0;}
.finale-media video{width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(1.05);}
.finale-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(4,5,12,.7), rgba(4,5,12,.55));}
.finale-inner{position:relative;z-index:2; padding:6rem 0; color:#f4f5fb; width:100%;}
.finale-inner h2{color:#fbfbfe; font-size:clamp(1.9rem,4vw,3rem); max-width:18ch;}
.finale-inner p{color:#d6d9ec; max-width:44ch; margin-top:1.1rem;}
.finale-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:3rem; margin-top:2.6rem; align-items:start;}
@media (max-width:900px){ .finale-grid{grid-template-columns:1fr;} }
.finale .btn-primary{background:#f4f5fb;color:#0b0d14;border-color:#f4f5fb;}
.finale .btn-primary:hover{background:var(--accent); color:#fff; border-color:var(--accent);}
.finale .btn-ghost{color:#f4f5fb;border-color:rgba(244,245,251,.45);}

/* full-bleed static photo band — a quieter alternative to .mission/.finale for a plain photograph */
.photo-band{position:relative; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); overflow:hidden; min-height:46vh; display:flex; align-items:flex-end;}
.photo-band img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(1.02) brightness(0.62);}
.photo-band::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,6,14,.1) 0%, rgba(8,6,14,.55) 65%, var(--bg) 100%);}
.photo-band-inner{position:relative; z-index:2; padding:3.4rem 0; max-width:62ch;}
.photo-band-inner .eyebrow{color:var(--accent-2);}
.photo-band-inner p{color:#e9eaf2; margin-top:0.7rem; font-size:1.05rem;}
@media (max-width:640px){ .photo-band{min-height:38vh;} }

/* form */
.form{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); padding:1.8rem; backdrop-filter:blur(6px); border-radius:var(--radius);}
.form input:focus, .form select:focus{outline:none; border-color:var(--accent);}
.form label{display:block; font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:#aeb2c6; margin-bottom:0.4rem;}
.form .field{margin-bottom:1rem;}
.form input:not([type="checkbox"]):not([type="radio"]), .form select{
  width:100%; padding:0.7rem 0.8rem; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.22);
  color:#f4f5fb; font-family:var(--font-body); font-size:0.92rem; border-radius:var(--radius-sm); transition:border-color .2s;
}
.form input::placeholder{color:#7c8099;}
.form .row2{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
@media (max-width:480px){ .form .row2{grid-template-columns:1fr;} }
.form .consent{font-size:0.78rem; color:#aeb2c6; display:flex; gap:0.6rem; align-items:flex-start; margin-bottom:1.2rem;}
.form .consent input[type="checkbox"]{width:16px; height:16px; flex-shrink:0; accent-color:var(--accent);}
.form .consent span{flex:1;}
.form button{width:100%; border:none;}
.form .success{display:none; color:var(--accent-2); font-family:var(--font-mono); font-size:0.84rem; padding-top:0.6rem;}

/* footer */
footer{border-top:1px solid var(--line); padding:3rem 0 3.5rem; margin-top:2rem;}
.foot-grid{display:flex; justify-content:space-between; flex-wrap:wrap; gap:2rem; font-size:0.85rem; color:var(--ink-soft);}
.foot-grid a{opacity:0.8;}
.foot-grid a:hover{opacity:1;}
.foot-cols{display:flex; gap:3rem; flex-wrap:wrap;}
.foot-cols div{display:flex; flex-direction:column; gap:0.5rem;}

.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none; transition:none;} .scrollcue .bar{animation:none;} }
:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}

/* scroll progress bar */
.scroll-progress{position:fixed; top:0; left:0; height:3px; width:100%; z-index:60; background:rgba(255,255,255,.05); pointer-events:none;}
.scroll-progress .bar{height:100%; width:0%; background:var(--grad); transform-origin:left; box-shadow:0 0 12px rgba(169,112,255,.5);}

/* loop stage scrub states */
.loop-stage{transition:background .3s ease, box-shadow .3s ease;}
.loop-stage .n{transition:color .3s ease;}
.loop-stage.active{background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent);}
.loop-stage.active .n{color:var(--accent-2);}

/* hero parallax layers */
.hero-media video{will-change:transform;}
.hero-inner{will-change:transform, opacity;}

/* count-up stat */
.proof-stat .v{font-variant-numeric:tabular-nums;}

/* page header — compact intro band used on every subpage instead of the full video hero */
.page-header{position:relative; padding:9.5rem 0 4.5rem; background:linear-gradient(180deg, #110d18 0%, var(--bg) 100%); border-bottom:1px solid var(--line); overflow:hidden;}
.page-header::before{content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(60% 70% at 12% 0%, rgba(124,58,237,.18), transparent 60%),
    radial-gradient(50% 60% at 100% 100%, rgba(236,72,153,.09), transparent 60%);
}
.page-header .wrap{position:relative; z-index:1; max-width:760px;}
.page-header-media{position:absolute; inset:0; z-index:0;}
.page-header-media video, .page-header-media img{width:100%; height:100%; object-fit:cover; filter:saturate(1.05) brightness(0.55);}
.page-header-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,6,14,.55) 0%, rgba(8,6,14,.45) 45%, var(--bg) 100%);}
.page-header.page-header-video::before, .page-header.page-header-photo::before{opacity:0.6;}
.page-header h1{font-size:clamp(2.1rem,4.6vw,3.4rem); font-weight:600; margin-top:0.9rem; line-height:1.12; color:#fbfbfe; text-wrap:balance;}
.page-header p{margin-top:1.1rem; font-size:1.05rem; max-width:58ch; color:#d6d9ec;}
@media (max-width:620px){ .page-header{padding:8rem 0 3.5rem;} }
.trust-strip{list-style:none; padding:0; margin:2.2rem 0 0; display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.trust-strip li{padding:1rem 1rem 1rem 0; font-size:0.8rem; color:var(--ink-soft); line-height:1.4;}
.trust-strip li + li{padding-left:1rem; border-left:1px solid var(--line);}
.trust-strip strong{display:block; font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.12em; color:var(--ink); margin-bottom:0.25rem;}
@media (max-width:760px){ .trust-strip{grid-template-columns:1fr 1fr;} .trust-strip li:nth-child(3){padding-left:0; border-left:none;} .trust-strip li:nth-child(n+3){border-top:1px solid var(--line);} }
.impact-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem;}
.impact{padding:2rem 1.8rem; background:var(--surface); border-radius:var(--radius); border-top:2px solid var(--accent);}
.impact-v{font-family:var(--font-display); font-size:clamp(2.2rem,4.5vw,3.2rem); font-weight:700; color:var(--ink); line-height:1; font-variant-numeric:tabular-nums;}
.impact p{margin-top:0.8rem; font-size:0.92rem;}
.impact-src{margin-top:1rem; font-size:0.74rem; opacity:0.75;}
.trust-split{display:grid; grid-template-columns:1fr 1.35fr; gap:5rem; align-items:start;}
.trust-split-head{position:sticky; top:7.5rem;}
.trust-split-head h2{font-size:clamp(1.7rem,3vw,2.5rem); margin-top:0.7rem;}
.trust-split-head p{margin-top:1rem; max-width:36ch;}
.trust-list{list-style:none; margin:0; padding:0; border-top:1px solid var(--line);}
.trust-list li{display:grid; grid-template-columns:3rem 1fr; gap:1rem; padding:1.6rem 0; border-bottom:1px solid var(--line);}
.trust-list .tn{font-family:var(--font-mono); font-size:0.75rem; color:var(--accent); padding-top:0.3rem;}
.trust-list h4{font-family:var(--font-display); font-size:1.15rem; font-weight:600;}
.trust-list p{margin-top:0.45rem; font-size:0.93rem; max-width:52ch;}
@media (max-width:860px){ .trust-split{grid-template-columns:1fr; gap:2rem;} .trust-split-head{position:static;} }
.page-header.ph-wide .wrap{max-width:1180px;}
.page-header.ph-wide h1{max-width:20ch;}
.page-header.ph-wide .trust-strip{margin-top:2.8rem;}
.mission-intro{display:grid; grid-template-columns:1.25fr 1fr; gap:4rem; align-items:end; margin-bottom:3rem;}
.mission-intro h2{font-size:clamp(1.7rem,3vw,2.5rem); margin-top:0.7rem; text-wrap:balance;}
.mission-intro p{font-size:1.05rem; text-wrap:pretty;}
.mission-intro strong{color:var(--ink);}
@media (max-width:860px){ .mission-intro{grid-template-columns:1fr; gap:1.4rem;} }
@media (max-width:760px){ .impact-grid{grid-template-columns:1fr;} }
.focus-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:2.6rem; border-top:1px solid var(--line);}
.focus{padding:1.6rem 1.6rem 1.6rem 0; border-bottom:1px solid var(--line);}
.focus:not(:nth-child(3n+1)){padding-left:1.6rem; border-left:1px solid var(--line);}
.focus .label{font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent);}
.focus h4{font-family:var(--font-display); font-size:1.05rem; font-weight:600; margin-top:0.5rem;}
.focus p{margin-top:0.5rem; font-size:0.88rem;}
.focus.is-core{background:linear-gradient(180deg, var(--accent-soft), transparent);}
.focus.is-core:nth-child(3n+1){padding-left:1.6rem;}
.focus.is-core h4{color:#fff;}
.focus-more{margin-top:1.4rem; font-size:0.9rem;}
.focus-more a{color:var(--accent);}
@media (max-width:760px){ .focus.is-core:nth-child(3n+1){padding-left:1.6rem;} .focus.is-core{padding-left:1.6rem !important;} }
@media (max-width:760px){ .focus-grid{grid-template-columns:1fr;} .focus:not(:nth-child(3n+1)){padding-left:0; border-left:none;} }
.partner-cta{text-align:center; max-width:60ch; margin:0 auto; padding:5rem 0;}
.partner-cta h2{font-size:clamp(1.6rem,2.8vw,2.3rem); margin-top:0.8rem; text-wrap:balance;}
.partner-cta p{margin-top:1rem;}
.partner-cta-actions{display:flex; gap:0.8rem; justify-content:center; flex-wrap:wrap; margin-top:1.8rem;}

/* page-header decorative graphics — per-page, non-circular */
.page-header-graphic{position:absolute; top:58%; right:0%; transform:translateY(-50%); z-index:0; pointer-events:none; width:min(26vw,340px); opacity:.85;}
.page-header-graphic svg{width:100%; height:auto; overflow:visible; display:block;}
@media (max-width:1180px){ .page-header-graphic{display:none;} }
.page-header-graphic-mobile{display:none;}
@media (max-width:1180px){
  .page-header-graphic-mobile{display:block; position:relative; width:min(60vw,220px); margin:2rem auto 0; opacity:.9;}
  .page-header-graphic-mobile svg{width:100%; height:auto; overflow:visible; display:block;}
}

@keyframes phg-settle{from{opacity:0; transform:translateY(8px);}to{opacity:1; transform:translateY(0);}}
@keyframes phg-pulse-once{0%{opacity:0; transform:scale(.4);}60%{opacity:1; transform:scale(1.15);}100%{opacity:.85; transform:scale(1);}}
@keyframes phg-dash{to{stroke-dashoffset:0;}}

.pg-float, .pg-float-sm{animation:phg-settle .9s ease-out forwards; opacity:0;}
.pg-pulse{animation:phg-pulse-once .9s ease-out forwards; opacity:0; transform-origin:center;}
.pg-line{stroke-dasharray:6 460; stroke-dashoffset:460; animation:phg-dash 1.1s ease-out forwards;}

/* offerings — converging light-trails: every safeguard flowing into ibhar */
.conv-wrap{position:relative; z-index:1; margin-top:3.4rem; aspect-ratio:900/420; max-width:900px;}
.conv-glow{position:absolute; top:10%; right:6%; width:46%; height:70%; pointer-events:none; border-radius:50%;
  background:radial-gradient(circle, rgba(236,72,153,.22), rgba(124,58,237,.12) 55%, transparent 75%); filter:blur(18px);}
.conv-svg{position:absolute; inset:0; width:100%; height:100%; overflow:visible;}
.conv-path{fill:none; stroke-width:1.6; opacity:0.85; stroke-linecap:round;
  stroke-dasharray:900; stroke-dashoffset:900;}
.conv-wrap.in .conv-path{animation:conv-draw 1.8s cubic-bezier(.25,.8,.3,1) forwards; animation-delay:calc(var(--d,0) * 0.12s);}
.conv-path:nth-of-type(1){--d:0;} .conv-path:nth-of-type(2){--d:1;} .conv-path:nth-of-type(3){--d:2;}
.conv-path:nth-of-type(4){--d:3;} .conv-path:nth-of-type(5){--d:4;} .conv-path:nth-of-type(6){--d:5;}
.conv-path:nth-of-type(7){--d:6;} .conv-path:nth-of-type(8){--d:7;}
@keyframes conv-draw{ to{ stroke-dashoffset:0; } }

.conv-dot{opacity:0;}
.conv-wrap.in .conv-dot{animation:conv-dot-in .4s ease forwards; animation-delay:1.7s;}
@keyframes conv-dot-in{ to{ opacity:1; } }

.conv-travel{opacity:0;}
.conv-wrap.in .conv-travel{opacity:1;}

.conv-label{position:absolute; left:0; width:17%; top:0; padding-right:16px; transform:translateY(-50%); text-align:right;
  display:flex; flex-direction:column; align-items:flex-end; gap:0.15rem; opacity:0; transition:opacity .5s ease;}
.conv-wrap.in .conv-label{opacity:1; transition-delay:1.9s;}
.conv-label .tag{font-family:var(--font-mono); font-size:0.52rem; letter-spacing:0.08em; color:#9c97a6;}
.conv-label{font-family:var(--font-body); font-weight:600; font-size:0.86rem; color:#f1eef7; white-space:nowrap;}
.conv-label.optional{color:#9c97a6;}

.conv-brand{position:absolute; top:48.8%; left:69%; transform:translateY(-50%); z-index:2;
  display:flex; align-items:center; gap:0.7rem; opacity:0; transition:opacity .6s ease, transform .6s ease;}
.conv-wrap.in .conv-brand{opacity:1; transition-delay:1.6s;}
.conv-brand img{width:clamp(96px,10vw,140px); height:auto; display:block;}
.conv-badge{font-family:var(--font-mono); font-size:0.6rem; letter-spacing:0.08em; color:#f8ecff; background:rgba(236,72,153,.18);
  border:1px solid rgba(236,72,153,.4); padding:0.3rem 0.65rem; border-radius:999px;}

@media (max-width:860px){
  .conv-wrap{aspect-ratio:auto; height:520px; overflow-x:auto;}
  .conv-svg{width:900px; height:420px; left:0;}
  .conv-label{width:150px;}
  .conv-brand{left:610px; transform:translate(40px,-50%);}
}
@media (prefers-reduced-motion:reduce){
  .conv-path{stroke-dashoffset:0;} .conv-dot, .conv-label, .conv-brand{opacity:1;} .conv-travel{display:none;}
}

/* offerings — all 31 modules flying in, one by one, into the ibhar hub */
.ms-flow-wrap{position:relative; margin-top:3.4rem; padding-bottom:1.6rem;}
.ms-flow-wrap::before{content:""; position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:2px;
  background:linear-gradient(90deg, rgba(159,124,242,0) 0%, #9f7cf2 15%, #d59be0 45%, #ffb8c9 70%, #f97362 100%); opacity:0.4;}
.ms-flow-wrap::after{content:""; position:absolute; bottom:-5px; left:0; width:46px; height:12px; margin-top:-5px; border-radius:999px; pointer-events:none;
  background:radial-gradient(closest-side, rgba(255,255,255,.95), rgba(236,72,153,.55) 55%, transparent 80%); filter:blur(2px); opacity:0;}
.ms-flow-wrap:has(.ms-flow.in)::after{animation:ms-travel 3.6s ease-in-out 2.2s infinite;}
@keyframes ms-travel{ 0%{left:0%; opacity:0;} 6%{opacity:.9;} 94%{opacity:.9;} 100%{left:97%; opacity:0;} }

.ms-flow{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:1.1rem 0.7rem;}
.ms-arrow{--ty:0px; display:flex; align-items:center; color:#8f8a9c; opacity:0; transform:translateY(var(--ty));}
.ms-arrow svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.ms-flow.in .ms-arrow{animation:ms-fly-in .6s cubic-bezier(.16,1,.3,1) both; animation-delay:calc(var(--i,0) * 0.045s);}
.ms-chip{--ty:0px; display:flex; align-items:center; gap:0.5rem; padding:0.6rem 1rem; border-radius:999px;
  font-family:var(--font-mono); font-size:0.68rem; font-weight:600; letter-spacing:0.02em; white-space:nowrap;
  border:1px solid transparent; background:rgba(255,255,255,.03); color:#f1eef7;
  transform:translateY(var(--ty)); opacity:0; transition:box-shadow .25s ease;}
.ms-chip .dot{width:7px; height:7px; border-radius:50%; background:var(--c,#9f7cf2); box-shadow:0 0 10px var(--c,#9f7cf2); flex-shrink:0;}
.ms-chip:nth-child(6n+1){--ty:-9px;}
.ms-chip:nth-child(6n+3){--ty:7px;}
.ms-chip:nth-child(6n+5){--ty:-5px;}
.ms-chip:hover{box-shadow:0 10px 22px -10px rgba(168,78,184,.5);}

.ms-chip.tier-core{border-color:rgba(159,124,242,.3); background:linear-gradient(155deg, rgba(159,124,242,.16), rgba(159,124,242,.04));}
.ms-chip.tier-core:nth-child(6n+1) .dot{--c:#9f7cf2;}
.ms-chip.tier-core:nth-child(6n+2) .dot{--c:#b58af0;}
.ms-chip.tier-core:nth-child(6n+3) .dot{--c:#d59be0;}
.ms-chip.tier-core:nth-child(6n+4) .dot{--c:#f0a8d0;}
.ms-chip.tier-core:nth-child(6n+5) .dot{--c:#ffb8c9;}
.ms-chip.tier-core:nth-child(6n) .dot{--c:#ffc9ad;}
.ms-chip.tier-mature{border-color:rgba(249,115,98,.32); background:linear-gradient(155deg, rgba(249,115,98,.18), rgba(249,115,98,.05)); color:#ffe4df;}
.ms-chip.tier-mature .dot{--c:#f97362;}
.ms-chip.tier-optional{border:1px dashed rgba(255,255,255,.22); background:rgba(255,255,255,.015); color:#b6b1c2;}
.ms-chip.tier-optional .dot{background:transparent; border:1.5px dashed #b6b1c2; box-shadow:none;}

.ms-chip.ms-final{--ty:0px; position:relative; margin-left:0.6rem; padding:0.75rem 1.4rem; font-family:Poppins,sans-serif; font-weight:700;
  font-size:0.82rem; color:#fff; letter-spacing:0.01em; border:none;
  background:radial-gradient(130% 130% at 28% 22%, #f0529c 0%, #8b3fe0 55%, #5b21b6 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.18) inset, 0 16px 34px -12px rgba(168,78,184,.6), 0 0 30px rgba(168,78,184,.3);}
.ms-chip.ms-final::before, .ms-chip.ms-final::after{content:""; position:absolute; inset:0; border-radius:999px; border:1.5px solid rgba(236,72,153,.55); pointer-events:none; opacity:0;}
.ms-chip.ms-final img{height:14px; width:auto; display:block;}

/* entrance: each chip flies up/down into place, in sequence, left to right */
@keyframes ms-fly-in{
  0%{opacity:0; transform:translateY(calc(var(--ty) + 22px)) scale(.9);}
  100%{opacity:1; transform:translateY(var(--ty)) scale(1);}
}
.ms-flow.in .ms-chip{animation:ms-fly-in .6s cubic-bezier(.16,1,.3,1) both; animation-delay:calc(var(--i,0) * 0.045s);}

/* once everything has arrived, the hub keeps pulsing — a visible "receiving" platform */
@keyframes ms-hub-pulse{
  0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,.18) inset, 0 16px 34px -12px rgba(168,78,184,.6), 0 0 30px rgba(168,78,184,.3);}
  50%{box-shadow:0 0 0 1px rgba(255,255,255,.3) inset, 0 16px 40px -10px rgba(168,78,184,.75), 0 0 46px rgba(236,72,153,.5);}
}
.ms-flow.in .ms-chip.ms-final{animation:ms-fly-in .6s cubic-bezier(.16,1,.3,1) both, ms-hub-pulse 2.6s ease-in-out 2s infinite;}

/* and two faint rings ripple outward from it, continuously */
@keyframes ms-ring{
  0%{opacity:0.55; transform:scale(1);}
  100%{opacity:0; transform:scale(1.7);}
}
.ms-flow.in .ms-chip.ms-final::before{animation:ms-ring 2.6s ease-out 2s infinite;}
.ms-flow.in .ms-chip.ms-final::after{animation:ms-ring 2.6s ease-out 3.3s infinite;}

.am-legend{display:flex; justify-content:center; gap:1.8rem; margin-top:2rem; flex-wrap:wrap;
  font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.05em; color:var(--ink-soft);}
.am-legend span{display:flex; align-items:center; gap:0.5rem;}
.am-legend i{width:9px; height:9px; border-radius:50%; display:inline-block;}
.am-legend i.tier-core{background:#9f7cf2;}
.am-legend i.tier-mature{background:#f0a8d0;}
.am-legend i.tier-optional{background:transparent; border:1.5px dashed #b6b1c2;}

@media (max-width:640px){ .ms-flow{gap:0.8rem 0.5rem;} .ms-chip{font-size:0.62rem; padding:0.5rem 0.8rem; --ty:0px !important;} }
@media (prefers-reduced-motion:reduce){
  .ms-chip{opacity:1; transform:none;}
  .ms-flow.in .ms-chip, .ms-flow.in .ms-chip.ms-final{animation:none;}
}

/* home — "explore further" card grid linking out to the other pages */
.explore-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem;}
@media (max-width:980px){ .explore-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .explore-grid{grid-template-columns:1fr;} }
.program-card{transition:transform .35s ease, box-shadow .35s ease;}
a.program-card{text-decoration:none; cursor:pointer;}
a.program-card:hover{transform:translateY(-5px); box-shadow:0 40px 74px -28px rgba(124,58,237,.55), 0 20px 38px -16px rgba(236,72,153,.32), inset 0 1px 0 rgba(255,255,255,.06);}
.program-card .card-arrow{margin-top:auto; display:flex; align-items:center; gap:0.4rem; font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent-2);}
.program-card .card-arrow svg{width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .3s ease;}
a.program-card:hover .card-arrow svg{transform:translateX(4px);}

/* blog — listing, filters, single post */
.blog-filters{display:flex; gap:0.7rem; margin-bottom:2.6rem; flex-wrap:wrap;}
.blog-filters button{
  font-family:var(--font-mono); font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase;
  padding:0.55rem 1.1rem; border-radius:var(--radius-pill); border:1px solid var(--line); background:transparent; color:var(--ink-soft);
  cursor:pointer; transition:border-color .2s, color .2s, background .2s;
}
.blog-filters button:hover{color:var(--ink); border-color:var(--ink-soft);}
.blog-filters button.active{background:var(--accent); border-color:var(--accent); color:#fff;}
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem;}
@media (max-width:980px){ .blog-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .blog-grid{grid-template-columns:1fr;} }
.blog-card{
  display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  background:var(--surface); text-decoration:none; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.blog-card:hover{transform:translateY(-5px); border-color:rgba(169,112,255,.5); box-shadow:0 36px 64px -30px rgba(124,58,237,.5);}
.blog-card .thumb{aspect-ratio:16/10; width:100%; background:linear-gradient(135deg, #1c1730, #231421); object-fit:cover; display:block;}
.blog-card .body{padding:1.4rem 1.4rem 1.6rem; display:flex; flex-direction:column; gap:0.6rem; flex:1;}
.blog-card .meta{display:flex; align-items:center; gap:0.6rem; font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent-2);}
.blog-card .meta .tag-pill{padding:0.2rem 0.6rem; border-radius:var(--radius-pill); border:1px solid rgba(169,112,255,.4); color:var(--accent);}
.blog-card h3{font-size:1.18rem; line-height:1.3; color:var(--ink);}
.blog-card p{font-size:0.92rem; color:var(--ink-soft); flex:1;}
.blog-card .read-more{font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink); opacity:0.7;}
.blog-empty{padding:4rem 0; text-align:center; color:var(--ink-soft);}

.post-header{max-width:760px; margin:0 auto 3rem;}
.post-header .meta{display:flex; gap:0.8rem; align-items:center; font-family:var(--font-mono); font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent-2); margin-top:1rem;}
.post-header h1{font-size:clamp(2rem,4.4vw,3rem); margin-top:1rem; line-height:1.18; color:#fbfbfe;}
.post-cover{width:100%; aspect-ratio:16/8; object-fit:cover; border-radius:var(--radius); border:1px solid var(--line); margin-bottom:3rem;}
.post-body{max-width:720px; margin:0 auto; font-size:1.06rem; line-height:1.8; color:#dcdde9; overflow-wrap:break-word;}
.post-body *{max-width:100% !important; width:auto !important; box-sizing:border-box;}
.post-body *[style]{background:transparent !important; font-family:inherit !important; font-size:inherit !important; color:inherit !important;}
.post-body h2{font-size:1.5rem; margin-top:2.4rem; margin-bottom:0.9rem; color:#fbfbfe;}
.post-body h3{font-size:1.22rem; margin-top:2rem; margin-bottom:0.7rem; color:#fbfbfe;}
.post-body p{margin-bottom:1.2rem; color:#dcdde9;}
.post-body a{color:var(--accent-2); text-decoration:underline;}
.post-body img{border-radius:var(--radius-sm); margin:1.6rem 0;}
.post-body ul,.post-body ol{color:#dcdde9; margin-bottom:1.2rem; padding-left:1.4rem;}
.post-body blockquote{border-left:3px solid var(--accent); margin:1.6rem 0; padding:0.3rem 0 0.3rem 1.2rem; color:var(--ink-soft); font-style:italic;}
.post-back{display:inline-flex; align-items:center; gap:0.5rem; font-family:var(--font-mono); font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-soft); text-decoration:none; margin-bottom:2rem;}
.post-back:hover{color:var(--ink);}

.post-share{display:flex; align-items:center; gap:0.7rem; margin-top:0.6rem;}
.post-share .label{font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft);}
.post-share a, .post-share button{
  display:flex; align-items:center; justify-content:center; width:36px; height:36px; min-width:36px; flex-shrink:0; border-radius:50%;
  border:1px solid var(--line); background:rgba(255,255,255,.04); color:var(--ink-soft); cursor:pointer; transition:border-color .2s, color .2s, background .2s;
  text-decoration:none; padding:0; box-sizing:border-box;
}
.post-share a:hover, .post-share button:hover{border-color:var(--accent); color:var(--ink); background:rgba(169,112,255,.12);}
.post-share svg{width:16px; height:16px; display:block; pointer-events:none;}
.post-share svg path, .post-share svg rect, .post-share svg circle{stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.post-share svg rect{fill:currentColor; stroke:none;}
.post-share svg circle{fill:currentColor; stroke:none;}
.post-share-bottom{max-width:720px; margin:3rem auto 0; padding-top:2rem; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem;}

/* admin — login + dashboard, intentionally plainer/utilitarian than the marketing site */
.admin-shell{min-height:100vh; display:flex; flex-direction:column; background:var(--bg); padding-top:5.5rem;}
.admin-login{max-width:380px; margin:4rem auto; width:100%; padding:0 16px;}
.admin-login h1{font-size:1.6rem; margin-bottom:0.4rem;}
.admin-login p{margin-bottom:2rem;}
.admin-field{margin-bottom:1.1rem; display:flex; flex-direction:column; gap:0.4rem;}
.admin-field label{font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft);}
.admin-field input, .admin-field textarea, .admin-field select{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); padding:0.75rem 0.9rem;
  color:var(--ink); font-family:var(--font-body); font-size:0.95rem; width:100%;
}
.admin-field input:focus, .admin-field textarea:focus, .admin-field select:focus{outline:none; border-color:var(--accent);}
.admin-error{color:#ff8282; font-size:0.85rem; margin-top:0.8rem; min-height:1.2em;}
.admin-bar{display:flex; align-items:center; justify-content:space-between; padding:1.4rem 0; border-bottom:1px solid var(--line); margin-bottom:2rem; flex-wrap:wrap; gap:1rem;}
.admin-bar .who{font-size:0.85rem; color:var(--ink-soft);}
.admin-bar .who button{background:none; border:none; color:var(--accent-2); cursor:pointer; font-size:0.85rem; margin-left:0.6rem; text-decoration:underline;}
.admin-list{display:flex; flex-direction:column; gap:0.8rem;}
.admin-row{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface); flex-wrap:wrap;}
.admin-row .info{display:flex; flex-direction:column; gap:0.25rem;}
.admin-row .info .t{font-weight:600; color:var(--ink);}
.admin-row .info .m{font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--ink-soft); display:flex; gap:0.6rem; align-items:center;}
.status-pill{padding:0.15rem 0.55rem; border-radius:var(--radius-pill); font-size:0.68rem;}
.status-pill.published{background:rgba(72,219,147,.15); color:#5edb9c;}
.status-pill.draft{background:rgba(255,255,255,.1); color:var(--ink-soft);}
.status-pill.pending_review{background:rgba(255,196,77,.15); color:#ffc44d;}
.status-pill.rejected{background:rgba(255,130,130,.15); color:#ff8282;}
.admin-row .actions{display:flex; gap:0.6rem;}
.admin-row .actions button, .admin-row .actions a{
  font-size:0.8rem; padding:0.5rem 1rem; border-radius:var(--radius-pill); border:1px solid var(--line); background:transparent; color:var(--ink); cursor:pointer; text-decoration:none;
}
.admin-row .actions button:hover, .admin-row .actions a:hover{border-color:var(--ink-soft);}
.admin-row .actions .danger{color:#ff8282; border-color:rgba(255,130,130,.3);}
.editor-grid{display:grid; grid-template-columns:2fr 1fr; gap:2rem; align-items:start;}
@media (max-width:900px){ .editor-grid{grid-template-columns:1fr;} }
.ql-toolbar.ql-snow{background:var(--surface); border-color:var(--line) !important; border-radius:var(--radius-sm) var(--radius-sm) 0 0;}
.ql-container.ql-snow{border-color:var(--line) !important; border-radius:0 0 var(--radius-sm) var(--radius-sm); background:#0f0d13; color:var(--ink); font-size:1rem; min-height:360px;}
.ql-snow .ql-stroke{stroke:var(--ink-soft);}
.ql-snow .ql-fill{fill:var(--ink-soft);}
.ql-snow .ql-picker{color:var(--ink-soft);}
.ql-editor.ql-blank::before{color:var(--ink-soft); opacity:0.6;}
.admin-sidebar{display:flex; flex-direction:column; gap:1.1rem; position:sticky; top:6rem;}
.admin-save-row{display:flex; gap:0.8rem; flex-wrap:wrap;}
.admin-save-row .btn-ghost.danger{color:#ff8282; border-color:rgba(255,130,130,.3);}
.admin-toast{position:fixed; bottom:1.4rem; right:1.4rem; background:var(--surface); border:1px solid var(--line); color:var(--ink); padding:0.8rem 1.2rem; border-radius:var(--radius-sm); font-size:0.88rem; z-index:100; opacity:0; transform:translateY(10px); transition:opacity .25s, transform .25s; pointer-events:none;}
.admin-toast.show{opacity:1; transform:translateY(0);}

.cal-toolbar{display:flex; align-items:center; justify-content:space-between; margin-bottom:1.2rem; flex-wrap:wrap; gap:1rem;}
.cal-nav{display:flex; align-items:center; gap:1rem;}
.cal-nav button{background:var(--surface); border:1px solid var(--line); color:var(--ink); width:2.2rem; height:2.2rem; border-radius:50%; cursor:pointer; font-size:1rem;}
.cal-nav button:hover{border-color:var(--ink-soft);}
.cal-month-label{font-weight:600; font-size:1.1rem; min-width:9rem; text-align:center;}
.cal-grid{display:grid; grid-template-columns:repeat(7, 1fr); gap:0.5rem;}
.cal-dow{font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--ink-soft); text-align:center; padding-bottom:0.3rem;}
.cal-cell{border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface); min-height:7rem; padding:0.5rem; display:flex; flex-direction:column; gap:0.3rem; cursor:pointer;}
.cal-cell:hover{border-color:var(--ink-soft);}
.cal-cell.outside{opacity:0.35;}
.cal-cell.today{border-color:var(--accent-2);}
.cal-cell .cal-daynum{font-size:0.78rem; color:var(--ink-soft);}
.cal-pill{font-size:0.7rem; padding:0.2rem 0.45rem; border-radius:var(--radius-pill); line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.cal-pill.idea{background:rgba(255,255,255,.1); color:var(--ink-soft);}
.cal-pill.writing{background:rgba(120,170,255,.15); color:#8ab4ff;}
.cal-pill.pending_review{background:rgba(255,196,77,.15); color:#ffc44d;}
.cal-pill.published{background:rgba(72,219,147,.15); color:#5edb9c;}
.cal-unscheduled{margin-top:2.2rem;}
.cal-unscheduled h3{font-size:1rem; margin-bottom:0.8rem; color:var(--ink-soft);}
.idea-modal-overlay{position:fixed; inset:0; background:rgba(5,4,8,.7); display:flex; align-items:center; justify-content:center; z-index:200; padding:1.5rem;}
.idea-modal{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); padding:1.6rem; max-width:480px; width:100%; max-height:90vh; overflow-y:auto; display:flex; flex-direction:column; gap:0.2rem;}
.idea-modal-row{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
.idea-modal-actions{display:flex; align-items:center; gap:0.6rem; margin-top:0.6rem;}
.idea-modal .btn-ghost.danger{color:#ff8282; border-color:rgba(255,130,130,.3);}
