/* ═══════════════════════════════════════════
   css/research.css — algo-freedom society
   Stili specifici di research.php — Ricerca
   ═══════════════════════════════════════════ */

    .research-hero{
      position:relative;
      min-height:360px;
      background:
        linear-gradient(100deg,rgba(10,28,52,.90) 0%,rgba(12,32,58,.65) 52%,rgba(15,35,64,.22) 100%),
        linear-gradient(135deg,#040e1c 0%,#091f3a 35%,#122f52 65%,#1e4570 100%);
      overflow:hidden;
      display:flex;
      align-items:center;
    }
    .research-hero canvas{
      position:absolute;
      inset:0;
      width:100%;height:100%;
      pointer-events:none;
      opacity:.5;
    }
    /* Decorative grid lines */
    .research-hero::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:
        linear-gradient(rgba(105,168,232,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(105,168,232,.07) 1px,transparent 1px);
      background-size:60px 60px;
      pointer-events:none;
    }
    .research-hero::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(800px 350px at 10% 20%,rgba(105,168,232,.13),transparent 60%),
        radial-gradient(600px 300px at 75% 70%,rgba(63,121,183,.12),transparent 60%);
      pointer-events:none;
      mix-blend-mode:screen;
    }
    .research-hero-inner{
      position:relative;
      z-index:2;
      padding:78px 0 72px;
      color:#fff;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:40px;
    }
    .research-hero-left{ flex:1; }
    .research-hero-badge{
      display:inline-flex;
      align-items:center;
      gap:10px;
      background:rgba(105,168,232,.15);
      border:1px solid rgba(105,168,232,.28);
      border-radius:999px;
      padding:6px 16px;
      font-size:12.5px;
      font-weight:700;
      letter-spacing:.6px;
      text-transform:uppercase;
      color:rgba(105,168,232,.95);
      margin-bottom:18px;
      animation:fadeSlide .7s ease both;
    }
    .research-hero-badge .dot{
      width:7px;height:7px;
      border-radius:50%;
      background:var(--accent);
      animation:pulse 2s ease infinite;
    }
    @keyframes pulse{ 0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(1.35);} }
    @keyframes fadeSlide{ from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);} }

    .research-hero-title{
      margin:0;
      font-size:60px;
      line-height:1.04;
      letter-spacing:-.6px;
      font-weight:800;
      text-shadow:0 14px 38px rgba(0,0,0,.35);
      animation:fadeSlide .7s .1s ease both;
    }
    .research-hero-title .thin{ font-weight:100;opacity:.9; }
    .research-hero-sub{
      margin:14px 0 0;
      font-size:18px;
      color:rgba(255,255,255,.84);
      font-weight:500;
      max-width:600px;
      line-height:1.58;
      animation:fadeSlide .7s .2s ease both;
    }

    /* Stat pills on the right */
    .research-hero-stats{
      display:flex;
      flex-direction:column;
      gap:12px;
      flex:0 0 auto;
      animation:fadeSlide .7s .3s ease both;
    }
    .stat-pill{
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.16);
      border-radius:var(--radius);
      padding:14px 22px;
      text-align:right;
      backdrop-filter:blur(6px);
      min-width:160px;
    }
    .stat-pill .stat-num{
      display:block;
      font-size:32px;
      font-weight:900;
      line-height:1;
      color:#fff;
      letter-spacing:-.5px;
    }
    .stat-pill .stat-label{
      display:block;
      font-size:12px;
      font-weight:700;
      color:rgba(255,255,255,.72);
      letter-spacing:.3px;
      margin-top:4px;
    }

    /* ── Tab Nav ────────────────────────────────────── */
    .tab-bar{
      background:var(--card);
      border-bottom:2px solid rgba(15,23,42,.09);
      position:sticky;
      top:76px;
      z-index:40;
      box-shadow:0 4px 12px rgba(15,23,42,.06);
    }
    .tab-inner{
      display:flex;
      gap:0;
      overflow-x:auto;
      scrollbar-width:none;
    }
    .tab-inner::-webkit-scrollbar{ display:none; }
    .tab-btn{
      display:inline-flex;
      align-items:center;
      gap:9px;
      padding:16px 22px;
      font-size:14px;
      font-weight:700;
      color:var(--muted);
      background:none;
      border:none;
      border-bottom:3px solid transparent;
      cursor:pointer;
      white-space:nowrap;
      transition:color .15s ease,border-color .15s ease;
      position:relative;
      top:2px;
    }
    .tab-btn:hover{ color:var(--nav-2); }
    .tab-btn.active{
      color:var(--nav-2);
      border-bottom-color:var(--accent);
    }
    .tab-btn .tab-num{
      width:22px;height:22px;
      border-radius:7px;
      background:rgba(105,168,232,.12);
      border:1px solid rgba(105,168,232,.2);
      display:grid;
      place-items:center;
      font-size:11px;
      font-weight:900;
      color:var(--accent-2);
    }
    .tab-btn.active .tab-num{
      background:var(--accent-2);
      border-color:var(--accent-2);
      color:#fff;
    }

    /* ── Section commons ────────────────────────────── */
    .section-title{
      margin:18px 0 4px;
      font-size:30px;
      font-weight:900;
      color:#1b2a44;
      letter-spacing:-.2px;
      display:flex;
      align-items:center;
      gap:20px;
    }
    .title-divider{ flex:1;height:1px;background:rgba(15,23,42,0.12); }
    .section-sub{ margin:0 0 28px;color:var(--muted);font-weight:600;font-size:15px; }
    main{ padding:0 0 0; }

    /* ── Research panel sections ────────────────────── */
    .panel{ padding:42px 0 28px; }
    .panel + .panel{ border-top:1px solid rgba(15,23,42,.08); }

    /* ── Pillar overview cards ──────────────────────── */
    .pillars-overview{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px;
      margin-bottom:14px;
    }
    .pillar-overview-card{
      background:var(--card);
      border:1px solid var(--border);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      padding:20px 18px 0;             /* padding-bottom rimosso: la barra .pillar-arrow lo riempie */
      position:relative;
      overflow:hidden;
      cursor:pointer;
      transition:transform .14s ease,box-shadow .14s ease;
      display:flex;
      flex-direction:column;
    }
    .pillar-overview-card:hover{
      transform:translateY(-3px);
      box-shadow:var(--shadow-lg);
    }
    .pillar-overview-card::before{
      content:"";
      position:absolute;
      top:0;left:0;right:0;
      height:4px;
    }
    .pillar-overview-card:nth-child(1)::before{ background:linear-gradient(90deg,#3f79b7,#69a8e8); }
    .pillar-overview-card:nth-child(2)::before{ background:linear-gradient(90deg,#2a6496,#4a9acb); }
    .pillar-overview-card:nth-child(3)::before{ background:linear-gradient(90deg,#1f3550,#3f79b7); }
    .pillar-overview-card:nth-child(4)::before{ background:linear-gradient(90deg,#2b4f72,#69a8e8); }
    .pillar-num{
      font-size:42px;
      font-weight:900;
      line-height:1;
      color:rgba(15,23,42,.06);
      position:absolute;
      top:10px;right:14px;
      letter-spacing:-2px;
    }
    .pillar-overview-card h3{
      margin:0 0 10px;
      font-size:14.5px;
      font-weight:900;
      color:#1b2a44;
      line-height:1.35;
      padding-right:30px;
    }
    .pillar-overview-card p{
      margin:0;
      font-size:12.5px;
      color:var(--muted);
      line-height:1.55;
    }
    /* Barra "Approfondisci" in fondo alla pillar card — stessa estetica di .member-dept (about.css) / .pub-card-bottom (index.css) */
    .pillar-arrow{
      margin: auto -18px 0;             /* spinge in fondo + estende full-width oltre il padding (18px) di .pillar-overview-card */
      padding: 12px 22px;
      background: linear-gradient(90deg,#2b4f72,#1f3550);
      font-size: 12px;
      color: rgba(255,255,255,.85);
      font-weight: 800;
      display: flex;
      align-items: center;
      justify-content: space-between;   /* testo a sinistra, freccia ›  a destra */
      gap: 8px;
    }
    .pillar-arrow span{
      font-size:18px;
      line-height:1;
      color: var(--accent);             /* freccia colorata come .pub-arrow */
      font-weight:700;
      transition: transform .12s ease;
      flex:0 0 auto;
    }
    .pillar-overview-card:hover .pillar-arrow span{ transform: translateX(3px); }

    /* ── Deep dive cards ────────────────────────────── */
    .deep-dive{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:26px;
      margin-bottom:28px;
    }
    .deep-card{
      background:var(--card);
      border:1px solid var(--border);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      overflow:hidden;
      display: flex;
      flex-direction: column;
    }
    .deep-card-header{
      padding:22px 22px 18px;
      background:
        radial-gradient(500px 200px at 12% 10%,rgba(105,168,232,.14),transparent 62%),
        linear-gradient(180deg,#fff,rgba(245,248,253,.97));
      border-bottom:1px solid rgba(15,23,42,.08);
      display:flex;
      align-items:flex-start;
      gap:16px;
    }
    .deep-card-ico{
      width:48px;height:48px;
      border-radius:13px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      background:linear-gradient(135deg,var(--nav-1),var(--nav-3));
    }
    .deep-card-ico svg{ width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.9; }
    .deep-card-header-text h3{
      margin:0 0 5px;
      font-size:17px;
      font-weight:900;
      color:#1b2a44;
      line-height:1.3;
    }
    .deep-card-header-text p{
      margin:0;
      font-size:13px;
      color:var(--muted);
      font-weight:600;
      font-style:italic;
    }
    .deep-card-body{
      padding:20px 22px;
      flex: 1;
    }
    .deep-card-body p{
      margin:0 0 14px;
      font-size:13.5px;
      color:var(--muted);
      line-height:1.65;
    }
    .deep-card-body p:last-child{ margin-bottom:0; }
    .sub-list{
      list-style:none;
      margin:0;padding:0;
      display:grid;
      gap:8px;
    }
    .sub-list li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      font-size:13.5px;
      color:var(--muted);
      line-height:1.5;
    }
    .sub-list li .bullet{
      width:20px;height:20px;
      border-radius:6px;
      background:rgba(105,168,232,.12);
      border:1px solid rgba(105,168,232,.2);
      display:grid;
      place-items:center;
      flex:0 0 auto;
      margin-top:1px;
    }
    .sub-list li .bullet svg{ width:11px;height:11px;fill:none;stroke:var(--accent-2);stroke-width:2.5; }
    .deep-card-footer{
      padding:12px 22px;
      background:linear-gradient(90deg,#2b4f72,#1f3550);
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }
    .tag{
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.18);
      border-radius:999px;
      padding:4px 13px;
      font-size:11.5px;
      font-weight:700;
      color:rgba(255,255,255,.9);
    }

    /* ── Objectives timeline ────────────────────────── */
    .objectives-wrap{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:26px;
      margin-bottom:14px;
    }
    .obj-card{
      background:var(--card);
      border:1px solid var(--border);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .obj-header{
      padding:20px 22px 16px;
      display:flex;
      align-items:center;
      gap:14px;
      border-bottom:1px solid rgba(15,23,42,.08);
    }
    .obj-badge{
      padding:6px 14px;
      border-radius:999px;
      font-size:12px;
      font-weight:900;
      letter-spacing:.3px;
      white-space:nowrap;
    }
    .obj-badge.medium{
      background:rgba(63,121,183,.12);
      color:var(--accent-2);
      border:1px solid rgba(63,121,183,.22);
    }
    .obj-badge.long{
      background:rgba(31,53,80,.10);
      color:var(--nav-1);
      border:1px solid rgba(31,53,80,.18);
    }
    .obj-header h3{
      margin:0;
      font-size:17px;
      font-weight:900;
      color:#1b2a44;
    }
    .obj-header p{
      margin:3px 0 0;
      font-size:12px;
      color:var(--muted);
      font-weight:600;
    }
    .obj-items{
      padding:18px 22px 20px;
      display:grid;
      gap:14px;
    }
    .obj-item{
      display:flex;
      align-items:flex-start;
      gap:12px;
    }
    .obj-item-dot{
      width:28px;height:28px;
      border-radius:8px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      margin-top:1px;
    }
    .obj-item-dot.medium{ background:rgba(63,121,183,.12);border:1px solid rgba(63,121,183,.22); }
    .obj-item-dot.long{ background:rgba(31,53,80,.10);border:1px solid rgba(31,53,80,.16); }
    .obj-item-dot svg{ width:14px;height:14px;fill:none;stroke-width:2.3; }
    .obj-item-dot.medium svg{ stroke:var(--accent-2); }
    .obj-item-dot.long svg{ stroke:var(--nav-2); }
    .obj-item-text{ font-size:13.5px;color:var(--muted);line-height:1.55; }
    .obj-item-text strong{ color:#1b2a44;font-weight:800;display:block;margin-bottom:2px; }

    /* ── Roadmap ─────────────────────────────────────── */
    .roadmap-table{
      width:100%;
      border-collapse:collapse;
      background:var(--card);
      border-radius:var(--radius);
      overflow:hidden;
      box-shadow:var(--shadow);
      border:1px solid var(--border);
      margin-bottom:14px;
    }
    .roadmap-table thead{
      background:linear-gradient(90deg,var(--nav-1),var(--nav-3));
      color:#fff;
    }
    .roadmap-table thead th{
      padding:14px 18px;
      text-align:left;
      font-size:13px;
      font-weight:900;
      letter-spacing:.2px;
    }
    .roadmap-table tbody tr:nth-child(even){ background:rgba(105,168,232,.04); }
    .roadmap-table tbody tr:hover{ background:rgba(105,168,232,.08); }
    .roadmap-table td{
      padding:14px 18px;
      font-size:13.5px;
      color:var(--muted);
      border-bottom:1px solid rgba(15,23,42,.07);
      vertical-align:top;
      line-height:1.5;
    }
    .roadmap-table td:first-child{ font-weight:800;color:#1b2a44;white-space:nowrap; }
    .roadmap-table td:last-child{ border-right:none; }
    .roadmap-table tr:last-child td{ border-bottom:none; }
    .kpi-chip{
      display:inline-block;
      background:rgba(63,121,183,.10);
      border:1px solid rgba(63,121,183,.18);
      border-radius:999px;
      padding:3px 10px;
      font-size:11px;
      font-weight:700;
      color:var(--accent-2);
      margin:2px 2px 0 0;
    }

    /* ── Activities ──────────────────────────────────── */
    .activities-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px;
      margin-bottom:14px;
    }
    .activity-card{
      background:var(--card);
      border:1px solid var(--border);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      padding:20px 18px;
      position:relative;
      overflow:hidden;
    }
    .activity-card::after{
      content:"";
      position:absolute;
      bottom:0;left:0;right:0;
      height:3px;
      background:linear-gradient(90deg,var(--accent-2),rgba(105,168,232,.4));
    }
    .activity-ico{
      width:40px;height:40px;
      border-radius:11px;
      display:grid;
      place-items:center;
      background:rgba(105,168,232,.10);
      border:1px solid rgba(105,168,232,.20);
      margin-bottom:14px;
    }
    .activity-ico svg{ width:22px;height:22px;fill:none;stroke:var(--accent-2);stroke-width:2.1; }
    .activity-card h4{
      margin:0 0 8px;
      font-size:14.5px;
      font-weight:900;
      color:#1b2a44;
    }
    .activity-card p{
      margin:0;
      font-size:13px;
      color:var(--muted);
      line-height:1.55;
    }

    /* ── Publications band ───────────────────────────── */
    .publications-band{
      background:
        radial-gradient(900px 300px at 20% 30%,rgba(105,168,232,.12),transparent 65%),
        linear-gradient(135deg,var(--nav-1) 0%,var(--nav-3) 60%,#1a3558 100%);
      border-radius:var(--radius);
      padding:32px 32px 28px;
      margin-bottom:14px;
      color:#fff;
      border:1px solid rgba(255,255,255,.08);
    }
    .publications-band-title{
      font-size:22px;
      font-weight:900;
      margin:0 0 6px;
      letter-spacing:-.1px;
    }
    .publications-band-sub{
      font-size:14px;
      color:rgba(255,255,255,.78);
      font-weight:600;
      margin:0 0 24px;
      max-width:640px;
    }
    .journals-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:14px;
    }
    .journal-card{
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.16);
      border-radius:var(--radius-sm);
      padding:16px 16px 14px;
      backdrop-filter:blur(4px);
      transition:background .14s ease;
    }
    .journal-card:hover{ background:rgba(255,255,255,.16); }
    .journal-card .j-icon{
      width:36px;height:36px;
      border-radius:9px;
      background:rgba(255,255,255,.15);
      display:grid;
      place-items:center;
      margin-bottom:10px;
    }
    .journal-card .j-icon svg{ width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2; }
    .journal-card h4{
      margin:0 0 4px;
      font-size:13.5px;
      font-weight:900;
      color:#fff;
      line-height:1.3;
    }
    .journal-card p{
      margin:0;
      font-size:12px;
      color:rgba(255,255,255,.68);
      font-weight:600;
      line-height:1.45;
    }

    /* ── Interdisciplinary badge ──────────────────────── */
    .interdisciplinary-wrap{
      background:var(--card);
      border:1px solid var(--border);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      padding:26px 28px;
      margin-bottom:14px;
      display:flex;
      align-items:center;
      gap:32px;
    }
    .inter-visual{
      flex:0 0 auto;
      width:140px;height:140px;
      position:relative;
    }
    .inter-circle{
      position:absolute;
      border-radius:50%;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:11px;
      font-weight:800;
      text-align:center;
      line-height:1.3;
    }
    .inter-circle.stem{
      width:80px;height:80px;
      background:rgba(63,121,183,.15);
      border:2px solid rgba(63,121,183,.35);
      color:var(--nav-2);
      top:0;left:0;
    }
    .inter-circle.hum{
      width:80px;height:80px;
      background:rgba(43,79,114,.12);
      border:2px solid rgba(43,79,114,.3);
      color:var(--nav-3);
      bottom:0;right:0;
    }
    .inter-circle.overlap{
      width:50px;height:50px;
      background:rgba(105,168,232,.25);
      border:2px solid rgba(105,168,232,.5);
      color:var(--accent-2);
      font-size:10px;
      top:45px;left:45px;
    }
    .inter-text h3{
      margin:0 0 10px;
      font-size:19px;
      font-weight:900;
      color:#1b2a44;
    }
    .inter-text p{
      margin:0 0 14px;
      font-size:13.5px;
      color:var(--muted);
      line-height:1.65;
      max-width:620px;
    }
    .inter-pills{ display:flex;gap:10px;flex-wrap:wrap; }
    .inter-pill{
      display:inline-flex;
      align-items:center;
      gap:7px;
      background:rgba(105,168,232,.10);
      border:1px solid rgba(105,168,232,.20);
      border-radius:999px;
      padding:6px 14px;
      font-size:12.5px;
      font-weight:700;
      color:var(--nav-2);
    }
    .inter-pill svg{ width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2; }

    /* ── CTA Band ────────────────────────────────────── */
    .cta-band{
      position:relative;
      background:
        radial-gradient(820px 280px at 35% 10%,rgba(105,168,232,.16),transparent 62%),
        linear-gradient(90deg,var(--nav-1),var(--nav-3));
      color:#fff;
      padding:42px 0;
      border-top:1px solid rgba(255,255,255,.10);
      border-bottom:1px solid rgba(255,255,255,.10);
      margin-top:40px;
      text-align:center;
    }
    .cta-band h3{ margin:0 0 10px;font-size:28px;font-weight:900;letter-spacing:-.2px; }
    .cta-band p{
      margin:0 auto 26px;
      color:rgba(255,255,255,.85);
      font-weight:600;
      max-width:560px;
      font-size:15px;
      line-height:1.6;
    }
    .cta-actions{ display:flex;gap:14px;justify-content:center; }
    .btn-join,.btn-primary,.btn-outline{
      background:#3e79b8;
      color:#fff;
      padding:10px 25px;
      border-radius:5px;
      border:1px solid rgba(255,255,255,.22);
      font-weight:700;
      font-size:14px;
      cursor:pointer;
      transition:transform .12s ease,box-shadow .12s ease,background .12s ease;
    }
    .btn-join:hover,.btn-primary:hover{
      transform:translateY(-1px);
      box-shadow:0 14px 30px rgba(0,0,0,.28);
      background:#3a7bc8;
    }
    .btn-ghost {
      border: 1px solid rgba(255,255,255,.22);
      background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
      color: #fff;
      padding: 13px 22px;
      border-radius: 5px;
      font-weight: 900;
      font-size: 14px;
      cursor: pointer;
      box-shadow: 0 12px 22px rgba(0,0,0,.20);
      transition: transform .12s ease, box-shadow .12s ease;
    }
    .btn-ghost:hover { transform: translateY(-1px); box-shadow: 0 14px 26px rgba(0,0,0,.26); }

    /* ── Footer ──────────────────────────────────────── */
    footer{
      background:
        linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0)),
        linear-gradient(90deg,var(--nav-1),var(--nav-2));
      color:#fff;
      border-top:1px solid rgba(255,255,255,.10);
    }
    .footer-inner{
      padding:34px 0 18px;
      display:grid;
      grid-template-columns:1.3fr 1fr 1fr 1fr;
      gap:26px;
    }
    .footer-title{ margin:0 0 10px;font-weight:900;letter-spacing:.2px; }
    .footer-text{
      margin:0;
      color:rgba(255,255,255,.84);
      line-height:1.55;
      font-weight:600;
      font-size:13.5px;
    }
    .footer-links{ list-style:none;padding:0;margin:0;display:grid;gap:10px; }
    .footer-links a{ color:rgba(255,255,255,.86);font-weight:700;font-size:13.5px; }
    .footer-links a:hover{ color:#fff;text-decoration:underline;text-underline-offset:3px; }
    .footer-bottom{
      border-top:1px solid rgba(255,255,255,.10);
      padding:14px 0 18px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      color:rgba(255,255,255,.78);
      font-weight:600;
      font-size:12.5px;
    }

    /* ── Responsive ──────────────────────────────────── */

    /* ─── Hamburger button ───────────────────────────── */
    .hamburger{
      display:none;
      flex-direction:column;
      justify-content:center;
      align-items:center;
      gap:5px;
      width:42px; height:42px;
      background:none;
      border:1px solid rgba(255,255,255,.22);
      border-radius:8px;
      cursor:pointer;
      padding:0;
      flex-shrink:0;
    }
    .hamburger span{
      display:block;
      width:22px; height:2px;
      background:#fff;
      border-radius:999px;
      transition:transform .25s ease, opacity .25s ease;
    }
    .hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
    .hamburger.open span:nth-child(2){ opacity:0; }
    .hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

    /* ─── Side drawer ────────────────────────────────── */
    .nav-overlay{
      display:none;
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.55);
      z-index:99;
      opacity:0;
      transition:opacity .25s ease;
    }
    .nav-overlay.visible{ opacity:1; }
    .side-drawer{
      position:fixed;
      top:0; right:0;
      width:min(320px, 85vw);
      height:100%;
      background:linear-gradient(160deg,#0f2235,#1a3a5c);
      z-index:100;
      transform:translateX(100%);
      transition:transform .28s cubic-bezier(.4,0,.2,1);
      display:flex;
      flex-direction:column;
      box-shadow:-6px 0 30px rgba(0,0,0,.35);
    }
    .side-drawer.open{ transform:translateX(0); }
    .drawer-header{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:20px 22px;
      border-bottom:1px solid rgba(255,255,255,.10);
    }
    .drawer-brand{
      font-size:15px;
      font-weight:700;
      color:#fff;
      letter-spacing:.2px;
    }
    .drawer-close{
      background:none;
      border:none;
      cursor:pointer;
      color:rgba(255,255,255,.7);
      font-size:24px;
      line-height:1;
      padding:4px 8px;
    }
    .drawer-close:hover{ color:#fff; }
    .drawer-menu{
      list-style:none;
      margin:0; padding:18px 0;
      flex:1;
      overflow-y:auto;
    }
    .drawer-menu li a{
      display:flex;
      align-items:center;
      gap:12px;
      padding:15px 24px;
      color:rgba(255,255,255,.88);
      font-weight:600;
      font-size:16px;
      border-left:3px solid transparent;
      transition:background .15s ease, border-color .15s ease, color .15s ease;
    }
    .drawer-menu li a:hover,
    .drawer-menu li a.active{
      background:rgba(105,168,232,.12);
      border-left-color:var(--accent);
      color:#fff;
    }
    .drawer-footer{
      padding:20px 22px;
      border-top:1px solid rgba(255,255,255,.10);
    }
    .drawer-footer .btn-join{
      width:100%;
      text-align:center;
      display:block;
    }

    @media(max-width:1060px){
      .pillars-overview{ grid-template-columns:repeat(2,1fr); }
      .journals-grid{ grid-template-columns:repeat(2,1fr); }
      .activities-grid{ grid-template-columns:repeat(2,1fr); }
    }
    @media(max-width:1111px){
      .hamburger{ display:flex; }
      .nav{ height:auto; padding:14px 0; }
      nav[aria-label="Primary"]{ display:none; }
      .nav-cta{ display:none; }

      .research-hero-title{ font-size:44px; }
      .research-hero-inner{ flex-direction:column;align-items:flex-start;gap:24px; }
      .research-hero-stats{ flex-direction:row;flex-wrap:wrap; }
      .deep-dive{ grid-template-columns:1fr; }
      .objectives-wrap{ grid-template-columns:1fr; }
      .interdisciplinary-wrap{ flex-direction:column;gap:18px; }
      .footer-inner{ grid-template-columns:1fr; }
    }
    @media(max-width:640px){
      /* Hero centering mobile */
      .research-hero-inner { flex-direction:column; align-items:center; text-align:center; }
      .research-hero-left { width:100%; }
      .research-hero-badge { margin-left:auto; margin-right:auto; }
      .research-hero-sub { margin-left:auto; margin-right:auto; max-width:100%; }
      .research-hero-actions { justify-content:center; }

      .pillars-overview{ grid-template-columns:1fr; }
      .activities-grid{ grid-template-columns:1fr 1fr; }
      .journals-grid{ grid-template-columns:1fr; }
      .research-hero-title{ font-size:36px; }
      .cta-actions{ flex-direction:column;align-items:center; }
      .tab-btn{ padding:14px 14px; font-size:13px; }
    }
  
  