 :root{
  --navy:#061b35;
  --navy2:#09294f;
  --navy3:#0e3a6f;
  --gold:#d99a2b;
  --gold2:#f2b544;
  --teal:#169e93;
  --purple:#6b56a5;
  --orange:#dc7040;
  --ink:#071a31;
  --muted:#53657f;
  --line:#e5eaf1;
  --soft:#f7f9fc;
  --paper:#ffffff;
  --shadow:0 24px 70px rgba(6,27,53,.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:#fff;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* TOP BAR - matches index.html */
.topbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  height:76px;
  padding:0 54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  color:#fff;
  background:rgba(4,17,34,.78);
  border-bottom:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(16px);
}
.topbar.scrolled{
  background:rgba(4,17,34,.94);
}
.topbar-brand{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:190px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.02em;
  font-weight:900;
  line-height:1.05;
  font-size:13px;
}
.topbar-brand img{
  width:50px;
  height:50px;
  object-fit:contain;
}
.topbar-nav{
  display:flex;
  align-items:center;
  gap:24px;
  font-size:13px;
  font-weight:850;
}
.topbar-nav a{
  color:rgba(255,255,255,.86);
  transition:.18s ease;
}
.topbar-nav a:hover,
.topbar-nav a.active{
  color:var(--gold2);
}
.topbar-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.search-btn{
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
  font-size:20px;
}
.download-btn{
  min-height:42px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:11px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:900;
}

/* HERO */
.hero{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  color:#fff;
}
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,14,29,.98) 0%,rgba(3,14,29,.91) 36%,rgba(3,14,29,.38) 70%,rgba(3,14,29,.08) 100%),
    linear-gradient(180deg,rgba(3,14,29,.15) 0%,rgba(3,14,29,.04) 46%,rgba(3,14,29,.86) 100%);
}
.hero-animation{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}

.orbit{
  position:absolute;
  right:6%;
  top:18%;
  width:min(44vw,560px);
  height:min(44vw,560px);
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  transform:rotate(-18deg);
  opacity:.72;
}

.orbit::after{
  content:"";
  position:absolute;
  inset:12%;
  border-radius:50%;
  border-top:1px solid rgba(217,154,43,.28);
  border-right:1px solid rgba(255,255,255,.10);
  transform:rotate(18deg);
}

.orbit-1{
  animation:heroOrbitDrift 22s ease-in-out infinite;
}

.orbit-2{
  right:9%;
  top:24%;
  width:min(34vw,430px);
  height:min(34vw,430px);
  transform:rotate(22deg);
  opacity:.56;
  animation:heroOrbitDrift 18s ease-in-out infinite reverse;
}

.orbit-3{
  right:2%;
  top:30%;
  width:min(52vw,660px);
  height:min(30vw,360px);
  border-radius:50%;
  transform:rotate(12deg);
  opacity:.42;
  animation:heroOrbitDrift 20s ease-in-out infinite;
}

.spark{
  position:absolute;
  z-index:2;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#fff;
  box-shadow:
    0 0 0 5px rgba(255,255,255,.08),
    0 0 18px rgba(217,154,43,.42);
  opacity:.74;
}

.spark-1{
  right:21%;
  top:32%;
  animation:heroSparkFloat 16s ease-in-out infinite;
}

.spark-2{
  right:12%;
  top:47%;
  background:var(--gold2);
  animation:heroSparkFloat 21s ease-in-out infinite reverse;
}

.spark-3{
  right:31%;
  top:58%;
  width:5px;
  height:5px;
  animation:heroSparkFloat 18s ease-in-out infinite;
}

@keyframes heroOrbitDrift{
  0%,100%{transform:translate3d(0,0,0) rotate(var(--orbit-rotate,-18deg))}
  50%{transform:translate3d(-10px,8px,0) rotate(calc(var(--orbit-rotate,-18deg) + 2deg))}
}

@keyframes heroSparkFloat{
  0%,100%{transform:translate3d(0,0,0); opacity:.48}
  45%{transform:translate3d(-18px,12px,0); opacity:.88}
  72%{transform:translate3d(10px,-8px,0); opacity:.64}
}

.orbit-1{--orbit-rotate:-18deg}
.orbit-2{--orbit-rotate:22deg}
.orbit-3{--orbit-rotate:12deg}

