/* ==== SOURCE BLOCK: inline-base ==== */

    :root {
      --navy:#102f40;
      --navy-2:#0b2633;
      --ink:#14252d;
      --muted:#617079;
      --orange:#d97a2b;
      --orange-soft:#f0ad70;
      --sand:#f5f1e8;
      --paper:#fffdf9;
      --line:rgba(20,37,45,.12);
      --green:#5d7c63;
      --blue:#2c677f;
      --purple:#6664a5;
      --shadow:0 20px 60px rgba(16,47,64,.10);
      --radius:24px;
      --max:min(1720px, 96vw);
    }

    /* Premium Additions Styles (Cobalt MS Style) */
    .font-serif { font-family: 'Playfair Display', serif; }
    
    .section-premium {
      padding: 120px 0;
      overflow: hidden;
    }

    .reveal {
      opacity: 0;
      transform: translateY(30px);
      transition: all 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    .reveal.active {
      opacity: 1;
      transform: translateY(0);
    }

    /* Stats Section */
    .stats-container {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 40px;
      text-align: center;
    }

    .stat-item {
      padding: 40px;
      background: var(--paper);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      transition: transform 0.3s ease;
    }

    .stat-item:hover {
      transform: translateY(-10px);
    }

    .stat-number {
      display: block;
      font-size: 4rem;
      font-weight: 900;
      color: var(--navy);
      margin-bottom: 10px;
      font-family: 'Playfair Display', serif;
    }

    .stat-label {
      font-size: 1rem;
      font-weight: 700;
      color: var(--orange);
      text-transform: uppercase;
      letter-spacing: 0.1em;
    }

    /* Video Section */
    .video-wrapper {
      position: relative;
      width: 100%;
      max-width: 1000px;
      margin: 0 auto;
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: 0 30px 100px rgba(16, 47, 64, 0.2);
      aspect-ratio: 16/9;
      background: var(--navy);
    }

    .video-placeholder {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      color: #fff;
      background: linear-gradient(rgba(16, 47, 64, 0.6), rgba(16, 47, 64, 0.8)), url('assets/images/pillar-leadership-v21.jpg');
      background-size: cover;
      background-position: center;
      cursor: pointer;
    }

    .play-button {
      width: 80px;
      height: 80px;
      background: var(--orange);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 20px;
      transition: transform 0.3s ease;
    }

    .play-button::after {
      content: '';
      border-style: solid;
      border-width: 15px 0 15px 25px;
      border-color: transparent transparent transparent #fff;
      margin-left: 5px;
    }

    .video-placeholder:hover .play-button {
      transform: scale(1.1);
    }

    /* Vision / Future Section */
    .vision-future {
      position: relative;
      color: #fff;
      background: linear-gradient(rgba(16, 47, 64, 0.85), rgba(16, 47, 64, 0.85)), url('images/archive-2026-09-16-10.jpeg');
      background-size: cover;
      background-position: center;
      background-attachment: fixed;
    }

    /* Gallery */
    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: 20px;
    }

    .gallery-item {
      aspect-ratio: 1;
      overflow: hidden;
      border-radius: 15px;
      position: relative;
    }

    .gallery-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.6s ease;
    }

    .gallery-item:hover img {
      transform: scale(1.1);
    }

    /* Certificates */
    .cert-card {
      background: #fff;
      padding: 20px;
      border-radius: 15px;
      border: 1px solid var(--line);
      text-align: center;
      transition: all 0.3s ease;
    }

    .cert-card:hover {
      border-color: var(--orange);
      box-shadow: var(--shadow);
    }

    .cert-image {
      width: 100%;
      height: 200px;
      object-fit: contain;
      margin-bottom: 15px;
      background: #f9f9f9;
      border-radius: 10px;
    }

    * { box-sizing:border-box; }

    html {
      scroll-behavior:smooth;
      scroll-padding-top:84px;
    }

    body {
      margin:0;
      color:var(--ink);
      background:var(--sand);
      font-family:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
      line-height:1.55;
    }

    body.menu-open { overflow:hidden; }

    img { display:block; max-width:100%; }

    a { color:inherit; text-decoration:none; }

    button, input, select, textarea { font:inherit; }

    .skip-link {
      position:fixed;
      z-index:1000;
      top:10px;
      left:10px;
      padding:10px 14px;
      color:#fff;
      border-radius:10px;
      background:var(--navy);
      transform:translateY(-160%);
    }

    .skip-link:focus { transform:translateY(0); }

    .shell {
      width:min(calc(100% - 40px), var(--max));
      margin-inline:auto;
    }

    .site-header {
      position:sticky;
      z-index:100;
      top:0;
      border-bottom:1px solid var(--line);
      background:rgba(245,241,232,.96);
      backdrop-filter:blur(16px);
    }

    .nav {
      min-height:76px;
      display:grid;
      grid-template-columns:auto 1fr auto;
      align-items:center;
      gap:28px;
    }

    .brand {
      display:flex;
      align-items:center;
      gap:12px;
    }

    .brand img {
      width:94px;
      height:48px;
      object-fit:contain;
    }

    .brand-copy strong {
      display:block;
      font-size:.86rem;
      line-height:1.1;
    }

    .brand-copy span {
      display:block;
      margin-top:4px;
      color:var(--muted);
      font-size:.62rem;
      font-weight:700;
      letter-spacing:.1em;
      text-transform:uppercase;
    }

    .nav-links {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:4px;
    }

    .nav-links a {
      padding:9px 11px;
      border-radius:999px;
      color:#485a64;
      font-size:.78rem;
      font-weight:750;
    }

    .nav-links a:hover,
    .nav-links a.active {
      color:var(--navy);
      background:rgba(16,47,64,.07);
    }

    .nav-cta,
    .button-primary,
    .button-secondary {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:46px;
      padding:0 19px;
      border-radius:999px;
      font-size:.8rem;
      font-weight:800;
      transition:transform .2s ease, box-shadow .2s ease;
    }

    .nav-cta,
    .button-primary {
      color:#fff;
      background:var(--navy);
      box-shadow:0 10px 24px rgba(16,47,64,.17);
    }

    .button-secondary {
      color:var(--navy);
      border:1px solid rgba(16,47,64,.18);
      background:rgba(255,255,255,.66);
    }

    .nav-cta:hover,
    .button-primary:hover,
    .button-secondary:hover {
      transform:translateY(-2px);
    }

    .menu-toggle {
      display:none;
      width:44px;
      height:44px;
      border:1px solid var(--line);
      border-radius:13px;
      background:var(--paper);
      color:var(--navy);
      cursor:pointer;
    }

    main { overflow:hidden; }

    .eyebrow {
      display:inline-flex;
      align-items:center;
      gap:9px;
      color:var(--orange);
      font-size:.69rem;
      font-weight:850;
      letter-spacing:.14em;
      text-transform:uppercase;
    }

    .eyebrow::before {
      content:"";
      width:28px;
      height:1px;
      background:currentColor;
    }

    h1, h2, h3, p { margin-top:0; }

    h1, h2, h3 {
      font-family:Georgia, "Times New Roman", serif;
      font-weight:700;
      letter-spacing:-.045em;
    }

    .hero {
      padding:46px 0 42px;
    }

    .hero-grid {
      display:grid;
      grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);
      gap:48px;
      align-items:center;
    }

    .hero-copy h1 {
      max-width:700px;
      margin:17px 0 20px;
      font-size:clamp(3.5rem,6.1vw,6.45rem);
      line-height:.91;
    }

    .hero-copy h1 em {
      color:var(--navy);
      font-weight:500;
    }

    .hero-copy p {
      max-width:610px;
      margin-bottom:25px;
      color:var(--muted);
      font-size:1.02rem;
      line-height:1.72;
    }

    .hero-actions {
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }

    .hero-proof {
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
      margin-top:30px;
    }

    .hero-proof article {
      padding:15px 0 0;
      border-top:1px solid var(--line);
    }

    .hero-proof strong {
      display:block;
      font-size:.8rem;
    }

    .hero-proof span {
      display:block;
      margin-top:5px;
      color:var(--muted);
      font-size:.7rem;
      line-height:1.45;
    }

    .hero-visual {
      position:relative;
      min-height:560px;
      overflow:hidden;
      border-radius:30px;
      background:
        radial-gradient(circle at 78% 17%, rgba(217,122,43,.25), transparent 13rem),
        linear-gradient(145deg,#173e50,#0b2735);
      box-shadow:var(--shadow);
    }

    .hero-visual::before {
      content:"";
      position:absolute;
      inset:24px;
      border:1px solid rgba(255,255,255,.09);
      border-radius:24px;
    }

    .hero-visual img {
      position:absolute;
      z-index:2;
      left:50%;
      bottom:-1%;
      width:min(84%,590px);
      max-height:93%;
      object-fit:contain;
      transform:translateX(-50%);
      filter:drop-shadow(0 30px 30px rgba(0,0,0,.22));
    }

    .hero-origin {
      position:absolute;
      z-index:3;
      left:24px;
      right:24px;
      bottom:22px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      padding:16px 18px;
      border:1px solid rgba(255,255,255,.1);
      border-radius:17px;
      color:#fff;
      background:rgba(8,31,42,.76);
      backdrop-filter:blur(14px);
    }

    .hero-origin span {
      color:var(--orange-soft);
      font-size:.65rem;
      font-weight:850;
      letter-spacing:.13em;
      text-transform:uppercase;
    }

    .hero-origin strong {
      max-width:28ch;
      font-size:.94rem;
    }

    .identity-strip {
      border-block:1px solid var(--line);
      background:rgba(255,253,249,.65);
    }

    .identity-grid {
      display:grid;
      grid-template-columns:repeat(4,1fr);
    }

    .identity-grid article {
      min-height:92px;
      padding:20px 23px;
      border-right:1px solid var(--line);
    }

    .identity-grid article:last-child { border-right:0; }

    .identity-grid span {
      display:block;
      color:var(--muted);
      font-size:.63rem;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .identity-grid strong {
      display:block;
      margin-top:8px;
      color:var(--navy);
      font-size:.9rem;
    }

    .section {
      padding:76px 0;
    }

    .section-tight {
      padding:58px 0;
    }

    .section-head {
      display:grid;
      grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
      gap:50px;
      align-items:end;
      margin-bottom:32px;
    }

    .section-head h2 {
      max-width:760px;
      margin:12px 0 0;
      font-size:clamp(2.7rem,4.7vw,4.8rem);
      line-height:.96;
    }

    .section-head > p {
      max-width:570px;
      margin-bottom:4px;
      color:var(--muted);
      font-size:.94rem;
      line-height:1.68;
    }

    .story {
      background:var(--paper);
    }

    .story-grid {
      display:grid;
      grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
      gap:18px;
    }

    .story-panel {
      min-height:440px;
      padding:43px;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:var(--sand);
    }

    .story-panel h3 {
      max-width:12ch;
      margin:15px 0 18px;
      font-size:clamp(2.2rem,3.5vw,3.6rem);
      line-height:.98;
    }

    .story-panel p {
      max-width:56ch;
      color:var(--muted);
      font-size:.92rem;
      line-height:1.68;
    }

    .story-steps {
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:1px;
      min-height:440px;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:var(--line);
    }

    .story-steps article {
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
      padding:26px;
      background:var(--paper);
    }

    .story-steps span {
      color:var(--orange);
      font-size:.7rem;
      font-weight:850;
    }

    .story-steps strong {
      display:block;
      margin-top:18px;
      font-size:1rem;
    }

    .story-steps p {
      margin:9px 0 0;
      color:var(--muted);
      font-size:.75rem;
      line-height:1.5;
    }

    .programs {
      background:var(--sand);
    }

    .program-grid {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:18px;
    }

    .program-card {
      display:grid;
      grid-template-columns:minmax(250px,.92fr) minmax(0,1.08fr);
      min-height:360px;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:var(--paper);
      box-shadow:0 12px 36px rgba(16,47,64,.06);
    }

    .program-media {
      position:relative;
      min-height:360px;
      overflow:hidden;
      background:var(--navy);
    }

    .program-media img {
      width:100%;
      height:100%;
      object-fit:cover;
      transition:transform .6s ease;
    }

    .program-media--leadership img { object-position:50% 50%; }
    .program-media--media img { object-position:50% 42%; }
    .program-media--urban-garden img { object-position:50% 50%; }
    .program-media--culture img { object-position:50% 50%; }

    .program-card:hover .program-media img { transform:scale(1.045); }

    .program-media::after {
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,transparent 48%,rgba(8,30,40,.78));
    }

    .program-number {
      position:absolute;
      z-index:2;
      top:18px;
      left:18px;
      display:grid;
      place-items:center;
      width:40px;
      height:40px;
      color:#fff;
      border:1px solid rgba(255,255,255,.24);
      border-radius:12px;
      background:rgba(8,30,40,.48);
      backdrop-filter:blur(10px);
      font-size:.68rem;
      font-weight:850;
    }

    .program-caption {
      position:absolute;
      z-index:2;
      left:20px;
      right:20px;
      bottom:19px;
      color:#fff;
    }

    .program-caption span {
      display:block;
      color:var(--orange-soft);
      font-size:.62rem;
      font-weight:850;
      letter-spacing:.13em;
      text-transform:uppercase;
    }

    .program-caption strong {
      display:block;
      margin-top:6px;
      font-size:1.28rem;
    }

    .program-content {
      display:flex;
      flex-direction:column;
      justify-content:center;
      padding:29px;
    }

    .program-content > span {
      color:var(--orange);
      font-size:.65rem;
      font-weight:850;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .program-content h3 {
      margin:11px 0 13px;
      font-size:clamp(1.7rem,2.6vw,2.65rem);
      line-height:1;
    }

    .program-content p {
      color:var(--muted);
      font-size:.82rem;
      line-height:1.6;
    }

    .program-route {
      display:flex;
      flex-wrap:wrap;
      gap:7px;
      margin-top:17px;
    }

    .program-route span {
      padding:7px 9px;
      border:1px solid var(--line);
      border-radius:999px;
      background:var(--sand);
      color:#50606a;
      font-size:.64rem;
      font-weight:750;
    }

    .program-link {
      width:fit-content;
      margin-top:20px;
      color:var(--navy);
      font-size:.76rem;
      font-weight:850;
    }

    .method {
      margin-top:18px;
      padding:24px 27px;
      border-radius:20px;
      color:#fff;
      background:linear-gradient(135deg,var(--navy),var(--navy-2));
    }

    .method-grid {
      display:grid;
      grid-template-columns:.9fr repeat(4,1fr);
      gap:18px;
      align-items:center;
    }

    .method h3 {
      margin:8px 0 0;
      color:#fff;
      font-size:1.8rem;
    }

    .method > .method-grid > div:not(:first-child) {
      padding-left:18px;
      border-left:1px solid rgba(255,255,255,.13);
    }

    .method b {
      display:block;
      color:var(--orange-soft);
      font-size:.72rem;
    }

    .method strong {
      display:block;
      margin-top:7px;
      font-size:.78rem;
    }

    .method small {
      display:block;
      margin-top:5px;
      color:rgba(255,255,255,.5);
      font-size:.67rem;
      line-height:1.45;
    }

    .methodology-visual {
      margin: 28px 0;
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: 0 20px 60px rgba(16,47,64,.15);
    }

    .methodology-visual img {
      width: 100%;
      height: auto;
      display: block;
      object-fit: cover;
    }

    .method-statement {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:24px;
      margin:22px 0 0;
      padding-top:20px;
      border-top:1px solid rgba(255,255,255,.13);
    }

    .method-statement p {
      margin:0;
      color:rgba(255,255,255,.67);
      font-size:.76rem;
      line-height:1.68;
    }

    .method-statement strong { color:#fff; }

    .governance {
      color:#fff;
      background:var(--navy);
    }

    .governance .section-head h2 { color:#fff; }

    .governance .section-head > p { color:rgba(255,255,255,.58); }

    .governance-grid {
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:18px;
    }

    .governance-card {
      padding:34px;
      border:1px solid rgba(255,255,255,.1);
      border-radius:var(--radius);
      background:rgba(255,255,255,.055);
    }

    .entity-data {
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:1px;
      margin-top:25px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.09);
      border-radius:16px;
      background:rgba(255,255,255,.08);
    }

    .entity-data div {
      min-height:92px;
      padding:17px;
      background:rgba(6,29,40,.28);
    }

    .entity-data dt {
      color:var(--orange-soft);
      font-size:.61rem;
      font-weight:850;
      letter-spacing:.1em;
      text-transform:uppercase;
    }

    .entity-data dd {
      margin:8px 0 0;
      color:#fff;
      font-size:.78rem;
      font-weight:750;
    }

    .alliance-lockup {
      display:flex;
      align-items:center;
      gap:22px;
      margin-top:25px;
    }

    .alliance-lockup img:first-child {
      width:130px;
      height:70px;
      object-fit:contain;
    }

    .alliance-lockup img:last-child {
      width:105px;
      height:105px;
      object-fit:contain;
    }

    .alliance-lockup i {
      width:1px;
      height:65px;
      background:rgba(255,255,255,.15);
    }

    .governance-card h3 {
      margin:15px 0 12px;
      color:#fff;
      font-size:2rem;
    }

    .governance-card p {
      margin:0;
      color:rgba(255,255,255,.58);
      font-size:.82rem;
      line-height:1.62;
    }

    .controls {
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:10px;
      margin-top:24px;
    }

    .controls article {
      min-height:100px;
      padding:17px;
      border:1px solid rgba(255,255,255,.09);
      border-radius:14px;
      background:rgba(255,255,255,.045);
    }

    .controls span {
      color:var(--orange-soft);
      font-size:.62rem;
      font-weight:850;
    }

    .controls strong {
      display:block;
      margin-top:10px;
      color:#fff;
      font-size:.78rem;
    }

    .journal {
      background:var(--paper);
    }

    .journal-grid {
      display:grid;
      grid-template-columns:1.2fr .8fr .8fr;
      gap:18px;
    }

    .journal-card {
      min-height:290px;
      padding:28px;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:var(--sand);
    }

    .journal-card.featured {
      color:#fff;
      background:
        radial-gradient(circle at 85% 15%,rgba(217,122,43,.2),transparent 11rem),
        var(--navy);
    }

    .journal-card span {
      color:var(--orange);
      font-size:.63rem;
      font-weight:850;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .journal-card.featured span { color:var(--orange-soft); }

    .journal-card h3 {
      margin:34px 0 13px;
      font-size:clamp(1.8rem,3vw,3rem);
      line-height:1.02;
    }

    .journal-card.featured h3 { color:#fff; }

    .journal-card p {
      color:var(--muted);
      font-size:.78rem;
      line-height:1.56;
    }

    .journal-card.featured p { color:rgba(255,255,255,.57); }

    .journal-card a {
      display:inline-block;
      margin-top:25px;
      color:var(--navy);
      font-size:.73rem;
      font-weight:850;
    }

    .journal-card.featured a { color:#fff; }

    .donation {
      background:var(--sand);
    }

    .donation-panel {
      display:grid;
      grid-template-columns:.74fr 1.26fr;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:var(--paper);
      box-shadow:var(--shadow);
    }

    .donation-summary {
      padding:36px;
      color:#fff;
      background:var(--navy);
    }

    .donation-summary h3 {
      margin:13px 0 16px;
      color:#fff;
      font-size:2.6rem;
      line-height:.98;
    }

    .donation-summary p {
      color:rgba(255,255,255,.58);
      font-size:.82rem;
      line-height:1.6;
    }

    .amounts {
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:7px;
      margin-top:24px;
    }

    .amounts button {
      min-height:44px;
      color:#fff;
      border:1px solid rgba(255,255,255,.12);
      border-radius:12px;
      background:rgba(255,255,255,.06);
      cursor:pointer;
      font-weight:800;
    }

    .amounts button.active {
      color:var(--navy);
      border-color:var(--orange-soft);
      background:var(--orange-soft);
    }

    .prepared {
      margin-top:25px;
      padding-top:20px;
      border-top:1px solid rgba(255,255,255,.11);
    }

    .prepared span {
      color:rgba(255,255,255,.46);
      font-size:.62rem;
      font-weight:800;
      letter-spacing:.1em;
      text-transform:uppercase;
    }

    .prepared strong {
      display:block;
      margin-top:7px;
      font-size:2rem;
    }

    .payment-methods {
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
      padding:28px;
    }

    .payment-card {
      min-height:245px;
      padding:25px;
      border:1px solid var(--line);
      border-radius:18px;
      background:var(--sand);
    }

    .payment-status {
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:7px 9px;
      border:1px solid var(--line);
      border-radius:999px;
      color:#6a7378;
      background:var(--paper);
      font-size:.62rem;
      font-weight:800;
    }

    .payment-status i {
      width:7px;
      height:7px;
      border-radius:50%;
      background:#c79355;
    }

    .payment-card h3 {
      margin:23px 0 11px;
      font-size:1.75rem;
    }

    .payment-card p {
      color:var(--muted);
      font-size:.76rem;
      line-height:1.55;
    }

    .payment-card button,
    .payment-card a {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:42px;
      margin-top:20px;
      padding:0 15px;
      border-radius:999px;
      font-size:.7rem;
      font-weight:800;
    }

    .payment-card button {
      color:#858f94;
      border:0;
      background:#e3e3df;
      cursor:not-allowed;
    }

    .payment-card a {
      color:#fff;
      background:var(--navy);
    }

    .participation {
      color:#fff;
      background:linear-gradient(135deg,#173e50,#0b2735);
    }

    .participation-grid {
      display:grid;
      grid-template-columns:.85fr 1.15fr;
      gap:42px;
      align-items:start;
    }

    .participation h2 {
      margin:13px 0 17px;
      color:#fff;
      font-size:clamp(2.7rem,4.7vw,4.7rem);
      line-height:.96;
    }

    .participation-copy p {
      max-width:52ch;
      color:rgba(255,255,255,.58);
      font-size:.9rem;
      line-height:1.68;
    }

    .participation-options {
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:9px;
      margin-top:24px;
    }

    .participation-options button {
      min-height:67px;
      padding:12px 14px;
      color:rgba(255,255,255,.7);
      border:1px solid rgba(255,255,255,.11);
      border-radius:14px;
      background:rgba(255,255,255,.05);
      cursor:pointer;
      text-align:left;
      font-weight:780;
    }

    .participation-options button.active {
      color:var(--navy);
      border-color:var(--orange-soft);
      background:var(--orange-soft);
    }

    .contact-form {
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
      padding:28px;
      border:1px solid rgba(255,255,255,.1);
      border-radius:var(--radius);
      background:rgba(255,255,255,.06);
    }

    .contact-form label {
      display:grid;
      gap:7px;
    }

    .contact-form label.wide { grid-column:1/-1; }

    .contact-form span {
      color:rgba(255,255,255,.58);
      font-size:.67rem;
      font-weight:750;
    }

    .contact-form input,
    .contact-form textarea {
      width:100%;
      color:#fff;
      border:1px solid rgba(255,255,255,.12);
      border-radius:12px;
      outline:0;
      background:rgba(255,255,255,.07);
    }

    .contact-form input {
      min-height:48px;
      padding:0 13px;
    }

    .contact-form textarea {
      min-height:126px;
      padding:12px 13px;
      resize:vertical;
    }

    .contact-form button {
      grid-column:1/-1;
      min-height:48px;
      color:var(--navy);
      border:0;
      border-radius:999px;
      background:var(--orange-soft);
      cursor:pointer;
      font-weight:850;
    }

    .footer {
      padding:48px 0 22px;
      color:rgba(255,255,255,.58);
      background:#081f2a;
    }

    .footer-grid {
      display:grid;
      grid-template-columns:1.2fr .8fr .8fr;
      gap:55px;
    }

    .footer-brand img {
      width:124px;
      height:64px;
      object-fit:contain;
      object-position:left center;
    }

    .footer-brand p {
      max-width:390px;
      margin:18px 0 0;
      font-size:.78rem;
      line-height:1.6;
    }

    .footer h3 {
      margin-bottom:15px;
      color:var(--orange-soft);
      font-family:inherit;
      font-size:.65rem;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .footer nav {
      display:grid;
      gap:8px;
    }

    .footer nav a {
      width:fit-content;
      font-size:.74rem;
    }

    .footer dl {
      display:grid;
      gap:10px;
      margin:0;
    }

    .footer dl div {
      display:flex;
      justify-content:space-between;
      gap:20px;
      padding-bottom:9px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }

    .footer dt {
      color:rgba(255,255,255,.35);
      font-size:.63rem;
      text-transform:uppercase;
    }

    .footer dd {
      margin:0;
      color:rgba(255,255,255,.72);
      font-size:.7rem;
      text-align:right;
    }

    .footer-bottom {
      display:flex;
      justify-content:space-between;
      gap:25px;
      margin-top:38px;
      padding-top:18px;
      border-top:1px solid rgba(255,255,255,.08);
      font-size:.66rem;
    }

    .footer-private {
      display:flex;
      flex-wrap:wrap;
      align-items:baseline;
      gap:8px 14px;
      margin-top:14px;
      font-size:.62rem;
      letter-spacing:.04em;
    }
    .footer-private a {
      color:rgba(255,255,255,.42);
      text-decoration:none;
      border-bottom:1px solid rgba(255,255,255,.16);
      font-family:inherit;
      font-weight:600;
    }
    .footer-private a:hover,
    .footer-private a:focus-visible {
      color:rgba(255,255,255,.78);
      border-bottom-color:rgba(233,166,94,.55);
      outline:none;
    }
    .footer-private span {
      color:rgba(255,255,255,.28);
      font-weight:500;
    }

    @media (max-width:1020px) {
      .nav {
        grid-template-columns:auto 1fr auto;
      }

      .nav-links {
        position:fixed;
        inset:77px 15px auto 15px;
        display:none;
        align-items:stretch;
        flex-direction:column;
        padding:13px;
        border:1px solid var(--line);
        border-radius:18px;
        background:rgba(255,253,249,.98);
        box-shadow:var(--shadow);
      }

      .nav-links.open { display:flex; }

      .nav-links a {
        padding:11px 12px;
        border-radius:11px;
      }

      .nav-cta { display:none; }

      .menu-toggle { display:block; }

      .hero-grid,
      .section-head,
      .story-grid,
      .governance-grid,
      .donation-panel,
      .participation-grid {
        grid-template-columns:1fr;
      }

      .hero-visual { min-height:520px; }

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

      .program-card {
        grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);
      }

      .method-grid {
        grid-template-columns:repeat(2,1fr);
      }

      .method-statement { grid-template-columns:1fr; }

      .method-grid > div:first-child { grid-column:1/-1; }

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

      .journal-card.featured { grid-column:1/-1; }
    }

    @media (max-width:680px) {
      .shell { width:min(calc(100% - 22px),var(--max)); }

      .brand-copy { display:none; }

      .hero { padding-top:28px; }

      .hero-copy h1 { font-size:clamp(3rem,15vw,4.5rem); }

      .hero-grid { gap:30px; }

      .hero-proof,
      .identity-grid,
      .story-steps,
      .program-card,
      .method-grid,
      .journal-grid,
      .payment-methods,
      .participation-options,
      .contact-form,
      .footer-grid {
        grid-template-columns:1fr;
      }

      .identity-grid article {
        min-height:0;
        border-right:0;
        border-bottom:1px solid var(--line);
      }

      .identity-grid article:last-child { border-bottom:0; }

      .section,
      .section-tight { padding:58px 0; }

      .section-head h2,
      .participation h2 { font-size:clamp(2.45rem,12vw,3.7rem); }

      .story-panel { min-height:auto; padding:28px; }

      .story-steps { min-height:auto; }

      .story-steps article { min-height:145px; }

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

      .program-media { min-height:285px; }

      .program-content { padding:25px; }

      .method > .method-grid > div:not(:first-child) {
        padding:14px 0 0;
        border-left:0;
        border-top:1px solid rgba(255,255,255,.13);
      }

      .entity-data,
      .controls { grid-template-columns:1fr; }

      .journal-card { min-height:255px; }

      .donation-summary,
      .payment-methods { padding:24px; }

      .amounts { grid-template-columns:repeat(2,1fr); }

      .contact-form label.wide,
      .contact-form button { grid-column:auto; }

      .footer-bottom {
        align-items:flex-start;
        flex-direction:column;
      }
    }

    @media (prefers-reduced-motion:reduce) {
      * { scroll-behavior:auto!important; transition:none!important; }
    }
  
/* ==== SOURCE BLOCK: v22-team ==== */


    /* Institutional team */
    .team {
      position:relative;
      color:#fff;
      background:
        radial-gradient(circle at 8% 10%, rgba(217,122,43,.17), transparent 24rem),
        radial-gradient(circle at 94% 78%, rgba(44,103,127,.18), transparent 27rem),
        linear-gradient(140deg,#102f40,#0a2633 62%,#102b38);
    }

    .team::before {
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
      background-size:72px 72px;
      mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent);
    }

    .team > .shell {
      position:relative;
      z-index:2;
    }

    .team .section-head h2 {
      color:#fff;
    }

    .team .section-head > p {
      color:rgba(255,255,255,.6);
    }

    .team-command {
      display:grid;
      grid-template-columns:1.08fr .92fr;
      gap:16px;
    }

    .team-lead {
      position:relative;
      display:grid;
      grid-template-columns:118px minmax(0,1fr);
      gap:24px;
      min-height:330px;
      padding:30px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.1);
      border-radius:24px;
      background:rgba(255,255,255,.055);
      box-shadow:0 20px 55px rgba(0,0,0,.12);
    }

    .team-lead-primary {
      background:
        radial-gradient(circle at 84% 12%,rgba(217,122,43,.18),transparent 12rem),
        rgba(255,255,255,.065);
    }

    .team-lead > small {
      position:absolute;
      top:18px;
      right:21px;
      color:rgba(255,255,255,.2);
      font-size:.66rem;
      font-weight:850;
      letter-spacing:.12em;
    }

    .team-monogram {
      display:grid;
      place-items:center;
      width:118px;
      height:150px;
      color:#fff;
      border:1px solid rgba(255,255,255,.13);
      border-radius:60px 60px 22px 22px;
      background:
        radial-gradient(circle at 50% 30%,rgba(255,255,255,.11),transparent 42%),
        linear-gradient(145deg,rgba(217,122,43,.75),rgba(95,63,43,.8));
      box-shadow:inset 0 1px 0 rgba(255,255,255,.15);
      font-family:Georgia,"Times New Roman",serif;
      font-size:2rem;
      letter-spacing:-.05em;
    }

    .team-lead:nth-child(2) .team-monogram {
      background:
        radial-gradient(circle at 50% 30%,rgba(255,255,255,.11),transparent 42%),
        linear-gradient(145deg,#416c80,#203d4d);
    }

    .team-lead-copy {
      align-self:center;
    }

    .team-lead-copy > span,
    .team-card-top > span {
      color:var(--orange-soft);
      font-size:.63rem;
      font-weight:850;
      letter-spacing:.13em;
      text-transform:uppercase;
    }

    .team-lead-copy h3 {
      margin:10px 0 7px;
      color:#fff;
      font-size:clamp(2rem,3vw,3.15rem);
      line-height:.98;
    }

    .team-lead-copy > strong {
      display:block;
      color:rgba(255,255,255,.82);
      font-size:.79rem;
    }

    .team-lead-copy p {
      max-width:51ch;
      margin:16px 0 0;
      color:rgba(255,255,255,.54);
      font-size:.78rem;
      line-height:1.58;
    }

    .team-tags {
      display:flex;
      flex-wrap:wrap;
      gap:7px;
      margin-top:20px;
    }

    .team-tags span {
      padding:6px 9px;
      border:1px solid rgba(255,255,255,.1);
      border-radius:999px;
      color:rgba(255,255,255,.68);
      background:rgba(255,255,255,.04);
      font-size:.61rem;
      font-weight:740;
    }

    .team-grid {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
      margin-top:14px;
    }

    .team-card {
      min-height:285px;
      padding:23px;
      border:1px solid rgba(255,255,255,.09);
      border-radius:20px;
      background:rgba(255,255,255,.045);
      transition:transform .22s ease,background .22s ease;
    }

    .team-card:hover {
      transform:translateY(-4px);
      background:rgba(255,255,255,.07);
    }

    .team-card-top {
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:18px;
    }

    .team-small-monogram {
      display:grid;
      place-items:center;
      width:58px;
      height:67px;
      color:#fff;
      border:1px solid rgba(255,255,255,.11);
      border-radius:27px 27px 14px 14px;
      background:linear-gradient(145deg,#335a6d,#172f3d);
      font-family:Georgia,"Times New Roman",serif;
      font-size:1.05rem;
    }

    .team-card:nth-child(2) .team-small-monogram {
      background:linear-gradient(145deg,#b56b2d,#684323);
    }

    .team-card:nth-child(3) .team-small-monogram {
      background:linear-gradient(145deg,#5d7c63,#2d4a35);
    }

    .team-card:nth-child(4) .team-small-monogram {
      background:linear-gradient(145deg,#6563a5,#37365f);
    }

    .team-card h3 {
      margin:28px 0 8px;
      color:#fff;
      font-size:1.5rem;
      line-height:1.02;
    }

    .team-card > strong {
      display:block;
      min-height:37px;
      color:var(--orange-soft);
      font-size:.7rem;
      line-height:1.35;
    }

    .team-card p {
      margin:14px 0 0;
      color:rgba(255,255,255,.49);
      font-size:.72rem;
      line-height:1.55;
    }

    /* —— Invitados especiales · premium, subtle separation —— */
    .team-guests {
      margin-top:42px;
      padding-top:34px;
      border-top:1px solid rgba(217,122,43,.18);
      position:relative;
    }

    .team-guests::before {
      content:"";
      position:absolute;
      top:-1px;
      left:0;
      width:min(148px,28%);
      height:1px;
      background:linear-gradient(90deg,rgba(217,122,43,.72),rgba(217,122,43,0));
    }

    .team-guests-head {
      display:grid;
      grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
      gap:18px 40px;
      align-items:end;
      margin-bottom:18px;
    }

    .team-guests-head .eyebrow {
      display:block;
      margin-bottom:8px;
      color:rgba(217,122,43,.78);
      font-size:.62rem;
      font-weight:750;
      letter-spacing:.16em;
      text-transform:uppercase;
    }

    .team-guests-head h2 {
      margin:0;
      color:#fff;
      font-size:clamp(1.55rem,2.4vw,2.15rem);
      font-weight:700;
      letter-spacing:-.02em;
      line-height:1.05;
    }

    .team-guests-head > p {
      margin:0;
      max-width:42ch;
      justify-self:end;
      color:rgba(255,255,255,.42);
      font-size:.72rem;
      line-height:1.55;
      font-weight:400;
    }

    .team-guests-grid {
      margin-top:0;
      grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .team-card-guest {
      border-color:rgba(255,255,255,.07);
      background:
        linear-gradient(165deg,rgba(217,122,43,.045),transparent 42%),
        rgba(255,255,255,.03);
    }

    .team-card-guest:hover {
      background:
        linear-gradient(165deg,rgba(217,122,43,.07),transparent 42%),
        rgba(255,255,255,.055);
    }

    .team-card-guest .team-small-monogram {
      opacity:.92;
    }

    .team-card-guest:nth-child(1) .team-small-monogram {
      background:linear-gradient(145deg,#5d7c63,#2d4a35);
    }

    .team-card-guest:nth-child(2) .team-small-monogram {
      background:linear-gradient(145deg,#b56b2d,#684323);
    }

    .team-card-guest:nth-child(3) .team-small-monogram {
      background:linear-gradient(145deg,#6563a5,#37365f);
    }

    .team-governance {
      display:grid;
      grid-template-columns:.78fr 1.22fr;
      gap:34px;
      align-items:center;
      margin-top:14px;
      padding:25px 28px;
      border:1px solid rgba(255,255,255,.1);
      border-radius:19px;
      background:rgba(255,255,255,.055);
    }

    .team-governance h3 {
      margin:8px 0 0;
      color:#fff;
      font-size:1.85rem;
      line-height:1;
    }

    .team-governance > p {
      margin:0;
      color:rgba(255,255,255,.55);
      font-size:.78rem;
      line-height:1.6;
    }

    @media (max-width:980px) {
      .team-command {
        grid-template-columns:1fr;
      }

      .team-grid {
        grid-template-columns:repeat(2,1fr);
      }

      .team-guests-head {
        grid-template-columns:1fr;
        gap:10px;
      }

      .team-guests-head > p {
        justify-self:start;
      }

      .team-guests-grid {
        grid-template-columns:repeat(2,1fr);
      }
    }

    @media (max-width:680px) {
      .team-lead {
        grid-template-columns:1fr;
        min-height:auto;
        padding:24px;
      }

      .team-monogram {
        width:94px;
        height:112px;
      }

      .team-grid,
      .team-guests-grid,
      .team-governance {
        grid-template-columns:1fr;
      }

      .team-card {
        min-height:245px;
      }

      .team-guests {
        margin-top:32px;
        padding-top:28px;
      }
    }

  
/* ==== SOURCE BLOCK: v23-hero-marfil ==== */


    /* Ivory cover with Original Flaca */
    .hero {
      padding-top: 42px;
      padding-bottom: 42px;
      background:
        radial-gradient(circle at 83% 20%, rgba(217,122,43,.055), transparent 21rem),
        linear-gradient(180deg, #f6f1e7 0%, #f3eee4 100%);
    }

    .hero-grid {
      grid-template-columns: minmax(0, 1.02fr) minmax(410px, .98fr);
      gap: clamp(38px, 5vw, 66px);
      min-height: 610px;
    }

    .hero-copy {
      min-width: 0;
    }

    .hero-title-v23 {
      display: grid;
      gap: 0;
      max-width: 680px;
      margin: 17px 0 21px;
      font-size: clamp(3.25rem, 5vw, 5.35rem);
      line-height: .91;
      letter-spacing: -.058em;
      text-wrap: initial;
    }

    .hero-title-v23 span,
    .hero-title-v23 em {
      display: block;
      width: fit-content;
      max-width: 100%;
    }

    .hero-title-v23 em {
      color: #17445a;
      font-weight: 500;
      white-space: nowrap;
    }

    .hero-title-v23 span:last-child {
      font-size: .9em;
    }

    .hero-visual {
      position: relative;
      min-height: 560px;
      overflow: hidden;
      border: 1px solid rgba(20,37,45,.1);
      border-radius: 30px;
      background:
        radial-gradient(circle at 50% 22%, rgba(255,255,255,.88), transparent 14rem),
        radial-gradient(circle at 82% 18%, rgba(217,122,43,.12), transparent 12rem),
        linear-gradient(145deg, #faf5ec 0%, #eee1d0 100%);
      box-shadow:
        0 24px 65px rgba(48,39,28,.10),
        inset 0 1px 0 rgba(255,255,255,.86);
    }

    .hero-visual::before {
      content: "";
      position: absolute;
      inset: 22px;
      border: 1px solid rgba(20,37,45,.075);
      border-radius: 24px;
      background:
        linear-gradient(rgba(20,37,45,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(20,37,45,.018) 1px, transparent 1px);
      background-size: 58px 58px;
    }

    .hero-visual::after {
      content: "";
      position: absolute;
      z-index: 1;
      left: 17%;
      right: 17%;
      bottom: 42px;
      height: 58px;
      border-radius: 50%;
      background: rgba(75,50,30,.16);
      filter: blur(22px);
    }

    .hero-visual img {
      z-index: 2;
      left: 50%;
      bottom: 2%;
      width: auto;
      max-width: 90%;
      height: auto;
      max-height: 88%;
      object-fit: contain;
      object-position: center center;
      transform: translateX(-50%);
      filter: drop-shadow(0 27px 22px rgba(48,34,25,.18));
    }

    .hero-origin {
      z-index: 4;
      left: 22px;
      right: 22px;
      bottom: 19px;
      padding: 14px 16px;
      color: var(--ink);
      border: 1px solid rgba(20,37,45,.1);
      border-radius: 16px;
      background: rgba(255,253,249,.86);
      box-shadow: 0 12px 32px rgba(40,31,23,.10);
      backdrop-filter: blur(14px);
    }

    .hero-origin span {
      color: var(--orange);
    }

    .hero-origin strong {
      color: var(--navy);
      font-size: .86rem;
    }

    @media (max-width: 1020px) {
      .hero-grid {
        grid-template-columns: 1fr;
        min-height: auto;
      }

      .hero-title-v23 {
        max-width: 760px;
        font-size: clamp(3.4rem, 9vw, 5.4rem);
      }

      .hero-visual {
        min-height: 560px;
      }
    }

    @media (max-width: 680px) {
      .hero {
        padding-top: 27px;
      }

      .hero-title-v23 {
        font-size: clamp(2.85rem, 13.1vw, 4.15rem);
        line-height: .93;
      }

      .hero-title-v23 em {
        white-space: normal;
      }

      .hero-visual {
        min-height: 485px;
        border-radius: 24px;
      }

      .hero-visual::before {
        inset: 14px;
        border-radius: 19px;
      }

      .hero-visual img {
        width: auto;
        max-width: 92%;
        max-height: 86%;
        bottom: 3%;
      }

      .hero-origin {
        left: 14px;
        right: 14px;
        bottom: 13px;
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
      }
    }

  
/* ==== SOURCE BLOCK: v24-story-compact ==== */


    /* Spacing fix for the History section */
    .story {
      padding-top: 64px;
      padding-bottom: 64px;
    }

    .story .section-head {
      margin-bottom: 27px;
    }

    .story-grid {
      grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
      gap: 16px;
      align-items: stretch;
    }

    .story-panel {
      min-height: 350px;
      padding: clamp(30px, 4vw, 42px);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .story-panel h3 {
      max-width: 13ch;
      margin-top: 13px;
      margin-bottom: 15px;
      font-size: clamp(2.1rem, 3.25vw, 3.35rem);
    }

    .story-panel p {
      margin-bottom: 22px;
    }

    .story-panel .button-primary {
      width: fit-content;
    }

    .story-steps {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: repeat(3, 1fr);
      gap: 8px;
      min-height: 350px;
      overflow: visible;
      border: 0;
      border-radius: 0;
      background: transparent;
    }

    .story-steps article {
      display: grid;
      grid-template-columns: 52px minmax(0, 1fr);
      grid-template-rows: auto auto;
      column-gap: 18px;
      align-content: center;
      min-height: 0;
      padding: 19px 22px;
      border: 1px solid var(--line);
      border-radius: 17px;
      background: var(--paper);
      box-shadow: 0 9px 25px rgba(16,47,64,.045);
    }

    .story-steps article span {
      grid-row: 1 / 3;
      align-self: center;
      display: grid;
      place-items: center;
      width: 46px;
      height: 46px;
      color: var(--orange);
      border: 1px solid rgba(217,122,43,.18);
      border-radius: 13px;
      background: rgba(217,122,43,.065);
      font-size: .68rem;
      font-weight: 850;
    }

    .story-steps article strong {
      margin-top: 0;
      align-self: end;
      font-size: .96rem;
    }

    .story-steps article p {
      margin-top: 4px;
      margin-bottom: 0;
      max-width: 52ch;
      font-size: .72rem;
      line-height: 1.45;
    }

    @media (max-width: 820px) {
      .story-grid {
        grid-template-columns: 1fr;
      }

      .story-panel,
      .story-steps {
        min-height: auto;
      }

      .story-panel {
        justify-content: flex-start;
      }
    }

    @media (max-width: 520px) {
      .story {
        padding-top: 52px;
        padding-bottom: 52px;
      }

      .story-panel {
        padding: 26px 22px;
      }

      .story-steps article {
        grid-template-columns: 44px minmax(0, 1fr);
        column-gap: 13px;
        padding: 17px;
      }

      .story-steps article span {
        width: 40px;
        height: 40px;
      }
    }

  
/* ==== SOURCE BLOCK: v25-flacakoin ==== */


    /* Flaca Koin premium */
    .donation-v25 {
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(circle at 4% 8%,rgba(217,122,43,.08),transparent 24rem),
        radial-gradient(circle at 96% 76%,rgba(44,103,127,.08),transparent 26rem),
        linear-gradient(180deg,#f5f1e8,#eee7dc);
    }

    .donation-v25::before {
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(20,37,45,.021) 1px,transparent 1px),
        linear-gradient(90deg,rgba(20,37,45,.021) 1px,transparent 1px);
      background-size:72px 72px;
      mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);
    }

    .donation-v25 > .shell {
      position:relative;
      z-index:2;
    }

    .support-v25-grid {
      display:grid;
      grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr);
      gap:16px;
      align-items:stretch;
    }

    .token-v25-feature {
      display:grid;
      grid-template-columns:minmax(280px,.83fr) minmax(0,1.17fr);
      min-height:590px;
      overflow:hidden;
      color:#fff;
      border:1px solid rgba(255,255,255,.12);
      border-radius:28px;
      background:
        radial-gradient(circle at 88% 7%,rgba(217,122,43,.17),transparent 16rem),
        linear-gradient(145deg,#123b4e,#0a2633 68%);
      box-shadow:0 28px 75px rgba(16,47,64,.17);
    }

    .token-v25-visual {
      position:relative;
      min-height:590px;
      overflow:hidden;
      border-right:1px solid rgba(255,255,255,.1);
      background:
        radial-gradient(circle at 50% 43%,rgba(242,173,112,.20),transparent 15rem),
        linear-gradient(145deg,#173f50,#0b2b39);
      isolation:isolate;
    }

    .token-v25-visual::before {
      content:"";
      position:absolute;
      inset:22px;
      border:1px solid rgba(255,255,255,.075);
      border-radius:22px;
    }

    .token-v25-halo {
      position:absolute;
      z-index:0;
      left:50%;
      top:46%;
      border:1px solid rgba(255,255,255,.09);
      border-radius:50%;
      transform:translate(-50%,-50%);
    }

    .token-v25-halo-a {
      width:380px;
      height:380px;
    }

    .token-v25-halo-b {
      width:285px;
      height:285px;
      border-color:rgba(242,173,112,.17);
    }

    .token-v25-coin {
      position:absolute;
      z-index:2;
      left:50%;
      top:46%;
      width:min(78%,310px);
      aspect-ratio:1;
      border-radius:50%;
      transform:translate(-50%,-50%);
      box-shadow:
        0 34px 65px rgba(0,0,0,.3),
        inset 0 0 0 1px rgba(255,255,255,.28);
    }

    .token-v25-coin-edge {
      position:absolute;
      inset:-12px;
      border:5px solid #b97b35;
      border-radius:50%;
      background:
        repeating-conic-gradient(
          from 0deg,
          #e9b868 0 4deg,
          #a96b28 4deg 7deg
        );
      box-shadow:
        inset 0 0 0 5px #f1c276,
        0 0 0 1px rgba(255,255,255,.15);
    }

    .token-v25-coin-face {
      position:absolute;
      z-index:2;
      inset:8px;
      overflow:hidden;
      border:4px solid #e6b664;
      border-radius:50%;
      background:#f5ede0;
    }

    .token-v25-coin-face::after {
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 34% 24%,rgba(255,255,255,.42),transparent 18%),
        linear-gradient(180deg,transparent 62%,rgba(16,47,64,.18));
    }

    .token-v25-coin-face img {
      position:absolute;
      left:50%;
      bottom:-14%;
      width:112%;
      height:112%;
      object-fit:contain;
      object-position:center bottom;
      transform:translateX(-50%);
      filter:drop-shadow(0 16px 15px rgba(30,20,14,.2));
    }

    .token-v25-coin > span {
      position:absolute;
      z-index:4;
      right:12%;
      bottom:10%;
      display:grid;
      place-items:center;
      width:49px;
      height:49px;
      color:#173a49;
      border:3px solid #dca555;
      border-radius:50%;
      background:#f6d18e;
      box-shadow:0 8px 20px rgba(0,0,0,.22);
      font-family:Georgia,"Times New Roman",serif;
      font-size:.9rem;
      font-weight:800;
    }

    .token-v25-chain {
      position:absolute;
      z-index:3;
      left:50%;
      bottom:37px;
      display:inline-flex;
      align-items:center;
      gap:9px;
      padding:9px 12px;
      color:rgba(255,255,255,.75);
      border:1px solid rgba(255,255,255,.11);
      border-radius:999px;
      background:rgba(8,29,39,.53);
      backdrop-filter:blur(13px);
      transform:translateX(-50%);
      font-size:.67rem;
      font-weight:800;
      white-space:nowrap;
    }

    .token-v25-chain i {
      width:10px;
      height:10px;
      border-radius:3px;
      background:linear-gradient(135deg,#6ce7c5,#8075f2);
      transform:rotate(45deg);
    }

    .token-v25-copy {
      display:flex;
      flex-direction:column;
      justify-content:center;
      min-width:0;
      padding:clamp(33px,4.2vw,54px);
    }

    .token-v25-status {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding-bottom:17px;
      border-bottom:1px solid rgba(255,255,255,.1);
    }

    .token-v25-status span {
      color:var(--orange-soft);
      font-size:.65rem;
      font-weight:850;
      letter-spacing:.13em;
      text-transform:uppercase;
    }

    .token-v25-status strong {
      color:rgba(255,255,255,.64);
      font-size:.76rem;
    }

    .token-v25-copy h3 {
      margin:28px 0 16px;
      color:#fff;
      font-size:clamp(2.25rem,3.8vw,4rem);
      line-height:.97;
    }

    .token-v25-copy > p {
      max-width:56ch;
      color:rgba(255,255,255,.57);
      font-size:.82rem;
      line-height:1.63;
    }

    .token-v25-data {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:1px;
      margin:25px 0 0;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.09);
      border-radius:15px;
      background:rgba(255,255,255,.08);
    }

    .token-v25-data > div {
      min-height:78px;
      padding:13px;
      background:rgba(5,27,37,.24);
    }

    .token-v25-data dt {
      color:rgba(255,255,255,.36);
      font-size:.59rem;
      font-weight:800;
      letter-spacing:.09em;
      text-transform:uppercase;
    }

    .token-v25-data dd {
      margin:8px 0 0;
      color:#fff;
      font-size:.7rem;
      font-weight:760;
      overflow-wrap:anywhere;
    }

    .token-v25-actions {
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:24px;
    }

    .token-v25-buy,
    .token-v25-copy-button,
    .token-v25-explorer {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:46px;
      padding:0 15px;
      border-radius:999px;
      font-size:.72rem;
      font-weight:840;
    }

    .token-v25-buy {
      color:#102f40;
      background:linear-gradient(135deg,#f3c477,#e2a64d);
      box-shadow:0 12px 28px rgba(226,166,77,.19);
    }

    .token-v25-copy-button {
      color:#fff;
      border:1px solid rgba(255,255,255,.13);
      background:rgba(255,255,255,.06);
    }

    .token-v25-explorer {
      color:rgba(255,255,255,.75);
      border:1px solid rgba(255,255,255,.1);
    }

    .token-v25-actions .is-disabled,
    .token-v25-copy-button:disabled {
      opacity:.48;
      cursor:not-allowed;
      pointer-events:none;
      box-shadow:none;
    }

    .token-v25-warning {
      margin-top:20px;
      padding:14px 15px;
      border-left:3px solid rgba(242,173,112,.7);
      border-radius:0 11px 11px 0;
      background:rgba(255,255,255,.045);
    }

    .token-v25-warning strong {
      color:#fff;
      font-size:.7rem;
    }

    .token-v25-warning p {
      margin:5px 0 0;
      color:rgba(255,255,255,.46);
      font-size:.65rem;
      line-height:1.5;
    }

    .support-v25-conventional {
      display:grid;
      grid-template-rows:repeat(2,1fr);
      gap:12px;
    }

    .support-v25-card {
      display:flex;
      flex-direction:column;
      min-height:289px;
      padding:25px;
      border:1px solid var(--line);
      border-radius:22px;
      background:rgba(255,253,249,.82);
      box-shadow:0 14px 38px rgba(16,47,64,.06);
    }

    .support-v25-card-head {
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:15px;
    }

    .support-v25-icon {
      display:grid;
      place-items:center;
      width:48px;
      height:48px;
      border-radius:14px;
      background:rgba(16,47,64,.07);
    }

    .support-v25-icon-card i {
      width:25px;
      height:17px;
      border:2px solid var(--navy);
      border-radius:4px;
    }

    .support-v25-icon-card i::before {
      content:"";
      display:block;
      height:3px;
      margin-top:3px;
      background:var(--navy);
    }

    .support-v25-icon-bank {
      display:flex;
      align-items:flex-end;
      justify-content:center;
      gap:3px;
    }

    .support-v25-icon-bank i {
      width:6px;
      height:22px;
      background:var(--navy);
    }

    .support-v25-label {
      margin-top:22px;
      color:var(--orange);
      font-size:.62rem;
      font-weight:850;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .support-v25-card h3 {
      margin:8px 0 10px;
      font-size:1.75rem;
    }

    .support-v25-card p {
      color:var(--muted);
      font-size:.73rem;
      line-height:1.55;
    }

    .support-v25-amounts {
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:6px;
      margin-top:16px;
    }

    .support-v25-amounts button {
      min-height:37px;
      color:var(--navy);
      border:1px solid var(--line);
      border-radius:10px;
      background:var(--sand);
      cursor:pointer;
      font-size:.69rem;
      font-weight:800;
    }

    .support-v25-amounts button.active {
      color:#fff;
      border-color:var(--navy);
      background:var(--navy);
    }

    .support-v25-prepared {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:15px;
      margin-top:13px;
      padding-top:12px;
      border-top:1px solid var(--line);
    }

    .support-v25-prepared span {
      color:var(--muted);
      font-size:.62rem;
      font-weight:750;
    }

    .support-v25-prepared strong {
      color:var(--navy);
      font-size:.86rem;
    }

    .support-v25-disabled,
    .support-v25-request {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      min-height:41px;
      margin-top:auto;
      padding:0 13px;
      border-radius:999px;
      font-size:.66rem;
      font-weight:820;
    }

    .support-v25-disabled {
      color:#858f94;
      border:0;
      background:#e3e3df;
      cursor:not-allowed;
    }

    .support-v25-request {
      color:#fff;
      background:var(--navy);
    }

    .support-v25-bank-preview {
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:1px;
      margin:15px 0 18px;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:12px;
      background:var(--line);
    }

    .support-v25-bank-preview > div {
      min-height:59px;
      padding:10px;
      background:var(--paper);
    }

    .support-v25-bank-preview dt {
      color:var(--muted);
      font-size:.55rem;
      text-transform:uppercase;
    }

    .support-v25-bank-preview dd {
      margin:6px 0 0;
      font-size:.66rem;
      font-weight:750;
    }

    .support-v25-clarity {
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:9px;
      margin-top:14px;
    }

    .support-v25-clarity article {
      display:grid;
      grid-template-columns:auto 1fr;
      gap:12px;
      align-items:center;
      min-height:84px;
      padding:15px;
      border:1px solid var(--line);
      border-radius:16px;
      background:rgba(255,253,249,.64);
    }

    .support-v25-clarity article > span {
      display:grid;
      place-items:center;
      width:36px;
      height:36px;
      color:var(--orange);
      border:1px solid rgba(217,122,43,.15);
      border-radius:11px;
      background:rgba(217,122,43,.055);
      font-size:.62rem;
      font-weight:850;
    }

    .support-v25-clarity strong {
      display:block;
      font-size:.75rem;
    }

    .support-v25-clarity small {
      display:block;
      margin-top:4px;
      color:var(--muted);
      font-size:.62rem;
      line-height:1.4;
    }

    @media (max-width:1040px) {
      .support-v25-grid {
        grid-template-columns:1fr;
      }

      .support-v25-conventional {
        grid-template-columns:repeat(2,1fr);
        grid-template-rows:auto;
      }
    }

    @media (max-width:760px) {
      .token-v25-feature {
        grid-template-columns:1fr;
      }

      .token-v25-visual {
        min-height:480px;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.1);
      }

      .support-v25-conventional,
      .support-v25-clarity {
        grid-template-columns:1fr;
      }
    }

    @media (max-width:520px) {
      .token-v25-visual {
        min-height:410px;
      }

      .token-v25-copy {
        padding:29px 22px 34px;
      }

      .token-v25-data,
      .support-v25-bank-preview {
        grid-template-columns:1fr;
      }

      .support-v25-amounts {
        grid-template-columns:repeat(2,1fr);
      }
    }

  
/* ==== SOURCE BLOCK: v26-flacakoin-active ==== */


    /* Flaca Koin active */
    .token-v26-data {
      margin-bottom:0;
    }

    .token-v26-contract {
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:14px;
      align-items:center;
      margin-top:13px;
      padding:14px 14px 14px 16px;
      border:1px solid rgba(242,173,112,.24);
      border-radius:15px;
      background:
        linear-gradient(135deg,rgba(242,173,112,.08),rgba(255,255,255,.025));
    }

    .token-v26-contract > div {
      min-width:0;
    }

    .token-v26-contract span {
      display:block;
      color:var(--orange-soft);
      font-size:.58rem;
      font-weight:850;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .token-v26-contract code {
      display:block;
      margin-top:7px;
      overflow:hidden;
      color:#fff;
      font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
      font-size:.69rem;
      line-height:1.45;
      overflow-wrap:anywhere;
      word-break:break-all;
    }

    .token-v26-contract-copy {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:7px;
      min-height:40px;
      padding:0 12px;
      color:#102f40;
      border:0;
      border-radius:999px;
      background:#f2ad70;
      cursor:pointer;
      font-size:.66rem;
      font-weight:850;
      transition:transform .2s ease,background .2s ease;
    }

    .token-v26-contract-copy:hover {
      transform:translateY(-2px);
    }

    .token-v26-contract-copy.is-copied {
      background:#9cc7aa;
    }

    .token-v26-actions {
      display:grid;
      grid-template-columns:1fr 1fr auto;
      align-items:center;
    }

    .token-v26-jupiter {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:46px;
      padding:0 15px;
      color:#fff;
      border:1px solid rgba(128,117,242,.32);
      border-radius:999px;
      background:
        linear-gradient(135deg,rgba(108,231,197,.16),rgba(128,117,242,.18));
      font-size:.72rem;
      font-weight:840;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    }

    .token-v26-jupiter:hover,
    .token-v25-buy:hover,
    .token-v25-explorer:hover {
      transform:translateY(-2px);
    }

    .token-v25-buy,
    .token-v26-jupiter,
    .token-v25-explorer {
      transition:transform .2s ease,box-shadow .2s ease;
    }

    .token-v25-explorer {
      min-height:46px;
      padding-inline:14px;
      white-space:nowrap;
    }

    .token-v25-warning {
      border-left-color:#d59b50;
    }

    .token-v25-warning p {
      color:rgba(255,255,255,.56);
    }

    @media (max-width:620px) {
      .token-v26-contract {
        grid-template-columns:1fr;
      }

      .token-v26-contract-copy {
        width:100%;
      }

      .token-v26-actions {
        grid-template-columns:1fr;
      }

      .token-v25-explorer {
        width:100%;
      }
    }

  
/* ==== SOURCE BLOCK: v27-knowledge ==== */


    /* Contribute your knowledge and experience */
    .knowledge-v27 {
      position:relative;
      overflow:hidden;
      color:#fff;
      background:
        radial-gradient(circle at 6% 10%,rgba(217,122,43,.19),transparent 24rem),
        radial-gradient(circle at 95% 78%,rgba(44,103,127,.19),transparent 27rem),
        linear-gradient(140deg,#102f40,#092531 68%,#102d3a);
    }

    .knowledge-v27::before {
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);
      background-size:72px 72px;
      mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);
    }

    .knowledge-v27 > .shell {
      position:relative;
      z-index:2;
    }

    .knowledge-v27 h2,
    .knowledge-v27 h3 {
      color:#fff;
    }

    .knowledge-v27-hero {
      display:grid;
      grid-template-columns:1.04fr .96fr;
      gap:clamp(34px,6vw,82px);
      align-items:end;
      margin-bottom:34px;
    }

    .knowledge-v27-title h2 {
      max-width:820px;
      margin:12px 0 0;
      font-size:clamp(3rem,5vw,5.3rem);
      line-height:.92;
      letter-spacing:-.06em;
    }

    .knowledge-v27-title > strong {
      display:block;
      margin-top:10px;
      color:var(--orange-soft);
      font-family:Georgia,"Times New Roman",serif;
      font-size:clamp(2.2rem,3.8vw,4.15rem);
      font-weight:500;
      line-height:.98;
      letter-spacing:-.05em;
    }

    .knowledge-v27-intro > p {
      max-width:58ch;
      margin:0;
      color:rgba(255,255,255,.6);
      font-size:.94rem;
      line-height:1.7;
    }

    .knowledge-v27-proof {
      margin-top:22px;
      padding:17px 18px;
      border-left:3px solid var(--orange-soft);
      border-radius:0 13px 13px 0;
      background:rgba(255,255,255,.045);
    }

    .knowledge-v27-proof span {
      display:block;
      color:rgba(255,255,255,.42);
      font-size:.66rem;
      font-weight:750;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .knowledge-v27-proof strong {
      display:block;
      margin-top:7px;
      color:#fff;
      font-size:.83rem;
      line-height:1.45;
    }

    .knowledge-v27-grid {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:10px;
    }

    .knowledge-v27-card {
      position:relative;
      min-height:380px;
      padding:23px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.09);
      border-radius:21px;
      background:rgba(255,255,255,.045);
      transition:transform .23s ease,background .23s ease,box-shadow .23s ease;
    }

    .knowledge-v27-card:hover {
      transform:translateY(-5px);
      background:rgba(255,255,255,.065);
      box-shadow:0 20px 50px rgba(0,0,0,.14);
    }

    .knowledge-v27-card-primary {
      background:
        radial-gradient(circle at 88% 10%,rgba(217,122,43,.17),transparent 11rem),
        rgba(255,255,255,.055);
    }

    .knowledge-v27-card-number {
      position:absolute;
      top:18px;
      right:20px;
      color:rgba(255,255,255,.18);
      font-size:.64rem;
      font-weight:850;
      letter-spacing:.12em;
    }

    .knowledge-v27-card-icon {
      position:relative;
      width:78px;
      height:78px;
      margin-top:5px;
    }

    .knowledge-v27-card-icon i {
      position:absolute;
      bottom:7px;
      width:20px;
      border-radius:14px 14px 7px 7px;
      background:rgba(242,173,112,.7);
    }

    .knowledge-v27-card-icon i::before {
      content:"";
      position:absolute;
      top:-14px;
      left:3px;
      width:14px;
      height:14px;
      border-radius:50%;
      background:inherit;
    }

    .knowledge-v27-card-icon i:nth-child(1) {
      left:5px;
      height:36px;
      opacity:.65;
    }

    .knowledge-v27-card-icon i:nth-child(2) {
      left:29px;
      height:50px;
    }

    .knowledge-v27-card-icon i:nth-child(3) {
      right:5px;
      height:40px;
      opacity:.75;
    }

    .knowledge-v27-card-icon-tech i {
      width:44px;
      height:26px;
      border:4px solid rgba(242,173,112,.7);
      border-radius:999px;
      background:transparent;
    }

    .knowledge-v27-card-icon-tech i::before {
      display:none;
    }

    .knowledge-v27-card-icon-tech i:nth-child(1) {
      left:3px;
      top:17px;
      transform:rotate(-35deg);
    }

    .knowledge-v27-card-icon-tech i:nth-child(2) {
      right:3px;
      bottom:13px;
      transform:rotate(-35deg);
    }

    .knowledge-v27-card-icon-training i {
      width:18px;
      height:48px;
      border-radius:4px;
      transform:rotate(22deg);
    }

    .knowledge-v27-card-icon-training i::before {
      top:-7px;
      left:0;
      width:18px;
      height:8px;
      border-radius:3px;
    }

    .knowledge-v27-card-icon-training i:nth-child(1) { left:12px; }
    .knowledge-v27-card-icon-training i:nth-child(2) { left:34px; }
    .knowledge-v27-card-icon-training i:nth-child(3) { left:56px; }

    .knowledge-v27-card-icon-alliance i {
      width:43px;
      height:27px;
      border:5px solid rgba(242,173,112,.7);
      border-radius:999px;
      background:transparent;
    }

    .knowledge-v27-card-icon-alliance i::before {
      display:none;
    }

    .knowledge-v27-card-icon-alliance i:nth-child(1) {
      left:2px;
      top:14px;
      transform:rotate(-35deg);
    }

    .knowledge-v27-card-icon-alliance i:nth-child(2) {
      right:1px;
      bottom:12px;
      transform:rotate(-35deg);
    }

    .knowledge-v27-card > span {
      display:block;
      margin-top:25px;
      color:var(--orange-soft);
      font-size:.63rem;
      font-weight:850;
      letter-spacing:.13em;
      text-transform:uppercase;
    }

    .knowledge-v27-card h3 {
      margin:13px 0 12px;
      font-size:clamp(1.6rem,2.3vw,2.35rem);
      line-height:1;
    }

    .knowledge-v27-card p {
      color:rgba(255,255,255,.49);
      font-size:.73rem;
      line-height:1.55;
    }

    .knowledge-v27-tags {
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin-top:18px;
    }

    .knowledge-v27-tags span {
      padding:6px 8px;
      border:1px solid rgba(255,255,255,.09);
      border-radius:999px;
      color:rgba(255,255,255,.61);
      background:rgba(255,255,255,.035);
      font-size:.58rem;
      font-weight:730;
    }

    .knowledge-v27-action {
      display:grid;
      grid-template-columns:.82fr 1.18fr;
      gap:0;
      margin-top:14px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.1);
      border-radius:25px;
      background:rgba(255,255,255,.05);
      box-shadow:0 24px 60px rgba(0,0,0,.13);
    }

    .knowledge-v27-action-copy {
      padding:clamp(31px,4.2vw,50px);
      border-right:1px solid rgba(255,255,255,.09);
      background:
        radial-gradient(circle at 15% 8%,rgba(217,122,43,.13),transparent 13rem),
        rgba(8,31,42,.18);
    }

    .knowledge-v27-action-copy h3 {
      max-width:13ch;
      margin:14px 0 17px;
      font-size:clamp(2.3rem,3.8vw,3.95rem);
      line-height:.98;
    }

    .knowledge-v27-action-copy > p {
      max-width:54ch;
      color:rgba(255,255,255,.53);
      font-size:.78rem;
      line-height:1.62;
    }

    .knowledge-v27-principles {
      display:grid;
      gap:8px;
      margin-top:24px;
    }

    .knowledge-v27-principles article {
      display:grid;
      grid-template-columns:38px 1fr;
      gap:12px;
      align-items:center;
      padding:12px;
      border:1px solid rgba(255,255,255,.08);
      border-radius:13px;
      background:rgba(255,255,255,.035);
    }

    .knowledge-v27-principles article > span {
      display:grid;
      place-items:center;
      width:38px;
      height:38px;
      color:var(--orange-soft);
      border:1px solid rgba(242,173,112,.18);
      border-radius:11px;
      font-size:.61rem;
      font-weight:850;
    }

    .knowledge-v27-principles strong {
      display:block;
      color:#fff;
      font-size:.72rem;
    }

    .knowledge-v27-principles small {
      display:block;
      margin-top:4px;
      color:rgba(255,255,255,.41);
      font-size:.59rem;
    }

    .knowledge-v27-form {
      display:flex;
      flex-direction:column;
      padding:clamp(31px,4.2vw,50px);
      background:rgba(255,255,255,.035);
    }

    .knowledge-v27-form-head > span {
      color:var(--orange-soft);
      font-size:.63rem;
      font-weight:850;
      letter-spacing:.13em;
      text-transform:uppercase;
    }

    .knowledge-v27-form-head > strong {
      display:block;
      margin-top:8px;
      color:#fff;
      font-family:Georgia,"Times New Roman",serif;
      font-size:1.85rem;
      line-height:1.05;
    }

    .knowledge-v27-form-grid {
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
      margin-top:24px;
    }

    .knowledge-v27-form label {
      display:grid;
      gap:7px;
    }

    .knowledge-v27-form label > span {
      color:rgba(255,255,255,.56);
      font-size:.65rem;
      font-weight:750;
    }

    .knowledge-v27-form input,
    .knowledge-v27-form textarea {
      width:100%;
      color:#fff;
      border:1px solid rgba(255,255,255,.11);
      border-radius:12px;
      outline:0;
      background:rgba(255,255,255,.06);
    }

    .knowledge-v27-form input {
      min-height:47px;
      padding:0 12px;
    }

    .knowledge-v27-form textarea {
      min-height:128px;
      padding:12px;
      resize:vertical;
    }

    .knowledge-v27-form input:focus,
    .knowledge-v27-form textarea:focus {
      border-color:rgba(242,173,112,.5);
      box-shadow:0 0 0 4px rgba(242,173,112,.07);
    }

    .knowledge-v27-wide {
      grid-column:1/-1;
    }

    .knowledge-v27-form-footer {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      margin-top:auto;
      padding-top:22px;
    }

    .knowledge-v27-form-footer p {
      max-width:350px;
      margin:0;
      color:rgba(255,255,255,.39);
      font-size:.61rem;
      line-height:1.45;
    }

    .knowledge-v27-form-footer p strong {
      color:rgba(255,255,255,.65);
    }

    .knowledge-v27-form-footer button {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:46px;
      padding:0 16px;
      color:#102f40;
      border:0;
      border-radius:999px;
      background:var(--orange-soft);
      cursor:pointer;
      font-size:.7rem;
      font-weight:850;
      white-space:nowrap;
    }

    .knowledge-v27-telegram {
      display:grid;
      grid-template-columns:.85fr 1.15fr auto;
      gap:24px;
      align-items:center;
      margin-top:14px;
      padding:22px;
      border:1px solid rgba(242,173,112,.18);
      border-radius:18px;
      background:linear-gradient(135deg,rgba(242,173,112,.07),rgba(255,255,255,.035));
    }

    .knowledge-v27-telegram h3 {
      margin:8px 0 0;
      font-size:1.4rem;
    }

    .knowledge-v27-telegram > p {
      margin:0;
      color:rgba(255,255,255,.5);
      font-size:.71rem;
      line-height:1.52;
    }

    .knowledge-v27-telegram > a {
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--orange-soft);
      font-size:.68rem;
      font-weight:850;
      white-space:nowrap;
    }

    @media (max-width:1050px) {
      .knowledge-v27-grid {
        grid-template-columns:repeat(2,1fr);
      }

      .knowledge-v27-action,
      .knowledge-v27-telegram {
        grid-template-columns:1fr;
      }

      .knowledge-v27-action-copy {
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.09);
      }
    }

    @media (max-width:760px) {
      .knowledge-v27-hero {
        grid-template-columns:1fr;
      }

      .knowledge-v27-grid {
        grid-template-columns:1fr;
      }

      .knowledge-v27-card {
        min-height:320px;
      }

      .knowledge-v27-form-grid {
        grid-template-columns:1fr;
      }

      .knowledge-v27-wide {
        grid-column:auto;
      }

      .knowledge-v27-form-footer {
        align-items:stretch;
        flex-direction:column;
      }

      .knowledge-v27-form-footer button {
        width:100%;
      }
    }

  
/* ==== SOURCE BLOCK: v29-donations-refined ==== */


    /* HOW TO SUPPORT F20F: FUNDRAISING MODEL */
    .fundraising-v32 {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at 7% 9%, rgba(217,122,43,.075), transparent 24rem),
        radial-gradient(circle at 94% 82%, rgba(44,103,127,.075), transparent 27rem),
        #f7f2e9;
    }

    .fundraising-v32::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .42;
      background:
        linear-gradient(rgba(20,37,45,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(20,37,45,.018) 1px, transparent 1px);
      background-size: 42px 42px;
      mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent);
    }

    .fundraising-v32 .shell { position: relative; z-index: 1; }

    .fundraising-v32-grid {
      display: grid;
      grid-template-columns: repeat(12, minmax(0, 1fr));
      gap: 18px;
      margin-top: 42px;
    }

    .fundraising-v32-card {
      grid-column: span 4;
      min-height: 260px;
      display: flex;
      flex-direction: column;
      padding: 28px;
      border: 1px solid rgba(20,47,61,.13);
      border-radius: 25px;
      background: rgba(255,255,255,.72);
      box-shadow: 0 18px 46px rgba(25,43,51,.055);
    }

    .fundraising-v32-card.is-wide { grid-column: span 6; }

    .fundraising-v32-card-top {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      align-items: flex-start;
      margin-bottom: 30px;
    }

    .fundraising-v32-card-top > span:first-child {
      color: #d97a2b;
      font-size: .83rem;
      font-weight: 800;
      letter-spacing: .16em;
    }

    .fundraising-v32-status {
      padding: 7px 10px;
      border: 1px solid rgba(20,47,61,.13);
      border-radius: 999px;
      color: #244653;
      background: #f8f4eb;
      font-size: .69rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .fundraising-v32-status.is-development {
      color: #8b4b17;
      border-color: rgba(217,122,43,.22);
      background: rgba(217,122,43,.09);
    }

    .fundraising-v32-card h3 {
      margin: 0 0 13px;
      color: #142f3d;
      font-family: var(--serif);
      font-size: clamp(1.35rem, 1.8vw, 1.75rem);
      line-height: 1.08;
    }

    .fundraising-v32-card p {
      margin: 0;
      color: #52636a;
      line-height: 1.72;
    }

    .fundraising-v32-note {
      display: grid;
      grid-template-columns: .75fr 1.25fr;
      gap: 34px;
      align-items: center;
      margin-top: 20px;
      padding: 30px;
      border-radius: 25px;
      color: #f6f0e7;
      background: #142f3d;
    }

    .fundraising-v32-note h3 {
      margin: 0;
      color: #fff;
      font-family: var(--serif);
      font-size: clamp(1.55rem, 2.4vw, 2.2rem);
      line-height: 1.05;
    }

    .fundraising-v32-note p { margin: 0; color: rgba(255,255,255,.76); line-height: 1.72; }

    @media (max-width: 900px) {
      .fundraising-v32-card,
      .fundraising-v32-card.is-wide { grid-column: span 6; }
      .fundraising-v32-note { grid-template-columns: 1fr; }
    }

    @media (max-width: 620px) {
      .fundraising-v32-grid { margin-top: 28px; }
      .fundraising-v32-card,
      .fundraising-v32-card.is-wide { grid-column: 1 / -1; min-height: auto; }
      .fundraising-v32-card { padding: 23px; }
      .fundraising-v32-card-top { margin-bottom: 23px; }
      .fundraising-v32-note { padding: 24px; }
    }

    /* Refined premium donations */
    .donation-v29 {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at 4% 8%, rgba(217,122,43,.055), transparent 24rem),
        radial-gradient(circle at 96% 76%, rgba(44,103,127,.055), transparent 26rem),
        linear-gradient(180deg, #f6f1e8, #efe8dd);
    }

    .donation-v29::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(20,37,45,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(20,37,45,.018) 1px, transparent 1px);
      background-size: 72px 72px;
      mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent);
    }

    .donation-v29 > .shell {
      position: relative;
      z-index: 2;
    }

    .donation-v29-head {
      margin-bottom: 24px;
    }

    .donation-v29-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.04fr) minmax(320px, .48fr) minmax(320px, .48fr);
      gap: 14px;
      align-items: stretch;
    }

    .support-v29-card {
      display: flex;
      flex-direction: column;
      min-height: 100%;
      padding: 28px;
      border: 1px solid rgba(16,47,64,.08);
      border-radius: 28px;
      background: rgba(255,252,248,.84);
      box-shadow:
        0 18px 44px rgba(16,47,64,.065),
        inset 0 1px 0 rgba(255,255,255,.88);
      backdrop-filter: blur(10px);
    }

    .support-v29-token {
      justify-content: flex-start;
    }

    .support-v29-token-top {
      display: grid;
      grid-template-columns: 176px minmax(0,1fr);
      gap: 26px;
      align-items: center;
    }

    .support-v29-medallion {
      position: relative;
      display: grid;
      place-items: center;
      width: 176px;
      height: 176px;
      border-radius: 50%;
      background: radial-gradient(circle at 50% 35%, #fffef9, #eee6d7 78%);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 12px 28px rgba(48,39,28,.09);
    }

    .support-v29-medallion-ring {
      position: relative;
      width: 148px;
      height: 148px;
      overflow: hidden;
      border: 2px solid rgba(190,157,96,.65);
      border-radius: 50%;
      background: #f8f2e8;
      box-shadow: inset 0 0 0 7px rgba(226,199,148,.36);
    }

    .support-v29-medallion-ring img {
      position: absolute;
      left: 50%;
      bottom: -8%;
      width: 114%;
      height: 114%;
      object-fit: contain;
      object-position: center bottom;
      transform: translateX(-50%);
    }

    .support-v29-medallion > span {
      position: absolute;
      right: 16px;
      bottom: 16px;
      display: grid;
      place-items: center;
      width: 42px;
      height: 42px;
      color: var(--navy);
      border: 1px solid rgba(190,157,96,.72);
      border-radius: 50%;
      background: #f7e3ba;
      box-shadow: 0 8px 18px rgba(66,45,27,.12);
      font-family: Georgia, "Times New Roman", serif;
      font-size: .88rem;
      font-weight: 700;
    }

    .support-v29-label {
      color: var(--orange);
      font-size: .63rem;
      font-weight: 850;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .support-v29-token-copy h3,
    .support-v29-standard h3 {
      margin: 10px 0 10px;
      font-size: clamp(2rem, 3.3vw, 3.15rem);
      line-height: .96;
    }

    .support-v29-token-copy h3 {
      margin-top: 7px;
    }

    .support-v29-subcopy,
    .support-v29-standard p {
      color: var(--muted);
      font-size: .78rem;
      line-height: 1.62;
    }

    .support-v29-meta {
      display: grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap: 1px;
      margin: 24px 0 0;
      overflow: hidden;
      border: 1px solid rgba(16,47,64,.08);
      border-radius: 17px;
      background: rgba(16,47,64,.08);
    }

    .support-v29-meta > div {
      min-height: 74px;
      padding: 13px;
      background: rgba(255,255,255,.7);
    }

    .support-v29-meta dt,
    .support-v29-bank-preview dt {
      color: var(--muted);
      font-size: .57rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .support-v29-meta dd,
    .support-v29-bank-preview dd {
      margin: 8px 0 0;
      color: var(--navy);
      font-size: .69rem;
      font-weight: 780;
      overflow-wrap: anywhere;
    }

    .support-v29-contract {
      display: grid;
      grid-template-columns: minmax(0,1fr) auto;
      gap: 14px;
      align-items: center;
      margin-top: 14px;
      padding: 15px 16px;
      border: 1px solid rgba(16,47,64,.08);
      border-radius: 18px;
      background: rgba(255,255,255,.76);
    }

    .support-v29-contract-copy {
      min-width: 0;
    }

    .support-v29-contract-copy span {
      display: block;
      color: var(--orange);
      font-size: .58rem;
      font-weight: 850;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .support-v29-contract-copy code {
      display: block;
      margin-top: 7px;
      color: var(--navy);
      font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
      font-size: .7rem;
      line-height: 1.5;
      word-break: break-all;
    }

    .support-v29-copy {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 42px;
      padding: 0 16px;
      color: var(--navy);
      border: 1px solid rgba(16,47,64,.1);
      border-radius: 999px;
      background: linear-gradient(180deg, #f6d4a0, #efbf7a);
      cursor: pointer;
      font-size: .68rem;
      font-weight: 850;
      transition: transform .2s ease, box-shadow .2s ease;
      box-shadow: 0 10px 22px rgba(239,191,122,.18);
    }

    .support-v29-copy:hover,
    .support-v29-primary:hover,
    .support-v29-secondary:hover {
      transform: translateY(-2px);
    }

    .support-v29-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 18px;
    }

    .support-v29-primary,
    .support-v29-secondary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 46px;
      padding: 0 18px;
      border-radius: 999px;
      font-size: .72rem;
      font-weight: 840;
      white-space: nowrap;
      transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
    }

    .support-v29-primary {
      color: #fff;
      background: var(--navy);
      box-shadow: 0 14px 30px rgba(16,47,64,.14);
    }

    .support-v29-secondary {
      color: var(--navy);
      border: 1px solid rgba(16,47,64,.1);
      background: rgba(255,255,255,.82);
    }

    .support-v29-note {
      margin-top: 18px;
      padding: 15px 16px;
      border-left: 3px solid rgba(217,122,43,.68);
      border-radius: 0 13px 13px 0;
      background: rgba(16,47,64,.045);
    }

    .support-v29-note strong {
      color: var(--navy);
      font-size: .7rem;
    }

    .support-v29-note p {
      margin: 6px 0 0;
      color: var(--muted);
      font-size: .67rem;
      line-height: 1.52;
    }

    .support-v29-card-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 15px;
    }

    .support-v29-icon {
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      border-radius: 15px;
      background: rgba(16,47,64,.06);
    }

    .support-v29-icon-card i {
      width: 24px;
      height: 16px;
      border: 2px solid var(--navy);
      border-radius: 4px;
    }

    .support-v29-icon-card i::before {
      content: "";
      display: block;
      height: 3px;
      margin-top: 3px;
      background: var(--navy);
    }

    .support-v29-icon-bank {
      display: flex;
      align-items: flex-end;
      justify-content: center;
      gap: 3px;
    }

    .support-v29-icon-bank i {
      width: 6px;
      height: 22px;
      background: var(--navy);
    }

    .support-v29-standard h3 {
      margin-top: 12px;
      font-size: 2.25rem;
    }

    .support-v29-amounts {
      display: grid;
      grid-template-columns: repeat(2,1fr);
      gap: 8px;
      margin-top: 18px;
    }

    .support-v29-amounts button {
      min-height: 42px;
      color: var(--navy);
      border: 1px solid rgba(16,47,64,.1);
      border-radius: 12px;
      background: rgba(255,255,255,.78);
      cursor: pointer;
      font-size: .68rem;
      font-weight: 820;
      transition: background .2s ease, color .2s ease, border-color .2s ease;
    }

    .support-v29-amounts button.active {
      color: #fff;
      border-color: var(--navy);
      background: var(--navy);
    }

    .support-v29-prepared {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin-top: 16px;
      padding-top: 15px;
      border-top: 1px solid rgba(16,47,64,.08);
    }

    .support-v29-prepared span {
      color: var(--muted);
      font-size: .62rem;
      font-weight: 760;
    }

    .support-v29-prepared strong {
      color: var(--navy);
      font-size: .88rem;
    }

    .support-v29-disabled {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      margin-top: auto;
      color: #8c9397;
      border: 0;
      border-radius: 999px;
      background: #e4e3df;
      cursor: not-allowed;
      font-size: .66rem;
      font-weight: 820;
    }

    .support-v29-bank-preview {
      display: grid;
      grid-template-columns: repeat(3,1fr);
      gap: 1px;
      margin: 18px 0 0;
      overflow: hidden;
      border: 1px solid rgba(16,47,64,.08);
      border-radius: 15px;
      background: rgba(16,47,64,.08);
    }

    .support-v29-bank-preview > div {
      min-height: 65px;
      padding: 12px;
      background: rgba(255,255,255,.76);
    }

    .support-v29-bank-action {
      margin-top: auto;
    }

    .support-v29-copy.is-copied {
      background: linear-gradient(180deg, #bfd8c4, #9fc6ab);
      box-shadow: 0 10px 22px rgba(159,198,171,.18);
    }

    @media (max-width: 1140px) {
      .donation-v29-grid {
        grid-template-columns: 1fr;
      }

      .support-v29-standard {
        min-height: 320px;
      }
    }

    @media (max-width: 760px) {
      .support-v29-token-top {
        grid-template-columns: 1fr;
        justify-items: start;
      }

      .support-v29-meta,
      .support-v29-bank-preview {
        grid-template-columns: 1fr;
      }

      .support-v29-contract {
        grid-template-columns: 1fr;
      }

      .support-v29-copy {
        width: 100%;
      }

      .support-v29-actions {
        flex-direction: column;
      }

      .support-v29-primary,
      .support-v29-secondary,
      .support-v29-bank-action {
        width: 100%;
      }
    }

  
/* ==== SOURCE BLOCK: v30-final-polish ==== */


    /* Final polish: navigation, responsive layout and donations */
    .nav-links-v30 {
      gap: 3px;
    }

    .nav-cluster {
      position: relative;
    }

    .nav-cluster summary {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 9px 11px;
      color: #485a64;
      border-radius: 999px;
      cursor: pointer;
      list-style: none;
      font-size: .78rem;
      font-weight: 750;
      user-select: none;
    }

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

    .nav-cluster summary::after {
      content: "⌄";
      position: relative;
      top: -1px;
      color: var(--orange);
      font-size: .72rem;
      transition: transform .18s ease;
    }

    .nav-cluster[open] summary {
      color: var(--navy);
      background: rgba(16,47,64,.07);
    }

    .nav-cluster[open] summary::after {
      transform: rotate(180deg);
    }

    .nav-cluster-menu {
      position: absolute;
      z-index: 150;
      top: calc(100% + 10px);
      left: 50%;
      display: grid;
      min-width: 198px;
      padding: 8px;
      border: 1px solid var(--line);
      border-radius: 15px;
      background: rgba(255,253,249,.98);
      box-shadow: 0 18px 45px rgba(16,47,64,.13);
      transform: translateX(-50%);
      backdrop-filter: blur(16px);
    }

    .nav-cluster-menu::before {
      content: "";
      position: absolute;
      top: -6px;
      left: 50%;
      width: 11px;
      height: 11px;
      border-top: 1px solid var(--line);
      border-left: 1px solid var(--line);
      background: #fffdf9;
      transform: translateX(-50%) rotate(45deg);
    }

    .nav-cluster-menu a {
      position: relative;
      z-index: 2;
      padding: 10px 11px;
      border-radius: 10px;
      white-space: nowrap;
    }

    .nav-cluster-menu a:hover,
    .nav-cluster-menu a.active {
      background: rgba(16,47,64,.07);
    }

    .donation-v29-head h2 {
      max-width: 780px;
    }

    .support-v29-primary,
    .support-v29-secondary,
    .support-v29-disabled {
      text-align: center;
      line-height: 1.2;
    }

    .support-v29-bank-action {
      min-height: 48px;
    }

    .support-v29-token-copy h3,
    .support-v29-standard h3 {
      text-wrap: balance;
    }

    .support-v29-subcopy,
    .support-v29-standard p,
    .support-v29-note p {
      text-wrap: pretty;
    }

    .contact-form button,
    .knowledge-v27-form-footer button,
    .support-v29-primary,
    .support-v29-secondary,
    .support-v29-copy,
    .button-primary,
    .button-secondary,
    .nav-cta {
      min-height: 46px;
    }

    @media (max-width: 1180px) and (min-width: 1021px) {
      .nav {
        gap: 18px;
      }

      .nav-links a,
      .nav-cluster summary {
        padding-inline: 8px;
        font-size: .73rem;
      }

      .brand-copy span {
        display: none;
      }
    }

    @media (max-width: 1140px) and (min-width: 761px) {
      .donation-v29-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
      }

      .support-v29-token {
        grid-column: 1 / -1;
      }

      .support-v29-standard {
        min-height: 360px;
      }
    }

    @media (max-width: 1020px) {
      .nav-cluster {
        width: 100%;
      }

      .nav-cluster summary {
        width: 100%;
        justify-content: space-between;
        padding: 11px 12px;
        border-radius: 11px;
      }

      .nav-cluster-menu {
        position: static;
        min-width: 0;
        padding: 3px 0 5px 15px;
        border: 0;
        background: transparent;
        box-shadow: none;
        transform: none;
        backdrop-filter: none;
      }

      .nav-cluster-menu::before {
        display: none;
      }

      .nav-cluster-menu a {
        padding: 10px 12px;
        color: var(--muted);
      }

      .nav-links.open {
        max-height: calc(100vh - 96px);
        overflow-y: auto;
      }
    }

    @media (max-width: 760px) {
      .donation-v29-grid {
        grid-template-columns: 1fr;
      }

      .support-v29-card {
        padding: 23px;
        border-radius: 23px;
      }

      .support-v29-medallion {
        width: 158px;
        height: 158px;
      }

      .support-v29-medallion-ring {
        width: 132px;
        height: 132px;
      }

      .support-v29-actions {
        display: grid;
        grid-template-columns: 1fr;
      }

      .support-v29-primary,
      .support-v29-secondary,
      .support-v29-bank-action {
        width: 100%;
        white-space: normal;
      }

      .team-command,
      .team-grid,
      .knowledge-v27-grid {
        gap: 10px;
      }
    }

    @media (max-width: 680px) {
      .hero-actions {
        display: grid;
        grid-template-columns: 1fr;
      }

      .hero-actions > a {
        width: 100%;
      }

      .hero-proof {
        gap: 8px;
      }

      .hero-proof article {
        padding-top: 12px;
      }

      .support-v29-card {
        padding: 21px 18px;
      }

      .support-v29-token-top {
        gap: 20px;
      }

      .support-v29-contract-copy code {
        font-size: .65rem;
      }

      .contact-form,
      .knowledge-v27-form {
        padding: 22px 18px;
      }

      .participation-options button {
        min-height: 58px;
      }
    }

    @media (max-width: 430px) {
      .brand img {
        width: 82px;
      }

      .support-v29-amounts {
        grid-template-columns: 1fr;
      }

      .support-v29-meta,
      .support-v29-bank-preview {
        grid-template-columns: 1fr;
      }

      .support-v29-medallion {
        width: 145px;
        height: 145px;
      }

      .support-v29-medallion-ring {
        width: 121px;
        height: 121px;
      }
    }

  
/* ==== SOURCE BLOCK: v31-participation-premium ==== */


    /* Get involved premium */
    .participation-v31 {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at 8% 10%, rgba(217,122,43,.07), transparent 23rem),
        radial-gradient(circle at 93% 78%, rgba(44,103,127,.07), transparent 25rem),
        linear-gradient(180deg, #f6f1e8 0%, #eee7dc 100%);
    }

    .participation-v31::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(20,37,45,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(20,37,45,.018) 1px, transparent 1px);
      background-size: 72px 72px;
      mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent);
    }

    .participation-v31 > .shell { position: relative; z-index: 2; }

    .participation-v31-head {
      display: grid;
      grid-template-columns: minmax(0,1.06fr) minmax(340px,.94fr);
      gap: 52px;
      align-items: end;
      margin-bottom: 30px;
    }

    .participation-v31-head h2 {
      max-width: 780px;
      margin: 12px 0 0;
      font-size: clamp(3rem, 4.9vw, 5.2rem);
      line-height: .93;
      letter-spacing: -.058em;
    }

    .participation-v31-head > p {
      max-width: 560px;
      margin: 0 0 4px;
      color: var(--muted);
      font-size: .92rem;
      line-height: 1.68;
    }

    .participation-v31-layout {
      display: grid;
      grid-template-columns: minmax(320px,.8fr) minmax(0,1.2fr);
      gap: 16px;
      align-items: stretch;
    }

    .participation-v31-routes { display: grid; gap: 10px; }

    .participation-v31-route {
      display: grid;
      grid-template-columns: 54px minmax(0,1fr) auto;
      gap: 16px;
      align-items: center;
      min-height: 126px;
      padding: 20px;
      border: 1px solid rgba(16,47,64,.09);
      border-radius: 20px;
      background: rgba(255,253,249,.78);
      box-shadow: 0 12px 32px rgba(16,47,64,.045);
      cursor: pointer;
      transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
      outline: none;
    }

    .participation-v31-route:hover,
    .participation-v31-route:focus-visible {
      transform: translateY(-3px);
      border-color: rgba(217,122,43,.28);
      box-shadow: 0 18px 42px rgba(16,47,64,.075);
    }

    .participation-v31-route.is-active {
      color: #fff;
      border-color: rgba(255,255,255,.08);
      background:
        radial-gradient(circle at 94% 8%, rgba(217,122,43,.17), transparent 10rem),
        linear-gradient(145deg, #173f50, #0d2b38);
      box-shadow: 0 22px 52px rgba(16,47,64,.16);
    }

    .participation-v31-route > span {
      display: grid;
      place-items: center;
      width: 54px;
      height: 54px;
      color: var(--orange);
      border: 1px solid rgba(217,122,43,.15);
      border-radius: 15px;
      background: rgba(217,122,43,.06);
      font-size: .65rem;
      font-weight: 850;
    }

    .participation-v31-route.is-active > span {
      color: var(--orange-soft);
      border-color: rgba(242,173,112,.22);
      background: rgba(242,173,112,.08);
    }

    .participation-v31-route small {
      display: block;
      color: var(--orange);
      font-size: .58rem;
      font-weight: 850;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .participation-v31-route.is-active small { color: var(--orange-soft); }

    .participation-v31-route h3 {
      margin: 6px 0 6px;
      font-size: 1.55rem;
      line-height: 1;
    }

    .participation-v31-route.is-active h3 { color: #fff; }

    .participation-v31-route p {
      margin: 0;
      color: var(--muted);
      font-size: .7rem;
      line-height: 1.48;
    }

    .participation-v31-route.is-active p { color: rgba(255,255,255,.53); }

    .participation-v31-route > i {
      color: rgba(16,47,64,.4);
      font-style: normal;
      font-size: 1rem;
    }

    .participation-v31-route.is-active > i { color: var(--orange-soft); }

    .participation-v31-form {
      display: flex;
      flex-direction: column;
      min-width: 0;
      padding: clamp(28px,4vw,46px);
      border: 1px solid rgba(16,47,64,.09);
      border-radius: 28px;
      background: rgba(255,253,249,.9);
      box-shadow: 0 24px 60px rgba(16,47,64,.08), inset 0 1px 0 rgba(255,255,255,.92);
      backdrop-filter: blur(12px);
    }

    .participation-v31-form-head > span {
      color: var(--orange);
      font-size: .63rem;
      font-weight: 850;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .participation-v31-form-head h3 {
      margin: 10px 0 11px;
      font-size: clamp(2.2rem,3.5vw,3.65rem);
      line-height: .98;
    }

    .participation-v31-form-head p {
      max-width: 600px;
      margin: 0;
      color: var(--muted);
      font-size: .78rem;
      line-height: 1.6;
    }

    .participation-v31-form-grid {
      display: grid;
      grid-template-columns: repeat(2,1fr);
      gap: 13px;
      margin-top: 27px;
    }

    .participation-v31-form label { display: grid; gap: 7px; }
    .participation-v31-form label.wide { grid-column: 1 / -1; }

    .participation-v31-form label > span {
      color: #5d6b73;
      font-size: .66rem;
      font-weight: 760;
    }

    .participation-v31-form input,
    .participation-v31-form textarea {
      width: 100%;
      color: var(--ink);
      border: 1px solid rgba(16,47,64,.1);
      border-radius: 13px;
      outline: none;
      background: rgba(246,241,232,.72);
      transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
    }

    .participation-v31-form input { min-height: 49px; padding: 0 13px; }
    .participation-v31-form textarea { min-height: 150px; padding: 13px; resize: vertical; }

    .participation-v31-form input:focus,
    .participation-v31-form textarea:focus {
      border-color: rgba(217,122,43,.42);
      background: #fffdf9;
      box-shadow: 0 0 0 4px rgba(217,122,43,.07);
    }

    .participation-v31-form-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      margin-top: auto;
      padding-top: 24px;
    }

    .participation-v31-form-footer > div > span {
      display: block;
      color: var(--muted);
      font-size: .58rem;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .participation-v31-form-footer > div > strong {
      display: block;
      margin-top: 6px;
      color: var(--navy);
      font-size: .8rem;
    }

    .participation-v31-form-footer button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 48px;
      padding: 0 20px;
      color: #fff;
      border: 0;
      border-radius: 999px;
      background: var(--navy);
      box-shadow: 0 14px 30px rgba(16,47,64,.14);
      cursor: pointer;
      font-size: .72rem;
      font-weight: 850;
      white-space: nowrap;
      transition: transform .2s ease, box-shadow .2s ease;
    }

    .participation-v31-form-footer button:hover {
      transform: translateY(-2px);
      box-shadow: 0 18px 36px rgba(16,47,64,.18);
    }

    .participation-v31-close {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 30px;
      align-items: center;
      margin-top: 14px;
      padding: 22px 24px;
      border: 1px solid rgba(16,47,64,.08);
      border-radius: 18px;
      background: rgba(255,253,249,.65);
    }

    .participation-v31-close h3 {
      margin: 8px 0 0;
      font-size: 1.65rem;
      line-height: 1.05;
    }

    .participation-v31-close > p {
      margin: 0;
      color: var(--muted);
      font-size: .72rem;
      line-height: 1.55;
    }

    @media (max-width: 980px) {
      .participation-v31-head,
      .participation-v31-layout { grid-template-columns: 1fr; }
      .participation-v31-routes { grid-template-columns: repeat(2,1fr); }
    }

    @media (max-width: 680px) {
      .participation-v31-head { gap: 20px; }
      .participation-v31-head h2 { font-size: clamp(2.7rem,12vw,4rem); }

      .participation-v31-routes,
      .participation-v31-form-grid,
      .participation-v31-close { grid-template-columns: 1fr; }

      .participation-v31-route {
        min-height: 112px;
        grid-template-columns: 48px minmax(0,1fr) auto;
        gap: 13px;
        padding: 17px;
      }

      .participation-v31-route > span { width: 48px; height: 48px; }

      .participation-v31-form {
        padding: 24px 19px;
        border-radius: 23px;
      }

      .participation-v31-form label.wide { grid-column: auto; }

      .participation-v31-form-footer {
        align-items: stretch;
        flex-direction: column;
      }

      .participation-v31-form-footer button { width: 100%; }
    }

  
/* ==== SOURCE BLOCK: fix-flaca-natural-ratio ==== */

    /* Flaca: strictly preserve the original aspect ratio of the 991 × 1088 file. */
    .hero-visual img[src$="flaca-original.png"] {
      width:auto !important;
      height:auto !important;
      max-width:84% !important;
      max-height:94% !important;
      aspect-ratio:auto !important;
      object-fit:contain !important;
      object-position:center bottom !important;
    }

    #bolivia .story-panel:last-child {
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
    }

    #bolivia .story-panel img[src$="flaca-original.png"] {
      width:auto !important;
      height:auto !important;
      max-width:92% !important;
      max-height:92% !important;
      aspect-ratio:auto !important;
      object-fit:contain !important;
      object-position:center center !important;
      flex:none !important;
    }

    .support-v29-medallion-ring img[src$="flaca-original.png"] {
      width:auto !important;
      height:auto !important;
      max-width:none !important;
      max-height:114% !important;
      aspect-ratio:auto !important;
      object-fit:contain !important;
      object-position:center bottom !important;
    }
  
/* ==== SOURCE BLOCK: factor20-jerarquia-visual ==== */

/* Visual hierarchy only for Factor 20. Does not change texts or structure. */
#factor20 .method {
  padding: 30px 32px;
}
#factor20 .method-grid {
  align-items: stretch;
}
#factor20 .method-grid > div:first-child h3 {
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
  margin: 10px 0 14px;
}
#factor20 .method-grid > div:not(:first-child) {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
#factor20 .method-grid > div:not(:first-child) b {
  font-size: 1.15rem;
  line-height: 1;
}
#factor20 .method-grid > div:not(:first-child) strong {
  margin-top: 2px;
  color: #fff;
  font-size: .86rem;
  letter-spacing: .02em;
}
#factor20 .method-grid > div:not(:first-child) small:first-of-type {
  display: block;
  margin-top: 6px;
  color: #fff;
  font-size: .94rem;
  font-weight: 850;
  line-height: 1.28;
}
#factor20 .method-grid > div:not(:first-child) small:nth-of-type(2) {
  display: block;
  margin-top: 2px;
  color: var(--orange-soft);
  font-size: .76rem;
  font-weight: 800;
  line-height: 1.45;
}
#factor20 .method-grid > div:not(:first-child) p {
  margin: 8px 0 0;
  color: rgba(255,255,255,.72);
  font-size: .78rem;
  line-height: 1.58;
}
#factor20 #mutacion-dia-21 {
  margin-top: 20px;
  padding: 25px 28px;
  border-radius: 18px;
  background: var(--navy);
}
#factor20 #mutacion-dia-21 h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.25;
}
@media (max-width: 680px) {
  #factor20 .method { padding: 24px; }
  #factor20 .method-grid > div:not(:first-child) small:first-of-type { font-size: 1rem; }
}

/* ==== SOURCE BLOCK: programas-visual-refinement ==== */

/* Purely visual improvement of PROGRAMS. Does not alter content or structure. */
#programas {
  position: relative;
  background:
    radial-gradient(circle at 8% 6%, rgba(217,122,43,.065), transparent 22rem),
    linear-gradient(180deg, #f5f1e8 0%, #f8f4ec 100%);
}
#programas .section-head {
  align-items: start;
  margin-bottom: 42px;
}
#programas .section-head > div {
  padding-right: 22px;
}
#programas .section-head .eyebrow {
  margin-bottom: 4px;
  font-size: .74rem;
  letter-spacing: .16em;
}
#programas .section-head h2 {
  margin-top: 13px;
  max-width: 780px;
  font-size: clamp(3rem, 5.3vw, 5.35rem);
  line-height: .92;
}
#programas .section-head > p {
  padding-top: 9px;
  font-size: .98rem;
  line-height: 1.72;
}
#programas .program-grid {
  gap: 22px;
}
#programas .program-card {
  position: relative;
  min-height: 390px;
  border-color: rgba(20,37,45,.105);
  border-radius: 27px;
  box-shadow:
    0 18px 45px rgba(16,47,64,.075),
    0 2px 0 rgba(255,255,255,.9) inset;
}
#programas .program-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 25px 58px rgba(16,47,64,.115),
    0 2px 0 rgba(255,255,255,.9) inset;
}
#programas .program-media {
  min-height: 390px;
}
#programas .program-media::after {
  background: linear-gradient(180deg, rgba(8,30,40,.04) 32%, rgba(8,30,40,.86) 100%);
}
#programas .program-number {
  top: 20px;
  left: 20px;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  font-size: .8rem;
  letter-spacing: .04em;
  background: rgba(8,30,40,.70);
  box-shadow: 0 8px 22px rgba(0,0,0,.14);
}
#programas .program-caption {
  left: 23px;
  right: 23px;
  bottom: 22px;
}
#programas .program-caption span {
  font-size: .65rem;
  letter-spacing: .15em;
}
#programas .program-caption strong {
  margin-top: 8px;
  max-width: 18ch;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.6rem;
  line-height: 1.02;
  letter-spacing: -.03em;
}
#programas .program-content {
  padding: 34px 34px 32px;
}
#programas .program-content > span {
  font-size: .68rem;
  letter-spacing: .13em;
}
#programas .program-content h3 {
  margin: 12px 0 16px;
  font-size: clamp(1.95rem, 2.75vw, 2.95rem);
  line-height: .96;
}
#programas .program-content p {
  margin-bottom: 0;
  font-size: .88rem;
  line-height: 1.68;
}
#programas .program-route {
  margin-top: 20px;
  gap: 8px;
}
#programas .program-route span {
  padding: 7px 10px;
  font-size: .65rem;
}
#programas .program-link {
  margin-top: 22px;
  font-size: .78rem;
}
@media (max-width: 1020px) {
  #programas .program-card {
    min-height: 370px;
  }
  #programas .program-media {
    min-height: 370px;
  }
}
@media (max-width: 680px) {
  #programas .section-head {
    margin-bottom: 30px;
  }
  #programas .section-head h2 {
    font-size: clamp(2.65rem, 12.5vw, 4rem);
  }
  #programas .program-card {
    border-radius: 22px;
  }
  #programas .program-media {
    min-height: 320px;
  }
  #programas .program-content {
    padding: 27px 24px 28px;
  }
  #programas .program-caption strong {
    font-size: 1.45rem;
  }
}

/* ==== SOURCE BLOCK: v33-menu-premium-responsive ==== */

/* MENU, BUTTONS AND FLACA FRAMING ONLY */
.site-header{
  border-bottom:1px solid rgba(16,47,64,.08);
  background:rgba(248,244,235,.76);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
  box-shadow:0 10px 40px rgba(16,47,64,.055);
  transition:transform .34s cubic-bezier(.2,.8,.2,1), background .25s ease, box-shadow .25s ease;
}
.site-header.header-hidden{transform:translateY(-110%)}
.nav{min-height:82px;gap:22px}
.brand{flex-shrink:0}
.brand img{width:104px;height:52px}
.brand-copy strong{font-size:.92rem;letter-spacing:.01em}
.brand-copy span{font-size:.58rem;letter-spacing:.12em}

.nav-premium{gap:6px;align-items:center}
.nav-premium>a,
.nav-cluster-premium>summary{
  position:relative;
  padding:10px 13px;
  border:1px solid transparent;
  border-radius:999px;
  color:#314651;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.01em;
  transition:transform .22s ease, color .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.nav-premium>a::after,
.nav-cluster-premium>summary::before{
  content:"";
  position:absolute;
  left:18%;right:18%;bottom:5px;height:1px;
  background:linear-gradient(90deg,transparent,var(--orange),transparent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .24s ease;
}
.nav-premium>a:hover,
.nav-cluster-premium>summary:hover,
.nav-cluster-premium[open]>summary{
  color:var(--navy);
  border-color:rgba(16,47,64,.08);
  background:rgba(255,255,255,.54);
  box-shadow:0 8px 24px rgba(16,47,64,.08), inset 0 1px 0 rgba(255,255,255,.8);
  transform:translateY(-1px);
}
.nav-premium>a:hover::after,
.nav-cluster-premium>summary:hover::before,
.nav-cluster-premium[open]>summary::before{transform:scaleX(1)}

.nav-cluster-premium .nav-cluster-menu{
  top:calc(100% + 14px);
  min-width:230px;
  padding:10px;
  border:1px solid rgba(16,47,64,.10);
  border-radius:20px;
  background:rgba(255,253,249,.88);
  backdrop-filter:blur(24px) saturate(150%);
  -webkit-backdrop-filter:blur(24px) saturate(150%);
  box-shadow:0 24px 70px rgba(16,47,64,.16), inset 0 1px 0 rgba(255,255,255,.9);
  animation:premiumMenuIn .18s ease-out both;
}
.nav-cluster-menu-wide{min-width:270px!important}
.nav-cluster-premium .nav-cluster-menu a{
  padding:11px 13px;
  border-radius:13px;
  font-size:.75rem;
  font-weight:750;
  transition:transform .18s ease, background .18s ease, color .18s ease;
}
.nav-cluster-premium .nav-cluster-menu a:hover{
  color:var(--navy);
  background:rgba(16,47,64,.065);
  transform:translateX(3px);
}
@keyframes premiumMenuIn{from{opacity:0;transform:translate(-50%,-7px) scale(.985)}to{opacity:1;transform:translate(-50%,0) scale(1)}}

.nav-cta-premium,
.button-primary,
.button-secondary{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.36);
  box-shadow:0 13px 34px rgba(16,47,64,.16), inset 0 1px 0 rgba(255,255,255,.30);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, filter .25s ease;
}
.nav-cta-premium::before,
.button-primary::before,
.button-secondary::before{
  content:"";
  position:absolute;z-index:-1;inset:-45% -25%;
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);
  transform:translateX(-85%) rotate(4deg);
  transition:transform .65s cubic-bezier(.2,.8,.2,1);
}
.nav-cta-premium:hover::before,
.button-primary:hover::before,
.button-secondary:hover::before{transform:translateX(85%) rotate(4deg)}
.nav-cta-premium:hover,
.button-primary:hover,
.button-secondary:hover{
  transform:translateY(-3px) scale(1.018);
  box-shadow:0 18px 42px rgba(16,47,64,.20), inset 0 1px 0 rgba(255,255,255,.38);
}
.button-primary{background:linear-gradient(135deg,rgba(16,47,64,.98),rgba(11,38,51,.93))}
.button-secondary{background:rgba(255,255,255,.64);border-color:rgba(16,47,64,.13)}
.nav-cta-premium{background:linear-gradient(135deg,rgba(16,47,64,.98),rgba(11,38,51,.94))}

/* Flaca: clean framing without distortion */
.hero-visual{
  display:grid;
  place-items:center;
  padding:30px;
}
.hero-visual img[src$="flaca-original.png"]{
  position:relative!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:18px;
}

.menu-toggle{
  position:relative;
  width:46px;height:46px;
  border:1px solid rgba(16,47,64,.10);
  border-radius:15px;
  background:rgba(255,255,255,.66);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 10px 26px rgba(16,47,64,.10);
  transition:transform .2s ease, background .2s ease;
}
.menu-toggle:hover{transform:translateY(-1px);background:rgba(255,255,255,.9)}

@media (max-width:1180px) and (min-width:1021px){
  .nav{gap:14px}
  .nav-premium>a,.nav-cluster-premium>summary{padding-inline:9px;font-size:.69rem}
  .brand-copy{display:none}
}

@media (max-width:1020px){
  .site-header{background:rgba(248,244,235,.88)}
  .nav{min-height:72px;grid-template-columns:auto 1fr auto;gap:12px}
  .brand img{width:92px;height:46px}
  .brand-copy{display:none}
  .nav-cta-premium{display:none}
  .menu-toggle{display:grid;place-items:center;justify-self:end}
  .nav-premium{
    position:fixed;
    z-index:220;
    top:78px;
    left:12px;
    right:12px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:5px;
    max-height:calc(100dvh - 96px);
    padding:14px;
    overflow:auto;
    border:1px solid rgba(16,47,64,.10);
    border-radius:24px;
    background:rgba(255,253,249,.985);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:0 28px 80px rgba(16,47,64,.19);
    opacity:0;
    pointer-events:none;
    transform:translateY(-12px) scale(.985);
    transform-origin:top center;
    transition:opacity .22s ease, transform .24s cubic-bezier(.2,.8,.2,1);
  }
  .nav-premium.open{display:flex;opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
  .nav-premium>a,.nav-cluster-premium>summary{
    width:100%;
    justify-content:space-between;
    padding:13px 14px;
    border-radius:15px;
    font-size:.82rem;
  }
  .nav-cluster-premium{width:100%}
  .nav-cluster-premium .nav-cluster-menu{
    position:static;
    min-width:0!important;
    margin:3px 0 5px;
    padding:5px 0 5px 14px;
    border:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    animation:none;
    transform:none!important;
  }
  .nav-cluster-premium .nav-cluster-menu a{padding:10px 12px;color:#5e6e76}
  body.menu-open::before{
    content:"";position:fixed;z-index:190;inset:72px 0 0;
    background:rgba(10,31,42,.10);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .hero-visual{padding:18px}
}

@media (max-width:680px){
  .hero-visual{min-height:440px;padding:14px}
  .hero-visual img[src$="flaca-original.png"]{border-radius:15px}
  .hero-actions{gap:9px}
  .hero-actions .button-primary,.hero-actions .button-secondary{width:100%;min-height:50px}
}

@media (prefers-reduced-motion:reduce){
  .site-header,.nav-premium,.nav-premium a,.nav-cluster-premium summary,.nav-cluster-menu a,
  .nav-cta-premium,.button-primary,.button-secondary,.menu-toggle{transition:none!important;animation:none!important}
}

/* ==== SOURCE BLOCK: f20f-pwa-premium ==== */

.pwa-install-trigger{
  position:fixed;right:22px;bottom:22px;z-index:180;
  display:inline-flex;align-items:center;gap:10px;
  min-height:52px;padding:0 18px;border:1px solid rgba(199,155,73,.42);
  border-radius:999px;color:#fff;background:rgba(16,47,64,.92);
  box-shadow:0 18px 50px rgba(7,30,40,.22),inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  font-weight:850;font-size:.74rem;letter-spacing:.02em;cursor:pointer;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.pwa-install-trigger::before{
  content:"";width:9px;height:9px;border-radius:50%;
  background:#d6b46f;box-shadow:0 0 0 5px rgba(214,180,111,.12);
}
.pwa-install-trigger:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(7,30,40,.28)}
.pwa-install-trigger:active{transform:translateY(0) scale(.98)}
.pwa-modal[hidden]{display:none!important}
.pwa-modal{
  position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;
  background:rgba(5,21,29,.56);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);
}
.pwa-card{
  position:relative;width:min(92vw,760px);overflow:hidden;
  border:1px solid rgba(199,155,73,.35);border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(248,244,236,.98));
  box-shadow:0 40px 120px rgba(5,21,29,.34);
}
.pwa-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 85% 10%,rgba(214,180,111,.18),transparent 17rem);
}
.pwa-card-inner{position:relative;display:grid;grid-template-columns:.88fr 1.12fr}
.pwa-qr-side{
  display:grid;place-items:center;padding:36px;
  background:linear-gradient(145deg,#fffdf8,#f3ead9);
  border-right:1px solid rgba(16,47,64,.09)
}
.pwa-qr-frame{
  width:min(100%,300px);aspect-ratio:1;padding:18px;border-radius:24px;background:#fff;
  border:1px solid rgba(199,155,73,.42);
  box-shadow:0 20px 55px rgba(16,47,64,.11),inset 0 0 0 7px rgba(214,180,111,.055)
}
.pwa-qr-frame img{width:100%;height:100%;object-fit:contain}
.pwa-copy{padding:42px 42px 36px}
.pwa-kicker{display:block;color:#ad7a2b;font-size:.67rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.pwa-copy h2{margin:12px 0 14px;color:#102f40;font-size:clamp(2.4rem,5vw,4.15rem);line-height:.92}
.pwa-copy p{margin:0;color:#65737b;font-size:.88rem;line-height:1.65}
.pwa-url{
  margin:21px 0 0;padding:12px 14px;border:1px solid rgba(16,47,64,.11);
  border-radius:14px;background:rgba(255,255,255,.7);color:#102f40;
  font-size:.72rem;font-weight:800;word-break:break-all
}
.pwa-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:24px}
.pwa-action{
  min-height:48px;border:1px solid rgba(16,47,64,.11);border-radius:999px;
  background:#fff;color:#102f40;font-weight:850;font-size:.72rem;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease
}
.pwa-action.primary{color:#fff;border-color:#102f40;background:#102f40;box-shadow:0 12px 28px rgba(16,47,64,.18)}
.pwa-action.gold{color:#102f40;border-color:#d6b46f;background:linear-gradient(135deg,#f1d99f,#d6b46f)}
.pwa-action:hover{transform:translateY(-2px)}
.pwa-close{
  position:absolute;z-index:5;top:15px;right:15px;width:40px;height:40px;border:1px solid rgba(16,47,64,.1);
  border-radius:50%;background:rgba(255,255,255,.86);color:#102f40;font-size:1.1rem;cursor:pointer
}
.pwa-hint{margin-top:14px!important;font-size:.68rem!important;color:#8a9499!important}
@media(max-width:720px){
  .pwa-install-trigger{right:14px;bottom:14px;min-height:48px;padding:0 15px}
  .pwa-card{width:min(94vw,520px);max-height:90vh;overflow:auto;border-radius:24px}
  .pwa-card-inner{grid-template-columns:1fr}
  .pwa-qr-side{padding:26px;border-right:0;border-bottom:1px solid rgba(16,47,64,.09)}
  .pwa-qr-frame{width:min(72vw,245px)}
  .pwa-copy{padding:29px 24px 26px}
  .pwa-copy h2{font-size:clamp(2.25rem,11vw,3.25rem)}
  .pwa-actions{grid-template-columns:1fr}
}
@media(display-mode:standalone){
  .pwa-install-trigger{display:none!important}
}

/* ==== SOURCE BLOCK: f20f-pwa-visible-qr ==== */

.pwa-quick-card{
  position:fixed;left:20px;bottom:20px;z-index:179;
  width:188px;padding:13px;border:1px solid rgba(202,162,83,.55);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(249,244,233,.95));
  box-shadow:0 22px 60px rgba(7,30,40,.20),inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  transition:transform .28s ease,box-shadow .28s ease;
}
.pwa-quick-card:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 75px rgba(7,30,40,.26),inset 0 1px 0 rgba(255,255,255,.95);
}
.pwa-quick-qr{
  width:100%;aspect-ratio:1;padding:10px;border-radius:16px;
  border:1px solid rgba(202,162,83,.45);background:#fff;
  box-shadow:inset 0 0 0 5px rgba(214,180,111,.045);
}
.pwa-quick-qr img{width:100%;height:100%;object-fit:contain}
.pwa-quick-copy{padding:10px 4px 2px;text-align:center}
.pwa-quick-copy strong{
  display:block;color:#102f40;font-family:Georgia,"Times New Roman",serif;
  font-size:1.03rem;line-height:1.05
}
.pwa-quick-copy span{
  display:block;margin-top:5px;color:#a8782d;font-size:.58rem;
  font-weight:900;letter-spacing:.12em;text-transform:uppercase
}
.pwa-quick-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px
}
.pwa-quick-actions button,
.pwa-quick-actions a{
  min-height:34px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(16,47,64,.10);border-radius:999px;
  background:#fff;color:#102f40;font-size:.59rem;font-weight:850;
  text-decoration:none;cursor:pointer
}
.pwa-quick-actions .gold{
  border-color:#d6b46f;background:linear-gradient(135deg,#f1d99f,#d6b46f)
}
.pwa-install-trigger{display:none!important}
@media(max-width:680px){
  .pwa-quick-card{
    left:10px;bottom:10px;width:142px;padding:9px;border-radius:18px;
  }
  .pwa-quick-qr{padding:7px;border-radius:13px}
  .pwa-quick-copy strong{font-size:.86rem}
  .pwa-quick-copy span{font-size:.5rem}
  .pwa-quick-actions{grid-template-columns:1fr}
  .pwa-quick-actions button,
  .pwa-quick-actions a{min-height:30px;font-size:.54rem}
}
@media(display-mode:standalone){
  .pwa-quick-card{display:none!important}
}

/* ==== SOURCE BLOCK: f20f-qr-close-fix ==== */

.pwa-quick-card{position:fixed}
.pwa-quick-close{
  position:absolute;
  top:7px;
  right:7px;
  z-index:3;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid rgba(16,47,64,.10);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#102f40;
  box-shadow:0 6px 16px rgba(16,47,64,.10);
  cursor:pointer;
  font-size:15px;
  font-weight:800;
  line-height:1;
  transition:transform .18s ease,background .18s ease;
}
.pwa-quick-close:hover{
  transform:scale(1.06);
  background:#fff;
}
.pwa-quick-card.is-closed{display:none!important}

/* ==== SOURCE BLOCK: v34-additions ==== */

/* ==========================================================================
   F20F · v34 — Styles for the new additions ONLY.
   Every rule is scoped to .fx-* classes or to the new section ids.
   Nothing here targets an existing protected component.
   ========================================================================== */

/* --- Progressive enhancement: content is never hidden if JS fails -------- */
.reveal,
.fx-reveal { opacity: 1; transform: none; }

html.fx-js .reveal,
html.fx-js .fx-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .75s cubic-bezier(.2,.8,.2,1), transform .75s cubic-bezier(.2,.8,.2,1);
}
html.fx-js .reveal.active,
html.fx-js .fx-reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html.fx-js .reveal,
  html.fx-js .fx-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* --- Shared chrome ------------------------------------------------------- */
.fx-section { padding: clamp(60px, 8.5vw, 112px) 0; }

.fx-eyebrow {
  display: inline-block;
  color: var(--orange);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.fx-title {
  margin: 16px 0 0;
  max-width: 20ch;
  color: var(--navy);
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight: 700;
  font-size: clamp(2.1rem, 4.4vw, 3.5rem);
  line-height: 1.06;
  letter-spacing: -.015em;
}
.fx-lead {
  margin: 20px 0 0;
  max-width: 64ch;
  color: var(--muted);
  font-size: clamp(.95rem, 1.1vw, 1.04rem);
  line-height: 1.75;
}
.fx-head--center { text-align: center; }
.fx-head--center .fx-title,
.fx-head--center .fx-lead { margin-inline: auto; }

.fx-on-dark .fx-eyebrow { color: var(--orange-soft); }
.fx-on-dark .fx-title   { color: #fff; }
.fx-on-dark .fx-lead    { color: rgba(255,255,255,.78); }

/* ==========================================================================
   A · INSTITUTIONAL RECORD  (#impact-stats — repaired, not duplicated)
   ========================================================================== */
#impact-stats.section-premium { padding: clamp(60px, 8.5vw, 112px) 0; background: var(--paper); }

/* Explicit column counts: four items must always fill complete rows. */
.fx-facts-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(26px, 3vw, 46px);
  margin-top: clamp(38px, 5vw, 64px);
}
.fx-fact {
  position: relative;
  padding-top: 24px;
  border-top: 1px solid rgba(20,37,45,.16);
}
.fx-fact::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 40px;
  height: 3px;
  background: var(--orange);
}
.fx-fact-value {
  display: block;
  color: var(--navy);
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight: 900;
  font-size: clamp(2.9rem, 6vw, 4.3rem);
  line-height: .95;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.fx-fact-label {
  display: block;
  margin-top: 16px;
  color: var(--ink);
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.4;
}
.fx-fact-note {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
html.fx-js .fx-facts-grid .fx-fact { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
html.fx-js .fx-facts-grid.is-in .fx-fact { opacity: 1; transform: none; }
html.fx-js .fx-facts-grid.is-in .fx-fact:nth-child(2) { transition-delay: .09s; }
html.fx-js .fx-facts-grid.is-in .fx-fact:nth-child(3) { transition-delay: .18s; }
html.fx-js .fx-facts-grid.is-in .fx-fact:nth-child(4) { transition-delay: .27s; }
@media (prefers-reduced-motion: reduce) {
  html.fx-js .fx-facts-grid .fx-fact { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ==========================================================================
   C · INSTITUTIONAL VIDEO  (#video)
   ========================================================================== */
.fx-video-section {
  background:
    radial-gradient(circle at 12% 0%, rgba(217,122,43,.16), transparent 26rem),
    radial-gradient(circle at 92% 100%, rgba(44,103,127,.20), transparent 30rem),
    var(--navy);
}
.fx-video-frame {
  position: relative;
  margin: clamp(34px, 4.6vw, 58px) auto 0;
  max-width: 1040px;
  aspect-ratio: 16 / 9;
  border-radius: clamp(14px, 1.9vw, 24px);
  overflow: hidden;
  background: var(--navy-2);
  box-shadow: 0 38px 90px rgba(4,18,26,.48);
}
.fx-video-frame > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  opacity: .58;
  filter: saturate(.78) contrast(1.06);
}
.fx-video-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(118% 88% at 50% 46%, rgba(11,38,51,.18), rgba(8,31,42,.84) 78%);
}
.fx-video-state {
  position: absolute;
  inset: 0;
  z-index: 2;
  margin: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  text-align: center;
}
.fx-badge {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  padding: 13px 26px;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 999px;
  background: rgba(8,31,42,.52);
  color: #fff;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.fx-badge::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--orange-soft);
}

/* ==========================================================================
   B · VISION 2030  (#vision2030)
   ========================================================================== */
.fx-vision {
  background:
    radial-gradient(circle at 88% 8%, rgba(217,122,43,.15), transparent 28rem),
    var(--navy-2);
}
.fx-vision-top {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: clamp(26px, 4vw, 66px);
  align-items: end;
}
.fx-vision-top .fx-lead { margin-top: 0; }

.fx-goals-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 22px;
  margin: clamp(40px, 5.2vw, 68px) 0 0;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.18);
}
.fx-goals-title {
  margin: 0;
  color: #fff;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight: 700;
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  letter-spacing: -.01em;
}
.fx-goals-note {
  margin: 0;
  max-width: 54ch;
  color: var(--orange-soft);
  font-size: .8rem;
  font-weight: 800;
  line-height: 1.6;
}
.fx-goals {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(26px, 3.4vw, 52px);
  margin: clamp(30px, 3.6vw, 46px) 0 0;
  padding: 0;
}
.fx-goal {
  display: flex;
  flex-direction: column;
  padding-left: 26px;
  border-left: 1px solid rgba(255,255,255,.20);
}
.fx-goal-value {
  display: block;
  color: var(--orange-soft);
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight: 900;
  font-size: clamp(2.6rem, 5.2vw, 3.9rem);
  line-height: 1;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.fx-goal-value i { font-style: normal; font-size: .55em; vertical-align: .45em; margin-left: .04em; }
.fx-goal-label {
  display: block;
  margin-top: 14px;
  max-width: 26ch;
  color: rgba(255,255,255,.86);
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.5;
}
.fx-goal-scope {
  display: block;
  margin-top: auto;
  padding-top: 12px;
  color: rgba(255,255,255,.52);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.fx-vision-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.76);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.fx-vision-badge::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--orange-soft);
  box-shadow: 0 0 18px rgba(239,170,108,.8);
}

.fx-vision-visual {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 26px);
  margin-top: clamp(28px, 3vw, 42px);
}

.fx-vision-chart {
  --chart-color: #f5b269;
  --chart-fill: rgba(245, 178, 105, .18);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 270px;
  padding: 18px 18px 14px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 16px 32px rgba(2,12,18,.18);
  overflow: hidden;
}
.fx-vision-chart:nth-child(2) { --chart-color: #d7dfa8; --chart-fill: rgba(215,223,168,.16); }
.fx-vision-chart:nth-child(3) { --chart-color: #f2d37d; --chart-fill: rgba(242,211,125,.15); }
.fx-vision-chart:nth-child(4) { --chart-color: #b5d5d8; --chart-fill: rgba(181,213,216,.15); }

.fx-vision-chart::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 10%, rgba(255,255,255,.10), transparent 42%);
  pointer-events: none;
}

.fx-vision-chart-header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
}
.fx-chart-kicker {
  display: block;
  color: rgba(255,255,255,.64);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.fx-chart-figure {
  display: inline-block;
  margin-top: 6px;
  color: #fff;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.7rem, 3vw, 2.7rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.fx-chart-meta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: rgba(255,255,255,.7);
  background: rgba(10,22,31,.28);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.fx-vision-chart svg {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 160px;
  margin-top: auto;
}
.fx-chart-grid line {
  stroke: rgba(255,255,255,.10);
  stroke-width: 1;
}
.fx-chart-area {
  fill: var(--chart-fill);
  opacity: 0;
}
.fx-chart-line {
  fill: none;
  stroke: var(--chart-color);
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 8px rgba(245,178,105,.7));
}
.fx-chart-dot {
  fill: #fff;
  stroke: var(--chart-color);
  stroke-width: 3;
  opacity: 0;
  filter: drop-shadow(0 0 18px rgba(255,255,255,.9));
}

.fx-vision-controls {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}
.fx-vision-replay {
  appearance: none;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.8);
  padding: 10px 16px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.fx-vision-replay:hover,
.fx-vision-replay:focus-visible {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.3);
  transform: translateY(-1px);
}

.fx-vision-chart.is-complete .fx-chart-area{ opacity: .9; }
.fx-vision-chart.is-complete .fx-chart-dot{ opacity: 1; }

@media (max-width: 1060px) {
  .fx-vision-visual { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .fx-vision-visual { grid-template-columns: 1fr; }
  .fx-vision-chart { min-height: 240px; }
  .fx-chart-meta { min-width: 54px; }
  .fx-vision-controls { justify-content: center; }
}

/* ==========================================================================
   D · GALLERY  (#galeria) + lightbox
   ========================================================================== */
.fx-gallery { background: var(--paper); }

.fx-shot {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 14px;
  overflow: hidden;
  background: var(--sand);
  cursor: zoom-in;
  isolation: isolate;
}
.fx-shot > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.2,.8,.2,1);
}
.fx-shot::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(8,31,42,.34), transparent 46%);
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}
.fx-shot:hover > img,
.fx-shot:focus-visible > img { transform: scale(1.045); }
.fx-shot:hover::after,
.fx-shot:focus-visible::after { opacity: 1; }
.fx-shot:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
/* Without JS the tiles stay inert instead of behaving as dead controls. */
.fx-shot[disabled] { cursor: default; opacity: 1; }

.fx-gallery-feature { margin-top: clamp(34px, 4.4vw, 56px); }
.fx-gallery-feature .fx-shot { aspect-ratio: 16 / 9; border-radius: clamp(14px, 1.9vw, 22px); }

/* Four fixed columns so the eight tiles always form two complete rows. */
.fx-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(14px, 1.6vw, 22px);
  margin-top: clamp(14px, 1.6vw, 22px);
}
.fx-gallery-grid .fx-shot { aspect-ratio: 4 / 5; }
/* Tall portraits: anchor the crop to the top so no face is cut off. */
.fx-shot--top > img { object-position: center top; }

@media (prefers-reduced-motion: reduce) {
  .fx-shot > img { transition: none; }
  .fx-shot:hover > img, .fx-shot:focus-visible > img { transform: none; }
}

/* Lightbox ---------------------------------------------------------------- */
#fxLightbox {
  width: min(94vw, 1180px);
  max-width: none;
  max-height: 94vh;
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: var(--navy-2);
  color: #fff;
  overflow: hidden;
}
#fxLightbox::backdrop { background: rgba(6,22,30,.86); }
.fx-lb-stage {
  display: grid;
  place-items: center;
  min-height: 42vh;
  background: #06161e;
}
.fx-lb-stage img {
  max-width: 100%;
  max-height: 78vh;
  width: auto;
  height: auto;
  object-fit: contain;
}
.fx-lb-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  background: var(--navy-2);
}
.fx-lb-count {
  color: rgba(255,255,255,.64);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.fx-lb-actions { display: flex; gap: 8px; }
.fx-lb-btn {
  min-width: 46px;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 10px;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  cursor: pointer;
  transition: background .25s ease, border-color .25s ease;
}
.fx-lb-btn:hover { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.44); }
.fx-lb-btn:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }

/* ==========================================================================
   Flaka Go brand mark inside the existing #flacago card (it had no image)
   ========================================================================== */
.fx-flakago-logo {
  width: 168px;
  height: auto;
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

/* ==========================================================================
   E · CERTIFICATES — styles ready. The markup stays commented out until the
   institutional documents are confirmed. See the note before the footer.
   ========================================================================== */
.fx-docs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: clamp(16px, 2vw, 26px);
  margin-top: clamp(34px, 4.4vw, 56px);
}
.fx-doc {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.fx-doc:hover { border-color: var(--orange); box-shadow: var(--shadow); }
.fx-doc img { width: 100%; height: 210px; object-fit: contain; background: var(--sand); border-radius: 8px; }
.fx-doc strong { color: var(--navy); font-size: .98rem; line-height: 1.4; }
.fx-doc span { color: var(--muted); font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1060px) {
  .fx-facts-grid { grid-template-columns: repeat(2, 1fr); }
  .fx-goals { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .fx-vision-top { grid-template-columns: 1fr; align-items: start; }
  .fx-vision-top .fx-lead { margin-top: 18px; }
  .fx-gallery-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .fx-section { padding: 54px 0; }
  #impact-stats.section-premium { padding: 54px 0; }
  .fx-title { max-width: none; }
  .fx-goal { padding-left: 18px; }
  #fxLightbox { width: 100vw; max-height: 100vh; border-radius: 0; }
  .fx-lb-stage img { max-height: 68vh; }
}
@media (max-width: 560px) {
  .fx-facts-grid { grid-template-columns: 1fr; }
  .fx-goals { grid-template-columns: 1fr; }
}

/* ==== SOURCE BLOCK: v35-art-direction ==== */


/* ------------------------------------------------------------------ *
 * 1. TOKENS
 * ------------------------------------------------------------------ */
:root{
  /* superficies claras */
  --paper:#FCFAF6;
  --paper-2:#F7F3EB;
  --sand:#F2EDE3;
  --sand-2:#E9E1D2;

  /* superficies oscuras */
  --ink:#0F1E26;
  --navy:#0E2C3C;
  --navy-2:#0A2130;
  --navy-deep:#061520;

  /* acento identitario */
  --orange:#D97A2B;
  --orange-soft:#E9A65E;
  --amber-glow:rgba(217,122,43,.34);

  /* texto */
  --muted:#5D6E78;
  --muted-2:#7A8A93;
  --on-dark:#EEF4F7;
  --on-dark-muted:rgba(233,241,245,.70);

  /* lineas */
  --line:rgba(15,30,38,.10);
  --line-2:rgba(15,30,38,.16);
  --line-dark:rgba(255,255,255,.12);
  --line-dark-2:rgba(255,255,255,.20);

  /* sombras en capas: cada nivel combina contacto + difusion + ambiente */
  --sh-xs:0 1px 2px rgba(10,33,48,.05), 0 2px 6px rgba(10,33,48,.04);
  --sh-sm:0 1px 2px rgba(10,33,48,.05), 0 4px 10px rgba(10,33,48,.05), 0 10px 22px rgba(10,33,48,.05);
  --sh-md:0 2px 4px rgba(10,33,48,.05), 0 8px 18px rgba(10,33,48,.07), 0 20px 42px rgba(10,33,48,.08);
  --sh-lg:0 3px 7px rgba(10,33,48,.06), 0 14px 30px rgba(10,33,48,.09), 0 36px 70px rgba(10,33,48,.12);
  --sh-xl:0 6px 14px rgba(10,33,48,.08), 0 26px 52px rgba(10,33,48,.12), 0 60px 110px rgba(10,33,48,.17);
  --sh-photo:0 2px 6px rgba(10,33,48,.10), 0 18px 40px rgba(10,33,48,.16), 0 50px 96px rgba(10,33,48,.16);
  --sh-rim:inset 0 1px 0 rgba(255,255,255,.60);
  --sh-rim-dark:inset 0 1px 0 rgba(255,255,255,.08);

  /* radios */
  --r-xs:8px; --r-sm:14px; --r-md:20px; --r-lg:26px; --r-xl:34px;
  --radius:var(--r-lg);
  --shadow:var(--sh-md);

    /* ritmo */
  --max:min(1720px, 96vw);
  --band:clamp(78px,8.4vw,126px);

  /* espaciado vertical unificado */
  --space-section: clamp(60px, 8vw, 110px);
  --space-block: clamp(24px, 4vw, 40px);
  --space-block-sm: clamp(16px, 2.5vw, 24px);
  --space-text: clamp(14px, 2vw, 20px);
  --space-text-sm: clamp(10px, 1.5vw, 14px);
  --space-inset: clamp(16px, 2.6vw, 20px);

  /* tipografia por rol */
  --font-size-display: clamp(2.7rem, 4.7vw, 4.8rem);
  --font-size-title: clamp(2.55rem, 4.3vw, 3.95rem);
  --font-size-h2: clamp(2.1rem, 3.1vw, 2.9rem);
    --font-size-h3: clamp(1.3rem, 2vw, 1.55rem);
  --font-size-h4: clamp(1rem, 1.25vw, 1.15rem);
  --font-size-card-title: clamp(1.25rem, 1.8vw, 1.45rem);
  --font-size-kicker: clamp(0.6rem, 0.8vw, 0.65rem);
  --font-size-body: clamp(0.95rem, 1vw, 1.02rem);
  --font-size-small: clamp(0.8rem, 0.9vw, 0.85rem);
  --font-size-stat-num: clamp(2.6rem, 4vw, 3.6rem);
  --font-size-stat-label: clamp(0.9rem, 1vw, 1rem);
  --font-weight-display: 500;
  --font-weight-title: 500;
  --font-weight-h2: 600;
  --font-weight-h3: 700;
  --font-weight-card: 600;
  --font-weight-body: 400;
  --font-weight-kicker: 700;
  --font-weight-stat: 800;
  --line-height-body: 1.62;
  --line-height-heading: 1.1;
  --line-height-card: 1.35;
  --line-height-stat: 1.1;

  /* fuentes */
  --font-sans:"Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --font-serif:"Playfair Display",Georgia,"Times New Roman",serif;

  /* movimiento */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --t-fast:.22s; --t:.40s; --t-slow:.75s;

  /* altura real de la cabecera, la ajusta el JS */
  --head-h:74px;
}

/* ------------------------------------------------------------------ *
 * 2. BASE Y TIPOGRAFIA
 * ------------------------------------------------------------------ */
html{ scroll-padding-top:calc(var(--head-h) + 18px); }

body{
  font-family:var(--font-sans);
  font-size:16.5px;
  line-height:var(--line-height-body);
  letter-spacing:-.005em;
  color:var(--ink);
  background:var(--sand);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body h1, body h2, body h3, body h4,
body .hero-title-v23, body .fx-title{
  font-family:var(--font-serif);
  font-weight:600;
  letter-spacing:-.018em;
  line-height:1.12;
  text-wrap:balance;
}

body h1, body .hero-title-v23{
  font-weight:500;
  font-size:var(--font-size-title);
  line-height:1.04;
  letter-spacing:-.025em;
}
body h2{ font-size:var(--font-size-h2); }
body h3{ font-size:var(--font-size-h3); font-weight:700; letter-spacing:-.012em; }
body h4{ font-size:var(--font-size-h4); font-weight:700; }

body p{ text-wrap:pretty; }

/* cursiva elegante para los enfasis de titular */
body h1 em, body h2 em, body h3 em{
  font-style:italic;
  font-weight:400;
  color:var(--orange);
}

/* etiqueta superior: regla + versalita */
body .eyebrow, body .fx-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--orange);
  font-family:var(--font-sans);
  font-size:var(--font-size-kicker);
  font-weight:var(--font-weight-kicker);
  letter-spacing:.17em;
  text-transform:uppercase;
}
body .eyebrow::before, body .fx-eyebrow::before{
  content:"";
  width:26px; height:1px;
  background:currentColor;
  opacity:.7;
}

/* foco visible y homogeneo en toda la pagina */
body :focus-visible{
  outline:2px solid var(--orange);
  outline-offset:3px;
  border-radius:6px;
}

::selection{ background:rgba(217,122,43,.22); }

/* ------------------------------------------------------------------ *
 * 2.1 TIPOGRAFIA UNIFICADA POR ROLES (override global)
 * ------------------------------------------------------------------ */

/* --- h2 de sección: todos comparten el mismo estilo --- */
body h2,
body .section-head h2,
body .hero-title-v23 h2,
body .programs h2,
body .method h2,
body .governance h2,
body .team h2,
body .support-section h2,
body .courses-section h2,
body .footer-section h2,
body .story-section h2 {
  font-family: var(--font-serif);
  font-size: var(--font-size-display);
  font-weight: var(--font-weight-display);
  line-height: var(--line-height-heading);
  letter-spacing: -.025em;
  text-align: left;
  margin: 0 0 var(--space-text-sm) 0;
}

/* --- h1 / hero title principal --- */
body h1,
body .hero-title-v23,
body .hero-copy h1 {
  font-family: var(--font-serif);
  font-size: clamp(2.55rem, 4.3vw, 3.95rem);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -.025em;
  text-align: left;
  margin: 0 0 var(--space-text-sm) 0;
}

/* --- h3: títulos de tarjeta, subtítulos de bloque --- */
body h3,
body .story-panel h3,
body .programs article h3,
body .team-card h3,
body .governance-card h3,
body .team-governance h3,
body .story-steps strong,
body .hero-proof strong {
  font-family: var(--font-serif);
  font-size: var(--font-size-card-title);
  font-weight: var(--font-weight-card);
  line-height: var(--line-height-card);
  letter-spacing: -.012em;
  text-align: left;
  margin: 0 0 var(--space-text-sm) 0;
}

/* --- kicker / eyebrow: etiquetas superiores --- */
body .eyebrow,
body .fx-eyebrow,
body .hero-origin span,
body .identity-grid span,
body .story-steps span,
body .team-card-top > span {
  font-family: "Inter", sans-serif;
  font-size: var(--font-size-kicker);
  font-weight: var(--font-weight-kicker);
  letter-spacing: .15em;
  text-transform: uppercase;
  text-align: left;
  margin: 0 0 var(--space-text-sm) 0;
}

/* --- párrafos de cuerpo: justificado con hyphenation --- */
body p,
body .section-head > p,
body .story-panel p,
body .programs article p,
body .team-bio p,
body .governance-card p,
body .team-governance > p,
body .method-statement p,
body .method p,
body .support-v29-secondary p,
body .footer-section p,
body .hero-copy p {
  font-family: "Inter", sans-serif;
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-body);
  line-height: var(--line-height-body);
  letter-spacing: -.005em;
  text-align: left;
  hyphens: auto;
  text-align-last: left;
  margin: 0 0 var(--space-text-sm) 0;
}

/* justificado solo para párrafos de cuerpo de varias líneas */
body .section-head > p,
body .story-panel p,
body .programs article p,
body .team-bio p,
body .governance-card p,
body .team-governance > p,
body .method-statement p,
body .method p,
body .support-v29-secondary p,
body .footer-section p,
body .hero-copy p {
  text-align: justify;
  hyphens: auto;
  text-align-last: left;
}

/* --- texto pequeño / notas --- */
body .hero-proof span,
body .fx-av-note,
body .method small,
body .small-text {
  font-family: "Inter", sans-serif;
  font-size: var(--font-size-small);
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
}

/* --- números / estadísticas --- */
body .stat-number {
  font-family: var(--font-serif);
  font-size: var(--font-size-stat-num);
  font-weight: var(--font-weight-stat);
  line-height: var(--line-height-stat);
  text-align: left;
  margin: 0 0 var(--space-text-sm) 0;
}

/* --- etiquetas de estadística --- */
body .stat-label {
  font-family: "Inter", sans-serif;
  font-size: var(--font-size-stat-label);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .05em;
  text-align: left;
  margin: 0;
}

/* --- botones / CTAs --- */
body .nav-cta,
body .button-primary,
body .button-secondary,
body .hero-proof strong,
body .cta-button {
  font-family: "Inter", sans-serif;
  font-size: clamp(0.75rem, 1vw, 0.82rem);
  font-weight: 700;
  letter-spacing: .02em;
  text-align: center;
}

/* --- footer --- */
body .footer-section h3 {
  font-family: "Inter", sans-serif;
  font-size: clamp(0.95rem, 1.2vw, 1.1rem);
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
  margin: 0 0 var(--space-text-sm) 0;
}

body .footer-section p {
  font-family: "Inter", sans-serif;
  font-size: var(--font-size-small);
  font-weight: 400;
  line-height: 1.55;
  text-align: left;
  margin: 0 0 var(--space-text-sm) 0;
}

/* --- spacing unificado entre secciones --- */
body .section {
  padding: var(--space-section) 0;
}

body .section-tight {
  padding: var(--space-block) 0;
}

/* --- spacing entre título y párrafo dentro de bloques de texto --- */
body h2 + p,
body .section-head h2 + p,
body h3 + p,
body .story-panel h3 + p,
body .programs article h3 + p,
body .team-card h3 + p {
  margin-top: 0;
}

/* ------------------------------------------------------------------ *
 * 3. RITMO DE SECCION Y COSTURAS ENTRE SUPERFICIES
 * ------------------------------------------------------------------ */
body .section{ padding:var(--band) 0; }
body .section-tight{ padding:calc(var(--band) * .66) 0; }
body .section-premium{ padding:var(--band) 0; }

/* lavado radial calido sobre las superficies claras: quita el efecto plano */
body .section,
body .section-premium{
  position:relative;
  isolation:isolate;
}

body .shell{ width:min(calc(100% - 44px), var(--max)); }

/* costura: degradado fino que enlaza una banda con la siguiente */
.v35-seam{
  display:block;
  height:clamp(56px,7vw,104px);
  margin:0;
  border:0;
  pointer-events:none;
}
.v35-seam--dark-to-sand{ background:linear-gradient(180deg,var(--navy-deep) 0%,#12303F 38%,var(--sand) 100%); }
.v35-seam--sand-to-dark{ background:linear-gradient(180deg,var(--sand) 0%,#1A3A4A 64%,var(--navy-deep) 100%); }

/* ------------------------------------------------------------------ *
 * 4. CABECERA Y NAVEGACION
 * ------------------------------------------------------------------ */
body .site-header{
  position:sticky; top:0; z-index:120;
  border-bottom:1px solid transparent;
  background:linear-gradient(180deg,rgba(6,21,32,.92),rgba(6,21,32,.62));
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  transition:background var(--t) var(--ease), border-color var(--t) var(--ease), box-shadow var(--t) var(--ease);
}
/* al desplazarse, la cabecera se asienta en papel */
body .site-header.is-stuck{
  background:rgba(252,250,246,.88);
  border-bottom-color:var(--line);
  box-shadow:0 1px 0 rgba(15,30,38,.04), 0 12px 30px rgba(10,33,48,.07);
}

body .nav{ min-height:var(--head-h); gap:22px; }

body .brand img{ width:86px; height:44px; }
body .brand-copy strong{
  font-family:"Inter",sans-serif;
  font-size:.8rem; font-weight:700; letter-spacing:-.01em;
  color:var(--on-dark);
  transition:color var(--t) var(--ease);
}
body .brand-copy span{
  font-size:.575rem; letter-spacing:.15em;
  color:rgba(233,241,245,.55);
  transition:color var(--t) var(--ease);
}
body .site-header.is-stuck .brand-copy strong{ color:var(--ink); }
body .site-header.is-stuck .brand-copy span{ color:var(--muted-2); }

body .nav-links a,
body .nav-links summary,
body .nav-cluster-premium > summary{
  color:rgba(233,241,245,.82);
  font-family:"Inter",sans-serif;
  font-size:.775rem;
  font-weight:500;
  letter-spacing:.002em;
  border-radius:999px;
  transition:color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
body .site-header.is-stuck .nav-links a,
body .site-header.is-stuck .nav-links summary,
body .site-header.is-stuck .nav-cluster-premium > summary{ color:#42545E; }

body .nav-links a:hover,
body .nav-links a.active,
body .nav-links summary:hover{
  color:#fff;
  background:rgba(255,255,255,.10);
}
body .site-header.is-stuck .nav-links a:hover,
body .site-header.is-stuck .nav-links a.active,
body .site-header.is-stuck .nav-links summary:hover{
  color:var(--navy);
  background:rgba(14,44,60,.07);
}

/* subrayado progresivo en los enlaces simples del menu */
body .nav-links > a{ position:relative; }
body .nav-links > a::after{
  content:"";
  position:absolute; left:11px; right:11px; bottom:5px;
  height:1px;
  background:var(--orange);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--t) var(--ease);
}
body .nav-links > a:hover::after{ transform:scaleX(1); }

body .menu-toggle{
  border-color:var(--line-dark);
  background:rgba(255,255,255,.08);
  color:var(--on-dark);
  border-radius:12px;
  transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
body .site-header.is-stuck .menu-toggle{
  border-color:var(--line);
  background:var(--paper);
  color:var(--navy);
}

/* ------------------------------------------------------------------ *
 * 5. BOTONES Y CONTROLES
 * ------------------------------------------------------------------ */
body .nav-cta,
body .button-primary,
body .button-secondary{
  position:relative;
  min-height:46px;
  padding:0 22px;
  border-radius:999px;
  font-family:"Inter",sans-serif;
  font-size:.795rem;
  font-weight:600;
  letter-spacing:.005em;
  overflow:hidden;
  transition:transform var(--t) var(--ease), box-shadow var(--t) var(--ease),
             background-color var(--t) var(--ease), color var(--t) var(--ease),
             border-color var(--t) var(--ease);
  will-change:transform;
}

body .nav-cta,
body .button-primary{
  color:#fff;
  background:linear-gradient(180deg,#14384B,#0C2634);
  box-shadow:var(--sh-sm), var(--sh-rim-dark);
}
/* barrido de luz al pasar el cursor */
body .nav-cta::after,
body .button-primary::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(115deg,transparent 28%,rgba(255,255,255,.20) 48%,transparent 64%);
  transform:translateX(-120%);
  transition:transform .75s var(--ease-out);
  pointer-events:none;
}
body .nav-cta:hover::after,
body .button-primary:hover::after{ transform:translateX(120%); }

body .nav-cta:hover,
body .button-primary:hover{
  transform:translateY(-2px);
  box-shadow:var(--sh-md), var(--sh-rim-dark);
}
body .nav-cta:active,
body .button-primary:active,
body .button-secondary:active{ transform:translateY(0); transition-duration:.08s; }

body .button-primary.is-accent,
body .v35-cta-accent{
  background:linear-gradient(180deg,#E08A3C,#C96A1E);
  box-shadow:0 2px 6px rgba(160,84,20,.24), 0 14px 30px rgba(160,84,20,.22), var(--sh-rim-dark);
}

body .button-secondary{
  color:var(--navy);
  border:1px solid rgba(14,44,60,.16);
  background:rgba(255,255,255,.72);
  box-shadow:var(--sh-xs);
}
body .button-secondary:hover{
  transform:translateY(-2px);
  border-color:rgba(14,44,60,.28);
  background:#fff;
  box-shadow:var(--sh-sm);
}

/* variante para fondo oscuro */
.v35-on-dark .button-secondary,
.v35-dark .button-secondary{
  color:var(--on-dark);
  border-color:var(--line-dark-2);
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(10px);
}
.v35-on-dark .button-secondary:hover,
.v35-dark .button-secondary:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.34);
}

/* ------------------------------------------------------------------ *
 * 6. PROFUNDIDAD COMPARTIDA EN TARJETAS Y FOTOGRAFIA
 * ------------------------------------------------------------------ */
body .stat-item,
body .cert-card{
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--sh-sm), var(--sh-rim);
  transition:transform var(--t) var(--ease), box-shadow var(--t) var(--ease), border-color var(--t) var(--ease);
}
body .stat-item:hover,
body .cert-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--sh-lg), var(--sh-rim);
}

/* marco fotografico: filo interior, sombra en capas y zoom contenido */
.v35-frame{
  position:relative;
  overflow:hidden;
  border-radius:var(--r-lg);
  background:var(--navy-2);
  box-shadow:var(--sh-photo);
  isolation:isolate;
}
.v35-frame::after{
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 0 90px rgba(6,21,32,.30);
  pointer-events:none;
  z-index:3;
}
.v35-frame img{
  width:100%; height:100%;
  object-fit:cover;
  transform:scale(1.001);
  transition:transform 1.1s var(--ease-out), filter var(--t-slow) var(--ease);
}
.v35-frame:hover img{ transform:scale(1.045); }

/* ------------------------------------------------------------------ *
 * 7. HERO
 * ------------------------------------------------------------------ */
body .hero{
  position:relative;
  padding:clamp(52px,6.4vw,92px) 0 clamp(44px,5vw,70px);
  color:var(--on-dark);
  background:
    radial-gradient(90rem 44rem at 74% -12%, rgba(217,122,43,.26), transparent 62%),
    radial-gradient(60rem 40rem at 6% 108%, rgba(44,103,127,.30), transparent 68%),
    linear-gradient(168deg,#143A4D 0%,#0E2C3C 42%,#061520 100%);
  background-color:#0A2130;
  overflow:hidden;
}
/* trama sutil que da grano y evita el degradado plano */
body .hero::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(70rem 46rem at 50% 30%, #000 20%, transparent 78%);
  -webkit-mask-image:radial-gradient(70rem 46rem at 50% 30%, #000 20%, transparent 78%);
  pointer-events:none;
}

body .hero-grid{
  position:relative; z-index:2;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(36px,4.4vw,72px);
  align-items:center;
}

body .hero-copy .eyebrow{ color:var(--orange-soft); }

body .hero-copy h1,
body .hero-copy .hero-title-v23{
  max-width:15ch;
  margin:20px 0 26px;
  color:#FDFBF7;
  font-size:clamp(2.7rem,4.5vw,4.15rem);
  line-height:1.02;
  letter-spacing:-.028em;
  font-weight:500;
}

/* la cita se convierte en destacado editorial con filete ambar */
.v35-hero-quote{
  position:relative;
  max-width:46ch;
  margin:0 0 22px;
  padding-left:20px;
  border-left:2px solid var(--orange);
  color:#F4EFE6;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(1.02rem,1.25vw,1.2rem);
  font-style:italic;
  font-weight:400;
  line-height:1.58;
}

.v35-hero-body{
  max-width:56ch;
  margin:0 0 30px;
  color:var(--on-dark-muted);
  font-size:.955rem;
  line-height:1.78;
}

body .hero-actions{ gap:12px; }

/* indicador de desplazamiento */
.v35-scroll-cue{
  display:inline-flex;
  align-items:center;
  gap:11px;
  margin-top:34px;
  color:rgba(233,241,245,.56);
  font-size:.665rem;
  font-weight:600;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.v35-scroll-cue i{
  display:block;
  width:1px; height:30px;
  background:linear-gradient(180deg,var(--orange),transparent);
  animation:v35-cue 2.4s var(--ease) infinite;
  transform-origin:top;
}
@keyframes v35-cue{
  0%,100%{ transform:scaleY(.35); opacity:.5; }
  50%    { transform:scaleY(1);   opacity:1; }
}

/* escenario luminoso para el retrato de Flaca */
body .hero-visual{
  position:relative;
  min-height:clamp(420px,42vw,560px);
  border-radius:var(--r-xl);
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(28rem 22rem at 52% 30%, rgba(233,166,94,.30), transparent 68%),
    linear-gradient(158deg, rgba(255,255,255,.10), rgba(255,255,255,.015) 44%, rgba(6,21,32,.30));
  box-shadow:0 30px 70px rgba(4,14,21,.44), inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
  overflow:visible;
}
body .hero-visual::before{
  inset:18px;
  border-color:rgba(255,255,255,.08);
  border-radius:calc(var(--r-xl) - 10px);
}
/* halo trasero */
body .hero-visual::after{
  content:"";
  position:absolute;
  left:50%; bottom:6%;
  width:70%; height:34px;
  transform:translateX(-50%);
  background:radial-gradient(50% 50% at 50% 50%, rgba(3,11,17,.62), transparent 72%);
  filter:blur(10px);
  z-index:1;
}
body .hero-visual img{
  bottom:0;
  width:min(88%,560px);
  max-height:96%;
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.42));
  animation:v35-float 9s ease-in-out infinite;
}
@keyframes v35-float{
  0%,100%{ transform:translate(-50%,0); }
  50%    { transform:translate(-50%,-10px); }
}

/* ------------------------------------------------------------------ *
 * 8. FRANJA DE CREDENCIALES (continua el hero en oscuro)
 * ------------------------------------------------------------------ */
body .identity-strip{
  position:relative;
  border-block:0;
  background:linear-gradient(180deg,#061520,#08202C);
  color:var(--on-dark);
}
body .identity-strip::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(233,166,94,.42),transparent);
}
body .identity-grid article{
  min-height:88px;
  padding:22px 26px 22px 0;
  border-right:1px solid var(--line-dark);
}
body .identity-grid article:first-child{ padding-left:0; }
body .identity-grid span{
  color:rgba(233,241,245,.48);
  font-size:.60rem;
  letter-spacing:.15em;
}
body .identity-grid strong{
  color:#F6F2EA;
  font-family:"Inter",sans-serif;
  font-size:.885rem;
  font-weight:600;
  letter-spacing:-.008em;
}

/* ------------------------------------------------------------------ *
 * 9. CIFRAS INSTITUCIONALES
 * ------------------------------------------------------------------ */
body #impact-stats{
  background:
    radial-gradient(52rem 28rem at 50% -18%, rgba(217,122,43,.09), transparent 66%),
    linear-gradient(180deg,var(--paper),var(--sand));
}
body #impact-stats .fx-head{ margin-bottom:clamp(38px,4vw,58px); }
body .fx-facts-grid{ gap:clamp(20px,2.4vw,34px); }

body .fx-fact{
  position:relative;
  padding:30px 26px 28px;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:linear-gradient(180deg,#fff,var(--paper));
  box-shadow:var(--sh-sm), var(--sh-rim);
  transition:transform var(--t) var(--ease), box-shadow var(--t) var(--ease), border-color var(--t) var(--ease);
}
body .fx-fact::before{
  content:"";
  position:absolute; left:26px; top:0;
  width:34px; height:2px;
  background:linear-gradient(90deg,var(--orange),var(--orange-soft));
  border-radius:0 0 2px 2px;
  transition:width var(--t-slow) var(--ease-out);
}
body .fx-fact:hover{
  transform:translateY(-6px);
  border-color:rgba(217,122,43,.28);
  box-shadow:var(--sh-lg), var(--sh-rim);
}
body .fx-fact:hover::before{ width:64px; }

body .fx-fact-value{
  display:block;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(3rem,4.4vw,4rem);
  font-weight:500;
  line-height:1;
  letter-spacing:-.035em;
  color:var(--navy);
}
body .fx-fact-label{
  display:block;
  margin-top:16px;
  font-size:.875rem;
  font-weight:600;
  line-height:1.42;
  color:var(--ink);
}
body .fx-fact-note{
  display:block;
  margin-top:9px;
  font-size:.635rem;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--muted-2);
}

/* ------------------------------------------------------------------ *
 * 10. TITULARES DE SECCION
 * ------------------------------------------------------------------ */
body .fx-head{ max-width:none; }
body .fx-title{
  margin:16px 0 0;
  font-size:clamp(1.9rem,3vw,2.8rem);
}
body .fx-lead{
  max-width:62ch;
  margin-top:16px;
  color:var(--muted);
  font-size:1rem;
  line-height:1.72;
}
body .fx-head--center .fx-lead{ margin-inline:auto; }
body .fx-on-dark .fx-lead{ color:var(--on-dark-muted); }
body .fx-on-dark .fx-title{ color:#FBF8F2; }

/* ------------------------------------------------------------------ *
 * 11. VIDEO INSTITUCIONAL
 * ------------------------------------------------------------------ */
body #video{
  background:
    radial-gradient(64rem 34rem at 50% 6%, rgba(44,103,127,.30), transparent 68%),
    linear-gradient(180deg,var(--navy-deep),#0B2635 52%,var(--navy-deep));
}
body .fx-video-frame{
  border-radius:var(--r-xl);
  box-shadow:var(--sh-photo);
}
body .fx-video-frame::after{
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 0 120px rgba(6,21,32,.55);
  pointer-events:none;
}
body .fx-badge{
  border:1px solid rgba(255,255,255,.26);
  background:rgba(8,26,36,.62);
  backdrop-filter:blur(12px);
  box-shadow:0 10px 28px rgba(0,0,0,.34);
  letter-spacing:.17em;
}

/* ------------------------------------------------------------------ *
 * 12. VISION 2030
 * ------------------------------------------------------------------ */
body #vision2030.fx-horizon{
  background:#07131c;
}
body #vision2030{
  background:
    radial-gradient(56rem 30rem at 84% 0%, rgba(217,122,43,.20), transparent 62%),
    linear-gradient(180deg,#0B2635,#061520);
}
body .fx-goal{
  border-color:var(--line-dark);
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.018));
  border-radius:var(--r-md);
  box-shadow:var(--sh-rim-dark);
  transition:transform var(--t) var(--ease), background var(--t) var(--ease), border-color var(--t) var(--ease);
}
body .fx-goal:hover{
  transform:translateY(-4px);
  border-color:rgba(233,166,94,.40);
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.03));
}
body .fx-goal-value{
  font-family:"Playfair Display",Georgia,serif;
  font-weight:500;
  letter-spacing:-.03em;
  color:var(--orange-soft);
}

/* ------------------------------------------------------------------ *
 * 13. PIE DE PAGINA
 * ------------------------------------------------------------------ */
body .footer{
  position:relative;
  background:linear-gradient(180deg,#061520,#030C12);
  color:var(--on-dark);
}
body .footer::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(233,166,94,.34),transparent);
}
body .footer h3{
  font-family:"Inter",sans-serif;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--orange-soft);
}
body .footer nav a{
  color:rgba(233,241,245,.66);
  transition:color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
body .footer nav a:hover{ color:#fff; transform:translateX(3px); }

/* ------------------------------------------------------------------ *
 * 14. SISTEMA DE MOVIMIENTO
 * ------------------------------------------------------------------ */
/* Sin JS no se aplica nada: el contenido nace visible. */
.fx-js .v35-rise{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .78s var(--ease-out), transform .78s var(--ease-out);
  transition-delay:calc(var(--i,0) * 85ms);
  will-change:opacity, transform;
}
.fx-js .v35-rise.is-in{ opacity:1; transform:none; }

/* variantes */
.fx-js .v35-rise--soft{ transform:translateY(14px); }
.fx-js .v35-rise--scale{ transform:translateY(22px) scale(.985); }
.fx-js .v35-rise--scale.is-in{ transform:none; }

/* escalonado automatico de hijos directos */
.fx-js .v35-stagger > *{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .68s var(--ease-out), transform .68s var(--ease-out);
}
.fx-js .v35-stagger.is-in > *{ opacity:1; transform:none; }
.fx-js .v35-stagger.is-in > *:nth-child(1){ transition-delay:.02s; }
.fx-js .v35-stagger.is-in > *:nth-child(2){ transition-delay:.10s; }
.fx-js .v35-stagger.is-in > *:nth-child(3){ transition-delay:.18s; }
.fx-js .v35-stagger.is-in > *:nth-child(4){ transition-delay:.26s; }
.fx-js .v35-stagger.is-in > *:nth-child(5){ transition-delay:.34s; }
.fx-js .v35-stagger.is-in > *:nth-child(6){ transition-delay:.42s; }
.fx-js .v35-stagger.is-in > *:nth-child(n+7){ transition-delay:.50s; }

/* ------------------------------------------------------------------ *
 * 15. RESPONSIVE
 * ------------------------------------------------------------------ */
@media (max-width:1080px){
  body .hero-grid{ grid-template-columns:1fr; gap:40px; }
  body .hero-copy h1, body .hero-copy .hero-title-v23{ max-width:18ch; }
  body .hero-visual{ min-height:400px; }
  body .identity-grid{ grid-template-columns:repeat(2,1fr); }
  body .identity-grid article{ border-bottom:1px solid var(--line-dark); }
  body .identity-grid article:nth-child(2n){ border-right:0; padding-right:0; }
  body .identity-grid article:nth-child(2n+1){ padding-left:0; }
  body .identity-grid article:nth-last-child(-n+2){ border-bottom:0; }
}

@media (max-width:860px){
  body .site-header{ background:rgba(6,21,32,.94); }
}

@media (max-width:640px){
  :root{ --band:clamp(58px,13vw,86px); }
  body{ font-size:16px; }
  body .shell{ width:calc(100% - 34px); }
  body .hero{ padding:38px 0 46px; }
  body .hero-copy h1, body .hero-copy .hero-title-v23{
    max-width:none;
    font-size:clamp(2.2rem,9.4vw,2.9rem);
    margin:16px 0 20px;
  }
  .v35-hero-quote{ font-size:1rem; padding-left:16px; }
  .v35-hero-body{ font-size:.92rem; }
  body .hero-actions{ flex-direction:column; align-items:stretch; }
  body .hero-actions a{ width:100%; }
  body .hero-visual{ min-height:330px; border-radius:var(--r-lg); }
  body .hero-visual img{ width:min(94%,420px); }
  body .identity-grid{ grid-template-columns:1fr; }
  body .identity-grid article{
    min-height:0;
    padding:16px 0;
    border-right:0;
    border-bottom:1px solid var(--line-dark);
  }
  body .identity-grid article:last-child{ border-bottom:0; }
  body .fx-fact{ padding:24px 22px; }
  .v35-scroll-cue{ display:none; }
}

/* ------------------------------------------------------------------ *
 * 16. MOVIMIENTO REDUCIDO
 * ------------------------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  body *,
  body *::before,
  body *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .fx-js .v35-rise,
  .fx-js .v35-stagger > *{ opacity:1 !important; transform:none !important; }
      body .hero-visual img{ animation:none; }
  .v35-scroll-cue i{ animation:none; }
}

/* ==== SOURCE BLOCK: v37-live ==== */

/* F20F · v37 — real silent MP4 players + refined presentation chrome */
.fx-photo-msg{position:relative;margin:0;border-radius:16px;overflow:hidden;isolation:isolate;box-shadow:var(--sh-photo,0 18px 40px rgba(10,33,48,.16));}
.fx-photo-msg img{display:block;width:100%;height:auto;}
.fx-photo-msg figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 22px 20px;background:linear-gradient(180deg,transparent 0%,rgba(6,21,32,.18) 28%,rgba(6,21,32,.78) 100%);color:#fff;pointer-events:none;}
.fx-photo-msg figcaption strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.15rem,2.4vw,1.55rem);font-weight:700;line-height:1.25;letter-spacing:-.01em;max-width:22ch;}
.fx-photo-msg figcaption span{display:block;margin-top:8px;max-width:36ch;color:rgba(255,255,255,.86);font-size:.92rem;font-weight:600;line-height:1.45;}
@media (max-width:720px){
  .fx-photo-msg{display:flex;flex-direction:column;}
  .fx-photo-msg figcaption{position:static;background:var(--navy-2,#0A2130);padding:16px 18px 18px;}
}

.fx-story{margin-top:clamp(28px,4vw,48px);}
.fx-story-stage{position:relative;border-radius:clamp(16px,2vw,24px);overflow:hidden;background:var(--navy-2,#0A2130);aspect-ratio:16/9;box-shadow:var(--sh-xl,0 26px 52px rgba(10,33,48,.12));}
.fx-go-stage .fx-av-video,
.fx-story-stage .fx-av-video,
.fx-go-full-stage .fx-av-video{
  position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;object-position:center center;
  background:#040b12;transform:none;margin:0;
}
.fx-go-stage .fx-av-poster,
.fx-story-stage .fx-av-poster{
  position:absolute;inset:0;display:none;width:100%;height:100%;
  object-fit:cover;object-position:center center;margin:0;
}
.fx-av-poster{display:none;}
.fx-av.is-static .fx-av-video{display:none;}
.fx-av.is-static .fx-av-poster{display:block;}
.fx-story-progress,.fx-av-progress{position:absolute;left:16px;right:16px;top:14px;z-index:3;height:3px;border-radius:99px;background:rgba(255,255,255,.18);overflow:hidden;pointer-events:none;}
.fx-story-progress i,.fx-av-progress i{display:block;height:100%;width:0;background:var(--orange-soft,#E9A65E);}
.fx-story-controls,.fx-av-controls{display:none;position:absolute;right:14px;bottom:14px;z-index:4;gap:8px;}
html.fx-js .fx-story-controls,html.fx-js .fx-av-controls{display:flex;}
.fx-story-btn,.fx-av-btn{min-width:44px;min-height:44px;padding:0 12px;border:1px solid rgba(255,255,255,.32);border-radius:10px;background:rgba(8,31,42,.55);color:#fff;font-weight:800;cursor:pointer;backdrop-filter:blur(6px);}
.fx-story-btn:hover,.fx-story-btn:focus-visible,.fx-av-btn:hover,.fx-av-btn:focus-visible{background:rgba(8,31,42,.82);outline:2px solid var(--orange,#D97A2B);outline-offset:2px;}
.fx-story-next{margin:16px 0 0;display:inline-flex;align-items:center;gap:8px;color:var(--navy,#0E2C3C);font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;}
.fx-story-next:focus-visible{outline:3px solid var(--orange,#D97A2B);outline-offset:3px;}
.fx-av-note{margin:10px 0 0;color:var(--muted,#5D6E78);font-size:.88rem;line-height:1.45;}
@media (max-width:720px){
  .fx-story-stage{aspect-ratio:16/10;min-height:0;}
  .fx-story-controls,.fx-av-controls{position:static;justify-content:flex-end;padding:10px 12px 14px;background:var(--navy-2,#0A2130);}
  .fx-story-progress,.fx-av-progress{left:12px;right:12px;top:10px;}
}

.fx-vision-purpose{display:block;margin-top:10px;color:rgba(255,255,255,.72);font-size:.82rem;font-weight:650;line-height:1.45;max-width:22ch;}
.fx-vision-next{margin:18px 0 0;display:inline-flex;color:#fff;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55);}
.fx-vision-next:focus-visible{outline:3px solid var(--orange-soft,#E9A65E);outline-offset:3px;}
.fx-vision-replay[hidden],.fx-story-btn[hidden],.fx-av-btn[hidden]{display:none !important;}

.fx-go-preview{margin-top:18px;border:1px solid var(--line,rgba(20,37,45,.12));border-radius:18px;overflow:hidden;background:#0A2130;box-shadow:var(--sh-md,0 14px 32px rgba(10,33,48,.12));}
.fx-go-stage,.fx-go-full-stage{position:relative;background:#061520;isolation:isolate;}
.fx-go-stage{aspect-ratio:16/9;}
.fx-go-stage .fx-av-video{border-radius:0;}
.fx-sg{
  position:absolute; inset:0; width:100%; height:100%;
  pointer-events:none; z-index:2; opacity:.34;
  mix-blend-mode:screen;
}
.fx-go-stage .fx-sg{opacity:.28;}
.fx-go-full-stage .fx-sg{opacity:.22;}
.fx-sg circle,.fx-sg path{
  fill:none;
  stroke:rgba(233,166,94,.55);
  stroke-width:1;
}
.fx-sg .fx-sg-soft{stroke:rgba(181,213,216,.35); stroke-width:.75;}
.fx-sg .fx-sg-core{stroke:rgba(255,255,255,.28); stroke-width:.9;}
@keyframes fx-sg-drift{
  from{transform:rotate(0deg) scale(1);}
  to{transform:rotate(8deg) scale(1.04);}
}
.fx-sg-spin{
  transform-origin:50% 50%;
  animation:fx-sg-drift 48s linear infinite;
}
@media (prefers-reduced-motion:reduce){
  .fx-sg-spin{animation:none;}
}
.fx-go-invite{
  position:relative;
  background:
    radial-gradient(ellipse 80% 120% at 100% 0%, rgba(233,166,94,.08), transparent 55%),
    #fff;
  border-top:1px solid var(--line,rgba(20,37,45,.10));
}
.fx-go-invite-text{
  margin:0;
  padding:16px 18px 6px;
  color:var(--ink,#0F1E26);
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(1.05rem, 2.1vw, 1.22rem);
  line-height:1.4;
  font-weight:600;
  max-width:42ch;
}
.fx-go-invite-kicker{
  display:block;
  margin:0;
  padding:14px 18px 0;
  color:var(--orange,#D97A2B);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.fx-go-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 18px 16px;background:transparent;}
.fx-go-open{appearance:none;border:0;border-radius:999px;background:var(--navy,#0E2C3C);color:#fff;padding:12px 18px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;letter-spacing:.02em;}
.fx-go-open:focus-visible,.fx-go-pause:focus-visible,.fx-av-btn:focus-visible,.fx-go-manual:focus-visible{outline:3px solid var(--orange,#D97A2B);outline-offset:2px;}
.fx-go-pause{appearance:none;border:1px solid var(--line,rgba(20,37,45,.16));border-radius:999px;background:#fff;padding:11px 14px;font-weight:800;cursor:pointer;}
.fx-go-manual{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;appearance:none;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:var(--navy,#0E2C3C);padding:14px 22px;font-weight:800;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.28);}
.fx-go-manual[hidden]{display:none !important;}
.fx-go-vol{display:inline-flex;align-items:center;min-width:90px;}
.fx-go-vol input{width:90px;accent-color:var(--navy,#0E2C3C);}
.fx-go-transcript-box{background:#fff;color:var(--ink,#0F1E26);padding:0 16px 14px;}
.fx-go-transcript-box summary{cursor:pointer;font-weight:800;padding:6px 0 10px;}
html:not(.fx-js) .fx-go-pause,html:not(.fx-js) .fx-story-controls,html:not(.fx-js) .fx-av-controls{display:none;}
.fx-go-progress{flex:1;min-width:80px;height:3px;border-radius:99px;background:rgba(16,47,64,.12);overflow:hidden;}
.fx-go-progress i{display:block;height:100%;width:0;background:var(--orange,#D97A2B);}
.fx-go-transcript{margin:0;padding:0 14px 14px;color:var(--muted,#5D6E78);font-size:.82rem;line-height:1.55;background:#fff;}
.fx-go-transcript li{margin:0 0 6px;}
#fxGoExplain{width:min(96vw,920px);max-height:94vh;padding:0;border:0;border-radius:20px;background:#061520;color:#fff;overflow:auto;box-shadow:0 28px 64px rgba(0,0,0,.45);}
#fxGoExplain::backdrop{background:rgba(6,22,30,.88);}
.fx-go-full-stage .fx-av-video{max-height:min(70vh,520px);object-fit:contain;background:#000;}
.fx-go-full-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 16px 12px;background:#fff;color:var(--ink,#0F1E26);}
.fx-go-full-nav a{color:var(--navy,#0E2C3C);}
.fx-go-full-nav a.fx-go-open{color:#fff;}
@media (max-width:520px){
  .fx-go-full-nav a.fx-go-open{flex:1 1 100%;justify-content:center;}
  .fx-go-full-nav #fxGoRescue,
  .fx-go-full-nav #fxHistoriaRescue{flex:1 1 100%;}
}
.fx-go-status{margin-left:auto;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#5D6E78);}
#fxGoExplain .fx-go-transcript{padding:0 0 8px;background:transparent;}
.fx-course-next,.fx-program-next{display:inline-flex;margin-top:14px;font-weight:800;color:var(--navy,#0E2C3C);}
#conocimiento .knowledge-v27-grid #flacago{grid-column:span 2;}
#fxGoPreview > .fx-go-transcript{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
section[id],.fx-section{scroll-margin-top:calc(var(--head-h,74px) + 12px);}
@media (max-width:900px){
  #conocimiento .knowledge-v27-grid #flacago{grid-column:auto;}
  .fx-go-status{width:100%;margin-left:0;}
}

@media (prefers-reduced-motion:reduce){
  .fx-av-video{display:none;}
  .fx-av-poster{display:block;}
}
body.f20f-editing .fx-av-video{pointer-events:none;}

/* ==== SOURCE BLOCK: v48-horizon ==== */

/* F20F · Horizon v48 — editorial full-bleed stage (fixes v47 layout bugs) */
body #vision2030.fx-horizon{
  background:#07131c;
}
#vision2030.fx-horizon{
  position:relative;
  overflow-x:clip;
  overflow-y:visible;
  background:#07131c;
  color:#f7f3ec;
  padding: clamp(72px, 9vw, 128px) 0;
}
#vision2030 .shell{
  position:relative;
  z-index:1;
  overflow:visible;
}

.fx-horizon-head{
  max-width:40rem;
  margin:0 0 clamp(20px,3vw,30px);
}
.fx-horizon-mark{
  display:inline-block;
  margin:0 0 12px;
  color:#c98a45;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.fx-horizon-title{
  margin:0 0 14px;
  font-family:'Playfair Display',Georgia,serif;
  font-weight:700;
  font-size:clamp(2.4rem, 5.2vw, 3.8rem);
  line-height:1.04;
  letter-spacing:-.025em;
}
.fx-horizon-lead{
  margin:0;
  max-width:48ch;
  color:rgba(247,243,236,.7);
  font-size:1.05rem;
  line-height:1.65;
}

.fx-horizon-modes{
  display:flex;
  gap:0;
  margin:0 0 14px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.fx-horizon-mode{
  appearance:none;
  border:0;
  background:transparent;
  color:rgba(247,243,236,.5);
  padding:14px 18px;
  font-size:.74rem;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
}
.fx-horizon-mode[aria-selected="true"]{
  color:#f7f3ec;
  border-bottom-color:#c98a45;
}
.fx-horizon-mode:focus-visible{outline:2px solid #c98a45;outline-offset:2px;}

#vision2030 .fx-horizon-panel{overflow:visible;}

.fx-horizon-rail{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:rgba(255,255,255,.12);
  margin:0 0 14px;
}
.fx-horizon-item{
  appearance:none;
  border:0;
  border-bottom:3px solid transparent;
  background:#0b1a24;
  color:inherit;
  text-align:left;
  padding:28px 24px 32px;
  cursor:pointer;
  min-height:168px;
  transition:background .2s ease, transform .2s ease;
}
.fx-horizon-item:hover,
.fx-horizon-item:focus-visible{
  background:#102433;
  outline:none;
}
.fx-horizon-item:hover{transform:translateY(-2px);}
.fx-horizon-item[aria-selected="true"]{
  background:#132c3a;
  border-bottom-color:#c98a45;
}
.fx-horizon-item-k{
  display:block;
  margin:0 0 10px;
  color:rgba(247,243,236,.45);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.fx-horizon-item-v{
  display:block;
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(1.8rem, 3vw, 2.5rem);
  font-weight:700;
  line-height:1;
  color:#fff;
  font-variant-numeric:tabular-nums;
}
.fx-horizon-item-u{
  display:block;
  margin-top:10px;
  color:rgba(247,243,236,.55);
  font-size:.82rem;
  line-height:1.35;
}

.fx-horizon-stage{
  position:relative;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  aspect-ratio:21/9;
  overflow:hidden;
  background:#040b12;
}
.fx-horizon-shot{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transition:opacity .55s ease;
  filter:saturate(.88) contrast(1.05);
}
.fx-horizon-shot.is-on{opacity:1;}
.fx-horizon-shot[data-shot="countries"]{object-position:center 30%;}
.fx-horizon-shot[data-shot="people"]{object-position:center 40%;}
.fx-horizon-shot[data-shot="animals"]{object-position:center 50%;}
.fx-horizon-shot[data-shot="gardens"]{object-position:center 45%;}
.fx-horizon-stage::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(4,11,18,.75) 0%, rgba(4,11,18,.35) 30%, transparent 55%),
    linear-gradient(0deg, rgba(4,11,18,.6) 0%, transparent 30%);
  pointer-events:none;
}
.fx-horizon-caption{
  position:absolute;
  inset:0 auto 0 0;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  align-content:flex-end;
  width:min(100%, 32rem);
  max-width:32rem;
  padding:clamp(40px,6vw,72px) clamp(28px,5vw,56px) clamp(56px,7vw,88px);
  pointer-events:none;
}
.fx-horizon-caption > *{pointer-events:auto;}
.fx-horizon-caption-k{
  flex:0 0 100%;
  margin:0 0 16px;
  color:#c98a45;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.fx-horizon-metric{
  flex:0 0 100%;
  margin:0;
  line-height:1;
}
.fx-horizon-caption-v{
  display:inline;
  margin:0;
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(3.2rem, 8vw, 5.6rem);
  font-weight:700;
  line-height:.95;
  letter-spacing:-.03em;
  color:#fff;
  font-variant-numeric:tabular-nums;
}
.fx-horizon-caption-u{
  display:inline;
  margin:0 0 0 .4em;
  color:rgba(247,243,236,.7);
  font-size:1rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:650;
}
.fx-horizon-caption-p{
  flex:0 0 100%;
  margin:22px 0 0;
  color:#fff;
  font-size:1.05rem;
  line-height:1.6;
  max-width:42ch;
}
.fx-horizon-caption-note{
  position:absolute;
  z-index:3;
  left:clamp(28px,5vw,56px);
  right:clamp(28px,5vw,56px);
  bottom:clamp(16px,2.5vw,28px);
  margin:0;
  color:rgba(247,243,236,.45);
  font-size:.75rem;
  line-height:1.4;
}
.fx-horizon-actions{
  flex:0 0 100%;
  display:flex;
  flex-wrap:wrap;
  gap:14px 20px;
  align-items:center;
  margin-top:26px;
}
.fx-horizon-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.04);
  color:#f7f3ec;
  padding:11px 16px;
  font-size:.74rem;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.fx-horizon-btn:hover,
.fx-horizon-btn:focus-visible{
  border-color:#c98a45;
  outline:none;
}
.fx-horizon-link{
  color:#f7f3ec;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(247,243,236,.4);
  padding-bottom:2px;
}
.fx-horizon-link:hover{border-bottom-color:#c98a45;}

.fx-near-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:rgba(255,255,255,.12);
}
.fx-near-card{
  background:#0b1a24;
  padding:clamp(24px,3vw,36px);
  min-height:200px;
}
.fx-near-status{
  display:inline-block;
  margin:0 0 14px;
  padding:5px 10px;
  border:1px solid rgba(201,138,69,.5);
  color:#c98a45;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.fx-near-status.is-dev{
  border-color:rgba(247,243,236,.28);
  color:rgba(247,243,236,.7);
}
.fx-near-card h3{
  margin:0 0 10px;
  font-family:'Playfair Display',Georgia,serif;
  font-size:1.55rem;
  color:#fff;
}
.fx-near-card p{
  margin:0;
  color:rgba(247,243,236,.7);
  font-size:.95rem;
  line-height:1.55;
  max-width:42ch;
}

@media (max-width:900px){
  .fx-horizon-rail{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fx-near-grid{grid-template-columns:1fr;}
  .fx-horizon-caption{
    width:100%;
    max-width:none;
    padding-bottom:clamp(64px,10vw,96px);
  }
}
@media (max-width:560px){
  .fx-horizon-rail{grid-template-columns:1fr;}
  .fx-horizon-stage{aspect-ratio:4/5;}
  .fx-horizon-caption-v{font-size:clamp(2.6rem, 12vw, 3.6rem);}
}
@media (prefers-reduced-motion:reduce){
  .fx-horizon-shot{transition:none;}
  .fx-horizon-item{transition:background .2s ease;}
  .fx-horizon-item:hover{transform:none;}
}

/* ==== SOURCE BLOCK: v44-layout-viz ==== */

/* Desktop width + full-section cinema visualizers */
:root{
  --max:min(1720px, 96vw) !important;
}
@media (min-width:1800px){
  :root{ --max:min(1840px, 94vw) !important; }
}
body .shell{
  width:min(calc(100% - 40px), var(--max));
}
@media (max-width:720px){
  body .shell{ width:calc(100% - 28px); }
}
html, body{ overflow-x:clip; }

/* Cinema stage = full section width (no 100vw scroll bug) */
.fx-viz-bleed{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  background:#061520;
  overflow:hidden;
}
.fx-viz-bleed .fx-story-stage,
.fx-viz-bleed .fx-go-stage{
  aspect-ratio:16/9;
  min-height:0;
  max-height:none;
  width:100%;
}
.fx-viz-chrome{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  align-items:center;
  justify-content:space-between;
  padding:14px clamp(16px, 3vw, 40px) 18px;
  background:linear-gradient(180deg, rgba(6,21,32,.92), rgba(10,33,48,.98));
  color:#fff;
}
.fx-viz-chrome p{
  margin:0;
  max-width:52ch;
  color:rgba(255,255,255,.72);
  font-size:.92rem;
  line-height:1.45;
}
.fx-viz-chrome .fx-av-controls,
.fx-viz-chrome .fx-go-bar{
  background:transparent;
  padding:0;
  margin:0;
}
.fx-viz-label{
  display:inline-block;
  margin:0 0 6px;
  color:var(--orange-soft,#E9A65E);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

/* Gallery visualizer only */
#galeria .fx-gallery-feature,
#galeria .fx-gallery-grid{ display:none !important; }
#galeria .fx-head{ margin-bottom:18px; }
#galeria .fx-story{
  margin:0; border:0; border-radius:0; box-shadow:none;
  overflow:visible; background:transparent;
}
#galeria .fx-story-stage{ position:relative; background:#000; }
#galeria .fx-story-next{
  margin:0; color:#fff; border-bottom-color:rgba(255,255,255,.45);
}
#galeria .fx-av-note{ display:none; }

/* Flaka Go: dedicated full-width section (not a knowledge card) */
#flacago.fx-flacago-av{
  margin:0;
  padding:72px 0 0;
  background:
    radial-gradient(ellipse 80% 60% at 80% 0%, rgba(233,166,94,.14), transparent 55%),
    linear-gradient(180deg, #0A2130 0%, #061520 40%, #061520 100%);
  color:#fff;
}
#flacago .fx-head{ margin-bottom:22px; }
#flacago .fx-title{ color:#fff; }
#flacago .fx-lead{ color:rgba(255,255,255,.72); max-width:58ch; }
#flacago .fx-go-preview{
  margin:0; border:0; border-radius:0; box-shadow:none;
  background:transparent; overflow:visible;
}
#flacago .fx-go-stage{
  aspect-ratio:16/9;
  min-height:0;
  width:100%;
}
#flacago .fx-go-invite{
  padding:18px clamp(16px, 3vw, 40px) 22px;
  background:
    radial-gradient(ellipse 70% 120% at 0% 0%, rgba(233,166,94,.12), transparent 50%),
    #0A2130;
  border-top:1px solid rgba(255,255,255,.08);
}
#flacago .fx-go-invite-kicker{ color:var(--orange-soft,#E9A65E); }
#flacago .fx-go-invite-text{ color:#fff; max-width:46ch; }
#flacago .fx-go-bar{ background:transparent; padding:12px 0 0; }
#flacago .fx-go-pause{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.2);
  color:#fff;
}
#flacago .fx-go-progress{ background:rgba(255,255,255,.14); }
#flacago .fx-go-open{
  background:var(--orange,#D97A2B);
  color:#061520;
}
#flacago .fx-go-transcript{ display:none; }

/* ==== SOURCE BLOCK: v50-layout-fix ==== */

/* F20F · v50 — full-width cinema + centered 16:9 video + wide shell */
:root{
  --max:min(1920px, 98vw) !important;
}
@media (min-width:1800px){
  :root{ --max:min(1920px, 96vw) !important; }
}
body .shell{
  width:min(98vw, var(--max)) !important;
  margin-inline:auto;
}
@media (max-width:720px){
  body .shell{ width:calc(100% - 24px) !important; }
}
.fx-viz-bleed{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
.fx-viz-bleed .fx-go-preview,
.fx-viz-bleed .fx-story{
  width:100%;
  max-width:none;
  margin:0;
}
.fx-viz-bleed .fx-go-stage,
.fx-viz-bleed .fx-story-stage,
#flacago .fx-go-stage,
.fx-go-stage,
.fx-story-stage{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  min-height:0;
  max-height:none;
  overflow:hidden;
  background:#040b12;
}
.fx-go-stage .fx-av-video,
.fx-go-stage .fx-av-poster,
.fx-story-stage .fx-av-video,
.fx-story-stage .fx-av-poster{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  object-fit:cover;
  object-position:center center;
  transform:none;
  will-change:auto;
}
.fx-go-stage .fx-sg,
.fx-story-stage .fx-sg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
}
.methodology-visual{
  aspect-ratio:auto;
  max-height:none;
}
.methodology-visual img{
  width:100%;
  height:auto;
  max-height:min(62vh,640px);
  object-fit:cover;
  object-position:center 42%;
}

/* ==== SOURCE BLOCK: v51-cinema-frame ==== */

/* F20F · v51 — premium cinema / macro projection frame for video visualizers */

:root {
  --cinema-gold: rgba(233, 166, 94, 0.55);
  --cinema-gold-soft: rgba(233, 166, 94, 0.22);
  --cinema-bezel-outer: #0a1218;
  --cinema-bezel-mid: #141f28;
  --cinema-bezel-inner: #060d12;
  --cinema-screen-max: min(1680px, 88vw);
}

/* Dark projection room — breathing room around the screen */
.fx-viz-bleed {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(36px, 6vw, 88px) clamp(16px, 3vw, 48px) clamp(40px, 5vw, 72px);
  background:
    radial-gradient(ellipse 72% 48% at 50% 18%, rgba(233, 166, 94, 0.07), transparent 62%),
    radial-gradient(ellipse 100% 80% at 50% 100%, rgba(0, 0, 0, 0.45), transparent 55%),
    linear-gradient(180deg, #03080d 0%, #061018 45%, #040a10 100%);
  overflow: visible;
}

/* Macro bezel — outer housing (beat #flacago / #galeria reset rules) */
.fx-viz-bleed .fx-go-preview,
.fx-viz-bleed .fx-story,
#flacago.fx-flacago-av .fx-viz-bleed .fx-go-preview,
#galeria.fx-gallery .fx-viz-bleed .fx-story {
  width: 100%;
  max-width: var(--cinema-screen-max);
  margin-inline: auto;
  position: relative;
  border-radius: 3px;
  padding: clamp(12px, 1.4vw, 20px);
  background:
    linear-gradient(168deg, #1e2a32 0%, var(--cinema-bezel-mid) 28%, var(--cinema-bezel-outer) 72%, #050b10 100%);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.05),
    0 0 0 2px rgba(0, 0, 0, 0.85),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 -1px 0 rgba(0, 0, 0, 0.5),
    inset 0 0 0 1px var(--cinema-gold-soft),
    0 40px 100px rgba(0, 0, 0, 0.62),
    0 12px 32px rgba(0, 0, 0, 0.45),
    0 0 80px rgba(233, 166, 94, 0.04);
}

/* Projection glow behind aperture */
.fx-viz-bleed .fx-go-preview::before,
.fx-viz-bleed .fx-story::before {
  content: "";
  position: absolute;
  inset: clamp(8px, 1vw, 14px);
  z-index: 0;
  pointer-events: none;
  border-radius: 1px;
  background: radial-gradient(ellipse 85% 75% at 50% 42%, rgba(233, 166, 94, 0.08), transparent 68%);
}

/* Inner screen aperture */
.fx-viz-bleed .fx-go-stage,
.fx-viz-bleed .fx-story-stage,
#flacago .fx-go-stage,
.fx-go-stage,
.fx-story-stage {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 0;
  max-height: none;
  overflow: hidden;
  background: #020608;
  border-radius: 1px;
  box-shadow:
    inset 0 0 0 1px rgba(0, 0, 0, 0.9),
    inset 0 0 0 2px var(--cinema-gold-soft),
    inset 0 0 100px rgba(0, 0, 0, 0.55),
    inset 0 0 40px rgba(0, 0, 0, 0.35);
}

/* Macro corner brackets — editorial projection marks */
.fx-viz-bleed .fx-go-stage::after,
.fx-viz-bleed .fx-story-stage::after {
  content: "";
  position: absolute;
  inset: clamp(14px, 1.8vw, 26px);
  z-index: 6;
  pointer-events: none;
  opacity: 0.92;
  background:
    linear-gradient(var(--cinema-gold), var(--cinema-gold)) top left / clamp(24px, 3vw, 40px) 1px no-repeat,
    linear-gradient(var(--cinema-gold), var(--cinema-gold)) top left / 1px clamp(24px, 3vw, 40px) no-repeat,
    linear-gradient(var(--cinema-gold), var(--cinema-gold)) top right / clamp(24px, 3vw, 40px) 1px no-repeat,
    linear-gradient(var(--cinema-gold), var(--cinema-gold)) top right / 1px clamp(24px, 3vw, 40px) no-repeat,
    linear-gradient(var(--cinema-gold), var(--cinema-gold)) bottom left / clamp(24px, 3vw, 40px) 1px no-repeat,
    linear-gradient(var(--cinema-gold), var(--cinema-gold)) bottom left / 1px clamp(24px, 3vw, 40px) no-repeat,
    linear-gradient(var(--cinema-gold), var(--cinema-gold)) bottom right / clamp(24px, 3vw, 40px) 1px no-repeat,
    linear-gradient(var(--cinema-gold), var(--cinema-gold)) bottom right / 1px clamp(24px, 3vw, 40px) no-repeat;
}

/* Vignette + hairline frame overlay */
.fx-viz-bleed .fx-go-stage::before,
.fx-viz-bleed .fx-story-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  box-shadow:
    inset 0 0 0 1px rgba(233, 166, 94, 0.28),
    inset 0 0 80px rgba(0, 0, 0, 0.42);
}

/* Video stays centered inside aperture */
.fx-go-stage .fx-av-video,
.fx-go-stage .fx-av-poster,
.fx-story-stage .fx-av-video,
.fx-story-stage .fx-av-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  object-fit: cover;
  object-position: center center;
  transform: none;
  will-change: auto;
}

.fx-go-stage .fx-sg,
.fx-story-stage .fx-sg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}

/* Controls sit below screen, inside same housing */
#flacago.fx-flacago-av .fx-viz-bleed .fx-go-invite {
  position: relative;
  z-index: 1;
  margin-top: clamp(10px, 1.2vw, 16px);
  padding: clamp(14px, 2vw, 20px) clamp(12px, 1.5vw, 18px);
  background: linear-gradient(180deg, rgba(10, 21, 32, 0.95), rgba(6, 13, 20, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 2px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.fx-viz-bleed .fx-viz-chrome {
  position: relative;
  z-index: 1;
  margin-top: clamp(10px, 1.2vw, 16px);
  padding: clamp(14px, 2vw, 20px) clamp(12px, 1.5vw, 18px);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 2px;
  background: linear-gradient(180deg, rgba(10, 21, 32, 0.95), rgba(6, 13, 20, 0.98));
}

.fx-viz-bleed .fx-story-next {
  margin-top: 12px;
  padding-inline: clamp(12px, 1.5vw, 18px);
}

@media (max-width: 720px) {
  .fx-viz-bleed {
    padding: 28px 12px 36px;
  }

  .fx-viz-bleed .fx-go-preview,
  .fx-viz-bleed .fx-story {
    padding: 10px;
    max-width: calc(100% - 4px);
  }

  .fx-viz-bleed .fx-go-stage::after,
  .fx-viz-bleed .fx-story-stage::after {
    inset: 10px;
    background:
      linear-gradient(var(--cinema-gold), var(--cinema-gold)) top left / 18px 1px no-repeat,
      linear-gradient(var(--cinema-gold), var(--cinema-gold)) top left / 1px 18px no-repeat,
      linear-gradient(var(--cinema-gold), var(--cinema-gold)) top right / 18px 1px no-repeat,
      linear-gradient(var(--cinema-gold), var(--cinema-gold)) top right / 1px 18px no-repeat,
      linear-gradient(var(--cinema-gold), var(--cinema-gold)) bottom left / 18px 1px no-repeat,
      linear-gradient(var(--cinema-gold), var(--cinema-gold)) bottom left / 1px 18px no-repeat,
      linear-gradient(var(--cinema-gold), var(--cinema-gold)) bottom right / 18px 1px no-repeat,
      linear-gradient(var(--cinema-gold), var(--cinema-gold)) bottom right / 1px 18px no-repeat;
  }
}


/* ==== SOURCE BLOCK: v52-mobile-nav ==== */

/* F20F · v52 — mobile index menu aligned with page sections */

@media (max-width: 1020px) {
  body.menu-open {
    overflow: hidden;
  }

  body.menu-open::before {
    content: "";
    position: fixed;
    z-index: 350;
    inset: 0;
    background: rgba(6, 21, 32, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }

  .site-header .nav-premium {
    position: fixed;
    z-index: 400;
    inset: 0;
    top: 0;
    left: auto;
    right: 0;
    width: min(100%, 420px);
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    border: 0;
    border-left: 1px solid rgba(16, 47, 64, 0.1);
    border-radius: 0;
    background: #f8f4eb;
    box-shadow: -24px 0 80px rgba(6, 21, 32, 0.28);
    opacity: 0;
    pointer-events: none;
    transform: translateX(104%);
    transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.22s ease;
    overflow: hidden;
  }

  .site-header .nav-premium.open {
    display: flex;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
  }

  .nav-mobile-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-shrink: 0;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(16, 47, 64, 0.08);
    background: linear-gradient(180deg, #fffdf9, #f8f4eb);
  }

  .nav-mobile-title {
    color: #102f40;
    font-family: "Inter", sans-serif;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .nav-mobile-close {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(16, 47, 64, 0.12);
    border-radius: 12px;
    background: #fff;
    color: #102f40;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
  }

  .nav-mobile-body {
    flex: 1;
    overflow: auto;
    padding: 10px 12px 18px;
    -webkit-overflow-scrolling: touch;
  }

  .site-header .nav-premium .nav-cluster-premium {
    width: 100%;
    margin: 0 0 8px;
    border: 1px solid rgba(16, 47, 64, 0.07);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.55);
    overflow: hidden;
  }

  .site-header .nav-premium .nav-cluster-premium > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 12px 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #102f40 !important;
    font-family: "Inter", sans-serif;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    pointer-events: none;
    box-shadow: none;
    transform: none;
  }

  .site-header .nav-premium .nav-cluster-premium > summary::before,
  .site-header .nav-premium .nav-cluster-premium > summary::after {
    display: none !important;
  }

  .site-header .nav-premium .nav-cluster-menu {
    position: static;
    display: grid !important;
    min-width: 0 !important;
    margin: 0;
    padding: 0 8px 10px;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transform: none !important;
    animation: none !important;
  }

  .site-header .nav-premium .nav-cluster-menu::before {
    display: none;
  }

  .site-header .nav-premium .nav-cluster-menu a {
    display: block;
    padding: 11px 12px;
    border-radius: 10px;
    color: #314651 !important;
    background: transparent;
    font-family: "Inter", sans-serif;
    font-size: 0.88rem;
    font-weight: 650;
    line-height: 1.25;
    white-space: normal;
    transform: none;
  }

  .site-header .nav-premium .nav-cluster-menu a:hover,
  .site-header .nav-premium .nav-cluster-menu a:focus-visible,
  .site-header .nav-premium .nav-cluster-menu a.active {
    color: #102f40 !important;
    background: rgba(16, 47, 64, 0.06);
  }

  .site-header .nav-premium > a:not(.nav-mobile-cta) {
    display: none;
  }

  .nav-mobile-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin: 0;
    padding: 16px 18px calc(16px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid rgba(16, 47, 64, 0.08);
    background: #fffdf9;
    color: #fff !important;
    font-family: "Inter", sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    background: linear-gradient(180deg, #14384b, #0c2634);
  }
}

@media (min-width: 1021px) {
  .nav-mobile-head,
  .nav-mobile-cta {
    display: none;
  }

  .nav-mobile-body {
    display: contents;
  }
}


/* ==== SOURCE BLOCK: v54-visual-audit ==== */

/* v54: visual consistency audit — CSS-only presentation layer */
/* ==========================================================================
   F20F · v54 — Visual consistency audit (CSS + presentational classes only)
   ========================================================================== */

/* --- Task 2: Unified CTA arrow icon (↗ northeast, mask SVG) --- */
.fx-arrow {
  display: inline-block;
  flex-shrink: 0;
  width: 0.82em;
  height: 0.82em;
  margin-left: 0.38em;
  vertical-align: -0.06em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M4 12L12 4M12 4H6M12 4v6' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M4 12L12 4M12 4H6M12 4v6' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") center / contain no-repeat;
}

.button-primary .fx-arrow,
.button-secondary .fx-arrow,
.nav-cta .fx-arrow,
.support-v29-primary .fx-arrow,
.support-v29-secondary .fx-arrow,
.knowledge-v27-form-footer button .fx-arrow,
.participation-v31-form-footer button .fx-arrow,
.nav-mobile-cta .fx-arrow {
  margin-left: 0.45em;
}

.program-link .fx-arrow,
.fx-horizon-link .fx-arrow,
.fx-story-next .fx-arrow,
.fx-course-next .fx-arrow,
.journal a .fx-arrow {
  margin-left: 0.32em;
}

/* --- Task 3: Pending / disabled donation states (shared badge language) --- */
.fx-status-pending {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border: 1px solid rgba(16, 47, 64, 0.12);
  border-radius: 999px;
  background: rgba(248, 244, 235, 0.92);
  color: #6a7378;
  font-family: "Inter", sans-serif;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fx-status-pending::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c79355;
  flex-shrink: 0;
}

.fx-on-dark .fx-status-pending,
.fx-badge.fx-status-pending {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(8, 31, 42, 0.62);
  color: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.fx-on-dark .fx-status-pending::before,
.fx-badge.fx-status-pending::before {
  background: var(--orange-soft, #e9a65e);
}

.support-v29-card--pending {
  position: relative;
  opacity: 0.92;
}

.support-v29-card--pending::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(248, 244, 235, 0.08);
  pointer-events: none;
}

.support-v29-card--pending .support-v29-amounts button {
  opacity: 0.48;
  cursor: not-allowed;
  pointer-events: none;
}

.support-v29-card--pending .support-v29-prepared {
  opacity: 0.55;
}

.support-v29-disabled,
.support-v29-card--pending .support-v29-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  color: #8c9397;
  background: #e4e3df;
  border: 1px dashed rgba(16, 47, 64, 0.18);
}

.payment-status {
  /* v54: align legacy class with fx-status-pending */
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border: 1px solid rgba(16, 47, 64, 0.12);
  border-radius: 999px;
  background: rgba(248, 244, 235, 0.92);
  color: #6a7378;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.payment-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c79355;
}

/* --- Task 4: Executive team avatar monograms --- */
.team-monogram,
.team-small-monogram {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid rgba(233, 166, 94, 0.35);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 8px 24px rgba(0, 0, 0, 0.22);
}

.team-monogram {
  background:
    radial-gradient(circle at 50% 28%, rgba(233, 166, 94, 0.18), transparent 48%),
    linear-gradient(155deg, #14384b 0%, #102f40 45%, #0a2130 100%);
}

.team-lead:nth-child(2) .team-monogram {
  background:
    radial-gradient(circle at 50% 28%, rgba(233, 166, 94, 0.14), transparent 48%),
    linear-gradient(155deg, #1a4558 0%, #102f40 55%, #081820 100%);
}

.team-small-monogram {
  background:
    radial-gradient(circle at 50% 30%, rgba(233, 166, 94, 0.16), transparent 50%),
    linear-gradient(155deg, #1a4558 0%, #102f40 50%, #0a2130 100%);
}

.team-card:nth-child(2) .team-small-monogram,
.team-card:nth-child(3) .team-small-monogram,
.team-card:nth-child(4) .team-small-monogram {
  /* v54: single brand gradient system for all 7 avatars */
  background:
    radial-gradient(circle at 50% 30%, rgba(233, 166, 94, 0.16), transparent 50%),
    linear-gradient(155deg, #1a4558 0%, #102f40 50%, #0a2130 100%);
}

/* --- Task 5: Verified facts vs 2030 aspirations --- */
.fx-fact--verified {
  border-top-style: solid;
  border-top-color: rgba(20, 37, 45, 0.16);
}

.fx-fact--verified .fx-fact-value {
  color: var(--navy);
  font-weight: 900;
}

.fx-fact--verified .fx-fact-label {
  color: var(--ink);
  font-weight: 800;
}

.fx-horizon-item--aspiration {
  border: 1px dashed rgba(233, 166, 94, 0.28);
  background: rgba(255, 255, 255, 0.03);
}

.fx-horizon-item--aspiration .fx-horizon-item-v {
  color: rgba(255, 255, 255, 0.72);
  font-weight: 500;
}

.fx-horizon-item--aspiration .fx-horizon-item-k,
.fx-horizon-item--aspiration .fx-horizon-item-u {
  color: rgba(233, 241, 245, 0.55);
}

.fx-horizon-item--aspiration[aria-selected="true"] {
  border-color: rgba(233, 166, 94, 0.45);
  background: rgba(233, 166, 94, 0.08);
}

.fx-horizon-item--aspiration[aria-selected="true"] .fx-horizon-item-v {
  color: rgba(255, 255, 255, 0.88);
}

.fx-horizon-metric--aspiration .fx-horizon-caption-v {
  color: rgba(255, 255, 255, 0.78);
  font-weight: 500;
}

.fx-horizon-metric--aspiration .fx-horizon-caption-u {
  color: rgba(233, 241, 245, 0.62);
  font-weight: 500;
}

/* --- Task 6: Institutional video placeholder --- */
.fx-video-frame > img {
  opacity: 0.52;
  filter: saturate(0.72) contrast(1.04);
}

.fx-video-frame::after {
  background:
    linear-gradient(135deg, rgba(16, 47, 64, 0.35) 0%, rgba(6, 21, 32, 0.82) 100%),
    radial-gradient(118% 88% at 50% 46%, rgba(233, 166, 94, 0.08), rgba(8, 31, 42, 0.88) 78%);
}

.fx-video-play {
  display: grid;
  place-items: center;
  width: clamp(64px, 12vw, 88px);
  height: clamp(64px, 12vw, 88px);
  margin-bottom: 18px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  background: rgba(8, 31, 42, 0.45);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}

.fx-video-play::before {
  content: "";
  margin-left: 4px;
  border-width: 11px 0 11px 18px;
  border-style: solid;
  border-color: transparent transparent transparent rgba(255, 255, 255, 0.92);
}

.fx-video-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.fx-badge {
  /* v54: shared pending-state badge (Task 3 + 6) */
  letter-spacing: 0.18em;
}

/* --- Task 7: Logo on dark backgrounds --- */
.logo-on-dark {
  filter: brightness(0) invert(1);
  opacity: 0.94;
}

.footer-brand img.logo-on-dark,
.pwa-card img.logo-on-dark {
  opacity: 0.92;
}

/* --- Task 8: Unified form field styling --- */
.knowledge-v27-form input,
.knowledge-v27-form textarea,
.participation-v31-form input,
.participation-v31-form textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(16, 47, 64, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink, #14252d);
  font-family: "Inter", sans-serif;
  font-size: 0.88rem;
  line-height: 1.45;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.knowledge-v27-form input::placeholder,
.knowledge-v27-form textarea::placeholder,
.participation-v31-form input::placeholder,
.participation-v31-form textarea::placeholder {
  color: rgba(80, 96, 106, 0.55);
}

.knowledge-v27-form input:focus,
.knowledge-v27-form textarea:focus,
.participation-v31-form input:focus,
.participation-v31-form textarea:focus {
  outline: none;
  border-color: rgba(217, 122, 43, 0.55);
  box-shadow: 0 0 0 3px rgba(233, 166, 94, 0.18);
  background: #fff;
}

.knowledge-v27-form label > span,
.participation-v31-form label > span {
  color: var(--navy, #102f40);
  font-family: "Inter", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}


/* ==== SOURCE BLOCK: v55-mobile-menu ==== */

/* F20F · v55 — mobile menu: full editorial drawer (wins over v33/v52/v35) */

@media (max-width: 1020px) {
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open::before {
    content: "" !important;
    position: fixed !important;
    z-index: 380 !important;
    inset: 0 !important;
    background: rgba(3, 8, 13, 0.78) !important;
    backdrop-filter: blur(12px) saturate(125%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(125%) !important;
  }

  body.menu-open .site-header {
    z-index: 390 !important;
  }

  body.menu-open .menu-toggle {
    position: relative;
    z-index: 410 !important;
    border-color: rgba(233, 166, 94, 0.55) !important;
    background: rgba(233, 166, 94, 0.14) !important;
    color: #e9a65e !important;
  }

  /* Kill legacy floating pill menu (v33 / base) */
  body .site-header .nav-links.nav-premium,
  body .site-header .nav-links.nav-links-v30.nav-premium {
    position: fixed !important;
    z-index: 400 !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    bottom: 0 !important;
    width: min(100vw, 480px) !important;
    max-width: none !important;
    max-height: none !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    border: 0 !important;
    border-left: 1px solid rgba(233, 166, 94, 0.2) !important;
    border-radius: 0 !important;
    background:
      radial-gradient(ellipse 120% 36% at 50% 0%, rgba(233, 166, 94, 0.12), transparent 58%),
      linear-gradient(180deg, #0c1e2a 0%, #061520 42%, #03080d 100%) !important;
    box-shadow: -40px 0 120px rgba(0, 0, 0, 0.72) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(105%) !important;
    transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.26s ease !important;
    overflow: hidden !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body .site-header .nav-links.nav-premium.open,
  body .site-header .nav-links.nav-links-v30.nav-premium.open {
    display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
  }

  /* Header bar inside drawer */
  body .site-header .nav-mobile-head {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    flex-shrink: 0 !important;
    padding: calc(18px + env(safe-area-inset-top, 0px)) 20px 18px !important;
    border-bottom: 1px solid rgba(233, 166, 94, 0.16) !important;
    background: linear-gradient(180deg, rgba(12, 30, 42, 0.98), rgba(6, 21, 32, 0.94)) !important;
  }

  body .site-header .nav-mobile-head::after {
    content: "";
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(233, 166, 94, 0.4), transparent);
    pointer-events: none;
  }

  body .site-header .nav-mobile-brand {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    min-width: 0 !important;
  }

  body .site-header .nav-mobile-kicker {
    color: #e9a65e !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.64rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
  }

  body .site-header .nav-mobile-title {
    color: #fff !important;
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: clamp(1.35rem, 5vw, 1.65rem) !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.05 !important;
  }

  body .site-header .nav-mobile-close {
    flex-shrink: 0 !important;
    width: 46px !important;
    height: 46px !important;
    border: 1px solid rgba(233, 166, 94, 0.35) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.05) !important;
    color: #e9a65e !important;
    font-size: 1.05rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
  }

  /* Scrollable index */
  body .site-header .nav-mobile-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 18px 16px 28px !important;
    counter-reset: nav-section !important;
  }

  /* Section blocks */
  body .site-header .nav-premium .nav-cluster-premium {
    width: 100% !important;
    margin: 0 0 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    border-radius: 4px !important;
    background: rgba(255, 255, 255, 0.03) !important;
    overflow: hidden !important;
    counter-increment: nav-section !important;
    animation: v55NavSectionIn 0.42s cubic-bezier(0.16, 1, 0.3, 1) both;
  }

  body.menu-open .site-header .nav-premium .nav-cluster-premium:nth-child(1) { animation-delay: 0.05s; }
  body.menu-open .site-header .nav-premium .nav-cluster-premium:nth-child(2) { animation-delay: 0.09s; }
  body.menu-open .site-header .nav-premium .nav-cluster-premium:nth-child(3) { animation-delay: 0.13s; }
  body.menu-open .site-header .nav-premium .nav-cluster-premium:nth-child(4) { animation-delay: 0.17s; }
  body.menu-open .site-header .nav-premium .nav-cluster-premium:nth-child(5) { animation-delay: 0.21s; }
  body.menu-open .site-header .nav-premium .nav-cluster-premium:nth-child(6) { animation-delay: 0.25s; }

  @keyframes v55NavSectionIn {
    from {
      opacity: 0;
      transform: translateX(18px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

  body .site-header .nav-premium .nav-cluster-premium > summary {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    padding: 16px 18px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(233, 166, 94, 0.12) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.94) !important;
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: 1.08rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    pointer-events: none !important;
    box-shadow: none !important;
    transform: none !important;
    list-style: none !important;
    cursor: default !important;
  }

  body .site-header .nav-premium .nav-cluster-premium > summary::before {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
    border: 1px solid rgba(233, 166, 94, 0.4) !important;
    border-radius: 50% !important;
    background: rgba(233, 166, 94, 0.08) !important;
    color: #e9a65e !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.68rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    content: counter(nav-section, decimal-leading-zero) !important;
    transform: none !important;
  }

  body .site-header .nav-premium .nav-cluster-premium > summary::after {
    display: none !important;
  }

  body .site-header .nav-premium .nav-cluster-menu {
    position: static !important;
    display: grid !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 8px 12px 14px 58px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
  }

  body .site-header .nav-premium .nav-cluster-menu::before {
    display: none !important;
  }

  body .site-header .nav-premium .nav-cluster-menu a {
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 12px 14px 12px 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-radius: 0 !important;
    color: rgba(233, 241, 245, 0.82) !important;
    background: transparent !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.98rem !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    transform: none !important;
    text-decoration: none !important;
  }

  body .site-header .nav-premium .nav-cluster-menu a:last-child {
    border-bottom: 0 !important;
  }

  body .site-header .nav-premium .nav-cluster-menu a::after {
    content: "→" !important;
    margin-left: auto !important;
    padding-left: 12px !important;
    color: rgba(233, 166, 94, 0.55) !important;
    font-size: 0.9rem !important;
    opacity: 0 !important;
    transform: translateX(-4px) !important;
    transition: opacity 0.2s ease, transform 0.2s ease !important;
  }

  body .site-header .nav-premium .nav-cluster-menu a:hover,
  body .site-header .nav-premium .nav-cluster-menu a:focus-visible,
  body .site-header .nav-premium .nav-cluster-menu a.active {
    color: #fff !important;
    background: rgba(233, 166, 94, 0.06) !important;
    padding-left: 6px !important;
  }

  body .site-header .nav-premium .nav-cluster-menu a:hover::after,
  body .site-header .nav-premium .nav-cluster-menu a:focus-visible::after,
  body .site-header .nav-premium .nav-cluster-menu a.active::after {
    opacity: 1 !important;
    transform: translateX(0) !important;
  }

  body .site-header .nav-premium > a:not(.nav-mobile-cta) {
    display: none !important;
  }

  /* Footer CTA */
  body .site-header .nav-mobile-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 18px 20px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    border-top: 1px solid rgba(233, 166, 94, 0.2) !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #14384b, #0a2130) !important;
    color: #fff !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  body .site-header .nav-mobile-cta .fx-arrow {
    margin-left: 0 !important;
  }

  /* Hamburger premium */
  body .site-header .menu-toggle {
    width: 50px !important;
    height: 50px !important;
    border: 1px solid rgba(233, 166, 94, 0.35) !important;
    border-radius: 50% !important;
    background: rgba(6, 21, 32, 0.55) !important;
    color: #e9a65e !important;
    font-size: 1.15rem !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28) !important;
  }
}

@media (max-width: 680px) {
  body .site-header .nav-links.nav-premium,
  body .site-header .nav-links.nav-links-v30.nav-premium {
    width: 100vw !important;
    border-left: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .site-header .nav-links.nav-premium {
    transition: none !important;
  }

  body .site-header .nav-premium .nav-cluster-menu a::after {
    transition: none !important;
  }
}

@media (min-width: 1021px) {
  body .site-header .nav-mobile-head,
  body .site-header .nav-mobile-cta {
    display: none !important;
  }
}


/* ==== SOURCE BLOCK: v56-layout-repair ==== */

/* F20F · v56 — layout repair: shell width, footer logo, gallery seam */

/* ── 1. Shell: full usable width, one clear rule ── */
:root {
  --max: 1720px;
}

html {
  width: 100%;
  max-width: 100%;
}

body {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

body .shell,
.site-header .shell.nav,
.shell {
  width: min(100% - clamp(24px, 4vw, 48px), var(--max)) !important;
  max-width: var(--max) !important;
  margin-inline: auto !important;
}

@media (max-width: 680px) {
  body .shell,
  .shell {
    width: calc(100% - 24px) !important;
  }
}

/* ── 2. Footer / PWA logo: keep original colors (no invert filter) ── */
.logo-on-dark,
.footer-brand img.logo-on-dark,
.pwa-card img.logo-on-dark {
  filter: none !important;
  opacity: 1 !important;
}

.footer-brand img {
  width: auto !important;
  max-width: 200px !important;
  height: auto !important;
  max-height: 78px !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: drop-shadow(0 8px 20px rgba(217,122,43,.22)) !important;
}

/* ── 3. Gallery → footer: remove cream gap ── */
#galeria.fx-gallery.fx-section {
  padding-bottom: 0 !important;
  background: linear-gradient(180deg, var(--paper, #fcfbf7) 0%, #061520 38%, #061520 100%) !important;
}

#galeria .fx-viz-bleed {
  margin-bottom: 0 !important;
}

.footer {
  margin-top: 0 !important;
}

/* ── 4. Desktop nav: avoid display:contents wrapper bug ── */
@media (min-width: 1021px) {
  body .site-header .nav-mobile-body {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 0 !important;
  }
}


/* ==== SOURCE BLOCK: v57-menu-video ==== */

/* F20F · v57 — mobile menu rewrite (no overlay conflicts) + Flaka Go playability */

/* ═══════════════════════════════════════════
     /* ═══════════════════════════════════════════
     MOBILE MENU — single full-screen panel
     Functional, predictable open/close; no stacked overlays.
     ═══════════════════════════════════════════ */
  @media (max-width: 1020px) {
    body.menu-open > main {
      pointer-events: none;
    }

    body.menu-open::before {
      content: "" !important;
      position: fixed !important;
      z-index: 490 !important;
      inset: 0 !important;
      background: rgba(3, 8, 13, 0.72) !important;
      backdrop-filter: blur(8px) !important;
      -webkit-backdrop-filter: blur(8px) !important;
    }

    body.menu-open .site-header {
      z-index: 500 !important;
    }

    body.menu-open .menu-toggle {
      visibility: hidden !important;
      pointer-events: none !important;
      opacity: 0 !important;
    }

    body .site-header .nav-links.nav-premium,
    body .site-header .nav-links.nav-links-v30.nav-premium {
      position: fixed !important;
      z-index: 510 !important;
      inset: 0 !important;
      width: 100% !important;
      max-width: none !important;
      height: 100dvh !important;
      max-height: none !important;
      margin: 0 !important;
      padding: 0 !important;
      display: none !important;
      flex-direction: column !important;
      align-items: stretch !important;
      gap: 0 !important;
      border: 0 !important;
      border-left: 0 !important;
      border-radius: 0 !important;
      background: #061520 !important;
      box-shadow: none !important;
      opacity: 0 !important;
      pointer-events: none !important;
      transform: translateY(12px) !important;
      transition: opacity 0.22s ease, transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
      overflow: hidden !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
    }

    body .site-header .nav-links.nav-premium.open,
    body .site-header .nav-links.nav-links-v30.nav-premium.open {
      display: flex !important;
      opacity: 1 !important;
      pointer-events: auto !important;
      transform: translateY(0) !important;
    }

    body .site-header .nav-mobile-head {
      position: relative !important;
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: 12px !important;
      flex-shrink: 0 !important;
      padding: 16px 18px !important;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
      background: linear-gradient(180deg, #fffdf9, #f8f4eb) !important;
    }

    body .site-header .nav-mobile-title {
      color: #102f40 !important;
      font-family: "Inter", sans-serif !important;
      font-size: 0.72rem !important;
      font-weight: 800 !important;
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
    }

    body .site-header .nav-mobile-close {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 42px !important;
      height: 42px !important;
      border: 1px solid rgba(16, 47, 64, 0.12) !important;
      border-radius: 12px !important;
      background: #fff !important;
      color: #102f40 !important;
      font-size: 1.1rem !important;
      line-height: 1 !important;
      cursor: pointer !important;
      transition: background 0.2s ease, border-color 0.2s ease !important;
    }

    body .site-header .nav-mobile-close:hover,
    body .site-header .nav-mobile-close:focus-visible {
      background: #f3eee3 !important;
      border-color: rgba(16, 47, 64, 0.22) !important;
      outline: none !important;
    }

    body .site-header .nav-mobile-body {
      flex: 1 !important;
      overflow-y: auto !important;
      padding: 8px 10px 18px !important;
      -webkit-overflow-scrolling: touch !important;
    }

    body .site-header .nav-premium .nav-cluster-premium {
      width: 100% !important;
      margin: 0 0 8px !important;
      border: 1px solid rgba(16, 47, 64, 0.07) !important;
      border-radius: 14px !important;
      background: rgba(255, 255, 255, 0.55) !important;
      overflow: hidden !important;
    }

    body .site-header .nav-premium .nav-cluster-premium > summary {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      width: 100% !important;
      padding: 12px 14px !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      color: #102f40 !important;
      font-family: "Inter", sans-serif !important;
      font-size: 0.68rem !important;
      font-weight: 800 !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      pointer-events: auto !important;
      box-shadow: none !important;
      transform: none !important;
      cursor: pointer !important;
    }

    body .site-header .nav-premium .nav-cluster-premium>summary::before,
    body .site-header .nav-premium .nav-cluster-premium>summary::after {
      display: none !important;
    }

    body .site-header .nav-premium .nav-cluster-menu {
      position: static !important;
      display: none !important;
      min-width: 0 !important;
      margin: 0 !important;
      padding: 2px 6px 8px !important;
      border: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      animation: none !important;
      transform: none !important;
    }

    body .site-header .nav-premium .nav-cluster[open]>.nav-cluster-menu {
      display: grid !important;
    }

    body .site-header .nav-premium .nav-cluster-menu a {
      display: block !important;
      padding: 11px 12px !important;
      border-radius: 10px !important;
      color: #314651 !important;
      background: transparent !important;
      font-family: "Inter", sans-serif !important;
      font-size: 0.88rem !important;
      font-weight: 650 !important;
      line-height: 1.25 !important;
      white-space: normal !important;
      transform: none !important;
      text-decoration: none !important;
    }

    body .site-header .nav-premium .nav-cluster-menu a:hover,
    body .site-header .nav-premium .nav-cluster-menu a:focus-visible,
    body .site-header .nav-premium .nav-cluster-menu a.active {
      color: #102f40 !important;
      background: rgba(16, 47, 64, 0.06) !important;
    }

    body .site-header .nav-premium>a:not(.nav-mobile-cta) {
      display: none !important;
    }

    body .site-header .nav-mobile-cta {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      flex-shrink: 0 !important;
      margin: 0 !important;
      padding: 16px 18px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
      border-top: 1px solid rgba(16, 47, 64, 0.08) !important;
      background: linear-gradient(180deg, #14384b, #0c2634) !important;
      color: #fff !important;
      font-family: "Inter", sans-serif !important;
      font-size: 0.82rem !important;
      font-weight: 700 !important;
      text-decoration: none !important;
    }
  }

  @media (min-width: 1021px) {
    body .site-header .nav-mobile-head,
    body .site-header .nav-mobile-cta {
      display: none !important;
    }

    body .site-header .nav-mobile-body {
      display: flex !important;
      flex: 1 1 auto !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 6px !important;
      min-width: 0 !important;
    }
  }



/* ==== SOURCE BLOCK: v58-typo-unified ==== */

/* ------------------------------------------------------------------ */
/* 17. TIPOGRAFIA FINAL UNIFICADA (gana sobre todo style previo) */
/* ------------------------------------------------------------------ */

/* h2 de sección */
body h2, body .section-head h2, body .programs h2, body .method h2,
body .governance h2, body .team h2, body .support-section h2,
body .courses-section h2, body .footer-section h2, body .story-section h2,
body .method-statement h2 {
  font-family:var(--font-serif) !important;
  font-size:var(--font-size-display) !important;
  font-weight:var(--font-weight-display) !important;
  line-height:var(--line-height-heading) !important;
  letter-spacing:-.025em !important;
  text-align:left !important;
  margin:0 0 var(--space-text-sm) 0 !important;
}

/* h1 */
body h1, body .hero-title-v23, body .hero-copy h1 {
  font-family:var(--font-serif) !important;
  font-size:var(--font-size-title) !important;
  font-weight:500 !important;
  line-height:1.04 !important;
  letter-spacing:-.025em !important;
  text-align:left !important;
  margin:0 0 var(--space-text-sm) 0 !important;
}

/* h3 */
body h3, body .story-panel h3, body .programs article h3,
body .team-card h3, body .governance-card h3, body .team-governance h3,
body .story-steps strong, body .hero-proof strong, body .program-card h3,
body .stat-block h3, body h3[style*="font-size"] {
  font-family:var(--font-serif) !important;
  font-size:var(--font-size-card-title) !important;
  font-weight:var(--font-weight-card) !important;
  line-height:var(--line-height-card) !important;
  letter-spacing:-.012em !important;
  text-align:left !important;
  margin:0 0 var(--space-text-sm) 0 !important;
}

/* h4 */
body h4, body h4[style*="font-size"] {
  font-family:var(--font-serif) !important;
  font-size:var(--font-size-h4) !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  letter-spacing:-.01em !important;
  text-align:left !important;
  margin:0 0 var(--space-text-sm) 0 !important;
}

/* kicker/eyebrow */
body .eyebrow, body .fx-eyebrow, body .hero-origin span,
body .identity-grid span, body .team-card-top > span,
body .story-steps span, body .fx-near-status,
body .program-caption > span, body .program-route > span,
body .program-content > span {
  font-family:var(--font-sans) !important;
  font-size:var(--font-size-kicker) !important;
  font-weight:700 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
  text-align:left !important;
}

/* párrafos de cuerpo */
body p, body .section-head > p, body .story-panel p,
body .programs article p, body .team-bio p, body .governance-card p,
body .team-governance > p, body .method-statement p, body .method p,
body .support-v29-secondary p, body .footer-section p,
body .hero-copy p, body .v35-hero-body, body .v35-hero-quote,
body .program-card p, body .story-steps p, body .governance-grid p,
body .team-bio-text p, body p[style*="font-size"],
body div[style*="text-align:center"] p, body div[style*="font-size"] p {
  font-family:var(--font-sans) !important;
  font-size:var(--font-size-body) !important;
  font-weight:400 !important;
  line-height:var(--line-height-body) !important;
  letter-spacing:-.005em !important;
  text-align:justify !important;
  hyphens:auto !important;
  text-align-last:left !important;
  margin:0 0 var(--space-text-sm) 0 !important;
}

/* notas pequeñas */
body .hero-proof span, body .fx-av-note, body .method small,
body .small-text, body .program-caption strong, body .story-steps p,
body .small-note, body label[style*="font-size"],
body [style*="font-size"][style*="line-height"] p {
  font-family:var(--font-sans) !important;
  font-size:var(--font-size-small) !important;
  font-weight:400 !important;
  line-height:1.5 !important;
  text-align:left !important;
}

/* stat-number */
body .stat-number {
  font-family:var(--font-serif) !important;
  font-size:var(--font-size-stat-num) !important;
  font-weight:var(--font-weight-stat) !important;
  line-height:var(--line-height-stat) !important;
  text-align:left !important;
  margin:0 0 var(--space-text-sm) 0 !important;
}

/* stat-label */
body .stat-label, body .program-number, body .story-steps span {
  font-family:var(--font-sans) !important;
  font-size:var(--font-size-stat-label) !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  letter-spacing:.05em !important;
  text-align:left !important;
  margin:0 !important;
}

/* botones/CTA */
body .button-primary, body .button-secondary, body .nav-cta,
body .cta-button, body .program-link, body .hero-proof strong,
body .cta-cta {
  font-family:var(--font-sans) !important;
  font-size:clamp(0.75rem,1vw,0.82rem) !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  text-align:center !important;
}

/* footer */
body .footer h3, body .footer-section h3 {
  font-family:var(--font-sans) !important;
  font-size:clamp(0.95rem,1.2vw,1.1rem) !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  text-align:left !important;
  margin:0 0 var(--space-text-sm) 0 !important;
}

body .footer p, body .footer-section p {
  font-family:var(--font-sans) !important;
  font-size:var(--font-size-small) !important;
  font-weight:400 !important;
  line-height:1.55 !important;
  text-align:left !important;
  margin:0 0 var(--space-text-sm) 0 !important;
}

/* spacing */
body .section { padding:var(--space-section) 0 !important; }
body .section-tight { padding:var(--space-block) 0 !important; }

/* margen entre titulo y parrafo */
body h2 + p, body .section-head h2 + p, body h3 + p,
body .story-panel h3 + p, body .programs article h3 + p,
body .team-card h3 + p, body .governance-card h3 + p {
  margin-top:0 !important;
}

/* mobile: left alignment */
@media (max-width:768px){
  body p, body .section-head > p, body .story-panel p,
  body .programs article p, body .team-bio p, body .governance-card p,
  body .team-governance > p, body .method-statement p, body .method p,
  body .support-v29-secondary p, body .footer-section p,
  body .hero-copy p, body .v35-hero-body, body .v35-hero-quote,
  body .program-card p, body p[style*="font-size"] {
    text-align:left !important;
    hyphens:none !important;
  }
}

/* Final Declaration */
body #cursos div[style*="text-align:center"] p:not(:first-of-type) {
  text-align:justify !important;
  hyphens:auto !important;
  text-align-last:left !important;
  font-family:var(--font-sans) !important;
  font-size:var(--font-size-body) !important;
  font-weight:400 !important;
  line-height:var(--line-height-body) !important;
  letter-spacing:-.005em !important;
}

body #cursos div[style*="text-align:center"] h3,
body #cursos div[style*="text-align:center"] p:first-of-type {
  text-align:center !important;
  text-align-last:center !important;
}

/* cert-card */
body .cert-card > p { text-align:left !important; }

/* support-v29 */
body .support-v29-primary, body .support-v29-secondary,
body .support-v29-disabled { text-align:left !important; }


/* ==== FX COURSE CARDS v64 — cursos como recurso protagonista ==== */
.fx-courses-wrap{counter-reset:fxcourse;}
.fx-course-title{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 14px;
  margin:46px 0 20px;padding:0 0 14px;
  border-bottom:1px solid var(--line);
  position:relative;
}
.fx-course-title::after{
  content:"";position:absolute;left:0;bottom:-1px;width:84px;height:3px;
  background:linear-gradient(90deg,var(--orange),var(--orange-soft));
  border-radius:3px;
}
.fx-course-title::before{
  counter-increment:fxcourse;
  content:"0" counter(fxcourse);
  display:grid;place-items:center;align-self:center;
  min-width:52px;height:52px;padding:0 10px;
  color:#fff;font-family:var(--font-display),"Playfair Display",serif;
  font-size:1.35rem;font-weight:700;letter-spacing:.02em;
  background:linear-gradient(140deg,#12374b,#0c2734);
  border:1px solid rgba(217,122,43,.45);
  border-radius:15px;
  box-shadow:0 10px 24px rgba(16,47,64,.22), inset 0 1px 0 rgba(255,255,255,.09);
}
.fx-course-kicker{
  color:var(--orange);font-family:var(--font-ui),"Inter",Arial,sans-serif;
  font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.fx-course-name{color:var(--navy);font-size:1.35rem;line-height:1.2;}
.fx-course-card{
  background:
    linear-gradient(180deg,rgba(217,122,43,.05),transparent 7rem),
    var(--paper);
  border:1px solid var(--line);
  border-radius:20px;
  padding:clamp(24px,3.4vw,40px);
  margin-bottom:26px;
  box-shadow:0 14px 38px rgba(16,47,64,.08);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.fx-course-card:hover{
  transform:translateY(-4px);
  border-color:rgba(217,122,43,.4);
  box-shadow:0 26px 58px rgba(16,47,64,.14);
}
.fx-course-card > h4:first-child,
.fx-course-card > p:first-child{margin-top:0;}
.fx-course-card h3{
  font-size:1.4rem;color:var(--navy);
  border-bottom:2px solid var(--orange);
  padding-bottom:8px;margin-bottom:24px;
}
@media (max-width:720px){
  .fx-course-name{font-size:1.15rem;}
  .fx-course-title::before{min-width:44px;height:44px;font-size:1.1rem;}
}

/* ==== v65 REMOVED: FLAKA BADGE v64 retired — icons restored to original CSS art ==== */

.fx-course-card h4{color:var(--navy);font-size:1.08rem;margin:22px 0 10px;}
.fx-course-card ul{margin:12px 0;padding-left:22px;}
.fx-course-card li{margin:6px 0;line-height:1.6;}
.fx-course-next{margin-top:18px;}

/* ==== CURSOS v66 — rediseño premium: fotos reales, 2 fuentes, legible, CTA grande ==== */
/* SOLO 2 FAMILIAS */
.knowledge-v27-card h3,
.knowledge-v27-action-copy h3,
.knowledge-v27-form-head > strong,
.knowledge-v27-title > strong{
  font-family:var(--font-display),"Playfair Display",Georgia,serif !important;
}
.knowledge-v27-card > span,
.knowledge-v27-card p,
.knowledge-v27-tags span,
.knowledge-v27-card-number,
.knowledge-v27-proof span,
.knowledge-v27-proof strong,
.knowledge-v27-intro > p,
.knowledge-v27-action-copy > p,
.knowledge-v27-principles strong,
.knowledge-v27-principles small,
.knowledge-v27-form-head > span,
.knowledge-v27-form label > span,
.knowledge-v27-form-footer p,
.knowledge-v27-form-footer button{
  font-family:var(--font-ui),"Inter",Arial,sans-serif !important;
}
/* TARJETA = FOTO ARRIBA + CUERPO OSCURO (como Programas) */
.knowledge-v27-grid{ gap:18px !important; }
.knowledge-v27-card{
  padding:0 !important;
  overflow:hidden !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  background:#0d2a3a !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:22px !important;
  box-shadow:0 22px 55px rgba(0,0,0,.28) !important;
}
.knowledge-v27-media{
  position:relative;
  height:210px;
  overflow:hidden;
  flex:none;
}
.knowledge-v27-media img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.knowledge-v27-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(13,42,58,.92) 100%);
}
.knowledge-v27-card-number{
  top:16px !important;right:16px !important;
  color:#fff !important;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.3);
  border-radius:999px;
  padding:5px 12px;
  font-size:.72rem !important;
  z-index:2;
}
.knowledge-v27-card-body{ padding:24px 24px 26px !important; display:flex;flex-direction:column;flex:1; }
/* TEXTO LEGIBLE */
.knowledge-v27-intro > p{
  color:rgba(255,255,255,.88) !important;
  font-size:1.02rem !important;
  line-height:1.7 !important;
}
.knowledge-v27-proof span{
  color:rgba(255,255,255,.7) !important;
  font-size:.74rem !important;
}
.knowledge-v27-proof strong{ font-size:.98rem !important; line-height:1.5 !important; }
.knowledge-v27-card > span,
.knowledge-v27-card-body > span{
  color:var(--orange-soft) !important;
  font-size:.74rem !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.knowledge-v27-card h3,
.knowledge-v27-card-body h3{
  color:#fff !important;
  font-size:1.55rem !important;
  line-height:1.12 !important;
  letter-spacing:-.01em !important;
  margin:12px 0 12px !important;
}
.knowledge-v27-card p,
.knowledge-v27-card-body p{
  color:rgba(255,255,255,.86) !important;
  font-size:.97rem !important;
  line-height:1.65 !important;
}
.knowledge-v27-tags{ gap:8px !important; margin-top:18px !important; }
.knowledge-v27-tags span{
  color:#fff !important;
  border-color:rgba(255,255,255,.25) !important;
  background:rgba(255,255,255,.09) !important;
  font-size:.74rem !important;
  padding:8px 13px !important;
}
.knowledge-v27-action-copy > p{
  color:rgba(255,255,255,.88) !important;
  font-size:1rem !important;
  line-height:1.7 !important;
}
.knowledge-v27-principles strong{ font-size:.92rem !important; color:#fff !important; }
.knowledge-v27-principles small{
  color:rgba(255,255,255,.82) !important;
  font-size:.82rem !important;
  line-height:1.5 !important;
}
.knowledge-v27-form label > span{
  color:rgba(255,255,255,.8) !important;
  font-size:.78rem !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}
/* CTA GRANDE */
.knowledge-v27-form-footer button{
  min-height:60px !important;
  padding:0 38px !important;
  font-size:1.05rem !important;
  font-weight:800 !important;
  box-shadow:0 12px 28px rgba(217,122,43,.35) !important;
}
/* EMAIL JAMAS CORTADO */
.knowledge-v27-form-footer p{
  max-width:440px !important;
  color:rgba(255,255,255,.8) !important;
  font-size:.86rem !important;
  line-height:1.6 !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:none !important;
}
.knowledge-v27-form-footer p strong{
  color:#fff !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
/* ICONOS VIEJOS MUERTOS */
.knowledge-v27-card-icon{ display:none !important; }
@media (max-width:1080px){
  .knowledge-v27-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:640px){
  .knowledge-v27-grid{ grid-template-columns:1fr !important; }
  .knowledge-v27-media{ height:190px; }
}

/* ==== CURSOS v67 — bloque aporte/form: NO justificado, inputs oscuros, CTA protagonista ==== */
.knowledge-v27-action{
  display:grid !important;
  grid-template-columns:.9fr 1.1fr !important;
  gap:0 !important;
  text-align:left !important;
}
.knowledge-v27-action-copy h3{ max-width:16ch !important; }
.knowledge-v27-action-copy > p,
.knowledge-v27-principles small,
.knowledge-v27-form-footer p,
.knowledge-v27-telegram > p{
  text-align:left !important;
  text-justify:none !important;
  hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}
/* principios: numero + texto en linea, sin palabras partidas */
.knowledge-v27-principles article{
  display:grid !important;
  grid-template-columns:44px 1fr !important;
  align-items:start !important;
  gap:14px !important;
  padding:16px 18px !important;
}
.knowledge-v27-principles article > div,
.knowledge-v27-principles article > div > *{ min-width:0; }
.knowledge-v27-principles strong{ font-size:.95rem !important; margin:0 !important; }
/* formulario oscuro elegante: inputs fundidos con el fondo */
.knowledge-v27-form input,
.knowledge-v27-form textarea{
  background:rgba(6,22,30,.72) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:14px !important;
  color:#fff !important;
  font-size:.95rem !important;
  min-height:54px !important;
  padding:0 16px !important;
}
.knowledge-v27-form textarea{ min-height:150px !important; padding:14px 16px !important; }
.knowledge-v27-form input::placeholder,
.knowledge-v27-form textarea::placeholder{ color:rgba(255,255,255,.45) !important; }
/* footer: nota izquierda legible, boton grande protagonista */
.knowledge-v27-form-footer{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:18px !important;
}
.knowledge-v27-form-footer p{
  max-width:60ch !important;
  font-size:.9rem !important;
  line-height:1.6 !important;
  color:rgba(255,255,255,.75) !important;
}
.knowledge-v27-form-footer button{
  width:100% !important;
  min-height:62px !important;
  font-size:1.05rem !important;
  font-weight:800 !important;
  border-radius:999px !important;
}

/* ==== CURSOS v68 — reconstruccion profesional: full-bleed, NO justificado, 2 fuentes ==== */
/* La seccion superior pasa a ancho total como la inferior oscura: mismos margenes */
.fx-courses-v68{ background:var(--sand,#f5f1e8); }
.fx-courses-v68 > .shell.fx-courses-shell{
  width:min(1720px,100% - clamp(48px,6vw,96px)) !important;
  max-width:1720px !important;
  margin-inline:auto !important;
}
/* cabecera: titulo izq + meta der, todo LEFT */
.fx-courses-head{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);
  gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:40px;
}
.fx-courses-head-main .eyebrow{
  display:block;margin-bottom:10px;
  font-family:Inter,Arial,sans-serif;font-size:.72rem;font-weight:800;
  letter-spacing:.18em;text-transform:uppercase;color:var(--orange,#d97a2b);
  text-align:left;
}
.fx-courses-head-main h2{
  margin:0 0 16px;max-width:22ch;
  font-family:"Playfair Display",Georgia,serif;font-weight:600;
  font-size:clamp(2.4rem,4.4vw,4.2rem);line-height:1.02;letter-spacing:-.03em;
  color:var(--navy,#102f40);text-align:left;
}
.fx-courses-lede{
  margin:0;max-width:62ch;
  font-family:Inter,Arial,sans-serif;font-size:1.02rem;line-height:1.7;
  color:#3c4c54;text-align:left !important;hyphens:none !important;
}
.fx-courses-meta{
  display:grid;gap:0;margin:0;padding:0;
  border-top:2px solid var(--navy,#102f40);
}
.fx-courses-meta > div{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:13px 2px;border-bottom:1px solid rgba(20,37,45,.14);
}
.fx-courses-meta dt{
  font-family:Inter,Arial,sans-serif;font-size:.7rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:#7a8890;
}
.fx-courses-meta dd{
  margin:0;font-family:Inter,Arial,sans-serif;font-size:.95rem;font-weight:600;
  color:var(--navy,#102f40);text-align:right;
}
/* filas curso: titulo numerado + tarjeta blanca */
.fx-course-row{ margin:0 0 34px; }
.fx-course-title{
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  margin:0 0 18px;padding-bottom:14px;
  border-bottom:2px solid var(--navy,#102f40);position:relative;
}
.fx-course-title::after{
  content:"";position:absolute;left:0;bottom:-2px;width:96px;height:4px;
  background:linear-gradient(90deg,var(--orange,#d97a2b),var(--orange-soft,#f0ad70));border-radius:3px;
}
.fx-course-kicker{
  font-family:Inter,Arial,sans-serif;font-size:.7rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--orange,#d97a2b);
}
.fx-course-name{
  font-family:"Playfair Display",Georgia,serif;font-size:1.45rem;font-weight:600;
  color:var(--navy,#102f40);line-height:1.25;
}
/* tarjeta: fondo marfil, texto LEFT jamas justificado */
.fx-course-card{
  background:#fffdf9;border:1px solid rgba(20,37,45,.12);border-radius:22px;
  padding:clamp(28px,3.6vw,48px);
  box-shadow:0 16px 44px rgba(16,47,64,.09);
}
.fx-course-card p{
  text-align:left !important;hyphens:none !important;text-justify:auto !important;
  font-family:Inter,Arial,sans-serif;font-size:1rem;line-height:1.75;color:#2c3e46;
  max-width:78ch;
}
.fx-course-standfirst{
  font-size:1.06rem !important;line-height:1.7 !important;color:#22343c !important;
  max-width:76ch;border-left:3px solid var(--orange,#d97a2b);padding-left:18px;margin-bottom:26px !important;
}
.fx-course-card h4{
  font-family:"Playfair Display",Georgia,serif;font-size:1.18rem;font-weight:600;
  color:var(--navy,#102f40);margin:26px 0 10px;text-align:left;
  max-width:60ch;
}
.fx-course-card ul{ margin:10px 0 18px;padding-left:22px;text-align:left; }
.fx-course-card li{
  font-family:Inter,Arial,sans-serif;font-size:.98rem;line-height:1.7;color:#2c3e46;
  margin:7px 0;max-width:76ch;
}
.fx-course-cols{ display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3.4vw,48px);margin-top:8px; }
.fx-course-cols-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.fx-course-col{ min-width:0; }
.fx-course-next{ margin-top:22px; }
.fx-course-next a{
  font-family:Inter,Arial,sans-serif;font-size:.95rem;font-weight:700;color:var(--orange,#d97a2b);
}
/* nota final: misma columna que las tarjetas, sobria */
.fx-final{
  margin-top:44px;border-top:2px solid var(--navy,#102f40);padding-top:30px;
  max-width:820px;
}
.fx-final h3{
  font-family:"Playfair Display",Georgia,serif;font-size:1.5rem;color:var(--navy,#102f40);
  margin:0 0 10px;text-align:left;
}
.fx-final-quote{
  font-family:"Playfair Display",Georgia,serif;font-size:1.25rem;font-style:italic;
  color:var(--orange,#d97a2b);margin:0 0 14px;text-align:left;
}
.fx-final-text{
  font-family:Inter,Arial,sans-serif;font-size:1rem;line-height:1.75;color:#2c3e46;
  text-align:left !important;hyphens:none !important;margin:0;
}
@media (max-width:900px){
  .fx-courses-head{ grid-template-columns:1fr; }
  .fx-course-cols,.fx-course-cols-3{ grid-template-columns:1fr; }
  .fx-courses-v68 > .shell.fx-courses-shell{ width:calc(100% - 32px) !important; }
}
/* ==== CURSOS v69 — presentacion escaneable + mismos margenes que la seccion oscura ==== */
.fx-courses-v69{ background:var(--sand,#f5f1e8); }
.fx-courses-v69 > .shell{
  width:min(100% - clamp(24px,4vw,48px), var(--max,1720px)) !important;
  max-width:var(--max,1720px) !important;
  margin-inline:auto !important;
}
.fx-courses-head{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);
  gap:clamp(24px,4vw,64px);align-items:start;margin-bottom:36px;
}
.fx-courses-head-main .eyebrow{
  display:block;margin-bottom:10px;
  font-family:Inter,Arial,sans-serif;font-size:.72rem;font-weight:800;
  letter-spacing:.18em;text-transform:uppercase;color:var(--orange,#d97a2b);
  text-align:left;
}
.fx-courses-head-main h2{
  margin:0 0 16px;max-width:22ch;
  font-family:"Playfair Display",Georgia,serif;font-weight:600;
  font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.04;letter-spacing:-.03em;
  color:var(--navy,#102f40);text-align:left;
}
.fx-courses-lede{
  margin:0;max-width:62ch;
  font-family:Inter,Arial,sans-serif;font-size:1.02rem;line-height:1.7;
  color:#3c4c54;text-align:left !important;hyphens:none !important;
}
.fx-courses-lede-stack{
  display:grid;gap:12px;max-width:58ch;margin:0 0 4px;
}
.fx-courses-lede-stack .fx-courses-lede{ max-width:none; }
.fx-courses-meta{display:grid;gap:0;margin:0;padding:0;border-top:2px solid var(--navy,#102f40);}
.fx-courses-meta > div{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:12px 2px;border-bottom:1px solid rgba(20,37,45,.14);
}
.fx-courses-meta dt{
  font-family:Inter,Arial,sans-serif;font-size:.7rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:#7a8890;
}
.fx-courses-meta dd{
  margin:0;font-family:Inter,Arial,sans-serif;font-size:.95rem;font-weight:600;
  color:var(--navy,#102f40);text-align:right;
}
.fx-course-full{ margin-top:14px;border-top:1px solid rgba(20,37,45,.12);padding-top:6px; }
.fx-course-full > summary{
  cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;
  padding:14px 2px;font-family:Inter,Arial,sans-serif;font-size:.95rem;font-weight:800;
  color:var(--orange,#d97a2b);
}
.fx-course-full > summary::-webkit-details-marker{ display:none; }
.fx-course-full > summary::after{
  content:"";width:9px;height:9px;flex:none;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
}
.fx-course-full[open] > summary::after{ transform:rotate(-135deg); }
.fx-course-full h4{
  font-family:"Playfair Display",Georgia,serif;font-size:1.12rem;font-weight:600;
  color:var(--navy,#102f40);margin:20px 0 8px;text-align:left;max-width:60ch;
}
.fx-course-full p{
  text-align:left !important;hyphens:none !important;
  font-family:Inter,Arial,sans-serif;font-size:.98rem;line-height:1.75;color:#2c3e46;
  max-width:78ch;margin:0 0 12px;
}
.fx-course-full ul{ margin:8px 0 16px;padding-left:22px;text-align:left; }
.fx-course-full li{
  font-family:Inter,Arial,sans-serif;font-size:.95rem;line-height:1.7;color:#2c3e46;
  margin:6px 0;max-width:76ch;
}
.fx-course-cols{ display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px); }
.fx-course-cta{
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;
  margin-top:24px;padding-top:22px;border-top:1px solid rgba(20,37,45,.12);
}
.fx-course-cta .fx-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--orange,#d97a2b);color:#fff;text-decoration:none;
  font-family:Inter,Arial,sans-serif;font-size:.98rem;font-weight:800;
  padding:15px 30px;border-radius:999px;min-height:54px;
  box-shadow:0 12px 28px rgba(217,122,43,.35);
}
.fx-course-cta .fx-btn:hover{ filter:brightness(1.06); }
.fx-course-cta small{
  font-family:Inter,Arial,sans-serif;font-size:.82rem;color:#7a8890;
}
.fx-final{
  margin-top:40px;border-top:2px solid var(--navy,#102f40);padding-top:28px;
  max-width:820px;
}
.fx-final h3{
  font-family:"Playfair Display",Georgia,serif;font-size:1.5rem;color:var(--navy,#102f40);
  margin:0 0 10px;text-align:left;
}
.fx-final-quote{
  font-family:"Playfair Display",Georgia,serif;font-size:1.25rem;font-style:italic;
  color:var(--orange,#d97a2b);margin:0 0 14px;text-align:left;
}
.fx-final-text{
  font-family:Inter,Arial,sans-serif;font-size:1rem;line-height:1.75;color:#2c3e46;
  text-align:left !important;hyphens:none !important;margin:0;
}
@media (max-width:900px){
  .fx-courses-head{ grid-template-columns:1fr; }
  .fx-course-keys{ grid-template-columns:1fr; }
  .fx-course-cols{ grid-template-columns:1fr; }
  .fx-course-media{ height:190px; }
}
.fx-course{ margin:0 0 34px; }
.fx-course-card{
  background:#fffdf9;border:1px solid rgba(20,37,45,.12);border-radius:22px;
  overflow:hidden;box-shadow:0 16px 44px rgba(16,47,64,.09);
}
.fx-course-media{ position:relative;height:clamp(200px,24vw,280px);overflow:hidden;background:#0b2633; }
.fx-course-media img{ width:100%;height:100%;object-fit:cover;display:block; }
.fx-course-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,20,28,0) 40%,rgba(6,20,28,.55) 100%);
}
.fx-course-media figcaption{
  position:absolute;left:22px;bottom:16px;z-index:2;
  font-family:Inter,Arial,sans-serif;font-size:.68rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:#fff;
  background:rgba(217,122,43,.92);padding:7px 12px;border-radius:999px;
}
.fx-course-body{ padding:clamp(24px,3.2vw,44px); }
.fx-course-body > h3{
  margin:0 0 6px;max-width:30ch;
  font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.4rem,2.2vw,1.8rem);
  font-weight:600;line-height:1.2;color:var(--navy,#102f40);text-align:left;
}
.fx-course-sub{
  margin:0 0 16px;font-family:Inter,Arial,sans-serif;font-size:.95rem;font-weight:600;
  color:var(--orange,#d97a2b);text-align:left;
}
.fx-course-standfirst{
  font-family:Inter,Arial,sans-serif;font-size:1.04rem !important;line-height:1.7 !important;
  color:#22343c !important;max-width:74ch;text-align:left !important;hyphens:none !important;
  border-left:3px solid var(--orange,#d97a2b);padding-left:18px;margin:0 0 24px !important;
}
.fx-course-keys{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;margin:0 0 6px;padding:0;list-style:none;
}
.fx-course-keys > li{
  background:#f5f1e8;border:1px solid rgba(20,37,45,.1);border-radius:14px;
  padding:16px 18px;margin:0;max-width:none;
}
.fx-course-keys strong{
  display:block;margin-bottom:6px;
  font-family:Inter,Arial,sans-serif;font-size:.68rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:var(--navy,#102f40);
}
.fx-course-keys span{
  font-family:Inter,Arial,sans-serif;font-size:.92rem;line-height:1.6;color:#2c3e46;
  text-align:left;
}
/* ==== CURSOS v70 — pagina completa MARFIL: cero azul oscuro, letras navy ==== */
.fx-courses-v69{ background:#fffdf9; }
.fx-courses-v69 .fx-course-card{ background:#fffdf9; }
.knowledge-v27{
  color:#102f40;
  background:#fffdf9;
}
.knowledge-v27::before{ display:none; }
.knowledge-v27 h2,.knowledge-v27 h3{ color:#102f40; }
.knowledge-v27-title > strong{ color:#d97a2b; }
.knowledge-v27-intro > p{ color:#3c4c54; }
.knowledge-v27-proof{
  border-left:3px solid #d97a2b;background:#f5f1e8;
}
.knowledge-v27-proof span{ color:#7a8890; }
.knowledge-v27-proof strong{ color:#102f40; }
.knowledge-v27-grid{ gap:20px; }
.knowledge-v27-card{
  background:#fffdf9;border:1px solid rgba(20,37,45,.12);
  box-shadow:0 16px 44px rgba(16,47,64,.09);
}
.knowledge-v27-card-body > span{ color:#d97a2b; }
.knowledge-v27-card-body > p{ color:#2c3e46; }
.knowledge-v27-tags span{
  color:#102f40;border-color:rgba(20,37,45,.2);background:#f5f1e8;
}
.knowledge-v27-action{ background:transparent;border:0;box-shadow:none;padding:0; }
.knowledge-v27-action-copy > p{ color:#3c4c54; }
.knowledge-v27-action-copy h3{ color:#102f40; }
.knowledge-v27-principles article{
  background:#fffdf9;border:1px solid rgba(20,37,45,.12);
  box-shadow:0 10px 28px rgba(16,47,64,.07);
}
.knowledge-v27-principles article > div > strong{ color:#102f40; }
.knowledge-v27-principles small{ color:#3c4c54; }
.knowledge-v27-principles article > span{ color:#d97a2b;border-color:rgba(217,122,43,.4); }
.knowledge-v27-form{ background:#f5f1e8;border:1px solid rgba(20,37,45,.12); }
.knowledge-v27-form-head h3{ color:#102f40; }
.knowledge-v27-form-head p{ color:#3c4c54; }
.knowledge-v27-form label span{ color:#102f40; }
.knowledge-v27-form input,.knowledge-v27-form textarea{
  background:#fffdf9 !important;border:1px solid rgba(20,37,45,.2) !important;color:#102f40 !important;
}
.knowledge-v27-form input::placeholder,.knowledge-v27-form textarea::placeholder{ color:rgba(16,47,64,.45) !important; }
.knowledge-v27-form-footer p{ color:#3c4c54 !important; }
.knowledge-v27-form-footer p strong{ color:#102f40 !important; }
.knowledge-v27-form{ background:#f5f1e8 !important; }
.knowledge-v27-telegram{ background:#f5f1e8;border:1px solid rgba(20,37,45,.12); }
.knowledge-v27-telegram h3{ color:#102f40; }
.knowledge-v27-telegram > p{ color:#3c4c54; }
/* ==== HISTORIA AV v71 — Flaca Effect cinema (same shell as Flaka Go) ==== */
#bolivia.fx-historia-av{
  padding-bottom:0;
}
#bolivia.fx-historia-av .fx-historia-copy{
  max-width:68ch;
  margin:0 0 8px;
}
#bolivia.fx-historia-av .fx-historia-copy p{
  margin:0;
  color:var(--muted,#5D6E78);
  line-height:1.65;
}
#bolivia .fx-go-preview{
  margin-top:18px;
}
/* Stage never black: film sits above empty <video>, first slide visible */
#fxHistoriaPreview .fx-go-stage{ background:#061520; }
#fxHistoriaPreview .fx-av-video{ z-index:0; }
#fxHistoriaPreview .fx-av-poster{
  display:block;
  position:absolute; inset:0; z-index:1;
  width:100%; height:100%; object-fit:cover;
}
#fxHistoriaPreview.has-film .fx-av-poster{ display:none !important; }
/* Mobile fix: once MP4 mode is armed, never leave poster/film covering the video */
#fxHistoriaPreview.mode-video .fx-av-poster,
#fxHistoriaPreview.is-playing .fx-av-poster{
  display:none !important;
  opacity:0 !important;
  pointer-events:none !important;
}
#fxHistoriaPreview.mode-video .fx-historia-film,
#fxHistoriaPreview.is-playing .fx-historia-film{
  display:none !important;
}
#fxHistoriaPreview.mode-video .fx-av-video,
#fxHistoriaPreview.is-playing .fx-av-video{
  display:block !important;
  z-index:3 !important;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
#fxGoPreview.is-playing .fx-av-poster,
.fx-story.is-playing .fx-av-poster,
.fx-av.is-playing .fx-av-poster{
  display:none !important;
}
#fxGoPreview.is-playing .fx-av-video,
.fx-story.is-playing .fx-av-video,
.fx-av.is-playing .fx-av-video{
  display:block !important;
  z-index:2;
}

.fx-historia-film{
  position:absolute;
  inset:0;
  z-index:2;
  background:#061520;
  overflow:hidden;
}
.fx-historia-film[hidden]{ display:none !important; }
.fx-historia-film:not([hidden]){ display:block; }
.fx-historia-film img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.04);
  transition:opacity .9s ease, transform 4s ease;
  pointer-events:none;
}
.fx-historia-film img.is-on{
  opacity:1;
  transform:scale(1);
  z-index:2;
}
.fx-historia-film--full{
  position:relative;
  min-height:min(70vh,520px);
  aspect-ratio:16/9;
}
#fxHistoriaExplain{
  width:min(96vw,920px);
  max-height:94vh;
  padding:0;
  border:0;
  border-radius:20px;
  background:#061520;
  color:#fff;
  overflow:auto;
  box-shadow:0 28px 64px rgba(0,0,0,.45);
}
#fxHistoriaExplain::backdrop{background:rgba(6,22,30,.88);}
#fxHistoriaExplain .fx-go-transcript{padding:0 0 8px;background:transparent;}
#fxHistoriaPreview > .fx-go-transcript{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);
}
#fxHistoriaAudio{display:none;}

/* ==== HISTORIA TYPE v72 — letra legible, Inter en cuerpo (no Times) ====
   Criterio: Playfair SOLO en titulares de display.
   Cuerpo / invite / fichas = Inter, mayor tamaño, LEFT, más aire. */
#fxHistoriaPreview .fx-go-invite-kicker{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.78rem !important;
  letter-spacing:.12em !important;
  padding:18px 22px 0 !important;
}
#fxHistoriaPreview .fx-go-invite-text{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.05rem,1.35vw,1.2rem) !important;
  font-weight:500 !important;
  line-height:1.65 !important;
  letter-spacing:-.01em !important;
  color:#2c3e46 !important;
  max-width:52ch !important;
  padding:12px 22px 10px !important;
  text-align:left !important;
  hyphens:none !important;
}
#fxHistoriaPreview .fx-go-bar{
  padding:10px 22px 18px !important;
  gap:12px !important;
}
#fxHistoriaPreview .fx-go-pause,
#fxHistoriaPreview .fx-go-open{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.95rem !important;
}

#bolivia.fx-historia-av .section-head h2{
  font-family:"Playfair Display",Georgia,serif !important;
}
#bolivia.fx-historia-av .section-head > p,
#bolivia.fx-historia-av .fx-historia-copy p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.05rem,1.4vw,1.18rem) !important;
  font-weight:400 !important;
  line-height:1.7 !important;
  text-align:left !important;
  hyphens:none !important;
  color:#3c4c54 !important;
  max-width:62ch;
}

/* Impact Architecture — misma página Historia */
#impacto.journal .section-head > p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.02rem,1.3vw,1.12rem) !important;
  line-height:1.65 !important;
  text-align:left !important;
  hyphens:none !important;
  color:#3c4c54 !important;
}
#impacto .journal-card span{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.72rem !important;
}
#impacto .journal-card h3{
  font-family:"Playfair Display",Georgia,serif !important;
  font-size:clamp(1.55rem,2.4vw,2.15rem) !important;
  margin:22px 0 14px !important;
}
#impacto .journal-card p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(.98rem,1.15vw,1.08rem) !important;
  line-height:1.65 !important;
  text-align:left !important;
  hyphens:none !important;
}
#impacto .journal-card a{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.95rem !important;
  font-weight:700 !important;
}
#impacto .journal-card{
  padding:clamp(28px,3vw,36px) !important;
  min-height:auto !important;
}

/* Institutional Identity cards — aire + Inter cuerpo */
#historia .section-head > p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.05rem,1.35vw,1.18rem) !important;
  line-height:1.7 !important;
  text-align:left !important;
  hyphens:none !important;
}
#historia .story-panel{
  justify-content:flex-start !important;
  gap:0 !important;
}
#historia .story-panel h3{
  font-family:"Playfair Display",Georgia,serif !important;
  max-width:18ch !important;
  margin:0 0 22px !important;
}
#historia .story-panel p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(.98rem,1.2vw,1.08rem) !important;
  line-height:1.65 !important;
  text-align:left !important;
  hyphens:none !important;
  margin:0 0 18px !important;
}
#historia .story-panel p strong{
  display:block;
  font-family:Inter,Arial,sans-serif !important;
  font-size:.82rem !important;
  font-weight:700 !important;
  letter-spacing:.04em;
  text-transform:none;
  color:var(--navy,#102f40);
  margin-bottom:4px;
}
#historia .story-panel p:last-child{ margin-bottom:0 !important; }
/* ==== HISTORIA TYPE v72 — letra legible, Inter en cuerpo (no Times) ====
   Criterio: Playfair SOLO en titulares de display.
   Cuerpo / invite / fichas = Inter, mayor tamaño, LEFT, más aire. */
#fxHistoriaPreview .fx-go-invite-kicker{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.78rem !important;
  letter-spacing:.12em !important;
  padding:18px 22px 0 !important;
}
#fxHistoriaPreview .fx-go-invite-text{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.05rem,1.35vw,1.2rem) !important;
  font-weight:500 !important;
  line-height:1.65 !important;
  letter-spacing:-.01em !important;
  color:#2c3e46 !important;
  max-width:52ch !important;
  padding:12px 22px 10px !important;
  text-align:left !important;
  hyphens:none !important;
}
#fxHistoriaPreview .fx-go-bar{
  padding:10px 22px 18px !important;
  gap:12px !important;
}
#fxHistoriaPreview .fx-go-pause,
#fxHistoriaPreview .fx-go-open{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.95rem !important;
}

#bolivia.fx-historia-av .section-head h2{
  font-family:"Playfair Display",Georgia,serif !important;
}
#bolivia.fx-historia-av .section-head > p,
#bolivia.fx-historia-av .fx-historia-copy p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.05rem,1.4vw,1.18rem) !important;
  font-weight:400 !important;
  line-height:1.7 !important;
  text-align:left !important;
  hyphens:none !important;
  color:#3c4c54 !important;
  max-width:62ch;
}

/* Impact Architecture — misma página Historia */
#impacto.journal .section-head > p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.02rem,1.3vw,1.12rem) !important;
  line-height:1.65 !important;
  text-align:left !important;
  hyphens:none !important;
  color:#3c4c54 !important;
}
#impacto .journal-card span{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.72rem !important;
}
#impacto .journal-card h3{
  font-family:"Playfair Display",Georgia,serif !important;
  font-size:clamp(1.55rem,2.4vw,2.15rem) !important;
  margin:22px 0 14px !important;
}
#impacto .journal-card p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(.98rem,1.15vw,1.08rem) !important;
  line-height:1.65 !important;
  text-align:left !important;
  hyphens:none !important;
}
#impacto .journal-card a{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.95rem !important;
  font-weight:700 !important;
}
#impacto .journal-card{
  padding:clamp(28px,3vw,36px) !important;
  min-height:auto !important;
}

/* Institutional Identity cards — aire + Inter cuerpo */
#historia .section-head > p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.05rem,1.35vw,1.18rem) !important;
  line-height:1.7 !important;
  text-align:left !important;
  hyphens:none !important;
}
#historia .story-panel{
  justify-content:flex-start !important;
  gap:0 !important;
}
#historia .story-panel h3{
  font-family:"Playfair Display",Georgia,serif !important;
  max-width:18ch !important;
  margin:0 0 22px !important;
}
#historia .story-panel p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(.98rem,1.2vw,1.08rem) !important;
  line-height:1.65 !important;
  text-align:left !important;
  hyphens:none !important;
  margin:0 0 18px !important;
}
#historia .story-panel p strong{
  display:block;
  font-family:Inter,Arial,sans-serif !important;
  font-size:.82rem !important;
  font-weight:700 !important;
  letter-spacing:.04em;
  text-transform:none;
  color:var(--navy,#102f40);
  margin-bottom:4px;
}
#historia .story-panel p:last-child{ margin-bottom:0 !important; }
/* ==== HISTORIA TYPE v72 — letra legible, Inter en cuerpo (no Times) ====
   Criterio: Playfair SOLO en titulares de display.
   Cuerpo / invite / fichas = Inter, mayor tamaño, LEFT, más aire. */
#fxHistoriaPreview .fx-go-invite-kicker{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.78rem !important;
  letter-spacing:.12em !important;
  padding:18px 22px 0 !important;
}
#fxHistoriaPreview .fx-go-invite-text{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.05rem,1.35vw,1.2rem) !important;
  font-weight:500 !important;
  line-height:1.65 !important;
  letter-spacing:-.01em !important;
  color:#2c3e46 !important;
  max-width:52ch !important;
  padding:12px 22px 10px !important;
  text-align:left !important;
  hyphens:none !important;
}
#fxHistoriaPreview .fx-go-bar{
  padding:10px 22px 18px !important;
  gap:12px !important;
}
#fxHistoriaPreview .fx-go-pause,
#fxHistoriaPreview .fx-go-open{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.95rem !important;
}

#bolivia.fx-historia-av .section-head h2{
  font-family:"Playfair Display",Georgia,serif !important;
}
#bolivia.fx-historia-av .section-head > p,
#bolivia.fx-historia-av .fx-historia-copy p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.05rem,1.4vw,1.18rem) !important;
  font-weight:400 !important;
  line-height:1.7 !important;
  text-align:left !important;
  hyphens:none !important;
  color:#3c4c54 !important;
  max-width:62ch;
}

/* Impact Architecture — misma página Historia */
#impacto.journal .section-head > p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.02rem,1.3vw,1.12rem) !important;
  line-height:1.65 !important;
  text-align:left !important;
  hyphens:none !important;
  color:#3c4c54 !important;
}
#impacto .journal-card span{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.72rem !important;
}
#impacto .journal-card h3{
  font-family:"Playfair Display",Georgia,serif !important;
  font-size:clamp(1.55rem,2.4vw,2.15rem) !important;
  margin:22px 0 14px !important;
}
#impacto .journal-card p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(.98rem,1.15vw,1.08rem) !important;
  line-height:1.65 !important;
  text-align:left !important;
  hyphens:none !important;
}
#impacto .journal-card a{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.95rem !important;
  font-weight:700 !important;
}
#impacto .journal-card{
  padding:clamp(28px,3vw,36px) !important;
  min-height:auto !important;
}

/* Institutional Identity cards — aire + Inter cuerpo */
#historia .section-head > p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.05rem,1.35vw,1.18rem) !important;
  line-height:1.7 !important;
  text-align:left !important;
  hyphens:none !important;
}
#historia .story-panel{
  justify-content:flex-start !important;
  gap:0 !important;
}
#historia .story-panel h3{
  font-family:"Playfair Display",Georgia,serif !important;
  max-width:18ch !important;
  margin:0 0 22px !important;
}
#historia .story-panel p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(.98rem,1.2vw,1.08rem) !important;
  line-height:1.65 !important;
  text-align:left !important;
  hyphens:none !important;
  margin:0 0 18px !important;
}
#historia .story-panel p strong{
  display:block;
  font-family:Inter,Arial,sans-serif !important;
  font-size:.82rem !important;
  font-weight:700 !important;
  letter-spacing:.04em;
  text-transform:none;
  color:var(--navy,#102f40);
  margin-bottom:4px;
}
#historia .story-panel p:last-child{ margin-bottom:0 !important; }
/* ==== FLACA KOIN QR v83 — fashion scan + fix corte Get Involved ==== */

/* Evitar que Participate / Flaca Koin recorten contenido */
#participa.participation-v31,
#donar.donation-v29{
  overflow: visible !important;
}
#participa.participation-v31 > .shell,
#donar.donation-v29 > .shell{
  overflow: visible !important;
}
body.page-participa main,
main:has(#donar),
main:has(#participa){
  overflow: visible !important;
}

/* Cabecera Participate: lead alineado, no descuadrado */
#participa .participation-v31-head{
  align-items: start !important;
  gap: clamp(20px, 3vw, 40px) !important;
  margin-bottom: clamp(24px, 3vw, 36px) !important;
}
#participa .participation-v31-head h2{
  margin: 8px 0 0 !important;
  font-size: clamp(2.2rem, 4vw, 3.6rem) !important;
  line-height: 1.05 !important;
  max-width: 14ch;
}
#participa .participation-v31-head > p{
  padding-top: 2.1rem;
  max-width: 42ch !important;
  font-size: 1.02rem !important;
  line-height: 1.5 !important;
  text-align: left !important;
  hyphens: manual !important;
}
#participa .fx-participa-lead{
  display:grid;
  gap:10px;
  max-width:42ch;
  padding-top:2.1rem;
  margin:0;
}
#participa .fx-participa-lead p{
  margin:0 !important;
  max-width:none !important;
  font-size:1.02rem !important;
  line-height:1.5 !important;
  text-align:left !important;
  hyphens:manual !important;
  color:var(--muted, rgba(16,47,64,.68)) !important;
}
#participa .fx-participa-lead p:first-child{
  font-weight:600;
  color:var(--navy, #102f40) !important;
}

/* Layout rutas + form: que no se aplasten */
#participa .participation-v31-layout{
  align-items: start !important;
}
#participa .participation-v31-form{
  min-height: 0 !important;
  overflow: visible !important;
}
#participa .participation-v31-close{
  margin-top: 20px !important;
}

/* Flaca Koin grid: cards al top, token completa sin clip */
#donar .donation-v29-grid{
  align-items: start !important;
  gap: 16px !important;
}
#donar .support-v29-card{
  overflow: visible !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 22px !important;
}
#donar .support-v29-token{
  gap: 0;
}
#donar .donation-v29-head{
  align-items: start !important;
  margin-bottom: 22px !important;
}
#donar .donation-v29-head > p{
  padding-top: 1.6rem;
  max-width: 48ch;
  font-size: 1.02rem !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

/* Compact token header so QR + contract stay above the fold */
#donar .support-v29-token-top{
  grid-template-columns: 120px minmax(0,1fr) !important;
  gap: 16px !important;
  align-items: center !important;
}
#donar .support-v29-medallion{
  width: 120px !important;
  height: 120px !important;
}
#donar .support-v29-medallion-ring{
  width: 100px !important;
  height: 100px !important;
}
#donar .support-v29-medallion > span{
  width: 32px !important;
  height: 32px !important;
  right: 8px !important;
  bottom: 8px !important;
  font-size: .72rem !important;
}
#donar .support-v29-token-copy h3{
  margin: 4px 0 6px !important;
  font-size: clamp(1.55rem, 2.4vw, 2.2rem) !important;
}
#donar .support-v29-subcopy{
  font-size: .74rem !important;
  line-height: 1.45 !important;
}
#donar .support-v29-meta{
  margin: 14px 0 0 !important;
}
#donar .support-v29-meta > div{
  min-height: 0 !important;
  padding: 10px 12px !important;
}
#donar .support-v29-meta dd{
  margin-top: 4px !important;
}

/* QR fashion panel — primary action, above the fold */
#donar .fx-flaca-qr{
  display:grid;
  grid-template-columns:minmax(96px,120px) minmax(0,1fr);
  gap:12px 14px;
  align-items:center;
  margin:10px 0 8px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(190,157,96,.45);
  background:
    radial-gradient(ellipse 80% 70% at 10% 20%, rgba(233,166,94,.12), transparent 55%),
    linear-gradient(165deg, #fffef9, #f3ebe0);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
#donar .fx-flaca-qr picture,
#donar .fx-flaca-qr img{
  display:block;
  width:100%;
  max-width:120px;
  height:auto;
  border-radius:12px;
}
#donar .fx-flaca-qr figcaption{
  display:grid;
  gap:4px;
  margin:0;
}
#donar .fx-flaca-qr figcaption strong{
  font-family:"Playfair Display",Georgia,serif;
  font-size:1.05rem;
  font-weight:600;
  color:var(--navy,#102f40);
  letter-spacing:-.02em;
}
#donar .fx-flaca-qr figcaption span{
  font-family:Inter,Arial,sans-serif;
  font-size:.8rem;
  line-height:1.35;
  color:rgba(16,47,64,.62);
}
#donar .fx-flaca-qr-dl{
  grid-column:2;
  justify-self:start;
  font-family:Inter,Arial,sans-serif;
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--navy,#102f40);
  border-bottom:1px solid rgba(217,122,43,.55);
  padding-bottom:2px;
}
#donar .fx-flaca-qr-dl:hover{ color:var(--orange,#d97a2b); }

/* Contrato: que no se corte el mint */
#donar .support-v29-contract{
  margin-top: 10px !important;
  padding: 12px 14px !important;
}
#donar .support-v29-contract-copy code{
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
  font-size: .66rem !important;
}
#donar .support-v29-actions{
  flex-wrap: wrap !important;
  margin-top: 12px !important;
  margin-bottom: 4px;
  gap: 8px !important;
}

/* Compact steps under CTAs — collapsed by default so the card ends clean */
#donar .support-v29-steps{
  margin-top: 12px;
  border-radius: 12px;
  border: 1px solid rgba(16,47,64,.08);
  background: rgba(16,47,64,.03);
  padding: 0;
}
#donar .support-v29-steps > summary{
  cursor: pointer;
  list-style: none;
  padding: 9px 14px;
  color: var(--navy, #102f40);
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}
#donar .support-v29-steps > summary::-webkit-details-marker{ display:none; }
#donar .support-v29-steps > summary::after{
  content: "+";
  float: right;
  color: var(--orange, #d97a2b);
  font-weight: 700;
}
#donar .support-v29-steps[open] > summary::after{ content: "–"; }
#donar .support-v29-steps-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 14px;
  padding: 0 12px 12px;
}
#donar .support-v29-steps-grid > div{
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(16,47,64,.06);
}
#donar .support-v29-steps-grid strong{
  display: block;
  color: var(--orange);
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
#donar .support-v29-steps-grid p{
  margin: 5px 0 0 !important;
  color: var(--muted);
  font-size: .72rem !important;
  line-height: 1.4 !important;
}
#donar .support-v29-note-inline{
  margin: 0 !important;
  padding: 0 14px 12px;
  color: var(--muted);
  font-size: .68rem !important;
  line-height: 1.4 !important;
}

#donar.donation-v29{
  padding-bottom: clamp(48px, 6vw, 80px) !important;
}
#participa.participation-v31{
  padding-bottom: clamp(36px, 5vw, 56px) !important;
}

/* Get Involved ya muestra el QR fashion de Flaca Koin: no tapar contrato/QR */
body:has(#donar) #pwaQuickCard{
  display: none !important;
}

@media (max-width:980px){
  #participa .fx-participa-lead,
  #donar .donation-v29-head > p{ padding-top: 0; }
}
@media (max-width:720px){
  #donar .support-v29-steps-grid{ grid-template-columns: 1fr; }
}
@media (max-width:560px){
  #donar .fx-flaca-qr{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }
  #donar .fx-flaca-qr picture,
  #donar .fx-flaca-qr img{ max-width:160px; }
  #donar .fx-flaca-qr-dl{
    grid-column:1;
    justify-self:center;
  }
  #donar .support-v29-token-top{
    grid-template-columns: 1fr !important;
    justify-items: start;
  }
}
/* ==== FLAKAGO COPY v81 — lead descomprimido + tipografía clara ==== */
#flacago.fx-flacago--v81 .fx-flacago-head{
  max-width:52rem;
  margin:0 0 clamp(20px,3vw,28px) !important;
}
#flacago.fx-flacago--v81 .fx-eyebrow{
  display:block;
  margin:0 0 10px;
  font-size:.78rem;
  letter-spacing:.12em;
}
#flacago.fx-flacago--v81 .fx-title{
  margin:0 0 14px !important;
  max-width:18ch;
  font-size:clamp(2.1rem,4vw,3.2rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em;
}
#flacago.fx-flacago--v81 .fx-flacago-lead{
  display:grid;
  gap:10px;
  max-width:48ch;
  margin:0;
}
#flacago.fx-flacago--v81 .fx-flacago-lead p{
  margin:0 !important;
  color:rgba(255,255,255,.72) !important;
  font-size:1.05rem !important;
  line-height:1.5 !important;
  text-align:left !important;
  hyphens:manual !important;
  max-width:none !important;
}
#flacago.fx-flacago--v81 .fx-flacago-lead p:first-child{
  color:rgba(255,255,255,.88) !important;
  font-weight:550;
}
#flacago.fx-flacago--v81 .fx-go-invite-text{
  max-width:48ch !important;
  font-size:1.02rem !important;
  line-height:1.5 !important;
  text-align:left !important;
}
#flacago.fx-flacago--v81 .fx-go-invite-kicker{
  font-size:.78rem !important;
  letter-spacing:.12em;
}
/* ==== PROGRAMAS HEAD v80 — lead alineado, no descuadrado ==== */
#programas .fx-programas-head{
  display:grid !important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) !important;
  gap:clamp(20px,3vw,36px) clamp(28px,4vw,52px) !important;
  align-items:start !important;
  margin:0 0 clamp(28px,4vw,42px) !important;
}
#programas .fx-programas-head > div:first-child{
  padding-right:0 !important;
}
#programas .fx-programas-head .eyebrow{
  display:block;
  margin:0 0 8px !important;
}
#programas .fx-programas-head h2{
  margin:0 !important;
  max-width:14ch !important;
  font-size:clamp(2.4rem,4.2vw,3.6rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.03em !important;
}
#programas .fx-programas-lead{
  display:grid;
  gap:12px;
  margin:0;
  padding-top:2.15rem; /* alinea con h2 bajo el eyebrow */
  max-width:42ch;
  justify-self:start;
}
#programas .fx-programas-lead p{
  margin:0 !important;
  max-width:none !important;
  padding:0 !important;
  font-size:1.05rem !important;
  line-height:1.5 !important;
  text-align:justify !important;
  hyphens:auto;
  text-align-last:left !important;
  color:var(--muted, rgba(16,47,64,.72)) !important;
}
#programas .fx-programas-lead p:first-child{
  font-weight:600;
  color:var(--navy, #102f40) !important;
  text-align:left !important;
  hyphens:manual;
}

@media (max-width:760px){
  #programas .fx-programas-head{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  #programas .fx-programas-lead{
    padding-top:0;
    max-width:none;
  }
}
/* ==== METODO LAYOUT v79 — Treaty + Engrane: orden, márgenes, justificado ==== */

/* --- Treaty of the 20 Keys --- */
#factor20 .fx-method--v79{
  margin-top:24px;
  padding:clamp(24px,3vw,36px) clamp(22px,3vw,36px);
  border-radius:18px;
}
#factor20 .fx-method--v79 .fx-method-intro{
  max-width:52ch;
  margin:0 0 clamp(22px,3vw,32px);
}
#factor20 .fx-method--v79 .fx-method-intro .eyebrow{
  display:block;
  margin:0 0 8px;
  color:var(--orange-soft);
  font-size:.78rem;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
}
#factor20 .fx-method--v79 .fx-method-intro h3{
  margin:0 0 12px !important;
  color:#fff !important;
  font-size:clamp(1.85rem,3.2vw,2.6rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em;
}
#factor20 .fx-method--v79 .fx-method-intro p{
  margin:0 !important;
  color:rgba(255,255,255,.72) !important;
  font-size:1.02rem !important;
  line-height:1.55 !important;
  text-align:justify !important;
  hyphens:auto;
  text-align-last:left !important;
}

#factor20 .fx-method--v79 .method-grid--phases{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  align-items:stretch !important;
}
#factor20 .fx-method--v79 .method-grid--phases > div{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:4px 18px 4px 18px;
  border-left:1px solid rgba(255,255,255,.14);
  min-width:0;
}
#factor20 .fx-method--v79 .method-grid--phases > div:first-child{
  padding-left:0;
  border-left:0;
}
#factor20 .fx-method--v79 .method-grid--phases b{
  display:block;
  color:var(--orange-soft) !important;
  font-size:1.2rem !important;
  font-weight:800;
  line-height:1;
  letter-spacing:.04em;
}
#factor20 .fx-method--v79 .fx-phase-name{
  display:block !important;
  margin:0 !important;
  color:#fff !important;
  font-size:.95rem !important;
  font-weight:750 !important;
  line-height:1.3 !important;
  text-align:left !important;
}
#factor20 .fx-method--v79 .method-grid--phases strong{
  display:block !important;
  margin:0 !important;
  color:rgba(255,255,255,.88) !important;
  font-size:.86rem !important;
  font-weight:650 !important;
  letter-spacing:.02em;
}
#factor20 .fx-method--v79 .fx-phase-keys{
  display:block !important;
  margin:0 !important;
  color:var(--orange-soft) !important;
  font-size:.78rem !important;
  font-weight:650 !important;
  line-height:1.4 !important;
  text-align:left !important;
}
#factor20 .fx-method--v79 .method-grid--phases p{
  margin:4px 0 0 !important;
  color:rgba(255,255,255,.7) !important;
  font-size:.92rem !important;
  line-height:1.5 !important;
  text-align:justify !important;
  hyphens:auto;
  text-align-last:left !important;
  flex:1;
}

#factor20 .fx-method--v79 .fx-method-day21{
  margin:clamp(22px,3vw,28px) 0 0;
  padding:18px 20px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
}
#factor20 .fx-method--v79 .fx-method-day21 h3{
  margin:0 0 8px !important;
  color:#fff !important;
  font-size:clamp(1.2rem,2vw,1.45rem) !important;
  line-height:1.2 !important;
  font-weight:700;
}
#factor20 .fx-method--v79 .fx-method-day21 p{
  margin:0 !important;
  color:rgba(255,255,255,.72) !important;
  font-size:1.02rem !important;
  line-height:1.5 !important;
  text-align:justify !important;
  hyphens:auto;
  text-align-last:left !important;
  max-width:72ch;
}

/* Quitar el Day 21 huérfano fuera del navy (si quedara en builds viejos) */
#factor20 > .shell > #mutacion-dia-21.fundraising-v32-note{
  display:none !important;
}

#factor20 .section-head > p,
#factor20 .method-statement p{
  text-align:justify !important;
  hyphens:auto;
  text-align-last:left !important;
}

@media (max-width:980px){
  #factor20 .fx-method--v79 .method-grid--phases{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #factor20 .fx-method--v79 .method-grid--phases > div:nth-child(3){
    border-left:0;
    padding-left:0;
  }
  #factor20 .fx-method--v79 .method-grid--phases > div:nth-child(odd){
    border-left:0;
    padding-left:0;
  }
  #factor20 .fx-method--v79 .method-grid--phases > div:nth-child(even){
    border-left:1px solid rgba(255,255,255,.14);
    padding-left:18px;
  }
}
@media (max-width:620px){
  #factor20 .fx-method--v79 .method-grid--phases{
    grid-template-columns:1fr !important;
  }
  #factor20 .fx-method--v79 .method-grid--phases > div{
    border-left:0 !important;
    padding:16px 0 !important;
    border-top:1px solid rgba(255,255,255,.12);
  }
  #factor20 .fx-method--v79 .method-grid--phases > div:first-child{
    border-top:0;
    padding-top:0 !important;
  }
}

/* --- Youth and Experts --- */
#engrane.fx-engrane--v79{
  padding:clamp(48px,6vw,80px) 0 !important;
}
#engrane.fx-engrane--v79 .fx-engrane-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) !important;
  gap:clamp(24px,4vw,48px) !important;
  align-items:start !important;
  margin:0 0 clamp(28px,4vw,40px) !important;
}
#engrane.fx-engrane--v79 .fx-engrane-head h2{
  margin:8px 0 0 !important;
  max-width:12ch;
}
#engrane.fx-engrane--v79 .fx-engrane-head > p{
  margin:0 !important;
  max-width:none !important;
  padding-top:2.1rem; /* alinea con baseline del h2 bajo eyebrow */
  color:rgba(255,255,255,.68) !important;
  font-size:1.05rem !important;
  line-height:1.55 !important;
  text-align:justify !important;
  hyphens:auto;
  text-align-last:left !important;
}
#engrane.fx-engrane--v79 .fx-engrane-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px !important;
  margin:0 !important;
}
#engrane.fx-engrane--v79 .governance-card{
  margin:0 !important;
  padding:22px 24px !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.045) !important;
  border:1px solid rgba(255,255,255,.1) !important;
}
#engrane.fx-engrane--v79 .fx-engrane-card--span{
  grid-column:1 / -1;
}
#engrane.fx-engrane--v79 .governance-card h3{
  margin:0 0 12px !important;
  color:#fff !important;
  font-size:clamp(1.15rem,1.8vw,1.35rem) !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  letter-spacing:-.02em;
  text-align:left !important;
}
#engrane.fx-engrane--v79 .governance-card p{
  margin:0 !important;
  color:rgba(255,255,255,.68) !important;
  font-size:1.02rem !important;
  line-height:1.55 !important;
  text-align:justify !important;
  hyphens:auto;
  text-align-last:left !important;
}

@media (max-width:760px){
  #engrane.fx-engrane--v79 .fx-engrane-head{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  #engrane.fx-engrane--v79 .fx-engrane-head > p{
    padding-top:0;
  }
  #engrane.fx-engrane--v79 .fx-engrane-grid{
    grid-template-columns:1fr !important;
  }
}
/* ==== MISION IMPACT v73 — gráfico orbital (base) + v74 estética editorial ==== */
#vision2030.fx-horizon--v73{
  padding: clamp(56px, 7vw, 96px) 0 clamp(72px, 9vw, 120px);
  background:
    radial-gradient(ellipse 80% 50% at 70% 60%, rgba(217,122,43,.07), transparent 55%),
    radial-gradient(ellipse 60% 40% at 15% 20%, rgba(44,103,127,.1), transparent 50%),
    #07131c;
}

#vision2030.fx-horizon--v73 .fx-horizon-title{
  font-family:"Playfair Display",Georgia,serif !important;
  font-size:clamp(2.5rem, 5vw, 3.9rem) !important;
  letter-spacing:-.03em !important;
  max-width:14ch;
  font-weight:600 !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-lead{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.05rem,1.3vw,1.15rem) !important;
  line-height:1.7 !important;
  text-align:left !important;
  hyphens:none !important;
  max-width:48ch !important;
  color:rgba(247,243,236,.68) !important;
  font-weight:400 !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-mark{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.72rem !important;
  letter-spacing:.18em !important;
  color:rgba(233,166,94,.9) !important;
}

/* Modes — editorial underline, not chunky tabs */
#vision2030.fx-horizon--v73 .fx-horizon-modes{
  gap:4px;
  margin:0 0 28px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
#vision2030.fx-horizon--v73 .fx-horizon-mode{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.7rem !important;
  padding:12px 4px 14px;
  margin-right:28px;
  letter-spacing:.14em !important;
  color:rgba(247,243,236,.4) !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-mode[aria-selected="true"]{
  color:#f7f3ec !important;
  border-bottom-color:#e9a65e !important;
}

/* Rail — soft glass chips, not brick wall */
#vision2030.fx-horizon--v73 .fx-horizon-rail{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  background:transparent !important;
  margin:0 0 22px !important;
  padding:0 !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-item{
  appearance:none;
  border:1px solid rgba(255,255,255,.08) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.03) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:inherit;
  text-align:left !important;
  padding:20px 20px 22px !important;
  min-height:0 !important;
  cursor:pointer;
  box-shadow:none !important;
  transform:none !important;
  transition:border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
#vision2030.fx-horizon--v73 .fx-horizon-item:hover,
#vision2030.fx-horizon--v73 .fx-horizon-item:focus-visible{
  background:rgba(255,255,255,.055) !important;
  border-color:rgba(233,166,94,.35) !important;
  outline:none;
  transform:none !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-item[aria-selected="true"]{
  background:linear-gradient(165deg, rgba(233,166,94,.12), rgba(255,255,255,.04)) !important;
  border-color:rgba(233,166,94,.55) !important;
  box-shadow:0 0 0 1px rgba(233,166,94,.12), 0 18px 40px rgba(0,0,0,.25) !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-item-k{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.68rem !important;
  letter-spacing:.14em !important;
  color:rgba(247,243,236,.45) !important;
  margin:0 0 12px !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-item-v{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.65rem,2.6vw,2.15rem) !important;
  font-weight:700 !important;
  letter-spacing:-.04em !important;
  color:#fff !important;
  line-height:1 !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-item-u{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.88rem !important;
  line-height:1.4 !important;
  color:rgba(247,243,236,.5) !important;
  margin-top:10px !important;
}

/* Stage — contained instrument, not empty void */
#vision2030.fx-horizon--v73 .fx-horizon-stage{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  aspect-ratio:16/9 !important;
  min-height:min(58vh,520px);
  border-radius:24px !important;
  overflow:hidden !important;
  background:#0a1620 !important;
  border:1px solid rgba(255,255,255,.07) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 30px 80px rgba(0,0,0,.4) !important;
}
#vision2030.fx-horizon--v73 .fx-hz-atmosphere{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 55% 45% at 58% 48%, rgba(233,166,94,.09), transparent 70%),
    radial-gradient(ellipse 40% 35% at 20% 80%, rgba(44,103,127,.08), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 40%);
}
#vision2030.fx-horizon--v73 .fx-horizon-shot{
  position:absolute;
  inset:0;
  z-index:1;
  opacity:0;
  transition:opacity .85s ease;
  pointer-events:none;
  filter:none !important;
  object-fit:unset !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-shot.is-on{
  opacity:1;
  z-index:2;
}
#vision2030.fx-horizon--v73 .fx-horizon-stage::after,
#vision2030.fx-horizon--v73 .fx-horizon-stage::before{
  display:none !important;
}
#vision2030.fx-horizon--v73 .fx-hz-field,
#vision2030.fx-horizon--v73 .fx-hz-orbit{
  width:100%;
  height:100%;
  display:block;
}
#vision2030.fx-horizon--v73 .fx-hz-ring{
  transform-origin:480px 260px;
  animation:fxHzSpin 42s linear infinite;
}
#vision2030.fx-horizon--v73 .fx-hz-ring--slow{
  animation-duration:72s;
  animation-direction:reverse;
}
#vision2030.fx-horizon--v73 .fx-hz-field--people .fx-hz-ring{ transform-origin:480px 270px; }
#vision2030.fx-horizon--v73 .fx-hz-field--animals .fx-hz-ring{ transform-origin:480px 250px; }
#vision2030.fx-horizon--v73 .fx-hz-field--gardens .fx-hz-ring{ transform-origin:480px 270px; }
#vision2030.fx-horizon--v73 .fx-hz-pulse{
  transform-box:fill-box;
  transform-origin:center;
  animation:fxHzPulse 3.2s ease-out infinite;
}
@keyframes fxHzSpin{ to{ transform:rotate(360deg); } }
@keyframes fxHzPulse{
  0%{ transform:scale(.55); opacity:.5; }
  100%{ transform:scale(2.4); opacity:0; }
}
@media (prefers-reduced-motion:reduce){
  #vision2030.fx-horizon--v73 .fx-hz-ring,
  #vision2030.fx-horizon--v73 .fx-hz-pulse{ animation:none; }
}

/* Caption — glass card, not raw overlay */
#vision2030.fx-horizon--v73 .fx-horizon-caption{
  position:absolute !important;
  left:clamp(16px,2.5vw,28px) !important;
  bottom:clamp(16px,2.5vw,28px) !important;
  right:auto !important;
  top:auto !important;
  inset:auto !important;
  z-index:5 !important;
  width:min(100% - 32px, 380px) !important;
  max-width:380px !important;
  padding:22px 24px 20px !important;
  border-radius:18px !important;
  background:rgba(8,18,26,.72) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  backdrop-filter:blur(16px) saturate(1.1);
  -webkit-backdrop-filter:blur(16px) saturate(1.1);
  box-shadow:0 16px 48px rgba(0,0,0,.35);
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:0 !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-caption-k{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.68rem !important;
  letter-spacing:.16em !important;
  color:#e9a65e !important;
  margin:0 0 10px !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-metric{
  margin:0 0 10px !important;
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;
}
#vision2030.fx-horizon--v73 .fx-horizon-caption-v{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(2.4rem,4.5vw,3.2rem) !important;
  font-weight:700 !important;
  letter-spacing:-.045em !important;
  line-height:1 !important;
  color:#fff !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-caption-u{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.78rem !important;
  letter-spacing:.12em !important;
  text-transform:uppercase;
  color:rgba(247,243,236,.55) !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-caption-p{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.98rem !important;
  line-height:1.6 !important;
  text-align:left !important;
  hyphens:none !important;
  color:rgba(247,243,236,.72) !important;
  max-width:34ch;
  margin:0 0 14px !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:0 0 12px !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-btn,
#vision2030.fx-horizon--v73 .fx-horizon-link{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.8rem !important;
  font-weight:650 !important;
  letter-spacing:.04em;
}
#vision2030.fx-horizon--v73 .fx-horizon-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:#f7f3ec;
  border-radius:999px;
  padding:9px 14px;
  cursor:pointer;
}
#vision2030.fx-horizon--v73 .fx-horizon-link{
  color:#e9a65e;
  text-decoration:none;
  border-bottom:1px solid rgba(233,166,94,.4);
  padding-bottom:2px;
}
#vision2030.fx-horizon--v73 .fx-horizon-auto{
  width:100%;
  height:2px;
  border-radius:99px;
  background:rgba(255,255,255,.1);
  overflow:hidden;
  margin:0 !important;
}
#vision2030.fx-horizon--v73 .fx-horizon-auto i{
  display:block;
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#c98a45,#e9a65e);
}
#vision2030.fx-horizon--v73 .fx-horizon-caption-note{
  font-family:Inter,Arial,sans-serif !important;
  font-size:.75rem !important;
  letter-spacing:.04em;
  color:rgba(247,243,236,.38) !important;
  margin:14px 0 0 !important;
}

@media (max-width:900px){
  #vision2030.fx-horizon--v73 .fx-horizon-rail{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:560px){
  #vision2030.fx-horizon--v73 .fx-horizon-rail{
    grid-template-columns:1fr !important;
  }
  #vision2030.fx-horizon--v73 .fx-horizon-stage{
    aspect-ratio:4/5 !important;
    min-height:420px;
  }
}

/* Mandate tipografía */
#mision.governance .section-head h2{
  font-family:"Playfair Display",Georgia,serif !important;
  font-size:clamp(2.4rem,4.8vw,3.8rem) !important;
}
#mision.governance .section-head > p,
#mision.governance .governance-card p,
#mision.governance .governance-card h3{
  font-family:Inter,Arial,sans-serif !important;
  text-align:left !important;
  hyphens:none !important;
}
#mision.governance .section-head > p{
  font-size:clamp(1.08rem,1.4vw,1.2rem) !important;
  line-height:1.7 !important;
  max-width:68ch !important;
}
#mision.governance .governance-card h3{
  font-size:clamp(1.15rem,1.6vw,1.35rem) !important;
  font-weight:600 !important;
  line-height:1.55 !important;
}
#mision.governance .governance-card p{
  font-size:clamp(1.02rem,1.25vw,1.12rem) !important;
  line-height:1.65 !important;
}
#vision2030.fx-horizon--v73 .fx-near-card h3{
  font-family:"Playfair Display",Georgia,serif !important;
}
#vision2030.fx-horizon--v73 .fx-near-card p,
#vision2030.fx-horizon--v73 .fx-near-status{
  font-family:Inter,Arial,sans-serif !important;
  text-align:left !important;
}
#vision2030.fx-horizon--v73 .fx-near-card p{
  font-size:1.02rem !important;
  line-height:1.65 !important;
}
#vision2030.fx-horizon--v73 .fx-near-card{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}

/* ==== v75 — mapa real Maryland residencial ==== */
#vision2030.fx-horizon--v75 .fx-horizon-stage--map{
  isolation:isolate;
}
#vision2030.fx-horizon--v75 .fx-md-map{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  background:#0a1620;
}
#vision2030.fx-horizon--v75 .fx-horizon-shot--ghost{
  opacity:0 !important;
  pointer-events:none !important;
  z-index:0 !important;
}
#vision2030.fx-horizon--v75 .fx-md-map-badge{
  position:absolute;
  top:16px;
  right:16px;
  z-index:6;
  font-family:Inter,Arial,sans-serif;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(247,243,236,.78);
  background:rgba(8,18,26,.7);
  border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-radius:999px;
  padding:8px 14px;
  pointer-events:none;
}
#vision2030.fx-horizon--v75 .fx-horizon-caption{
  z-index:7 !important;
}
#vision2030.fx-horizon--v75 .leaflet-container{
  font-family:Inter,Arial,sans-serif;
  background:#0a1620;
}
#vision2030.fx-horizon--v75 .leaflet-control-zoom a{
  background:rgba(8,18,26,.85) !important;
  color:#f7f3ec !important;
  border-color:rgba(255,255,255,.12) !important;
  width:34px !important;
  height:34px !important;
  line-height:34px !important;
  border-radius:10px !important;
}
#vision2030.fx-horizon--v75 .leaflet-control-attribution{
  background:rgba(8,18,26,.65) !important;
  color:rgba(247,243,236,.45) !important;
  font-size:10px !important;
  max-width:55%;
}
#vision2030.fx-horizon--v75 .leaflet-control-attribution a{ color:#e9a65e !important; }
#vision2030.fx-horizon--v75 .fx-md-hq{
  background:transparent !important;
  border:0 !important;
}
#vision2030.fx-horizon--v75 .fx-md-hq-dot{
  position:absolute;
  left:50%; top:50%;
  width:12px; height:12px;
  margin:-6px 0 0 -6px;
  border-radius:50%;
  background:#e9a65e;
  box-shadow:0 0 0 3px rgba(233,166,94,.35), 0 0 24px rgba(233,166,94,.55);
}
#vision2030.fx-horizon--v75 .fx-md-hq-pulse{
  position:absolute;
  left:50%; top:50%;
  width:12px; height:12px;
  margin:-6px 0 0 -6px;
  border-radius:50%;
  border:1px solid rgba(233,166,94,.7);
  animation:fxMdPulse 2.4s ease-out infinite;
}
@keyframes fxMdPulse{
  0%{ transform:scale(1); opacity:.7; }
  100%{ transform:scale(4.2); opacity:0; }
}
#vision2030.fx-horizon--v75 .fx-md-map-fallback{
  margin:0;
  padding:48px 28px;
  color:rgba(247,243,236,.65);
  font-family:Inter,Arial,sans-serif;
  font-size:1.05rem;
  line-height:1.6;
}
@media (prefers-reduced-motion:reduce){
  #vision2030.fx-horizon--v75 .fx-md-hq-pulse{ animation:none; }
}
@media (max-width:700px){
  #vision2030.fx-horizon--v75 .fx-md-map-badge{
    top:10px; right:10px; left:10px;
    text-align:center;
  }
}

/* ==== v76 — desk trading fashion ==== */
#vision2030.fx-horizon--v76{
  background:
    radial-gradient(ellipse 70% 50% at 80% 30%, rgba(233,166,94,.09), transparent 55%),
    radial-gradient(ellipse 50% 40% at 10% 80%, rgba(80,140,160,.08), transparent 50%),
    #060e14;
}
#vision2030.fx-horizon--v76 .fx-desk-ticker{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  margin:0 0 20px;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
#vision2030.fx-horizon--v76 .fx-desk-ticker-track{
  display:flex;
  gap:36px;
  white-space:nowrap;
  padding:10px 0;
  font-family:Inter,Arial,sans-serif;
  font-size:.72rem;
  font-weight:650;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(247,243,236,.55);
  animation:fxDeskTicker 28s linear infinite;
  width:max-content;
}
#vision2030.fx-horizon--v76 .fx-desk-ticker-track span{ color:rgba(233,166,94,.85); }
@keyframes fxDeskTicker{ to{ transform:translateX(-50%); } }

#vision2030.fx-horizon--v76 .fx-desk-rail .fx-horizon-item{
  position:relative;
  overflow:hidden;
}
#vision2030.fx-horizon--v76 .fx-desk-delta{
  display:inline-block;
  margin-top:8px;
  font-family:Inter,Arial,sans-serif;
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
}
#vision2030.fx-horizon--v76 .fx-desk-delta--up{ color:#7dcea0; }
#vision2030.fx-horizon--v76 .fx-horizon-item-v{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum";
}

#vision2030.fx-horizon--v76 .fx-desk-stage{
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 30%),
    #0a121a !important;
}
#vision2030.fx-horizon--v76 .fx-desk-grid{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 80% 70% at 55% 45%, #000 20%, transparent 75%);
}
#vision2030.fx-horizon--v76 .fx-desk-chart-wrap{
  position:absolute;
  inset:18px 18px 18px 18px;
  z-index:2;
  border-radius:16px;
  overflow:hidden;
}
#vision2030.fx-horizon--v76 .fx-desk-chart{
  width:100%;
  height:100%;
  display:block;
  opacity:.95;
}
#vision2030.fx-horizon--v76 .fx-horizon-shot--ghost{
  opacity:0 !important;
  pointer-events:none !important;
}
#vision2030.fx-horizon--v76 .fx-desk-caption{
  z-index:8 !important;
}
#vision2030.fx-horizon--v76 .fx-desk-symrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 8px;
}
#vision2030.fx-horizon--v76 .fx-desk-sym{
  font-family:Inter,Arial,sans-serif;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  color:#0a121a;
  background:#e9a65e;
  border-radius:6px;
  padding:4px 8px;
}
#vision2030.fx-horizon--v76 .fx-desk-session{
  font-family:Inter,Arial,sans-serif;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.14em;
  color:rgba(247,243,236,.4);
}
#vision2030.fx-horizon--v76 .fx-desk-caption .fx-horizon-metric{
  gap:12px;
  align-items:baseline;
}
#vision2030.fx-horizon--v76 .fx-desk-caption .fx-desk-delta{
  margin-top:0;
  margin-left:4px;
}
@media (prefers-reduced-motion:reduce){
  #vision2030.fx-horizon--v76 .fx-desk-ticker-track{ animation:none; }
}

/* ==== v77 — tipografía + densidad trading fashion ==== */
#mision.governance{
  padding:clamp(40px,5vw,64px) 0 clamp(36px,4.5vw,56px) !important;
}
#mision.governance .section-head{
  gap:12px !important;
  margin:0 0 22px !important;
}
#mision.governance .section-head .eyebrow{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.68rem !important;
  letter-spacing:.16em !important;
  margin:0 0 8px !important;
}
#mision.governance .section-head h2{
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:clamp(1.85rem,3.8vw,2.85rem) !important;
  font-weight:700 !important;
  letter-spacing:-.045em !important;
  line-height:1.05 !important;
  max-width:16ch;
  margin:0 0 10px !important;
}
#mision.governance .section-head > p{
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:clamp(.95rem,1.15vw,1.05rem) !important;
  line-height:1.45 !important;
  max-width:58ch !important;
  letter-spacing:-.01em;
  color:rgba(255,255,255,.62) !important;
}
#mision.governance .governance-card{
  padding:18px 20px !important;
  border-radius:8px !important;
  margin-top:10px !important;
  background:rgba(255,255,255,.04) !important;
  border-color:rgba(255,255,255,.09) !important;
}
#mision.governance .governance-card h3{
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:clamp(.98rem,1.25vw,1.12rem) !important;
  font-weight:600 !important;
  line-height:1.4 !important;
  letter-spacing:-.015em;
  margin:0 !important;
}
#mision.governance .governance-card p{
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:.92rem !important;
  line-height:1.45 !important;
  margin:8px 0 0 !important;
}
#mision.governance article.governance-card[style*="margin-top"]{
  margin-top:10px !important;
}

#vision2030.fx-horizon--v77{
  padding:clamp(36px,5vw,64px) 0 clamp(48px,6vw,80px) !important;
}
#vision2030.fx-horizon--v77 .fx-horizon-head{
  max-width:36rem;
  margin:0 0 16px !important;
}
#vision2030.fx-horizon--v77 .fx-horizon-mark{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.62rem !important;
  font-weight:600 !important;
  letter-spacing:.2em !important;
  margin:0 0 8px !important;
}
#vision2030.fx-horizon--v77 .fx-horizon-title{
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:clamp(1.7rem,3.4vw,2.55rem) !important;
  font-weight:700 !important;
  letter-spacing:-.05em !important;
  line-height:1.02 !important;
  max-width:18ch;
  margin:0 0 8px !important;
}
#vision2030.fx-horizon--v77 .fx-horizon-lead{
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:.92rem !important;
  line-height:1.4 !important;
  max-width:40ch !important;
  letter-spacing:-.01em;
  color:rgba(247,243,236,.55) !important;
}
#vision2030.fx-horizon--v77 .fx-horizon-modes{
  margin:0 0 14px !important;
  gap:0;
}
#vision2030.fx-horizon--v77 .fx-horizon-mode{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.62rem !important;
  font-weight:600 !important;
  letter-spacing:.12em !important;
  padding:8px 0 10px !important;
  margin-right:22px !important;
}
#vision2030.fx-horizon--v77 .fx-desk-ticker{
  border-radius:4px !important;
  margin:0 0 12px !important;
}
#vision2030.fx-horizon--v77 .fx-desk-ticker-track{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.64rem !important;
  font-weight:500 !important;
  letter-spacing:.1em !important;
  gap:28px;
  padding:7px 0;
}
#vision2030.fx-horizon--v77 .fx-horizon-rail{
  gap:8px !important;
  margin:0 0 12px !important;
}
#vision2030.fx-horizon--v77 .fx-horizon-item{
  border-radius:6px !important;
  padding:12px 14px 14px !important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
#vision2030.fx-horizon--v77 .fx-horizon-item-k{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.58rem !important;
  font-weight:600 !important;
  letter-spacing:.12em !important;
  margin:0 0 6px !important;
  color:rgba(233,166,94,.85) !important;
}
#vision2030.fx-horizon--v77 .fx-horizon-item-v{
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:clamp(1.45rem,2.2vw,1.85rem) !important;
  font-weight:700 !important;
  letter-spacing:-.05em !important;
}
#vision2030.fx-horizon--v77 .fx-desk-delta{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.58rem !important;
  margin-top:4px !important;
  letter-spacing:.08em;
}
#vision2030.fx-horizon--v77 .fx-horizon-item-u{
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:.75rem !important;
  line-height:1.25 !important;
  margin-top:6px !important;
  color:rgba(247,243,236,.42) !important;
}
#vision2030.fx-horizon--v77 .fx-horizon-stage{
  aspect-ratio:21/9 !important;
  min-height:min(42vh,380px);
  border-radius:8px !important;
}
#vision2030.fx-horizon--v77 .fx-desk-chart-wrap{
  inset:10px 10px 10px 10px;
  border-radius:4px;
}
#vision2030.fx-horizon--v77 .fx-horizon-caption{
  left:14px !important;
  bottom:14px !important;
  width:min(100% - 28px, 300px) !important;
  max-width:300px !important;
  padding:12px 14px 12px !important;
  border-radius:6px !important;
  gap:0 !important;
}
#vision2030.fx-horizon--v77 .fx-desk-symrow{
  margin:0 0 4px;
  gap:8px;
}
#vision2030.fx-horizon--v77 .fx-desk-sym{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.68rem !important;
  letter-spacing:.1em;
  border-radius:3px;
  padding:3px 6px;
}
#vision2030.fx-horizon--v77 .fx-desk-session{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.55rem !important;
  letter-spacing:.1em;
}
#vision2030.fx-horizon--v77 .fx-horizon-caption-k{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.58rem !important;
  letter-spacing:.12em !important;
  margin:0 0 4px !important;
}
#vision2030.fx-horizon--v77 .fx-horizon-metric{
  margin:0 0 6px !important;
  gap:8px;
}
#vision2030.fx-horizon--v77 .fx-horizon-caption-v{
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:clamp(1.7rem,3vw,2.2rem) !important;
  letter-spacing:-.05em !important;
}
#vision2030.fx-horizon--v77 .fx-horizon-caption-u{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.62rem !important;
  letter-spacing:.08em !important;
}
#vision2030.fx-horizon--v77 .fx-horizon-caption-p{
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:.78rem !important;
  line-height:1.35 !important;
  max-width:28ch;
  margin:0 0 8px !important;
  color:rgba(247,243,236,.58) !important;
}
#vision2030.fx-horizon--v77 .fx-horizon-actions{
  gap:8px;
  margin:0 0 8px !important;
}
#vision2030.fx-horizon--v77 .fx-horizon-btn{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.62rem !important;
  letter-spacing:.08em;
  border-radius:4px !important;
  padding:6px 10px;
}
#vision2030.fx-horizon--v77 .fx-horizon-link{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.62rem !important;
  letter-spacing:.06em;
}
#vision2030.fx-horizon--v77 .fx-horizon-caption-note{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.58rem !important;
  letter-spacing:.06em;
  margin:10px 0 0 !important;
}
#vision2030.fx-horizon--v77 .fx-near-card{
  border-radius:6px;
  padding:16px 18px;
}
#vision2030.fx-horizon--v77 .fx-near-card h3{
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:1.05rem !important;
  letter-spacing:-.02em;
}
#vision2030.fx-horizon--v77 .fx-near-card p,
#vision2030.fx-horizon--v77 .fx-near-status{
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:.88rem !important;
  line-height:1.4 !important;
}
#vision2030.fx-horizon--v77 .fx-near-status{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:.58rem !important;
  letter-spacing:.12em;
}

@media (max-width:560px){
  #vision2030.fx-horizon--v77 .fx-horizon-stage{
    aspect-ratio:5/4 !important;
    min-height:340px;
  }
}

/* ==== v78 — escala tipográfica unificada (cosas importantes = mismo tamaño) ====
   DISPLAY  = títulos de sección (Mission + Horizon) + "Vision 2030"
   BODY     = prosa importante (mandate, cards, lead, caption)
   META     = chrome UI (mín. 0.875rem — nada micro con "2030")
   VALUE    = KPIs numéricos (rail + caption)
*/
#mision.governance,
#vision2030.fx-horizon--v78{
  --fx-type-display: clamp(2rem, 4vw, 2.85rem);
  --fx-type-body: 1.05rem;
  --fx-type-meta: 0.875rem;
  --fx-type-value: clamp(1.85rem, 2.8vw, 2.45rem);
  --fx-type-year: 1.05rem;
}

/* Mission — títulos DISPLAY */
#mision.governance .section-head h2{
  font-size: var(--fx-type-display) !important;
}
/* Primer card: h3 es prosa → BODY. Segundo: "Vision 2030" → DISPLAY */
#mision.governance .governance-card > h3:only-child{
  font-size: var(--fx-type-body) !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: -.01em;
  color: rgba(255,255,255,.78) !important;
}
#mision.governance .governance-card > h3:not(:only-child){
  font-family: "Space Grotesk", Inter, sans-serif !important;
  font-size: var(--fx-type-display) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;
  margin: 0 0 10px !important;
  color: #fff !important;
}
#mision.governance .section-head > p,
#mision.governance .governance-card > p{
  font-size: var(--fx-type-body) !important;
  line-height: 1.5 !important;
}
#mision.governance .section-head .eyebrow,
#mision.governance .section-head > div > p:first-child{
  font-size: var(--fx-type-meta) !important;
  letter-spacing: .12em !important;
}

/* Horizon — mismo DISPLAY que Mission */
#vision2030.fx-horizon--v78 .fx-horizon-title{
  font-size: var(--fx-type-display) !important;
  max-width: 18ch;
}
#vision2030.fx-horizon--v78 .fx-horizon-lead,
#vision2030.fx-horizon--v78 .fx-horizon-caption-p,
#vision2030.fx-horizon--v78 .fx-near-card p{
  font-size: var(--fx-type-body) !important;
  line-height: 1.45 !important;
  max-width: 42ch;
  color: rgba(247,243,236,.7) !important;
}
#vision2030.fx-horizon--v78 .fx-horizon-caption-p{
  max-width: 32ch;
  font-size: var(--fx-type-body) !important;
}

/* META floor — tabs, ticker, labels, botones (nada < 0.875rem) */
#vision2030.fx-horizon--v78 .fx-horizon-mark,
#vision2030.fx-horizon--v78 .fx-horizon-mode,
#vision2030.fx-horizon--v78 .fx-desk-ticker-track,
#vision2030.fx-horizon--v78 .fx-horizon-item-k,
#vision2030.fx-horizon--v78 .fx-horizon-item-u,
#vision2030.fx-horizon--v78 .fx-desk-session,
#vision2030.fx-horizon--v78 .fx-horizon-caption-k,
#vision2030.fx-horizon--v78 .fx-horizon-caption-u,
#vision2030.fx-horizon--v78 .fx-horizon-btn,
#vision2030.fx-horizon--v78 .fx-horizon-link,
#vision2030.fx-horizon--v78 .fx-horizon-caption-note,
#vision2030.fx-horizon--v78 .fx-near-status{
  font-size: var(--fx-type-meta) !important;
  letter-spacing: .06em !important;
  line-height: 1.3 !important;
}
#vision2030.fx-horizon--v78 .fx-horizon-mark{
  letter-spacing: .14em !important;
  color: rgba(247,243,236,.72) !important;
}
#vision2030.fx-horizon--v78 .fx-horizon-mark b,
#vision2030.fx-horizon--v78 .fx-horizon-mode b{
  font-weight: 700;
  color: #e9a65e;
  font-size: 1.05em;
}
#vision2030.fx-horizon--v78 .fx-horizon-mode{
  padding: 10px 0 12px !important;
  margin-right: 28px !important;
}
#vision2030.fx-horizon--v78 .fx-horizon-item-k{
  color: rgba(233,166,94,.95) !important;
  margin: 0 0 8px !important;
}
#vision2030.fx-horizon--v78 .fx-horizon-item-u{
  color: rgba(247,243,236,.55) !important;
  margin-top: 8px !important;
  letter-spacing: -.01em !important;
  text-transform: none;
}

/* YEAR 2030 — mismo cuerpo que prosa importante */
#vision2030.fx-horizon--v78 .fx-desk-yearrow{
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 6px;
}
#vision2030.fx-horizon--v78 .fx-desk-year{
  font-family: "Space Grotesk", Inter, sans-serif !important;
  font-size: var(--fx-type-year) !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  color: #fff !important;
  line-height: 1 !important;
}
#vision2030.fx-horizon--v78 .fx-desk-year--lg{
  font-size: clamp(1.35rem, 2.2vw, 1.7rem) !important;
  color: #e9a65e !important;
}
#vision2030.fx-horizon--v78 .fx-desk-delta{
  font-family: "IBM Plex Mono", ui-monospace, monospace !important;
  font-size: var(--fx-type-meta) !important;
  margin-top: 0 !important;
  font-weight: 700 !important;
}
#vision2030.fx-horizon--v78 .fx-desk-caption-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin: 0 0 8px !important;
}
#vision2030.fx-horizon--v78 .fx-desk-caption-head .fx-horizon-caption-k{
  margin: 0 !important;
  color: rgba(247,243,236,.7) !important;
}

/* VALUE — rail + caption alineados */
#vision2030.fx-horizon--v78 .fx-horizon-item-v,
#vision2030.fx-horizon--v78 .fx-horizon-caption-v{
  font-size: var(--fx-type-value) !important;
  font-weight: 700 !important;
  letter-spacing: -.05em !important;
}
#vision2030.fx-horizon--v78 .fx-desk-sym{
  font-size: var(--fx-type-meta) !important;
  padding: 5px 8px;
}
#vision2030.fx-horizon--v78 .fx-horizon-item{
  padding: 14px 16px 16px !important;
}
#vision2030.fx-horizon--v78 .fx-horizon-caption{
  width: min(100% - 28px, 340px) !important;
  max-width: 340px !important;
  padding: 16px 18px !important;
}
#vision2030.fx-horizon--v78 .fx-near-card h3{
  font-size: 1.25rem !important;
}
#vision2030.fx-horizon--v78 .fx-desk-ticker-track{
  padding: 10px 0;
  gap: 32px;
}

/* Mandate decompress — stack corto, no pared */
#mision.governance .fx-mandate-head{
  grid-template-columns: 1fr !important;
  align-items: start !important;
  gap: 18px !important;
}
#mision.governance .fx-mandate-kicker{
  margin: 0 0 10px !important;
  color: var(--orange-soft) !important;
  font-family: "IBM Plex Mono", ui-monospace, monospace !important;
  font-size: var(--fx-type-meta, 0.875rem) !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
#mision.governance .fx-mandate-stack{
  display: grid;
  gap: 12px;
  max-width: 58ch;
  margin: 0;
}
#mision.governance .fx-mandate-stack p{
  margin: 0 !important;
  max-width: none !important;
  font-size: var(--fx-type-body, 1.05rem) !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,.68) !important;
}
#mision.governance .fx-mandate-stack p:first-child{
  color: rgba(255,255,255,.88) !important;
  font-weight: 600;
}
#mision.governance .fx-mandate-card{
  display: grid;
  gap: 10px;
}
#mision.governance .fx-mandate-card p{
  margin: 0 !important;
  font-size: var(--fx-type-body, 1.05rem) !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,.68) !important;
}
#mision.governance .fx-mandate-card p strong{
  color: #fff;
  font-weight: 650;
}
#mision.governance .fx-mandate-card--vision{
  margin-top: 10px !important;
}
/* ==== LAYOUT RESPONSIVE v84 — audit multipage ==== */

/* 1) main no debe recortar 22px en index/historia/misión */
main{
  overflow: visible !important;
}

/* 2) Cursos/Conocimiento: bloque aporte+form siempre apilado en tablet/móvil
   (v67 forzaba .9fr/1.1fr !important y recortaba el form) */
@media (max-width:1050px){
  .knowledge-v27-action{
    grid-template-columns: 1fr !important;
  }
  .knowledge-v27-action-copy{
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.09);
  }
}

/* 3) PWA quick card tapa contenido en móvil → ocultar; dejar trigger */
@media (max-width:720px){
  #pwaQuickCard.pwa-quick-card,
  .pwa-quick-card{
    display: none !important;
  }
  .pwa-install-trigger{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: fixed;
    right: 14px;
    bottom: 14px;
    z-index: 180;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(202,162,83,.55);
    background: linear-gradient(135deg,#f1d99f,#d6b46f);
    color: #102f40;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .04em;
    box-shadow: 0 12px 28px rgba(7,30,40,.22);
  }
}

/* 4) Metodo: justify crea ríos en móvil → left */
@media (max-width:720px){
  #factor20 p,
  #factor20 .fx-treaty p,
  #factor20 .fx-treaty-body,
  #factor20 .section-head > p{
    text-align: left !important;
    text-justify: auto !important;
  }
}

/* 5) Vision 2030 ticker: no empujar layout (animación interna) */
#vision2030 .fx-desk-ticker,
#vision2030 .fx-desk-ticker-track,
.fx-desk-ticker{
  overflow: hidden !important;
  max-width: 100%;
}
.fx-desk-ticker-track{
  width: max-content;
}

/* 6) Flaca Koin: 1 col en tablet estrecha (<900), ya 1 col en móvil */
@media (max-width:900px){
  #donar .donation-v29-grid{
    grid-template-columns: 1fr !important;
  }
}

/* 7) Participate rutas: una columna limpia bajo 720 */
@media (max-width:720px){
  #participa .participation-v31-routes{
    grid-template-columns: 1fr !important;
  }
}

/* 8) Programas lead: evitar rivers por justify + espacios */
@media (max-width:720px){
  #programas .section-head > p,
  #programas .fx-programs-lead p,
  #programas p{
    text-align: left !important;
  }
}

/* 9) Conocimiento (v70 marfil): form legible — labels/títulos no blancos */
#conocimiento .knowledge-v27-action-copy h3,
#conocimiento .knowledge-v27-form-head > strong{
  color: var(--navy, #102f40) !important;
}
#conocimiento .knowledge-v27-action-copy > p,
#conocimiento .knowledge-v27-form-head > span,
#conocimiento .knowledge-v27-form label > span{
  color: rgba(16,47,64,.62) !important;
}
#conocimiento .knowledge-v27-form{
  background: rgba(16,47,64,.04) !important;
  border-radius: 18px;
}
#conocimiento .knowledge-v27-form-footer p{
  color: rgba(16,47,64,.72) !important;
}
#conocimiento .knowledge-v27-form-footer p strong{
  color: var(--navy, #102f40) !important;
}
/* inputs: fondo claro sobre marfil (antes pensados para panel oscuro) */
#conocimiento .knowledge-v27-form input,
#conocimiento .knowledge-v27-form textarea{
  background: #fff !important;
  border: 1px solid rgba(16,47,64,.14) !important;
  color: var(--navy, #102f40) !important;
}
#conocimiento .knowledge-v27-form input::placeholder,
#conocimiento .knowledge-v27-form textarea::placeholder{
  color: rgba(16,47,64,.4) !important;
}

/* 10) MÓVIL: Vision 2030 desk — caption YA NO tapa el gráfico */
@media (max-width:720px){
  /* reveal: no dejar secciones invisibles si el IO falla */
  html.fx-js .fx-reveal{
    opacity: 1 !important;
    transform: none !important;
  }

  /* rail: 2 cols (ganarle a v73 @560 1fr) */
  #vision2030.fx-horizon--v73 .fx-horizon-rail,
  #vision2030.fx-horizon--v76 .fx-desk-rail,
  #vision2030.fx-horizon--v77 .fx-horizon-rail,
  #vision2030.fx-horizon--v78 .fx-horizon-rail{
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  #vision2030.fx-horizon--v73 .fx-horizon-item,
  #vision2030.fx-horizon--v77 .fx-horizon-item,
  #vision2030.fx-horizon--v78 .fx-horizon-item{
    padding: 10px 12px 12px !important;
    min-height: 0 !important;
  }
  #vision2030.fx-horizon--v77 .fx-horizon-item-v,
  #vision2030.fx-horizon--v78 .fx-horizon-item-v{
    font-size: clamp(1.25rem, 6vw, 1.55rem) !important;
    line-height: 1.05 !important;
  }

  /* stage: apilar chart → caption (sin overlay) */
  #vision2030.fx-horizon--v73 .fx-horizon-stage,
  #vision2030.fx-horizon--v76 .fx-desk-stage,
  #vision2030.fx-horizon--v77 .fx-horizon-stage,
  #vision2030.fx-horizon--v78 .fx-horizon-stage{
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    aspect-ratio: auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
    padding: 10px !important;
    gap: 10px !important;
  }
  #vision2030.fx-horizon--v76 .fx-desk-grid{
    display: none !important;
  }
  #vision2030 .fx-horizon-shot,
  #vision2030 .fx-horizon-shot--ghost{
    display: none !important;
  }
  #vision2030.fx-horizon--v76 .fx-desk-chart-wrap,
  #vision2030.fx-horizon--v77 .fx-desk-chart-wrap{
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 210px !important;
    min-height: 210px !important;
    max-height: 240px !important;
    border-radius: 10px !important;
    order: 1;
    z-index: 1 !important;
    overflow: hidden !important;
  }
  #vision2030.fx-horizon--v76 .fx-desk-chart{
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
  }
  /* caption: sacar del overlay absoluto (v73/v77 !important) */
  #vision2030.fx-horizon--v73 .fx-horizon-caption,
  #vision2030.fx-horizon--v76 .fx-desk-caption,
  #vision2030.fx-horizon--v77 .fx-horizon-caption,
  #vision2030.fx-horizon--v78 .fx-horizon-caption,
  #vision2030.fx-horizon--v78 .fx-desk-caption{
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    order: 2;
    z-index: 2 !important;
    box-shadow: none !important;
  }
  #vision2030.fx-horizon--v73 .fx-horizon-caption-p,
  #vision2030.fx-horizon--v77 .fx-horizon-caption-p,
  #vision2030.fx-horizon--v78 .fx-horizon-caption-p{
    font-size: .88rem !important;
    line-height: 1.4 !important;
    margin: 6px 0 8px !important;
  }
  #vision2030.fx-horizon--v78 .fx-horizon-caption-v{
    font-size: 1.65rem !important;
  }

  /* note del caption: no absolute sobre botones */
  #vision2030.fx-horizon--v73 .fx-horizon-caption-note,
  #vision2030.fx-horizon--v77 .fx-horizon-caption-note,
  #vision2030.fx-horizon--v78 .fx-horizon-caption-note{
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: 8px 0 0 !important;
    width: 100% !important;
    max-width: none !important;
  }
  #vision2030.fx-horizon--v73 .fx-horizon-actions,
  #vision2030.fx-horizon--v77 .fx-horizon-actions{
    position: static !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 8px !important;
  }
  #vision2030.fx-horizon--v78 .fx-desk-year--lg{
    font-size: .9rem !important;
  }

  /* ticker: no cortar el inicio */
  #vision2030.fx-horizon--v76 .fx-desk-ticker,
  #vision2030.fx-horizon--v77 .fx-desk-ticker{
    padding-inline: 8px !important;
  }
  #vision2030.fx-horizon--v77 .fx-desk-ticker-track,
  #vision2030.fx-horizon--v78 .fx-desk-ticker-track{
    padding-left: 8px !important;
    font-size: .58rem !important;
    gap: 18px !important;
  }

  /* Install: chip compacto + aire inferior */
  .pwa-install-trigger{
    right: 10px !important;
    bottom: 10px !important;
    min-height: 40px !important;
    padding: 0 12px !important;
    font-size: .62rem !important;
    opacity: .92;
  }
  body{
    padding-bottom: 72px;
  }
}

/* Modal cinema: .fx-go-full-nav a fuerza navy y deja el CTA .fx-go-open ilegible */
.fx-go-full-nav a.fx-go-open{
  color: #fff !important;
}
@media (max-width:520px){
  .fx-go-full-nav a.fx-go-open{
    flex: 1 1 100%;
    justify-content: center;
  }
}

@media (max-width:400px){
  #vision2030.fx-horizon--v76 .fx-desk-chart-wrap,
  #vision2030.fx-horizon--v77 .fx-desk-chart-wrap{
    height: 180px !important;
    min-height: 180px !important;
  }
}

/* ==== HERO IMPACT v60 — solo estética tipográfica (#inicio) ====
   Misma estructura (eyebrow / h1 / quote / body / CTAs).
   Sin cambiar copy. Contraste + escala + brillo sutil. */

#inicio.hero .hero-copy .eyebrow{
  font-size: clamp(.74rem, 1.05vw, .88rem) !important;
  letter-spacing: .2em !important;
  color: #E9A65E !important;
  text-shadow:
    0 0 18px rgba(233,166,94,.45),
    0 0 42px rgba(233,166,94,.18);
}

#inicio.hero .hero-copy .hero-title-v23,
#inicio.hero .hero-copy h1.hero-title-v23{
  max-width: 14ch !important;
  margin: 22px 0 30px !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: clamp(3.1rem, 5.8vw, 5.4rem) !important;
  font-weight: 850 !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
  color: #FDFBF7 !important;
}

/* Brillo vivo que recorre el titular (misma letra Inter) */
#inicio.hero .hero-title-v23 > span{
  display: inline-block;
  max-width: 100%;
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 850 !important;
  background-image: linear-gradient(
    110deg,
    #E8DFD0 0%,
    #FFFFFF 22%,
    #F4C98A 38%,
    #FFFFFF 52%,
    #F7F1E6 72%,
    #E9A65E 100%
  );
  background-size: 240% 100%;
  background-position: 100% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  filter:
    drop-shadow(0 4px 28px rgba(233,166,94,.28))
    drop-shadow(0 0 48px rgba(255,255,255,.10)) !important;
  animation: f20fHeroShine 8s ease-in-out infinite !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  background-image: linear-gradient(
    110deg,
    #E8DFD0 0%,
    #FFFFFF 22%,
    #F4C98A 38%,
    #FFFFFF 52%,
    #F7F1E6 72%,
    #E9A65E 100%
  ) !important;
  background-size: 240% 100% !important;
}

@keyframes f20fHeroShine{
  0%, 100%{ background-position: 100% 50%; }
  45%, 55%{ background-position: 0% 50%; }
}

#inicio.hero .v35-hero-quote{
  max-width: 36ch !important;
  margin: 0 0 26px !important;
  padding: 4px 0 4px 24px !important;
  border-left: 3px solid #E9A65E !important;
  box-shadow: -10px 0 28px -12px rgba(233,166,94,.35);
  color: #FBF6EE !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(1.22rem, 2vw, 1.62rem) !important;
  font-style: italic !important;
  font-weight: 500 !important;
  line-height: 1.48 !important;
  letter-spacing: -.01em !important;
  text-align: left !important;
  text-align-last: left !important;
  hyphens: none !important;
  text-shadow: 0 0 32px rgba(233,166,94,.16);
}

#inicio.hero .v35-hero-body{
  max-width: 46ch !important;
  margin: 0 0 34px !important;
  color: rgba(247,243,236,.90) !important;
  font-size: clamp(1.06rem, 1.4vw, 1.22rem) !important;
  font-weight: 450 !important;
  line-height: 1.7 !important;
  letter-spacing: -.01em !important;
  text-align: left !important;
  text-align-last: left !important;
  hyphens: none !important;
}

#inicio.hero .hero-actions .button-primary{
  box-shadow:
    0 0 0 1px rgba(233,166,94,.28),
    0 10px 28px rgba(4,14,21,.35),
    0 0 36px rgba(233,166,94,.18);
}

#inicio.hero .hero-actions .button-secondary{
  border-color: rgba(247,243,236,.55) !important;
  color: #F7F3EC !important;
  text-shadow: 0 0 18px rgba(255,255,255,.12);
}

#inicio.hero .v35-scroll-cue{
  color: rgba(247,243,236,.72) !important;
  letter-spacing: .2em !important;
}

/* El QR de install no debe tapar el copy del hero (antes quedaba abajo-izquierda) */
body:has(#inicio) #pwaQuickCard.pwa-quick-card{
  left: auto !important;
  right: 20px !important;
  bottom: 20px !important;
}

@media (max-width: 900px){
  #inicio.hero .hero-copy .hero-title-v23,
  #inicio.hero .hero-copy h1.hero-title-v23{
    font-size: clamp(2.85rem, 11vw, 3.8rem) !important;
    max-width: 12ch !important;
  }
  #inicio.hero .v35-hero-quote{
    font-size: clamp(1.12rem, 4.2vw, 1.35rem) !important;
  }
}

@media (prefers-reduced-motion: reduce){
  #inicio.hero .hero-title-v23 > span{
    animation: none !important;
    background: none !important;
    color: #FDFBF7 !important;
    -webkit-text-fill-color: #FDFBF7 !important;
    filter: drop-shadow(0 4px 22px rgba(233,166,94,.22));
  }
}

/* ==== HOME IMPACT v60b — menú glow + títulos + cifras ==== */

/* --- Nav: contorno azul al elegir (hover / focus / touch) --- */
.f20f-nav a:hover,
.f20f-nav a:focus-visible,
.f20f-drawer-nav a:hover,
.f20f-drawer-nav a:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 2px rgba(43,143,184,.95),
    0 0 0 5px rgba(43,143,184,.22),
    0 0 22px rgba(43,143,184,.35) !important;
}
.f20f-nav a:active,
.f20f-drawer-nav a:active{
  box-shadow:
    0 0 0 2px #2B8FB8,
    0 0 0 6px rgba(233,166,94,.28),
    0 0 28px rgba(43,143,184,.4) !important;
}

/* Página activa: también un anillo luminoso claro */
.f20f-nav a[aria-current="page"],
.f20f-drawer-nav a[aria-current="page"]{
  box-shadow:
    0 8px 22px rgba(43,143,184,.30),
    0 0 0 2px rgba(255,255,255,.55) inset,
    0 0 0 3px rgba(43,143,184,.35),
    0 0 26px rgba(43,143,184,.28) !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  text-shadow: none !important;
  filter: none !important;
}

/* CTA Support: blanco nítido (sin sombra que lo empasta) */
.f20f-header .nav-cta,
.f20f-header .nav-cta-premium,
.f20f-drawer .nav-cta-premium{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  text-shadow: none !important;
  filter: none !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: .03em !important;
  font-weight: 800 !important;
}
.f20f-header .nav-cta:hover,
.f20f-header .nav-cta-premium:hover,
.f20f-drawer .nav-cta-premium:hover{
  box-shadow:
    0 14px 32px rgba(26,111,150,.36),
    0 0 0 2px rgba(255,255,255,.55) inset,
    0 0 0 3px rgba(43,143,184,.35),
    0 0 34px rgba(233,166,94,.35) !important;
}

/* --- Home titles: más fuerza (Inter bold, no serif delicado) --- */
body.index-home #impact-stats .fx-title,
body.index-home #video .fx-title,
#impact-stats .fx-title,
#video .fx-title{
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 850 !important;
  font-size: clamp(2.15rem, 4.2vw, 3.35rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
  color: #0E2C3C !important;
  text-wrap: balance;
}
#video.fx-on-dark .fx-title{
  color: #FDFBF7 !important;
  text-shadow: 0 0 40px rgba(43,143,184,.25);
}
#impact-stats .fx-eyebrow,
#video .fx-eyebrow{
  letter-spacing: .2em !important;
  font-size: .78rem !important;
  color: #D97A2B !important;
  text-shadow: 0 0 18px rgba(233,166,94,.25);
}
#impact-stats .fx-lead{
  font-size: clamp(1.02rem, 1.3vw, 1.12rem) !important;
  color: rgba(14,44,60,.78) !important;
  max-width: 46ch;
}

/* --- Cifras: glow azul–naranja + números con carácter --- */
body #impact-stats{
  background:
    radial-gradient(42rem 24rem at 12% 0%, rgba(43,143,184,.10), transparent 60%),
    radial-gradient(42rem 24rem at 88% 100%, rgba(217,122,43,.10), transparent 62%),
    linear-gradient(180deg, #F7FBFD 0%, #F4EFE6 100%) !important;
}

body .fx-facts-grid{
  gap: clamp(16px, 2vw, 22px) !important;
}

body .fx-fact,
body .fx-fact.fx-fact--verified{
  padding: 28px 24px 26px !important;
  border: 1px solid rgba(43,143,184,.18) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(165deg, rgba(255,255,255,.98), rgba(247,251,253,.94)) !important;
  box-shadow:
    0 14px 36px rgba(14,44,60,.08),
    0 0 0 1px rgba(255,255,255,.8) inset,
    0 0 28px rgba(43,143,184,.10),
    0 0 36px rgba(217,122,43,.08) !important;
  overflow: hidden;
}
body .fx-fact::before{
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 3px !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #1A6F96, #2B8FB8 40%, #D97A2B 75%, #E9A65E) !important;
}
body .fx-fact:hover{
  transform: translateY(-8px) !important;
  border-color: rgba(43,143,184,.35) !important;
  box-shadow:
    0 22px 48px rgba(14,44,60,.14),
    0 0 0 2px rgba(43,143,184,.35),
    0 0 0 5px rgba(233,166,94,.18),
    0 0 40px rgba(43,143,184,.22),
    0 0 48px rgba(217,122,43,.16) !important;
}

/* Números: tipografía geométrica + degradado azul→naranja (no Playfair) */
body .fx-fact-value{
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(3.4rem, 6.5vw, 5rem) !important;
  line-height: .9 !important;
  letter-spacing: -.06em !important;
  font-variant-numeric: tabular-nums !important;
  background-image: linear-gradient(120deg, #1A6F96 0%, #2B8FB8 42%, #D97A2B 78%, #E9A65E 100%) !important;
  background-size: 160% 100%;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 6px 18px rgba(43,143,184,.22));
  animation: f20fFactShine 7s ease-in-out infinite;
}
@keyframes f20fFactShine{
  0%,100%{ background-position: 0% 50%; }
  50%{ background-position: 100% 50%; }
}

body .fx-fact-label{
  margin-top: 18px !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 1.02rem !important;
  font-weight: 800 !important;
  color: #0E2C3C !important;
  letter-spacing: -.015em !important;
}
body .fx-fact-note{
  color: #1A6F96 !important;
  letter-spacing: .12em !important;
}

@media (max-width: 900px){
  body .fx-facts-grid{ grid-template-columns: repeat(2, 1fr) !important; }
  body .fx-fact-value{ font-size: clamp(2.8rem, 12vw, 3.6rem) !important; }
}
@media (max-width: 520px){
  body .fx-facts-grid{ grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce){
  body .fx-fact-value{ animation: none !important; }
}

/* ==== TITLES IMPACT v60 — Inter bold en TODOS los títulos del sitio ====
   Mismo formato que “The structure behind the mission”. */

:root{
  --font-weight-display: 850;
  --font-weight-title: 850;
  --font-weight-h2: 800;
  --font-weight-h3: 750;
  --font-weight-card: 750;
  --line-height-heading: 1.08;
}

/* Variables tipográficas de display → Inter */
body h1,
body h2,
body .fx-title,
body .hero-title-v23,
body .hero-copy h1,
body .hero-copy .hero-title-v23,
body .section-head h2,
body .programs h2,
body .method h2,
body .governance h2,
body .team h2,
body .support-section h2,
body .courses-section h2,
body .footer-section h2,
body .story-section h2,
body .method-statement h2,
body .section-head > h2,
body .fx-head .fx-title{
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 850 !important;
  letter-spacing: -.04em !important;
  line-height: 1.08 !important;
  font-style: normal !important;
}

body h1,
body .hero-title-v23,
body .hero-copy h1,
body .hero-copy .hero-title-v23{
  font-size: clamp(2.85rem, 5.6vw, 5.2rem) !important;
  font-weight: 850 !important;
}

body h2,
body .fx-title,
body .section-head h2,
body .fx-head .fx-title{
  font-size: clamp(2.15rem, 4.2vw, 3.35rem) !important;
  font-weight: 850 !important;
}

/* h3 de sección / cards: misma familia, un poco menos peso */
body h3,
body .story-panel h3,
body .programs article h3,
body .team-card h3,
body .governance-card h3,
body .team-governance h3,
body .program-card h3,
body .stat-block h3{
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 750 !important;
  letter-spacing: -.02em !important;
}

/* Hero: misma letra Inter + brillo (sin Playfair) */
#inicio.hero .hero-copy .hero-title-v23,
#inicio.hero .hero-copy h1.hero-title-v23{
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 850 !important;
  font-size: clamp(3.1rem, 5.8vw, 5.4rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
  max-width: 14ch !important;
}

#inicio.hero .hero-title-v23 > span{
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 850 !important;
  display: inline-block !important;
  max-width: 100% !important;
  background-image: linear-gradient(
    110deg,
    #E8DFD0 0%,
    #FFFFFF 22%,
    #F4C98A 38%,
    #FFFFFF 52%,
    #F7F1E6 72%,
    #E9A65E 100%
  ) !important;
  background-size: 240% 100% !important;
  background-position: 100% 50% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  filter:
    drop-shadow(0 4px 28px rgba(233,166,94,.28))
    drop-shadow(0 0 48px rgba(255,255,255,.10)) !important;
  animation: f20fHeroShine 8s ease-in-out infinite !important;
}

/* No pintar el h1 sólido: el brillo vive en el <span> */
#inicio.hero .hero-copy .hero-title-v23,
#inicio.hero .hero-copy h1.hero-title-v23,
body .hero-copy .hero-title-v23{
  color: transparent !important;
  -webkit-text-fill-color: unset !important;
}

/* Oscuro: títulos claros nítidos (excepto el hero con brillo) */
.fx-on-dark .fx-title,
#video.fx-on-dark .fx-title{
  color: #FDFBF7 !important;
  -webkit-text-fill-color: #FDFBF7 !important;
}

@media (max-width: 900px){
  body h1,
  body .hero-title-v23,
  #inicio.hero .hero-copy .hero-title-v23{
    font-size: clamp(2.55rem, 10.5vw, 3.4rem) !important;
  }
  body h2,
  body .fx-title{
    font-size: clamp(1.85rem, 7vw, 2.5rem) !important;
  }
}

/* Overrides de alta especificidad (Space Grotesk / Mission / Horizon) */
#mision.governance .section-head h2,
#mision.governance .governance-card > h3:not(:only-child),
#mision.governance .governance-card h3,
#vision2030 .fx-horizon-title,
#vision2030.fx-horizon--v78 .fx-horizon-title,
#vision2030 h2,
body #mision h2,
body #factor20 h2,
body #engrane h2,
body #programas h2,
body #equipo h2,
body #flacago h2,
body #cursos h2,
body #conocimiento h2,
body #transparencia h2,
body #participa h2,
body #donar h2,
body #historia h2,
body #bolivia h2,
body #impacto h2,
body #galeria h2{
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 850 !important;
  letter-spacing: -.04em !important;
  line-height: 1.08 !important;
}

/* Our Story / Historia — forzar Inter bold (anula Playfair v72) */
#historia h2,
#historia h3,
#historia .section-head h2,
#historia .story-panel h3,
#bolivia h2,
#bolivia h3,
#bolivia.fx-historia-av .section-head h2,
#bolivia #fx-historia-title,
#fx-historia-title,
#impacto h2,
#impacto h3,
#impacto .journal-card h3,
#impacto.journal .section-head h2,
#galeria h2,
#galeria h3,
#galeria .fx-title{
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 850 !important;
  letter-spacing: -.04em !important;
  line-height: 1.08 !important;
  font-style: normal !important;
}

#bolivia.fx-historia-av .section-head h2,
#fx-historia-title,
#historia .section-head h2{
  font-size: clamp(2.15rem, 4.2vw, 3.35rem) !important;
}

#historia .story-panel h3,
#impacto .journal-card h3{
  font-size: clamp(1.35rem, 2.2vw, 1.85rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.03em !important;
  max-width: 22ch !important;
}

/* Etiquetas de ficha (Foundation and Registration, etc.) un poco más firmes */
#historia .story-panel p strong{
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 800 !important;
  font-size: .88rem !important;
  letter-spacing: -.01em !important;
  color: #0E2C3C !important;
}

/* ==== HISTORIA IMPACT v60c — correlación con home (glow + densificación) ==== */

/* Fondo vivo: mismos radiales azul→naranja que #impact-stats (más presentes) */
body #historia.story,
body #bolivia.fx-historia-av{
  background:
    radial-gradient(52rem 30rem at 10% -5%, rgba(43,143,184,.22), transparent 55%),
    radial-gradient(48rem 28rem at 90% 105%, rgba(217,122,43,.20), transparent 58%),
    radial-gradient(30rem 18rem at 50% 40%, rgba(43,143,184,.06), transparent 70%),
    linear-gradient(180deg, #F7FBFD 0%, #F4EFE6 100%) !important;
  padding: clamp(40px, 5vw, 64px) 0 !important;
}

body #bolivia.fx-historia-av{
  background:
    radial-gradient(50rem 32rem at 85% -6%, rgba(217,122,43,.24), transparent 52%),
    radial-gradient(44rem 26rem at 8% 100%, rgba(43,143,184,.18), transparent 55%),
    linear-gradient(180deg, #F4EFE6 0%, #F7FBFD 100%) !important;
  padding: clamp(36px, 4.5vw, 56px) 0 !important;
}

/* Header centrado como #impact-stats — llena el ancho, sin hueco a la derecha */
body #historia .section-head{
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  align-items: center !important;
  justify-items: center !important;
  text-align: center !important;
  margin: 0 auto clamp(26px, 3.2vw, 36px) !important;
  max-width: 54rem !important;
}

body #historia .section-head > div{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

body #historia .section-head .eyebrow,
body #bolivia .section-head .eyebrow{
  color: #D97A2B !important;
  letter-spacing: .2em !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-shadow: 0 0 18px rgba(233,166,94,.35);
}

body #historia .section-head h2{
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 850 !important;
  font-size: clamp(2.35rem, 4.6vw, 3.55rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;
  color: #0E2C3C !important;
  max-width: 16ch !important;
  margin: 0 auto !important;
  text-wrap: balance;
  text-shadow: 0 0 40px rgba(43,143,184,.18);
}

body #historia .section-head > p{
  margin: 2px auto 0 !important;
  max-width: 58ch !important;
  font-size: clamp(1.02rem, 1.3vw, 1.14rem) !important;
  line-height: 1.55 !important;
  color: rgba(14,44,60,.78) !important;
  text-align: center !important;
}

/* Bolivia: título + lead | recovery card — llena el viewport sin vacío */
body #bolivia .shell{
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
  gap: clamp(18px, 2.5vw, 28px) !important;
  align-items: stretch !important;
}
body #bolivia .section-head{
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  max-width: none !important;
  align-self: center !important;
}
body #bolivia .section-head > div{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body #bolivia .section-head .eyebrow + .eyebrow{
  margin-top: -2px;
  color: #1A6F96 !important;
  text-shadow: 0 0 18px rgba(43,143,184,.3);
}
body #bolivia .section-head h2,
body #bolivia #fx-historia-title{
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 850 !important;
  font-size: clamp(2.15rem, 4vw, 3.2rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -.04em !important;
  color: #0E2C3C !important;
  max-width: 14ch !important;
  margin: 0 !important;
  text-wrap: balance;
  text-shadow: 0 0 36px rgba(217,122,43,.2);
}
body #bolivia .section-head > p{
  margin: 4px 0 0 !important;
  max-width: 42ch !important;
  font-size: clamp(1.02rem, 1.25vw, 1.12rem) !important;
  line-height: 1.55 !important;
  color: rgba(14,44,60,.78) !important;
}
body #bolivia .story-panel.fx-historia-copy{
  margin: 0 !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
body #bolivia .fx-viz-bleed{
  grid-column: 1 / -1 !important;
}

/* Grid densificado — sin huecos muertos */
body #historia .story-grid{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: clamp(14px, 1.8vw, 20px) !important;
  align-items: stretch !important;
}

/* Paneles = mismas cards glow del home */
body #historia .story-panel,
body #bolivia .story-panel.fx-historia-copy{
  position: relative !important;
  min-height: 0 !important;
  padding: 26px 24px 24px !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  border: 1px solid rgba(43,143,184,.18) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(165deg, rgba(255,255,255,.98), rgba(247,251,253,.94)) !important;
  box-shadow:
    0 14px 36px rgba(14,44,60,.08),
    0 0 0 1px rgba(255,255,255,.8) inset,
    0 0 28px rgba(43,143,184,.10),
    0 0 36px rgba(217,122,43,.08) !important;
  overflow: hidden !important;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

body #historia .story-panel::before,
body #bolivia .story-panel.fx-historia-copy::before{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 3px !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #1A6F96, #2B8FB8 40%, #D97A2B 75%, #E9A65E) !important;
  z-index: 1;
}

body #historia .story-panel--usa::before{
  background: linear-gradient(90deg, #0E2C3C, #1A6F96 45%, #2B8FB8) !important;
}
body #historia .story-panel--bo::before{
  background: linear-gradient(90deg, #D97A2B, #E9A65E 55%, #2B8FB8) !important;
}

body #historia .story-panel:hover,
body #bolivia .story-panel.fx-historia-copy:hover{
  transform: translateY(-6px) !important;
  border-color: rgba(43,143,184,.35) !important;
  box-shadow:
    0 22px 48px rgba(14,44,60,.14),
    0 0 0 2px rgba(43,143,184,.32),
    0 0 0 5px rgba(233,166,94,.16),
    0 0 40px rgba(43,143,184,.20),
    0 0 48px rgba(217,122,43,.14) !important;
}

/* Kicker 01 / 02 */
body #historia .story-panel-kicker{
  display: inline-block;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
  color: #1A6F96 !important;
  margin: 2px 0 10px !important;
}
body #historia .story-panel--bo .story-panel-kicker{
  color: #D97A2B !important;
}

/* Títulos de panel: Inter + degradado azul→naranja visible (como cifras home) */
body #historia .story-panel h3{
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 850 !important;
  font-size: clamp(1.5rem, 2.5vw, 2.05rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -.035em !important;
  max-width: none !important;
  margin: 0 0 16px !important;
  background-image: linear-gradient(115deg, #0E2C3C 0%, #1A6F96 28%, #2B8FB8 48%, #D97A2B 72%, #E9A65E 100%) !important;
  background-size: 180% 100%;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 6px 16px rgba(43,143,184,.22));
  animation: f20fStoryShine 7s ease-in-out infinite;
}
@keyframes f20fStoryShine{
  0%,100%{ background-position: 0% 50%; }
  50%{ background-position: 100% 50%; }
}

/* Filas densas tipo ficha institucional */
body #historia .story-facts{
  display: grid !important;
  gap: 0 !important;
}
body #historia .story-fact{
  display: grid !important;
  grid-template-columns: minmax(9.5rem, 38%) minmax(0, 1fr) !important;
  gap: 10px 14px !important;
  align-items: start !important;
  padding: 11px 0 !important;
  border-top: 1px solid rgba(43,143,184,.12) !important;
}
body #historia .story-fact:first-child{
  border-top: 0 !important;
  padding-top: 0 !important;
}
body #historia .story-fact:last-child{
  padding-bottom: 0 !important;
}

body #historia .story-fact strong{
  display: block !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  color: #1A6F96 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}
body #historia .story-panel--bo .story-fact strong{
  color: #C56A1F !important;
}

body #historia .story-fact span,
body #historia .story-fact > :not(strong){
  font-family: "Inter", Arial, sans-serif !important;
  font-size: .95rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: rgba(14,44,60,.88) !important;
}

/* Status chip — ACTIVE / Good Standing */
body #historia .story-status{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 2px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  color: #0E2C3C !important;
  background: linear-gradient(135deg, rgba(43,143,184,.14), rgba(233,166,94,.16)) !important;
  border: 1px solid rgba(43,143,184,.28) !important;
  box-shadow:
    0 0 0 3px rgba(43,143,184,.10),
    0 0 22px rgba(43,143,184,.18) !important;
}
body #historia .story-status::before{
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2B8FB8;
  box-shadow: 0 0 10px rgba(43,143,184,.8);
}

/* Bolivia recovery card */
body #bolivia .story-panel.fx-historia-copy{
  max-width: none !important;
  margin-top: 0 !important;
}
body #bolivia .fx-historia-copy p{
  margin: 0 !important;
  font-size: clamp(1.02rem, 1.25vw, 1.12rem) !important;
  line-height: 1.6 !important;
  color: rgba(14,44,60,.88) !important;
}
body #bolivia .fx-historia-copy p strong{
  display: inline !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 850 !important;
  font-size: inherit !important;
  letter-spacing: -.02em !important;
  color: #0E2C3C !important;
  background-image: linear-gradient(120deg, #1A6F96, #D97A2B) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Acercar el visualizer al copy (menos vacío) */
body #bolivia .fx-viz-bleed{
  margin-top: clamp(18px, 2.5vw, 28px) !important;
}

@media (max-width: 900px){
  body #historia .story-grid{
    grid-template-columns: 1fr !important;
  }
  body #historia .story-fact{
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
  body #bolivia .shell{
    grid-template-columns: 1fr !important;
  }
}

@media (prefers-reduced-motion: reduce){
  body #historia .story-panel h3{ animation: none !important; }
  body #historia .story-panel:hover,
  body #bolivia .story-panel.fx-historia-copy:hover{ transform: none !important; }
}

/* ==== FOOTER IMPACT v61 — orden + estética (correlación home) ==== */

body .footer{
  position: relative !important;
  padding: clamp(36px, 4.5vw, 52px) 0 22px !important;
  color: rgba(233,241,245,.72) !important;
  background:
    radial-gradient(36rem 18rem at 8% 0%, rgba(43,143,184,.16), transparent 55%),
    radial-gradient(32rem 16rem at 92% 100%, rgba(217,122,43,.12), transparent 58%),
    linear-gradient(180deg, #061520 0%, #030C12 100%) !important;
  margin-top: 0 !important;
}

body .footer::before{
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #1A6F96, #2B8FB8 40%, #D97A2B 75%, #E9A65E) !important;
  opacity: 1 !important;
}

/* Grid compacto: 3 bloques al mismo ritmo */
body .footer-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.8vw, 20px) !important;
  align-items: stretch !important;
}

body .footer-brand{
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  padding: 16px 18px 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(43,143,184,.18) !important;
  background:
    linear-gradient(165deg, rgba(255,255,255,.04), rgba(43,143,184,.05)) !important;
  box-shadow:
    0 10px 28px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body .footer-brand img{
  width: auto !important;
  max-width: 112px !important;
  height: auto !important;
  max-height: 112px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter:
    drop-shadow(0 0 1px rgba(233,166,94,.55))
    drop-shadow(0 0 14px rgba(217,122,43,.35))
    drop-shadow(0 10px 22px rgba(43,143,184,.25)) !important;
}

body .footer-brand p{
  max-width: none !important;
  margin: 0 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: .86rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  color: rgba(233,241,245,.68) !important;
}

/* Columnas de links: bloques ordenados */
body .footer-col{
  padding: 16px 18px 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(43,143,184,.18) !important;
  background:
    linear-gradient(165deg, rgba(255,255,255,.04), rgba(43,143,184,.05)) !important;
  box-shadow:
    0 10px 28px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body .footer h3,
body .footer-col h3{
  margin: 0 0 12px !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  text-align: left !important;
  color: #E9A65E !important;
  text-shadow: 0 0 18px rgba(233,166,94,.28);
}

body .footer nav{
  display: grid !important;
  gap: 0 !important;
}

body .footer nav a{
  position: relative !important;
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 9px 0 9px 14px !important;
  border-top: 1px solid rgba(255,255,255,.07) !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: .86rem !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
  line-height: 1.35 !important;
  color: rgba(233,241,245,.78) !important;
  text-decoration: none !important;
  transition: color .2s ease, transform .2s ease, padding-left .2s ease !important;
}
body .footer nav a:first-child{
  border-top: 0 !important;
  padding-top: 2px !important;
}
body .footer nav a::before{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: #2B8FB8 !important;
  box-shadow: 0 0 10px rgba(43,143,184,.7) !important;
  transform: translateY(-50%) !important;
}
body .footer-col:last-child nav a::before{
  background: #D97A2B !important;
  box-shadow: 0 0 10px rgba(217,122,43,.65) !important;
}
body .footer nav a:hover,
body .footer nav a:focus-visible{
  color: #fff !important;
  padding-left: 18px !important;
  transform: none !important;
  outline: none !important;
}

/* Meta inferior: una sola banda ordenada */
body .footer-meta{
  margin-top: clamp(22px, 3vw, 30px) !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  display: grid !important;
  gap: 10px !important;
}

body .footer-bottom{
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px 24px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  color: rgba(233,241,245,.48) !important;
}

body .footer-tagline{
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  color: #E9A65E !important;
  text-shadow: 0 0 16px rgba(233,166,94,.25);
}

body .footer-private{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 8px 14px !important;
  margin: 0 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: .68rem !important;
  letter-spacing: .02em !important;
}
body .footer-private a{
  color: rgba(43,143,184,.95) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(43,143,184,.35) !important;
  font-weight: 700 !important;
}
body .footer-private a:hover,
body .footer-private a:focus-visible{
  color: #E9A65E !important;
  border-bottom-color: rgba(233,166,94,.55) !important;
  outline: none !important;
}
body .footer-private span{
  color: rgba(233,241,245,.32) !important;
  font-weight: 500 !important;
}

@media (max-width: 900px){
  body .footer-grid{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  body .footer-brand img{
    max-width: 200px !important;
    max-height: 78px !important;
  }
  body .footer-brand p{
    max-width: none !important;
  }
}
/* ==== v59 · multipage navigation (appended last, wins cascade) ==== */
/* ==== NAV IMPACT v60 — blanco + azul logo + CTA marca + móvil invitante ==== */
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:calc(var(--head-h,78px) + 16px)}

:root{
  --nav-logo-blue:#2B8FB8;
  --nav-logo-blue-deep:#1A6F96;
  --nav-ink:#0E2C3C;
  --nav-orange:#D97A2B;
  --nav-orange-soft:#E9A65E;
  --nav-paper:#FFFFFF;
  --nav-paper-soft:#F7FBFD;
}

.f20f-header{
  position:sticky;top:0;z-index:1200;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(247,251,253,.96) 100%);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(43,143,184,.14);
  box-shadow:
    0 1px 0 rgba(255,255,255,.9),
    0 10px 28px rgba(14,44,60,.08),
    0 0 40px rgba(43,143,184,.06);
}

.f20f-header-inner{
  width:min(calc(100% - 36px),var(--max));
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:72px;
}

.f20f-brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:0 0 auto}
.f20f-brand img{
  height:54px;width:auto;aspect-ratio:1/1;object-fit:contain;display:block;
  filter:drop-shadow(0 6px 16px rgba(43,143,184,.28));
  transition:transform .25s ease, filter .25s ease;
}
.f20f-brand:hover img{
  transform:translateY(-1px) scale(1.03);
  filter:drop-shadow(0 10px 22px rgba(217,122,43,.42));
}
/* Píldora ya incluye F20F CORP — texto duplicado solo para a11y */
.f20f-brand .brand-copy.visually-hidden{
  position:absolute !important;
  width:1px !important;height:1px !important;
  padding:0 !important;margin:-1px !important;
  overflow:hidden !important;clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;border:0 !important;
}
.f20f-brand .brand-copy strong{
  display:block;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:-.015em;
  line-height:1.1;
  color:var(--nav-ink);
  text-shadow:0 0 24px rgba(43,143,184,.12);
}
.f20f-brand .brand-copy span{
  display:block;
  margin-top:2px;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--nav-logo-blue);
}

.f20f-nav{
  display:flex;
  align-items:center;
  gap:1px;
  margin-left:auto;
  padding:4px;
  border-radius:999px;
  background:rgba(43,143,184,.05);
  border:1px solid rgba(43,143,184,.10);
}
.f20f-nav a{
  font-family:var(--font-sans);
  font-size:.95rem;
  font-weight:750;
  color:var(--nav-logo-blue-deep);
  text-decoration:none;
  padding:11px 12px;
  border-radius:999px;
  white-space:nowrap;
  letter-spacing:-.01em;
  transition:
    color .2s ease,
    background .2s ease,
    box-shadow .25s ease,
    transform .2s ease;
}
.f20f-nav a:hover{
  color:var(--nav-ink);
  background:rgba(255,255,255,.95);
  box-shadow:
    0 0 0 2px rgba(43,143,184,.95),
    0 0 0 5px rgba(43,143,184,.2),
    0 0 20px rgba(43,143,184,.32);
  transform:translateY(-1px);
}
.f20f-nav a:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 2px rgba(43,143,184,.95),
    0 0 0 5px rgba(43,143,184,.22),
    0 0 22px rgba(43,143,184,.35);
}
.f20f-nav a[aria-current="page"]{
  color:#FFFFFF;
  -webkit-text-fill-color:#FFFFFF;
  background:linear-gradient(135deg,var(--nav-logo-blue) 0%,var(--nav-logo-blue-deep) 100%);
  box-shadow:
    0 8px 20px rgba(43,143,184,.28),
    0 0 0 2px rgba(255,255,255,.5) inset,
    0 0 0 3px rgba(43,143,184,.32),
    0 0 24px rgba(43,143,184,.25);
  text-shadow:none;
  filter:none;
}
.f20f-nav a[aria-current="page"]:hover{
  color:#FFFFFF;
  -webkit-text-fill-color:#FFFFFF;
  transform:translateY(-1px);
}

.f20f-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}

/* Support F20F — azul + naranja de marca */
.f20f-header .nav-cta,
.f20f-header .nav-cta-premium,
.f20f-drawer .nav-cta-premium{
  appearance:none;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:0 20px !important;
  border:0 !important;
  border-radius:999px !important;
  background:
    linear-gradient(120deg, #1A6F96 0%, #2B8FB8 38%, #D97A2B 72%, #E9A65E 100%) !important;
  background-size:180% 180% !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  font-size:.86rem !important;
  font-weight:800 !important;
  letter-spacing:.03em !important;
  text-decoration:none !important;
  text-shadow:none !important;
  filter:none !important;
  -webkit-font-smoothing:antialiased;
  box-shadow:
    0 10px 26px rgba(26,111,150,.30),
    0 0 0 1px rgba(255,255,255,.4) inset,
    0 0 28px rgba(233,166,94,.2) !important;
  transition:transform .2s ease, box-shadow .25s ease, background-position .35s ease !important;
}
.f20f-header .nav-cta:hover,
.f20f-header .nav-cta-premium:hover,
.f20f-drawer .nav-cta-premium:hover{
  transform:translateY(-2px) scale(1.02);
  background-position:100% 50% !important;
  box-shadow:
    0 14px 32px rgba(26,111,150,.34),
    0 0 36px rgba(217,122,43,.32),
    0 0 0 1px rgba(255,255,255,.4) inset !important;
  color:#fff !important;
}
.f20f-header .nav-cta::before,
.f20f-header .nav-cta-premium::before,
.f20f-header .nav-cta::after,
.f20f-header .nav-cta-premium::after{display:none !important; content:none !important}

@keyframes f20fCtaGlow{
  0%,100%{ filter:brightness(1); }
  50%{ filter:brightness(1.06); }
}

.f20f-burger{
  display:none;
  align-items:center;
  justify-content:center;
  min-width:48px;
  min-height:48px;
  border:1px solid rgba(43,143,184,.28);
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#F0F8FC);
  color:var(--nav-logo-blue-deep);
  font-size:1.25rem;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(43,143,184,.12);
}
.f20f-burger:hover{
  border-color:var(--nav-orange);
  color:var(--nav-ink);
  box-shadow:0 8px 20px rgba(217,122,43,.18);
}

@media (max-width:1180px){
  .f20f-nav{display:none}
  .f20f-burger{display:inline-flex}
  .f20f-actions .nav-cta{display:none !important}
  .f20f-header-inner{min-height:66px}
  .f20f-brand img{height:48px}
}

/* Drawer móvil — invitante, tipografía grande, contraste alto.
   MUST live as sibling of header (not inside it): backdrop-filter
   on .f20f-header would shrink position:fixed to header height. */
.f20f-drawer{
  position:fixed !important;
  inset:0 !important;
  top:0 !important; right:0 !important; bottom:0 !important; left:0 !important;
  width:100vw !important;
  height:100dvh !important;
  min-height:100vh !important;
  z-index:1300 !important;
  display:flex !important;
  flex-direction:column !important;
  background:#FFFFFF !important;
  background-image:
    radial-gradient(60rem 30rem at 100% 0%, rgba(233,166,94,.14), transparent 55%),
    radial-gradient(50rem 28rem at 0% 100%, rgba(43,143,184,.14), transparent 50%) !important;
  padding:calc(16px + env(safe-area-inset-top,0px)) 20px calc(22px + env(safe-area-inset-bottom,0px));
  box-sizing:border-box !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
}
.f20f-drawer[hidden]{display:none !important}

.f20f-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.f20f-drawer-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(43,143,184,.14);
}
.f20f-drawer-kicker{
  color:var(--nav-orange);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-shadow:0 0 18px rgba(233,166,94,.25);
}
.f20f-drawer-close{
  min-width:48px;min-height:48px;
  border-radius:14px;
  border:1px solid rgba(43,143,184,.25);
  background:#fff;
  color:var(--nav-ink);
  font-size:1.15rem;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(14,44,60,.08);
}
.f20f-drawer-nav{
  display:flex;flex-direction:column;gap:6px;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:4px 0 8px;
}
.f20f-drawer-nav a{
  color:var(--nav-logo-blue-deep) !important;
  text-decoration:none;
  font-family:var(--font-sans);
  font-size:1.35rem !important;
  font-weight:800 !important;
  letter-spacing:-.02em;
  line-height:1.15;
  padding:18px 18px;
  min-height:56px;
  display:flex;
  align-items:center;
  border-radius:16px;
  border:1px solid rgba(43,143,184,.10);
  background:#fff !important;
  box-shadow:0 4px 14px rgba(14,44,60,.05);
  transition:background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.f20f-drawer-nav a:hover,
.f20f-drawer-nav a:active{
  color:var(--nav-ink);
  background:#fff;
  border-color:rgba(43,143,184,.16);
  box-shadow:0 10px 24px rgba(43,143,184,.12);
  transform:translateX(4px);
}
.f20f-drawer-nav a[aria-current="page"]{
  color:#fff;
  background:linear-gradient(135deg,var(--nav-logo-blue),var(--nav-logo-blue-deep));
  border-color:transparent;
  box-shadow:0 12px 28px rgba(43,143,184,.28);
}
.f20f-drawer-cta{
  margin-top:18px;
  justify-content:center;
  min-height:52px !important;
  font-size:.95rem !important;
  width:100%;
}
body.f20f-menu-open{overflow:hidden}

@media (prefers-reduced-motion:reduce){
  .f20f-header .nav-cta,
  .f20f-header .nav-cta-premium,
  .f20f-drawer .nav-cta-premium{animation:none !important}
  .f20f-nav a,.f20f-brand img{transition:none !important}
}

/* ==== v61 ASTERISK FIX (glifo * recto en datos redactados: EIN/SDAT) ====
   Inter dibuja el asterisco inclinado por diseño. Con unicode-range U+2A
   tomamos SOLO el glifo "*" de una fuente de asterisco recto
   (Arial/Liberation Sans/Helvetica/DejaVu); el resto del texto sigue
   idéntico (Inter). Si ninguna local existe, cae en Inter (sin cambio). */
@font-face{
  font-family:"F20F Asterisk";
  src:local("Arial"),local("Liberation Sans"),local("Helvetica Neue"),local("DejaVu Sans"),local("Helvetica");
  unicode-range:U+2A;
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}
:root{--font-sans:"F20F Asterisk","Inter",Arial,sans-serif}
body .identity-grid strong{font-family:"F20F Asterisk","Inter",Arial,sans-serif}
body dd{font-family:"F20F Asterisk","Inter",Arial,sans-serif}
body strong{font-style:normal;font-variant-ligatures:none}
