/* ===========================================================================
   gSense Perú — MINSA · IDB Lab · Nutrix
   Institutional / clinical. Helvetica. Red #FF0000 + slate + light grey.
   No em-dashes, no decorative separator lines in content.
   =========================================================================== */
:root {
  --ink:#0E1116; --ink-2:#3A424E; --ink-3:#646E7B; --muted:#9AA4B0;
  --line:#E4E7EC; --surface:#F5F6F8; --surface-2:#EEF1F4;
  --red:#FF0000; --red-hover:#E00000;
  --slate:#1E2A38; --slate-2:#2C3A4B;
  --minsa-blue:#0B5FB0; --minsa-blue-d:#0A4E91;
  --radius:12px; --radius-lg:18px; --maxw:1180px;
  --font:"Helvetica Neue Local","Helvetica Neue","Helvetica","Arial",system-ui,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.5;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

/* type helpers */
.kicker{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;font-weight:700;color:var(--red);margin:0 0 16px;}
.kicker.slate{color:var(--minsa-blue);}
h1,h2,h3{margin:0;letter-spacing:-0.02em;}
.h2{font-size:38px;font-weight:700;line-height:1.12;}
.lead{font-size:17px;color:var(--ink-3);line-height:1.65;}

/* buttons */
.btn{font:inherit;font-size:14px;font-weight:600;padding:12px 22px;border-radius:6px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;line-height:1;transition:background .14s,color .14s,border-color .14s;}
.btn-primary{background:var(--red);color:#fff;}
.btn-primary:hover{background:var(--red-hover);}
.btn-slate{background:var(--slate);color:#fff;}
.btn-slate:hover{background:var(--slate-2);}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-outline:hover{background:var(--ink);color:#fff;}

/* ---------- logos ---------- */
.lk{display:inline-flex;align-items:center;}
.lk-img{display:block;}
.logo-chip{background:#fff;border-radius:8px;padding:9px 13px;display:inline-flex;align-items:center;}
.lk-minsa{display:inline-flex;flex-direction:column;line-height:1;background:var(--minsa-blue);color:#fff;padding:7px 12px;border-radius:3px;}
.lk-minsa b{font-size:17px;font-weight:800;letter-spacing:0.04em;}
.lk-minsa span{font-size:8px;font-weight:700;letter-spacing:0.14em;margin-top:3px;opacity:.95;}
.lk-gsense{font-size:22px;font-weight:700;letter-spacing:-0.02em;color:var(--ink);display:inline-flex;align-items:center;gap:1px;}
.lk-gsense .pl{color:var(--red);font-weight:700;}
.lk-gsense.on-dark{color:#fff;}
.lk-idb{display:inline-flex;align-items:baseline;gap:5px;font-weight:800;letter-spacing:-0.01em;color:var(--ink);}
.lk-idb .b{color:var(--minsa-blue);}
.lk-idb .lab{font-weight:500;color:var(--ink-3);letter-spacing:0.02em;}
.lk-idb.on-dark{color:#fff;} .lk-idb.on-dark .b{color:#7FB3E8;} .lk-idb.on-dark .lab{color:rgba(255,255,255,.7);}
.lk-peru{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2);font-weight:600;}
.lk-peru .seal{width:26px;height:18px;border-radius:2px;background:linear-gradient(90deg,#D81E05 33%,#fff 33% 66%,#D81E05 66%);border:1px solid var(--line);}

/* ---------- header ---------- */
.hd{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.hd .row{max-width:var(--maxw);margin:0 auto;padding:12px 32px;display:flex;align-items:center;gap:20px;}
.hd-brand{display:flex;align-items:center;gap:14px;flex:none;}
.hd-div{width:1px;height:26px;background:var(--line);}
.hd-nav{display:flex;gap:18px;margin-left:auto;flex-wrap:nowrap;}
.hd-nav a{font-size:13px;color:var(--ink-2);font-weight:500;transition:color .14s;white-space:nowrap;}
.hd-nav a:hover{color:var(--ink);}
.hd-right{display:flex;align-items:center;gap:12px;flex:none;}
.lang{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;}
.lang button{font:inherit;font-size:12px;font-weight:700;padding:6px 11px;border:none;background:#fff;color:var(--muted);cursor:pointer;}
.lang button.on{background:var(--slate);color:#fff;}

/* ---------- emotional hero (image left + text right) ---------- */
.ehero{background:var(--surface);border-bottom:1px solid var(--line);}
.ehero-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;padding:60px 32px;}
.ehero-media{border-radius:var(--radius-lg);overflow:hidden;background:#e9edf1;aspect-ratio:9/10;box-shadow:var(--shadow-2);}
.ehero-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.ehero-text{display:flex;flex-direction:column;justify-content:center;}
.ehero-kicker{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;color:var(--red);margin:0 0 18px;}
.ehero-title{font-size:50px;font-weight:800;line-height:1.04;letter-spacing:-0.03em;margin:0;color:var(--ink);}
.ehero-sub{font-size:17px;color:var(--ink-3);line-height:1.6;max-width:520px;margin:22px 0 28px;}
.ehero-pillars{display:grid;grid-template-columns:repeat(3,1fr);margin:4px 0 32px;border-top:1px solid var(--line);padding-top:26px;}
.ehp{display:flex;flex-direction:column;gap:9px;padding:0 22px;}
.ehp:first-child{padding-left:0;}
.ehp:not(:first-child){border-left:1px solid var(--line);}
.ehp-icon{color:var(--red);height:30px;}
.ehp-t{font-size:16px;font-weight:700;color:var(--ink);}
.ehp-d{font-size:13px;color:var(--ink-3);line-height:1.5;}
.ehero-cta{display:flex;gap:12px;flex-wrap:wrap;}

/* ---------- project goals (#glance) ---------- */
.goals{background:#fff;border-bottom:1px solid var(--line);}
.goals .wrap{padding-top:72px;padding-bottom:64px;}
.goals-grid{display:grid;grid-template-columns:0.92fr 1.08fr;gap:56px;align-items:center;}
.goals-kicker{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;color:var(--red);margin:0 0 18px;}
.goals-title{font-size:46px;font-weight:800;line-height:1.05;letter-spacing:-0.03em;margin:0;color:var(--ink);}
.goals-title-red{color:var(--red);}
.goals-sub{font-size:17px;color:var(--ink-3);line-height:1.6;max-width:480px;margin:22px 0 10px;}
.goals-sub2{font-size:17px;color:var(--ink-2);font-weight:600;margin:0 0 30px;}
.goals-pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:26px;}
.goal{display:flex;flex-direction:column;gap:9px;padding:0 20px;}
.goal:first-child{padding-left:0;}
.goal:not(:first-child){border-left:1px solid var(--line);}
.goal-icon{color:var(--red);height:30px;}
.goal-t{font-size:15px;font-weight:700;color:var(--ink);}
.goal-d{font-size:12.5px;color:var(--ink-3);line-height:1.5;}
.goals-media{border-radius:var(--radius-lg);overflow:hidden;background:#eef1f4;border:1px solid var(--line);box-shadow:var(--shadow-2);}
.goals-media img{width:100%;height:auto;display:block;}

/* journey */
.journey{margin-top:48px;border:1px solid var(--line);border-radius:var(--radius-lg);padding:38px 40px 42px;background:#fff;}
.journey-h{font-size:14px;letter-spacing:0.16em;text-transform:uppercase;font-weight:700;color:var(--ink-3);text-align:center;margin-bottom:34px;}
.journey-row{display:flex;align-items:flex-start;justify-content:space-between;gap:0;}
.jstep{flex:1;display:flex;flex-direction:column;gap:9px;padding:0 18px;}
.jstep-top{display:flex;align-items:center;gap:13px;}
.jicon{flex:none;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);}
.jicon svg{width:26px;height:26px;}
.jnum{font-size:27px;font-weight:800;color:var(--red);line-height:1;}
.jt{font-size:19px;font-weight:700;color:var(--ink);}
.jd{font-size:15px;color:var(--ink-3);line-height:1.5;}
.jarrow{flex:none;color:var(--red);font-size:20px;align-self:center;margin-top:12px;}
.goals-principle{margin-top:30px;font-size:17px;color:var(--ink-3);line-height:1.6;text-align:center;max-width:840px;margin-left:auto;margin-right:auto;}
.goals-principle b{color:var(--ink);font-weight:700;}

/* ---------- Lab AI spotlight ---------- */
.labai{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.labai .wrap{padding-top:80px;padding-bottom:80px;}
.labai-grid{display:grid;grid-template-columns:1fr 0.78fr;gap:56px;align-items:center;}
.labai-kicker{color:var(--red);}
.labai .h2{margin:0 0 16px;}
.labai .lead{margin-bottom:30px;}
.labai-steps{display:flex;flex-direction:column;gap:20px;}
.labai-step{display:flex;gap:18px;align-items:flex-start;}
.labai-n{flex:none;font-size:15px;font-weight:800;color:var(--red);width:38px;height:38px;border:1px solid rgba(255,0,41,.28);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.labai-step h3{font-size:18px;font-weight:700;margin:6px 0 5px;}
.labai-step p{font-size:15px;color:var(--ink-3);line-height:1.55;margin:0;}
.labai-cats{margin-top:30px;padding-top:26px;border-top:1px solid var(--line);}
.labai-cats-t{font-size:12px;letter-spacing:0.1em;text-transform:uppercase;font-weight:700;color:var(--muted);}
.labai-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.labai-tag{font-size:13px;font-weight:600;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;}
.labai-right{display:flex;justify-content:center;}
.labai-phones{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-2);}
.labai-phones img{width:100%;height:auto;display:block;border-radius:6px;}
.labai-dash{margin-top:40px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 26px;overflow:hidden;}
.labai-dash img{width:100%;height:auto;display:block;}
.labai-foot{margin-top:18px;font-size:14px;color:var(--ink-3);line-height:1.6;max-width:840px;}

/* ---------- idea band ---------- */
.idea{background:#fff;}
.idea .wrap{padding:84px 32px;}
.idea-grid{display:grid;grid-template-columns:0.92fr 1.08fr;gap:56px;align-items:center;}
.idea-media{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);aspect-ratio:4/5;background:var(--surface);}
.idea-media img{width:100%;height:100%;object-fit:cover;}
.idea-text h2{font-size:34px;font-weight:700;line-height:1.18;margin:6px 0 18px;}
.idea-text p{font-size:16px;color:var(--ink-3);line-height:1.7;margin:0;}

/* ---------- sections ---------- */
section{padding:90px 0;}
.band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.band-slate{background:var(--slate);color:#fff;}
.band-slate .lead{color:rgba(255,255,255,.7);}
.sec-head{max-width:760px;margin:0 0 48px;}
.sec-head h2{font-size:34px;font-weight:700;line-height:1.15;margin-bottom:14px;}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.pillar{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;}
.pillar-media{aspect-ratio:16/11;overflow:hidden;background:var(--surface-2);display:flex;align-items:center;justify-content:center;padding:18px;border-bottom:1px solid var(--line);}
.pillar-media img{max-width:100%;max-height:100%;width:auto;object-fit:contain;border-radius:4px;}
.pillar-body{padding:26px 28px 30px;display:flex;flex-direction:column;gap:10px;}
.pillar .pn{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;color:var(--red);}
.pillar h3{font-size:22px;font-weight:700;}
.pillar .pl-lead{font-size:15px;font-weight:600;color:var(--ink);}
.pillar p{font-size:14px;color:var(--ink-3);line-height:1.6;margin:0;}

/* how */
.how-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.how-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;}
.how-shot{width:100%;height:220px;background:var(--surface-2);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:18px;}
.how-shot img{max-width:100%;max-height:100%;width:auto;object-fit:contain;border-radius:4px;}
.how-thumb{flex:none;width:128px;background:var(--surface-2);overflow:hidden;}
.how-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;}
.how-card-body{padding:26px 26px;display:flex;gap:18px;}
.how-card .hn{font-size:30px;font-weight:800;color:var(--surface-2);line-height:1;flex:none;width:54px;-webkit-text-stroke:1px var(--line);}
.how-card .ht{font-size:19px;font-weight:700;}
.how-card .hp{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--red);font-weight:700;margin:4px 0 8px;}
.how-card p{font-size:14px;color:var(--ink-3);line-height:1.6;margin:0;}
.how-close{margin-top:24px;font-size:18px;font-weight:600;color:var(--ink);text-align:center;}

/* problem stats */
.problem-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:48px;align-items:start;}
.problem-media{margin:0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);background:#fff;}
.problem-media img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;}
.problem-media figcaption{font-size:12.5px;color:var(--ink-3);padding:14px 18px;line-height:1.45;}
.pstats{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink);}
.pstat{padding:26px 22px 24px 0;border-bottom:1px solid var(--line);padding-left:0;}
.pstat:nth-child(odd){border-right:1px solid var(--line);padding-left:0;padding-right:24px;}
.pstat:nth-child(even){padding-left:24px;}
.pstat .v{font-size:46px;font-weight:800;letter-spacing:-0.03em;line-height:1;color:var(--red);}
.pstat .d{font-size:13px;color:var(--ink-3);line-height:1.5;margin-top:12px;}
.gaps{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px;align-items:center;}
.gaps .gt{font-size:14px;font-weight:700;width:100%;margin-bottom:4px;}
.gap-chip{font-size:13px;font-weight:600;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;}

/* full-bleed emotional band */
.humanband{position:relative;padding:0;min-height:420px;display:flex;align-items:center;overflow:hidden;background:var(--slate);}
.humanband-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.humanband-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,17,22,.86) 0%,rgba(14,17,22,.66) 42%,rgba(14,17,22,.12) 100%);}
.humanband-inner{position:relative;z-index:2;padding-top:72px;padding-bottom:72px;}
.hb-kicker{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;font-weight:700;color:#fff;opacity:.72;margin:0 0 16px;}
.hb-title{font-size:46px;font-weight:800;line-height:1.06;letter-spacing:-0.02em;color:#fff;margin:0;max-width:680px;}
.hb-sub{font-size:16px;color:rgba(255,255,255,.78);margin:20px 0 0;max-width:440px;line-height:1.55;}

/* evidence */
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:48px;}
.ev-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
.ev-card h3{font-size:18px;font-weight:700;margin-bottom:10px;}
.ev-card p{font-size:14px;color:var(--ink-3);line-height:1.6;margin:0;}
.res-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);}
.res{padding:26px 20px 0 0;border-right:1px solid var(--line);padding-left:22px;}
.res:first-child{padding-left:0;} .res:last-child{border-right:none;}
.res .v{font-size:40px;font-weight:800;letter-spacing:-0.03em;color:var(--ink);}
.res .d{font-size:13px;color:var(--ink-3);line-height:1.5;margin-top:8px;}

/* privacy */
.priv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.priv{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:28px;}
.priv h3{font-size:18px;font-weight:700;}
.priv p{font-size:14px;color:rgba(255,255,255,.7);line-height:1.6;margin:10px 0 0;}

/* ambassadors */
.amb-top{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.amb-offer{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
.amb-offer li{font-size:14.5px;color:var(--ink-2);padding-left:26px;position:relative;line-height:1.5;}
.amb-offer li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;border-radius:50%;background:var(--red);}
.wall{margin-top:56px;background:var(--slate);border-radius:var(--radius-lg);padding:40px;color:#fff;}
.wall-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px;flex-wrap:wrap;gap:8px;}
.wall-h h3{font-size:22px;font-weight:700;}
.wall-h span{font-size:13px;color:rgba(255,255,255,.6);letter-spacing:0.04em;}
.wall-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;}
.wall-node{aspect-ratio:1;border-radius:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:rgba(255,255,255,.5);}

/* minsa */
.minsa-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.minsa-points{display:flex;flex-direction:column;gap:22px;}
.mp h3{font-size:17px;font-weight:700;display:flex;gap:10px;align-items:baseline;}
.mp h3::before{content:"";width:8px;height:8px;background:var(--red);flex:none;}
.mp p{font-size:14px;color:var(--ink-3);line-height:1.6;margin:6px 0 0 18px;}
.facts{border-top:1px solid var(--ink);}
.fact{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);}
.fact dt{font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.fact dd{font-size:14px;color:var(--ink);margin:0;}

/* campaign */
.camp-tag{font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:8px;}
.camp-link{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:14px;font-weight:700;color:var(--red);}
.camp-link:hover{color:var(--red-hover);}
.camp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px;}
.camp-cell{border-radius:var(--radius);overflow:hidden;background:var(--surface-2);border:1px solid var(--line);aspect-ratio:16/10;}
.camp-cell.tall{grid-row:span 2;aspect-ratio:auto;}
.camp-cell img{width:100%;height:100%;object-fit:cover;}

/* campaign — full posters shown whole (gSense+ creatives) */
.poster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch;}
.poster-cell{position:relative;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px;height:460px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .16s,box-shadow .16s;text-decoration:none;}
.poster-cell:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2);}
.poster-cell img{max-width:100%;max-height:100%;width:auto;object-fit:contain;border-radius:4px;box-shadow:var(--shadow-2);}
.poster-dl{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(-4px);transition:opacity .16s,transform .16s,background .16s;}
.poster-cell:hover .poster-dl{opacity:1;transform:translateY(0);}
.poster-cell:hover .poster-dl{background:var(--red);border-color:var(--red);}
.poster-dl-ic{font-size:18px;font-weight:700;color:var(--ink);line-height:1;}
.poster-cell:hover .poster-dl-ic{color:#fff;}
.camp-dl-ic{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--red);color:#fff;font-size:13px;font-weight:700;}
.camp-dl-hint{margin-top:16px;font-size:13px;color:var(--muted);text-align:center;letter-spacing:0.02em;}
@media(max-width:920px){.poster-grid{grid-template-columns:1fr;}.poster-cell{height:auto;min-height:300px;padding:16px;}}

/* education */
.edu-mods{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:48px;}
.mod{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.mod .mn{width:30px;height:30px;border-radius:7px;background:var(--surface-2);color:var(--minsa-blue);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;margin-bottom:14px;}
.mod h3{font-size:15px;font-weight:700;}
.mod p{font-size:13px;color:var(--ink-3);line-height:1.55;margin:6px 0 0;}
.faq{max-width:820px;}
.faq-i{border-top:1px solid var(--line);}
.faq-i:last-child{border-bottom:1px solid var(--line);}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;font:inherit;padding:22px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:17px;font-weight:600;color:var(--ink);}
.faq-q .pm{flex:none;width:20px;height:20px;position:relative;}
.faq-q .pm::before,.faq-q .pm::after{content:"";position:absolute;background:var(--red);}
.faq-q .pm::before{left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);transition:transform .2s;}
.faq-q .pm::after{top:50%;left:0;right:0;height:2px;transform:translateY(-50%);}
.faq-i.open .pm::before{transform:translateX(-50%) scaleY(0);}
.faq-a{overflow:hidden;max-height:0;transition:max-height .24s ease;}
.faq-a-in{padding:0 0 22px;font-size:15px;color:var(--ink-3);line-height:1.65;max-width:680px;}

/* alliance */
.roles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.role{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:14px;min-height:150px;}
.role .rn{font-size:16px;font-weight:700;}
.role .rr{font-size:13px;color:var(--ink-3);line-height:1.5;margin-top:auto;}
.alliance-note{margin-top:32px;font-size:13px;color:var(--muted);max-width:680px;line-height:1.6;}

/* cta band */
.ctaband{background:var(--red);color:#fff;text-align:center;}
.ctaband h2{font-size:36px;font-weight:700;line-height:1.1;max-width:720px;margin:0 auto 14px;}
.ctaband p{font-size:16px;color:rgba(255,255,255,.9);max-width:560px;margin:0 auto 28px;}
.ctaband .btn-white{background:#fff;color:var(--red);}
.ctaband .btn-white:hover{background:#f0f0f0;}

/* footer */
.ft{background:#fff;color:var(--ink);padding:56px 0 30px;border-top:1px solid var(--line);}
.ft-top{display:flex;justify-content:space-between;align-items:center;gap:48px;flex-wrap:wrap;padding-bottom:36px;border-bottom:1px solid var(--line);}
.ft-tagline{font-size:20px;font-weight:600;max-width:420px;line-height:1.3;letter-spacing:-0.01em;color:var(--ink);}
.ft-logos{display:flex;align-items:center;gap:30px;flex-wrap:wrap;}
.ft-logos .logo-chip{background:transparent;padding:0;}
.ft-logos img{height:30px!important;width:auto!important;}
.ft-logos .lk-gsense{font-size:27px;}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:22px;font-size:12px;color:var(--ink-3);flex-wrap:wrap;gap:10px;}
.ft-bottom a{color:var(--ink-2);}

/* responsive */
@media(max-width:920px){
  .hd-nav{display:none;}
  .steps,.pillars,.how-grid,.ev-grid,.res-grid,.priv-grid,.edu-mods,.roles{grid-template-columns:1fr;}
  .ehero-grid,.idea-grid,.problem-grid,.amb-top,.minsa-grid,.goals-grid,.labai-grid{grid-template-columns:1fr;gap:32px;}
  .goals-pillars{grid-template-columns:1fr;gap:0;}
  .goal{padding:16px 0 0;border-left:none!important;border-top:1px solid var(--line);}
  .goal:first-child{border-top:none;padding-top:0;}
  .goals-title{font-size:34px;}
  .journey-row{flex-direction:column;gap:18px;}
  .jstep{padding:0;width:100%;}
  .jarrow{display:none;}
  .ehero-grid{gap:28px;padding:36px 24px;}
  .ehero-media{aspect-ratio:4/3;order:-1;}
  .ehero-pillars{grid-template-columns:1fr;border-top:none;padding-top:0;gap:0;}
  .ehp{padding:16px 0 0;border-left:none!important;border-top:1px solid var(--line);}
  .ehp:first-child{border-top:none;padding-top:0;}
  .wall-grid{grid-template-columns:repeat(6,1fr);}
  .camp-grid{grid-template-columns:1fr 1fr;}
  .step .arr{display:none;}
  .hero h1{font-size:34px;} .h2,.sec-head h2,.idea-text h2{font-size:27px;}
  .ehero-title{font-size:38px;}
  .how-card{flex-direction:column;}
  .how-thumb{width:100%;height:172px;}
  .pstats{grid-template-columns:1fr 1fr;}
  .humanband-scrim{background:linear-gradient(180deg,rgba(14,17,22,.55) 0%,rgba(14,17,22,.82) 100%);}
  .hb-title{font-size:31px;}
  .res{border-right:none;padding-left:0;}
}

/* ===========================================================================
   FOUNDERS WALL — real roster (name + role)
   =========================================================================== */
.hd-history{font-weight:700 !important;color:var(--red) !important;}
.hd-history:hover{color:var(--red-hover) !important;}

/* founders feature (home) */
.founders-feature{margin-top:52px;background:var(--slate);border-radius:var(--radius-lg);padding:36px 40px 40px;color:#fff;}
.ff-bar{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:28px;}
.ff-stat{display:flex;align-items:center;gap:18px;}
.ff-num{font-size:64px;font-weight:800;letter-spacing:-0.03em;line-height:.9;color:#fff;}
.ff-stat-label{display:flex;flex-direction:column;font-size:13px;color:rgba(255,255,255,.6);letter-spacing:0.04em;text-transform:uppercase;line-height:1.4;}
.ff-stat-label b{font-size:16px;color:#fff;letter-spacing:0;text-transform:none;font-weight:700;margin-top:3px;}
.ff-right{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.ff-meta{font-size:13px;color:rgba(255,255,255,.62);letter-spacing:0.02em;max-width:300px;line-height:1.5;}
.ff-mosaic{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:7px;}
.ff-tile{aspect-ratio:1;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:rgba(255,255,255,.66);transition:background .16s,color .16s,border-color .16s;}
.ff-mosaic:hover .ff-tile{background:rgba(255,255,255,.04);}
.ff-tile:hover{background:var(--red)!important;border-color:var(--red);color:#fff;}

/* roster subpage */
.roster-stats{display:flex;gap:48px;margin-top:34px;}
.rstat{display:flex;flex-direction:column;gap:4px;}
.rstat-num{font-size:44px;font-weight:800;letter-spacing:-0.03em;color:#fff;line-height:1;}
.rstat-lab{font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:700;}
.roster-body{padding:80px 0;}
.rgroup{margin-bottom:44px;}
.rgroup-h{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--ink);}
.rgroup-h h2{font-size:20px;font-weight:700;letter-spacing:-0.01em;}
.rgroup-count{font-size:12px;font-weight:700;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px 11px;letter-spacing:0.04em;}
.rgroup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:10px;}
.rcard{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 15px;min-width:0;}
.rcard-mono{flex:none;width:40px;height:40px;border-radius:9px;background:rgba(255,0,0,.08);border:1px solid rgba(255,0,0,.22);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;}
.rcard-info{display:flex;flex-direction:column;min-width:0;gap:3px;}
.rcard-name{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.2;}
.rcard-role{font-size:10.5px;letter-spacing:0.05em;color:var(--muted);text-transform:uppercase;}
.roster-note{margin-top:8px;font-size:12.5px;color:var(--muted);line-height:1.55;max-width:680px;}

/* ===========================================================================
   RM 060-2026 — home announcement band
   =========================================================================== */
.rm060{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0;}
.rm060-inner{display:grid;grid-template-columns:300px 1fr;gap:48px;padding-top:56px;padding-bottom:56px;align-items:start;}
.rm060-left{display:flex;flex-direction:column;gap:16px;position:relative;padding-left:22px;}
.rm060-left::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:5px;background:var(--red);}
.rm060-mark{width:30px;height:30px;position:relative;}
.rm060-mark::before,.rm060-mark::after{content:"";position:absolute;background:var(--red);}
.rm060-mark::before{left:13px;top:0;bottom:0;width:4px;}
.rm060-mark::after{top:13px;left:0;right:0;height:4px;}
.rm060-tag{font-size:13px;font-weight:700;letter-spacing:0.04em;color:var(--ink);line-height:1.35;text-transform:uppercase;}
.rm060-title{font-size:30px;font-weight:700;line-height:1.16;letter-spacing:-0.02em;margin:0 0 16px;max-width:760px;}
.rm060-body{font-size:16px;color:var(--ink-3);line-height:1.65;margin:0;max-width:760px;}
.rm060-foot{display:flex;align-items:center;gap:24px;margin-top:24px;flex-wrap:wrap;}
.rm060-note{font-size:13px;color:var(--muted);max-width:440px;line-height:1.5;flex:1;min-width:240px;}

/* ===========================================================================
   ROADMAP SUBPAGE
   =========================================================================== */
.road-hero{background:var(--slate);color:#fff;position:relative;overflow:hidden;padding:84px 0 72px;}
.road-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--red);}
.road-hero h1{font-size:50px;font-weight:800;line-height:1.05;letter-spacing:-0.03em;max-width:920px;margin:0;}
.road-hero-sub{font-size:18px;color:rgba(255,255,255,.74);line-height:1.6;max-width:680px;margin:22px 0 0;}
.road-hero-logos{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap;}

/* rm060 detail */
.rm060-detail-head{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:start;margin-bottom:40px;}
.rm060-stamp{display:inline-block;font-size:12px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--red);border:1px solid var(--red);border-radius:4px;padding:14px 18px;line-height:1.4;max-width:200px;}
.rm060-points{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.rm060-point{background:#fff;border:1px solid var(--line);border-radius:var(--radius);border-top:3px solid var(--red);padding:26px 24px;}
.rm060-point h3{font-size:17px;font-weight:700;margin-bottom:10px;}
.rm060-point p{font-size:14px;color:var(--ink-3);line-height:1.6;margin:0;}

/* timeline */
.tl-track{display:grid;grid-template-columns:repeat(4,1fr);gap:0 20px;}
.tl-item{position:relative;padding-bottom:36px;}
.tl-rail{position:relative;height:18px;margin-bottom:18px;}
.tl-dot{position:absolute;left:0;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--border-strong);z-index:2;}
.tl-item.done .tl-dot{background:var(--slate);border-color:var(--slate);}
.tl-item.key .tl-dot{background:var(--red);border-color:var(--red);box-shadow:0 0 0 4px rgba(255,0,0,.15);}
.tl-line{position:absolute;left:14px;top:9px;right:-20px;height:2px;background:var(--line);}
.tl-item.done .tl-line{background:var(--slate);}
.tl-date{font-size:13px;font-weight:700;color:var(--red);letter-spacing:0.02em;}
.tl-phase{font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:5px 0 10px;}
.tl-card h3{font-size:16px;font-weight:700;line-height:1.25;margin-bottom:8px;}
.tl-card p{font-size:13px;color:var(--ink-3);line-height:1.55;margin:0;}
.tl-badge{display:inline-block;margin-top:12px;font-size:10.5px;font-weight:700;letter-spacing:0.04em;color:var(--red);background:rgba(255,0,0,.07);border:1px solid rgba(255,0,0,.25);border-radius:999px;padding:4px 10px;text-transform:uppercase;}

/* scale */
.scale-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.scale-card{position:relative;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:30px 28px;display:flex;flex-direction:column;gap:8px;}
.scale-card.scale-now{background:rgba(255,0,0,.10);border-color:rgba(255,0,0,.45);}
.scale-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.scale-tag{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;font-weight:700;color:#fff;opacity:.7;}
.scale-now .scale-tag{color:#fff;opacity:1;}
.scale-step{font-size:13px;font-weight:800;color:rgba(255,255,255,.35);}
.scale-card h3{font-size:24px;font-weight:700;color:#fff;}
.scale-metric{font-size:13px;font-weight:600;color:var(--red);letter-spacing:0.02em;}
.scale-now .scale-metric{color:#fff;}
.scale-card p{font-size:14px;color:rgba(255,255,255,.72);line-height:1.6;margin:6px 0 0;}
.scale-arrow{position:absolute;right:-14px;top:50%;transform:translateY(-50%);color:var(--red);font-size:20px;z-index:3;}
.scale-foot{margin-top:26px;font-size:13px;color:rgba(255,255,255,.55);letter-spacing:0.02em;}

/* science */
.sci-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;}
.sci-tracks{display:flex;flex-direction:column;gap:16px;}
.sci-track{background:#fff;border:1px solid var(--line);border-radius:var(--radius);border-left:3px solid var(--red);padding:26px 28px;}
.sci-eyebrow{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;font-weight:700;color:var(--muted);}
.sci-track h3{font-size:20px;font-weight:700;margin:8px 0 10px;}
.sci-track p{font-size:14.5px;color:var(--ink-3);line-height:1.6;margin:0;}
.sci-panel{background:var(--slate);border-radius:var(--radius-lg);padding:34px 32px;color:#fff;}
.sci-facts{margin:0;}
.sci-fact{display:flex;flex-direction:column;gap:3px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14);}
.sci-fact:first-child{padding-top:0;}
.sci-fact dt{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:700;}
.sci-fact dd{font-size:16px;color:#fff;margin:0;font-weight:600;}
.sci-note{font-size:12.5px;color:rgba(255,255,255,.55);line-height:1.55;margin:22px 0 0;}

@media(max-width:920px){
  .ff-bar{flex-direction:column;align-items:flex-start;}
  .roster-stats{gap:32px;}
  .rm060-inner{grid-template-columns:1fr;gap:24px;padding-top:40px;padding-bottom:40px;}
  .rm060-title{font-size:25px;}
  .road-hero h1{font-size:34px;}
  .rm060-detail-head{grid-template-columns:1fr;gap:20px;}
  .rm060-points,.scale-grid,.tl-track{grid-template-columns:1fr;}
  .sci-grid{grid-template-columns:1fr;gap:28px;}
  .tl-item{padding-left:30px;padding-bottom:24px;}
  .tl-rail{position:absolute;left:0;top:2px;bottom:0;height:auto;width:14px;margin:0;}
  .tl-line{left:6px;top:14px;bottom:-24px;right:auto;width:2px;height:auto;}
  .scale-arrow{display:none;}
}
@media(max-width:560px){
  .ff-num{font-size:52px;}
}