@media (prefers-reduced-motion: reduce){
  .orbit,
  .spark{
    animation:none;
  }
}
.hero-inner{
  position:relative;
  z-index:2;
  width:min(750px,calc(100% - 112px));
  margin-left:60px;
  padding-top:90px;
}
.hero-kicker{
  margin:0 0 18px;
  color:var(--gold2);
  font-size:14px;
  font-weight:950;
  letter-spacing:.21em;
  text-transform:uppercase;
}
.hero-kicker::after{
  content:"";
  display:block;
  width:62px;
  height:2px;
  background:var(--gold2);
  margin-top:16px;
}
.hero h1{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(54px,6.4vw,90px);
  line-height:.98;
  letter-spacing:-.052em;
  text-shadow:0 12px 38px rgba(0,0,0,.45);
}
.hero-subtitle{
  margin:24px 0 22px;
  color:var(--gold2);
  font-size:clamp(24px,2.2vw,32px);
  font-weight:850;
}
.hero-text{
  max-width:660px;
  margin:0;
  color:rgba(255,255,255,.92);
  font-size:18px;
  line-height:1.68;
}
.hero-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:34px;
}
.btn{
  min-height:46px;
  padding:0 22px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:14px;
  font-weight:900;
  transition:.18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:var(--gold2);
  color:#061426;
  box-shadow:0 16px 34px rgba(217,154,43,.28);
}
.btn-ghost{
  border:1px solid rgba(255,255,255,.52);
  color:#fff;
  background:rgba(255,255,255,.04);
}
.btn-white{
  background:#fff;
  color:var(--navy);
}
.hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  margin-top:46px;
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.20);
  color:rgba(255,255,255,.82);
  font-size:14px;
}
.hero-meta span:not(:last-child)::after{
  content:"";
  display:inline-block;
  width:1px;
  height:17px;
  margin-left:24px;
  background:rgba(255,255,255,.28);
  vertical-align:middle;
}

/* If institutional logos are added later inside hero */
.hero-logos{
  display:flex;
  align-items:center;
  gap:34px;
  margin-top:60px;
}
.hero-logos img{
  width:auto;
  max-width:300px;
  max-height:78px;
  object-fit:contain;
  filter:drop-shadow(0 7px 18px rgba(0,0,0,.38));
}
.hero-logos img:not(:last-child){
  padding-right:34px;
  border-right:1px solid rgba(255,255,255,.32);
}

/* STATS */
.stats-bar{
  max-width:1180px;
  margin:0 auto;
  transform:translateY(-50%);
  position:relative;
  z-index:5;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#fff;
  border-radius:0 0 22px 22px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.stats-bar article{
  padding:18px 24px;
  text-align:center;
  border-right:1px solid var(--line);
}
.stats-bar article:last-child{border-right:none}
.stat-icon{
  width:38px;
  height:38px;
  margin:0 auto 5px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f3f6fa;
  color:var(--navy);
  font-weight:900;
}
.stat-icon img{
  width:30px;
  height:30px;
  object-fit:contain;
}
.stats-bar strong{
  display:block;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:46px;
  line-height:1;
  color:var(--navy);
}
.stats-bar span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-weight:850;
}

.presidents-note{
  width:min(1180px,calc(100% - 96px));
  margin:-24px auto 42px;
  padding:26px 32px 24px;
  background:#fff;
  border-left:4px solid var(--gold);
  border-radius:14px;
  box-shadow:0 14px 40px rgba(6,27,53,.08);
}

.presidents-note p{
  max-width:980px;
  margin:0;
  color:var(--ink);
  font-size:15px;
  line-height:1.68;
}

.presidents-note p + p{
  margin-top:12px;
}

.presidents-note-kicker{
  color:var(--navy);
  font-weight:950;
}


/* =========================================================
   HOME BODY - MOCKUP STRICT VERSION
   Blocks 2 onward. Header/Hero/Stats are intentionally untouched.
========================================================= */

body{
  background:linear-gradient(180deg,#fff 0%,#fff 68%,#f7f9fc 100%);
}

.home-shell{
  width:min(1180px,calc(100% - 96px));
  margin:0 auto;
}

.home-band-intro{
  padding-top:26px;
}

.mock-kicker{
  margin:0;
  color:var(--gold);
  font-size:12px;
  font-weight:950;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.section-titleblock h2{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--navy);
  letter-spacing:-.045em;
  line-height:1.02;
  font-size:40px;
}

.section-titleblock .mock-kicker + h2{
  margin-top:10px;
}

.mock-rule{
  display:block;
  width:52px;
  height:3px;
  border-radius:999px;
  background:#0b3d75;
  margin-top:12px;
}

/* INTRO + NETWORK */

.intro-mockup-grid{
  display:grid;
  grid-template-columns:1.26fr .92fr;
  gap:28px;
  align-items:start;
  padding:34px 0 28px;
}

.before-cards{
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.brief-card{
  min-height:230px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:20px 16px 18px;
  box-shadow:0 18px 42px rgba(6,27,53,.055);
  position:relative;
  overflow:hidden;
}

.brief-card::after{
  content:"";
  position:absolute;
  right:-46px;
  bottom:-46px;
  width:116px;
  height:116px;
  border-radius:50%;
  background:rgba(217,154,43,.08);
}

.brief-icon{
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  background:#f5f8fb;
  border:1px solid rgba(6,27,53,.18);
}

.brief-icon img{
  width:22px;
  height:22px;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(12%) sepia(31%) saturate(1913%) hue-rotate(181deg) brightness(92%) contrast(98%);
}

.brief-icon-teal img{
  filter:brightness(0) saturate(100%) invert(44%) sepia(54%) saturate(627%) hue-rotate(130deg) brightness(89%) contrast(87%);
}

.brief-icon-blue img{
  filter:brightness(0) saturate(100%) invert(25%) sepia(54%) saturate(1956%) hue-rotate(188deg) brightness(86%) contrast(87%);
}

.brief-card h3{
  margin:0 0 10px;
  font-size:15px;
  line-height:1.14;
  color:var(--navy);
  letter-spacing:-.01em;
}

.brief-card p{
  margin:0;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.52;
}

.brief-card a{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:14px;
  color:#0b3d75;
  font-size:12.5px;
  font-weight:950;
}

.network-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:26px 24px 22px;
  box-shadow:0 18px 50px rgba(6,27,53,.09);
}

.network-panel .section-titleblock h2{
  font-size:34px;
}

.network-map-crystal{
  height:255px;
  margin-top:22px;
  border-radius:14px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 30% 36%,rgba(217,154,43,.10),transparent 26%),
    radial-gradient(circle at 70% 56%,rgba(22,158,147,.08),transparent 28%),
    linear-gradient(135deg,#f6f8fb,#eaf0f7);
}

.network-map-crystal::before{
  display:none;
}

.network-map-crystal::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:12;
  pointer-events:none;
  background:
    linear-gradient(to right, rgba(6,27,53,.12) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(6,27,53,.12) 1px, transparent 1px);
  background-size:10% 10%;
}

.network-map-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
  opacity:.98;
  filter:drop-shadow(0 18px 28px rgba(6,27,53,.16));
  pointer-events:none;
}

.map-node{
  position:absolute;
  z-index:5;
  width:14px;
  height:14px;
  border-radius:50%;
  border:2px solid #fff;
  background:#d99a2b;
  box-shadow:
    0 0 0 5px rgba(217,154,43,.16),
    0 0 18px rgba(217,154,43,.55);
  transform:translate(-50%,-50%);
  cursor:default;
  appearance:none;
  padding:0;
}

.map-node::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:1px solid rgba(217,154,43,.38);
  opacity:0;
  transform:scale(.72);
  animation:nodePulse 18s ease-in-out infinite;
  animation-delay:var(--delay,0s);
}

.map-node::after{
  content:attr(data-name);
  white-space:nowrap;
  position:absolute;
  left:50%;
  bottom:24px;
  transform:translateX(-50%) translateY(5px);
  min-width:max-content;
  padding:7px 10px;
  border-radius:8px;
  background:#061b35;
  color:#fff;
  font-size:11px;
  line-height:1.22;
  font-weight:850;
  letter-spacing:.01em;
  box-shadow:0 10px 26px rgba(6,27,53,.24);
  opacity:0;
  pointer-events:none;
  transition:.18s ease;
}

.map-node:hover{
  z-index:20;
  transform:translate(-50%,-50%) scale(1.08);
}

.map-node:hover::after{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

.map-node-inactive{
  background:#c84b4b;
  box-shadow:
    0 0 0 5px rgba(200,75,75,.15),
    0 0 18px rgba(200,75,75,.50);
}

.map-node-inactive::before{
  border-color:rgba(200,75,75,.38);
}

@keyframes nodePulse{
  0%, 82%, 100%{
    transform:scale(.72);
    opacity:0;
  }
  88%{
    transform:scale(1.45);
    opacity:.62;
  }
  94%{
    transform:scale(2.15);
    opacity:0;
  }
}

.network-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  margin-top:16px;
  padding:0 15px;
  border-radius:8px;
  border:1px solid var(--line);
  color:var(--navy);
  font-size:12px;
  font-weight:950;
  background:#fff;
}

/* GOVERNANCE + DOC */

.governance-mockup-grid{
  display:grid;
  grid-template-columns:1.38fr .82fr;
  gap:36px;
  padding:24px 0 26px;
  align-items:start;
}

.architecture-panel .section-titleblock h2,
.document-panel .section-titleblock h2{
  font-size:32px;
}

.architecture-track{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:0;
  margin-top:34px;
}

.architecture-track::before{
  content:"";
  position:absolute;
  top:38px;
  left:7%;
  right:7%;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(6,27,53,.18),transparent);
}

.arch-node{
  position:relative;
  z-index:2;
  text-align:center;
  color:var(--navy);
  padding:0 8px;
}

.arch-node span{
  width:74px;
  height:74px;
  margin:0 auto 13px;
  border-radius:50%;
  border:7px solid #fff;
  display:grid;
  place-items:center;
  color:#fff;
  background:var(--navy);
  box-shadow:0 14px 32px rgba(6,27,53,.16);
}

.arch-node span i{
  font-style:normal;
  font-size:21px;
}

.arch-teal span{background:var(--teal)}
.arch-gold span{background:#bf8617}
.arch-purple span{background:var(--purple)}
.arch-orange span{background:var(--orange)}

.arch-node em{
  display:block;
  font-style:normal;
  font-size:11px;
  font-weight:950;
  color:var(--navy);
  margin-bottom:6px;
}

.arch-node strong{
  display:block;
  font-size:13px;
  line-height:1.12;
  min-height:31px;
}

.arch-node small{
  display:block;
  max-width:112px;
  margin:7px auto 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.32;
}

.arch-node b{
  display:block;
  margin-top:14px;
  color:#0b3d75;
  font-size:11.5px;
}

.document-card{
  margin-top:22px;
  display:grid;
  grid-template-columns:.83fr 1.17fr;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 16px 42px rgba(6,27,53,.075);
}

.document-tabs{
  background:#f5f7fa;
  padding:10px 8px;
}

.document-tabs a{
  display:block;
  padding:10px 9px;
  border-radius:7px;
  color:var(--navy);
}

.document-tabs a.active{
  background:#fff;
  box-shadow:0 8px 18px rgba(6,27,53,.045);
}

.document-tabs strong{
  display:block;
  font-size:11.5px;
}

.document-tabs span{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.25;
}

.document-preview{
  padding:20px 18px 18px;
}

.document-preview h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:17px;
  line-height:1.08;
}

.document-preview p,
.document-preview li{
  color:var(--muted);
  font-size:12px;
  line-height:1.42;
}

.document-preview h4{
  margin:15px 0 8px;
  color:var(--navy);
  font-size:13px;
}

.document-preview ul{
  margin:0;
  padding-left:18px;
}

.document-preview>a{
  display:block;
  margin-top:16px;
  padding:12px 14px;
  border-radius:8px;
  text-align:center;
  background:var(--navy);
  color:#fff;
  font-size:12px;
  font-weight:950;
}

/* LOWER GRID */

.lower-mockup-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
  padding:12px 0 42px;
}

.lower-panel{
  min-height:265px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:22px 24px;
  box-shadow:0 14px 36px rgba(6,27,53,.055);
}

.lower-panel h3{
  margin:0 0 10px;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--navy);
  font-size:25px;
  line-height:1.02;
  letter-spacing:-.035em;
}

.lower-panel p{
  margin:0 0 15px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.48;
}

.lower-panel a{
  color:#0b3d75;
  font-weight:950;
  font-size:12px;
}

.lower-panel dl{
  margin:14px 0 18px;
}

.lower-panel dl div{
  border-top:1px solid var(--line);
  padding:9px 0;
}

.lower-panel dt{
  color:var(--navy);
  font-weight:950;
  font-size:13px;
}

.lower-panel dd{
  margin:3px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.3;
}

.timeline-panel ol{
  margin:14px 0 18px;
  padding-left:19px;
  color:var(--ink);
  font-size:13px;
  line-height:1.65;
  font-weight:850;
}

.resource-list{
  border-top:1px solid var(--line);
  margin:16px 0 14px;
}

.resource-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
  color:var(--navy);
  font-size:12.5px;
}

.resource-list span{
  color:var(--muted);
  font-size:11px;
}

.faq-panel details{
  border-top:1px solid var(--line);
  padding:10px 0;
}

.faq-panel summary{
  cursor:pointer;
  color:var(--navy);
  font-weight:950;
  font-size:12.5px;
}

.faq-panel details p{
  margin:8px 0 0;
}

/* CTA */

.participation-cta{
  min-height:110px;
  margin:0 auto 44px;
  padding:24px 34px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--navy),#082a50);
  color:#fff;
  display:grid;
  grid-template-columns:80px 1fr auto;
  align-items:center;
  gap:24px;
  box-shadow:0 18px 46px rgba(6,27,53,.12);
}

.cta-illustration{
  width:62px;
  height:62px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.10);
  color:var(--gold2);
  font-size:28px;
}

.participation-cta h2{
  margin:0;
  color:#fff;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:30px;
  letter-spacing:-.035em;
}

.participation-cta p{
  margin:6px 0 0;
  color:rgba(255,255,255,.78);
  font-size:14px;
}

.cta-actions{
  display:flex;
  gap:12px;
}

.cta-actions a{
  min-width:152px;
  min-height:40px;
  padding:0 14px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.38);
  color:#fff;
  font-size:12.5px;
  font-weight:950;
}

/* FOOTER */

.main-footer{
  background:#031224;
  color:#fff;
  padding:36px 56px 18px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.35fr repeat(4,1fr);
  gap:34px;
  max-width:1180px;
  margin:0 auto;
}

.footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:950;
  text-transform:uppercase;
  color:#fff;
}

.footer-brand img{
  width:52px;
  height:52px;
  object-fit:contain;
}

.main-footer p{
  color:rgba(255,255,255,.70);
  line-height:1.52;
  font-size:13px;
  max-width:280px;
}

.main-footer h4{
  margin:0 0 12px;
  color:#fff;
  font-size:13px;
}

.main-footer section>a{
  display:block;
  color:rgba(255,255,255,.72);
  margin:7px 0;
  font-size:12.5px;
}

.socials{
  display:flex;
  gap:8px;
  margin-top:14px;
}

.socials span{
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.08);
}

.instagram-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}

.instagram-icon svg{
  width:16px;
  height:16px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.footer-bottom{
  max-width:1180px;
  margin:28px auto 0;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  color:rgba(255,255,255,.56);
  font-size:12px;
}

/* RESPONSIVE */

@media(max-width:1120px){
  .home-shell{
    width:min(100% - 48px, 920px);
  }

  .intro-mockup-grid,
  .governance-mockup-grid,
  .lower-mockup-grid,
  .footer-grid{
    grid-template-columns:1fr;
  }

  .before-cards{
    grid-template-columns:repeat(3,1fr);
  }

  .architecture-track{
    grid-template-columns:repeat(3,1fr);
    row-gap:34px;
  }

  .architecture-track::before{
    display:none;
  }

  .participation-cta{
    grid-template-columns:1fr;
  }

  .cta-actions{
    flex-wrap:wrap;
  }
}

@media(max-width:760px){
  .home-shell{
    width:calc(100% - 36px);
  }

  .before-cards{
    grid-template-columns:1fr;
  }

  .brief-card{
    min-height:auto;
  }

  .architecture-track{
    grid-template-columns:1fr;
  }

  .arch-node{
    display:grid;
    grid-template-columns:76px 1fr;
    text-align:left;
    gap:16px;
    align-items:center;
  }

  .arch-node span{
    margin:0;
    width:68px;
    height:68px;
  }

  .arch-node small{
    max-width:none;
    margin-left:0;
  }

  .document-card{
    grid-template-columns:1fr;
  }

  .cta-actions{
    display:grid;
  }

  .main-footer{
    padding:34px 24px 18px;
  }

  .footer-bottom{
    flex-direction:column;
    gap:10px;
  }
}
/* ==========================================================
   AJUSTES FINALES · INDEX
   Mensaje institucional + Proceso de Coordinación Nacional
   ========================================================== */

/* Oculta la lupa del header (si todavía existe) */
.topbar .topbar-actions {
    display: none;
}

/* ==========================================================
   MENSAJE INSTITUCIONAL
   ========================================================== */

.presidents-note {
    max-width: 1180px;
    margin: 68px auto 72px;
    padding: 0 28px;
    position: relative;
}

.presidents-note::before {
    content: "";
    position: absolute;
    right: 28px;
    top: 8px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(11,61,117,.06), transparent 62%),
        repeating-radial-gradient(circle, rgba(11,61,117,.055) 0 1px, transparent 1px 18px);
    opacity: .9;
    pointer-events: none;
}

.presidents-note-inner {
    max-width: 880px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.presidents-note-kicker {
    margin: 0 0 18px;
    color: #b17a2c;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 12px;
    font-weight: 950;
}

.presidents-note-kicker::after {
    content: "";
    display: block;
    width: 86px;
    height: 1px;
    margin-top: 14px;
    background: rgba(177,122,44,.55);
}

.presidents-note h2 {
    max-width: 760px;
    margin: 0 0 22px;
    font-family: Georgia, "Times New Roman", serif;
    color: #061b35;
    font-size: 42px;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.presidents-note-quote {
    margin: 0 0 30px;
    max-width: 680px;
    color: #526277;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1.5;
    font-style: italic;
}

.presidents-note-body {
    max-width: 780px;
}

.presidents-note-body p {
    margin: 0 0 18px;
    color: #24364e;
    font-size: 17px;
    line-height: 1.78;
}

.presidents-note-signature {
    margin: 34px 0 0;
    color: #061b35;
    font-weight: 900;
    line-height: 1.45;
}

.presidents-note-signature span {
    color: #6c7786;
    font-weight: 700;
}

/* ==========================================================
   PROCESO DE COORDINACIÓN NACIONAL
   ========================================================== */

.coordination-process {
    margin-top: 54px;
    margin-bottom: 40px;
    padding: 34px 38px;
    border: 1px solid rgba(6,27,53,.12);
    border-radius: 18px;

    display: grid;
    grid-template-columns: 74px minmax(0,1fr) auto;
    gap: 28px;
    align-items: center;

    background:
        radial-gradient(circle at 9% 20%, rgba(217,154,43,.12), transparent 22%),
        linear-gradient(135deg,#ffffff,#f7fafc);

    box-shadow: 0 22px 48px rgba(6,27,53,.07);
}

.coordination-process-mark {

    width:74px;
    height:74px;

    border-radius:50%;

    display:grid;
    place-items:center;

    background:#061b35;
    color:white;

    font-size:38px;

    box-shadow:0 18px 34px rgba(6,27,53,.18);

}

.coordination-process-kicker{

    margin:0 0 6px;

    color:#b17a2c;

    text-transform:uppercase;

    letter-spacing:.12em;

    font-size:12px;

    font-weight:950;

}

.coordination-process h2{

    margin:0 0 12px;

    color:#061b35;

    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

    font-size:34px;

    line-height:1.05;

    letter-spacing:-.03em;

}

.coordination-process p{

    margin:0;

    color:#2d3f58;

    line-height:1.65;

    font-size:15.5px;

}

.coordination-process-note{

    margin-top:10px !important;

    color:#6a4a16 !important;

    font-size:13.5px !important;

}

.coordination-process-link{

    min-height:46px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:0 18px;

    border-radius:999px;

    background:#061b35;

    color:white;

    font-size:13px;

    font-weight:950;

    white-space:nowrap;

    text-decoration:none;

    transition:.25s;

    box-shadow:0 16px 30px rgba(6,27,53,.16);

}

.coordination-process-link:hover{

    background:#0b3d75;

    transform:translateY(-2px);

}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width:900px){

    .presidents-note{

        margin:46px auto 52px;

    }

    .presidents-note h2{

        font-size:34px;

    }

    .coordination-process{

        grid-template-columns:1fr;

        padding:28px;

    }

    .coordination-process-link{

        justify-self:start;

    }

}


/* ==========================================================
   Ajustes globales de producción y microinteracciones
   ========================================================== */

.chapter-footer-brand img,
.footer-brand img{
  width:42px;
  height:42px;
  max-width:42px;
  max-height:42px;
  object-fit:contain;
  flex:0 0 auto;
}

.presidents-note{
  margin:78px auto 78px;
  padding:0 32px;
  overflow:hidden;
}

.presidents-note::before{
  content:"";
  position:absolute;
  right:44px;
  top:50%;
  width:360px;
  height:360px;
  border-radius:0;
  background:url("../logos/logo-nodos.png") center/contain no-repeat;
  opacity:.045;
  transform:translateY(-50%);
  pointer-events:none;
}

.presidents-note-kicker{
  margin-bottom:24px;
}

.presidents-note-kicker::after{
  margin-top:20px;
}

.presidents-note-signature{
  margin-bottom:14px;
}

.hero-buttons .btn,
.brief-card,
.arch-node,
.lower-panel,
.network-button,
.coordination-process-link,
.participation-cta .cta-actions a{
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
}

.hero-buttons .btn:hover,
.brief-card:hover,
.arch-node:hover,
.lower-panel:hover,
.network-button:hover,
.coordination-process-link:hover,
.participation-cta .cta-actions a:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(6,27,53,.12);
}

.arch-node:hover span{
  box-shadow:0 18px 42px rgba(6,27,53,.20);
}

.hero-animation{
  z-index:1;
  opacity:1;
  mix-blend-mode:screen;
}

.orbit{
  border-color:rgba(255,255,255,.30);
  opacity:.88;
  box-shadow:0 0 26px rgba(255,255,255,.055);
}

.orbit::after{
  border-top-color:rgba(217,154,43,.40);
  border-right-color:rgba(154,190,223,.26);
}

.orbit-4{
  right:16%;
  top:16%;
  width:min(28vw,360px);
  height:min(48vw,560px);
  border-radius:50%;
  transform:rotate(-42deg);
  opacity:.62;
  animation:heroOrbitDrift 24s ease-in-out infinite reverse;
  --orbit-rotate:-42deg;
}

.orbit-5{
  right:4%;
  top:12%;
  width:min(48vw,600px);
  height:min(22vw,300px);
  border-radius:50%;
  transform:rotate(34deg);
  opacity:.64;
  animation:heroOrbitDrift 17s ease-in-out infinite;
  --orbit-rotate:34deg;
}

.orbit-6{
  right:24%;
  top:36%;
  width:min(32vw,430px);
  height:min(18vw,260px);
  border-radius:50%;
  transform:rotate(-8deg);
  opacity:.58;
  animation:heroOrbitDrift 15s ease-in-out infinite reverse;
  --orbit-rotate:-8deg;
}

.spark{
  opacity:.88;
  box-shadow:
    0 0 0 6px rgba(255,255,255,.10),
    0 0 22px rgba(217,154,43,.55);
}

.spark-4{right:18%; top:24%; width:4px; height:4px; background:#f7d99a; animation:heroSparkFloat 13s ease-in-out infinite reverse;}
.spark-5{right:8%; top:36%; width:5px; height:5px; background:#dcecff; animation:heroSparkFloat 19s ease-in-out infinite;}
.spark-6{right:27%; top:43%; width:4px; height:4px; background:#fff9e8; animation:heroSparkFloat 22s ease-in-out infinite reverse;}
.spark-7{right:36%; top:50%; width:5px; height:5px; background:#f0c46d; animation:heroSparkFloat 15s ease-in-out infinite;}
.spark-8{right:14%; top:61%; width:4px; height:4px; background:#ffffff; animation:heroSparkFloat 24s ease-in-out infinite reverse;}
.spark-9{right:24%; top:69%; width:5px; height:5px; background:#d7e9ff; animation:heroSparkFloat 18s ease-in-out infinite;}

@media (prefers-reduced-motion: reduce){
  *{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition:none !important;
  }
}

/* ==========================================================
   Sprint final de animaciones institucionales
   ========================================================== */

.hero-network-layer{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
  mix-blend-mode:screen;
}

.hero-network-layer .orbit,
.hero-network-layer .spark{
  display:none;
}

.hero-grid{
  position:absolute;
  inset:-8%;
  opacity:.20;
  background:
    linear-gradient(to right, rgba(255,255,255,.11) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:72px 72px;
  transform:rotate(-7deg) scale(1.08);
  animation:heroGridDrift 28s linear infinite;
}

.hero-grid::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 76% 42%, rgba(217,154,43,.18), transparent 34%),
             radial-gradient(circle at 60% 66%, rgba(197,220,242,.12), transparent 38%);
}

.hero-route{
  position:absolute;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.34), rgba(217,154,43,.38), transparent);
  box-shadow:0 0 18px rgba(217,154,43,.12);
  opacity:.34;
  transform-origin:left center;
  animation:heroRouteFlow 16s ease-in-out infinite;
}

.hero-route::after{
  content:"";
  position:absolute;
  top:-2px;
  left:0;
  width:28px;
  height:5px;
  border-radius:999px;
  background:rgba(255,255,255,.62);
  filter:blur(1px);
  animation:heroRoutePulse 7s ease-in-out infinite;
}

.route-1{width:52%; left:44%; top:22%; transform:rotate(17deg); animation-duration:18s;}
.route-2{width:42%; left:54%; top:38%; transform:rotate(-12deg); animation-duration:21s; animation-delay:-5s;}
.route-3{width:58%; left:38%; top:58%; transform:rotate(-21deg); animation-duration:24s; animation-delay:-9s;}
.route-4{width:36%; left:62%; top:72%; transform:rotate(9deg); animation-duration:19s; animation-delay:-12s;}
.route-5{width:50%; left:48%; top:48%; transform:rotate(31deg); animation-duration:22s; animation-delay:-15s;}

.hero-particle,
.hero-flare{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.hero-particle{
  width:4px;
  height:4px;
  background:rgba(255,248,226,.88);
  box-shadow:0 0 12px rgba(217,154,43,.42);
  animation:heroParticleTravel 18s ease-in-out infinite;
}

.particle-1{left:52%; top:24%; animation-duration:16s;}
.particle-2{left:73%; top:31%; animation-duration:22s; animation-delay:-4s; background:rgba(215,234,255,.78);}
.particle-3{left:58%; top:49%; animation-duration:19s; animation-delay:-8s;}
.particle-4{left:84%; top:54%; animation-duration:24s; animation-delay:-12s; background:rgba(255,255,255,.82);}
.particle-5{left:63%; top:69%; animation-duration:20s; animation-delay:-6s;}
.particle-6{left:91%; top:73%; animation-duration:26s; animation-delay:-15s; background:rgba(215,234,255,.74);}

.hero-flare{
  width:7px;
  height:7px;
  background:rgba(255,255,255,.92);
  box-shadow:0 0 0 6px rgba(255,255,255,.06), 0 0 24px rgba(217,154,43,.55);
  animation:heroFlare 14s ease-in-out infinite;
}

.flare-1{left:78%; top:40%;}
.flare-2{left:67%; top:64%; animation-delay:-7s;}

@keyframes heroGridDrift{
  0%{background-position:0 0, 0 0; transform:rotate(-7deg) scale(1.08) translate3d(0,0,0);}
  100%{background-position:72px 72px, 72px 72px; transform:rotate(-7deg) scale(1.08) translate3d(-18px,10px,0);}
}

@keyframes heroRouteFlow{
  0%,100%{opacity:.20; filter:blur(.1px);}
  45%{opacity:.46; filter:blur(0);}
  70%{opacity:.30;}
}

@keyframes heroRoutePulse{
  0%{transform:translateX(0); opacity:0;}
  18%{opacity:.72;}
  78%{opacity:.48;}
  100%{transform:translateX(560px); opacity:0;}
}

@keyframes heroParticleTravel{
  0%,100%{transform:translate3d(0,0,0); opacity:.42;}
  38%{transform:translate3d(34px,-22px,0); opacity:.92;}
  70%{transform:translate3d(-18px,28px,0); opacity:.64;}
}

@keyframes heroFlare{
  0%,78%,100%{opacity:0; transform:scale(.72);}
  84%{opacity:.92; transform:scale(1);}
  90%{opacity:.24; transform:scale(1.45);}
}

.network-map-crystal{
  position:relative;
  overflow:hidden;
}

.network-map-lines{
  position:absolute;
  inset:0;
  z-index:8;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:visible;
}

.network-map-lines path{
  fill:none;
  stroke:rgba(11,61,117,.42);
  stroke-width:.32;
  stroke-linecap:round;
  stroke-dasharray:1 1;
  filter:drop-shadow(0 0 4px rgba(217,154,43,.20));
  opacity:0;
}

.network-map-lines path.is-active{
  animation:mapLineTrace 5.8s ease-in-out forwards;
}

.map-node{
  z-index:10;
}

.map-node.map-node-pulse:not(.map-node-inactive){
  box-shadow:0 0 0 8px rgba(217,154,43,.20), 0 0 24px rgba(217,154,43,.36);
  transform:translate(-50%,-50%) scale(1.18);
}

@keyframes mapLineTrace{
  0%{opacity:0; stroke-dashoffset:34;}
  18%{opacity:.82;}
  70%{opacity:.68; stroke-dashoffset:0;}
  100%{opacity:0; stroke-dashoffset:-18;}
}

@media (prefers-reduced-motion: reduce){
  .hero-grid,
  .hero-route,
  .hero-route::after,
  .hero-particle,
  .hero-flare,
  .network-map-lines path.is-active{
    animation:none !important;
  }

  .network-map-lines path,
  .hero-route{
    opacity:.20;
  }
}

/* Jerarquía de capas del mapa: retícula, rutas, nodos */
.network-map-crystal::after{
  z-index:12;
}

.network-map-lines{
  z-index:13;
}

.map-node{
  z-index:14;
}
