:root{
    --white:#FFFFFF;
    --black:#0A0A0A;
    --orange:#FE7B00;
    --ink-70: rgba(10,10,10,0.7);
    --ink-50: rgba(10,10,10,0.5);
    --ink-30: rgba(10,10,10,0.3);
    --ink-12: rgba(10,10,10,0.12);
    --ink-06: rgba(10,10,10,0.06);
    --paper-70: rgba(255,255,255,0.7);
    --paper-50: rgba(255,255,255,0.5);
    --paper-30: rgba(255,255,255,0.3);
    --paper-12: rgba(255,255,255,0.12);
    --display: 'Poppins', sans-serif;
    --body: 'Poppins', sans-serif;
    --container: 1240px;
    --gutter: 32px;
  *{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  scrollbar-width:thin;
}

section {
  scroll-margin-top: 100px;
}

body{
  font-family:var(--body);
  color:var(--black);
  background:var(--white);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  overflow-y:auto;
  scroll-behavior:smooth;
}
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
  .wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
  section{position:relative;}
  ::selection{background:var(--orange);color:var(--white);}

  /* ---------- typography helpers ---------- */
  .eyebrow{
    font-family:var(--body);
    font-weight:600;
    font-size:12px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--orange);
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:'';
    width:22px;height:1px;background:var(--orange);
    display:inline-block;
  }
  h1,h2,h3,h4{
    font-family:var(--display);
    font-weight:700;
    line-height:1.05;
    letter-spacing:-0.01em;
  }
  h2{font-size:clamp(32px,4.4vw,56px);}
  h3{font-size:clamp(20px,2vw,26px);}
  p.lead{font-size:clamp(16px,1.4vw,19px);color:var(--ink-70);max-width:560px;}

  /* ---------- rail / signature element ---------- */
  .rail-dot{
    position:absolute;left:0;top:6px;
    width:9px;height:9px;border-radius:50%;
    background:var(--orange);
    transform:translateX(-50%);
  }
  .section-head{
    position:relative;
    padding-left:28px;
    border-left:1px solid var(--ink-12);
    margin-bottom:56px;
  }
  .section-head .rail-dot{left:-1px;top:4px;}
  .section-head .eyebrow{margin-bottom:14px;}
  .section-head h2{margin-bottom:14px;}

  /* ---------- reveal on scroll ---------- */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* ================= NAV ================= */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(255,255,255,0);
    backdrop-filter:blur(0px);
    border-bottom:1px solid transparent;
    color:var(--white);
    transition:background .35s ease, border-color .35s ease, backdrop-filter .35s ease, transform .35s ease, box-shadow .35s ease, color .35s ease;
  }
  header.scrolled{
    background:rgba(255,255,255,0.9);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--ink-12);
    box-shadow:0 8px 30px rgba(10,10,10,0.05);
    color:var(--black);
  }
  header.hide-nav{transform:translateY(-100%);}
  nav.wrap{
    display:flex;align-items:center;justify-content:space-between;
    height:84px;
    transition:height .35s ease;
  }
  header.scrolled nav.wrap{height:68px;}
  .logo{display:flex;align-items:center;position:relative;height:34px;width:150px;}
  .logo-img{
    position:absolute;left:0;top:50%;transform:translateY(-50%);
    height:34px;width:auto;transition:height .35s ease, opacity .35s ease;
  }
  header.scrolled .logo-img{height:28px;}
  .logo-img.on-dark{opacity:1;}
  .logo-img.on-light{opacity:0;}
  header.scrolled .logo-img.on-dark{opacity:0;}
  header.scrolled .logo-img.on-light{opacity:1;}
  .nav-links{display:flex;align-items:center;gap:34px;}
  .nav-links a{
    font-size:13px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;
    color:currentColor;position:relative;padding:4px 0;
  }
  .nav-links a::after{
    content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--orange);
    transition:width .25s ease;
  }
  .nav-links a:hover::after{width:100%;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    font-size:13px;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;
    padding:13px 24px;
    transition:all .2s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--black);color:var(--white);}
  .btn-primary:hover{background:var(--orange);}
  .btn-outline{border:1px solid var(--black);color:var(--black);}
  .btn-outline:hover{background:var(--black);color:var(--white);}
  .btn-outline-w{border:1px solid var(--paper-50);color:var(--white);}
  .btn-outline-w:hover{background:var(--white);color:var(--black);}
  .btn-primary-w{background:var(--orange);color:var(--white);}
  .btn-primary-w:hover{background:var(--white);color:var(--black);}
  .hamburger{display:none;flex-direction:column;gap:5px;padding:8px;position:relative;z-index:101;}
  .hamburger span{width:22px;height:2px;background:currentColor;transition:transform .35s ease, opacity .25s ease, background-color .35s 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);}

  /* scroll lock while the mobile menu is open — body is pinned in place via JS
     (position:fixed + top offset), this just guarantees no scrollbar/overflow
     shows in browsers that support it as a fallback */
  body.menu-open{position:fixed;width:100%;overflow:hidden;left:0;right:0;}

  .mobile-menu{
    position:fixed;inset:68px 0 0 0;background:var(--white);z-index:99;padding:30px;
    opacity:0;visibility:hidden;transform:translateY(-16px);
    transition:opacity .32s ease, transform .32s ease, visibility 0s linear .32s;
    pointer-events:none;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-menu.open{
    opacity:1;visibility:visible;transform:translateY(0);
    transition:opacity .32s ease, transform .32s ease, visibility 0s linear 0s;
    pointer-events:auto;
  }
  .mobile-menu .mnav{
    display:block;opacity:0;transform:translateY(10px);
    transition:opacity .35s ease, transform .35s ease;
  }
  .mobile-menu.open .mnav{opacity:1;transform:translateY(0);}
  .mobile-menu li:nth-child(1) .mnav{transition-delay:.05s;}
  .mobile-menu li:nth-child(2) .mnav{transition-delay:.09s;}
  .mobile-menu li:nth-child(3) .mnav{transition-delay:.13s;}
  .mobile-menu li:nth-child(4) .mnav{transition-delay:.17s;}
  .mobile-menu li:nth-child(5) .mnav{transition-delay:.21s;}
  .mobile-menu li:nth-child(6) .mnav{transition-delay:.25s;}
  .mobile-menu li:nth-child(7) .mnav{transition-delay:.29s;}
  .mobile-menu li:nth-child(8) .mnav{transition-delay:.33s;}
  .mobile-menu li:nth-child(9) .mnav{transition-delay:.37s;}
  .mobile-menu li:nth-child(10) .mnav{transition-delay:.41s;}

  /* ================= HERO ================= */
  .hero{
    min-height:100vh;
    display:flex;flex-direction:column;justify-content:center;
    padding-top:84px;
    background:var(--black);
    color:var(--white);
    overflow:hidden;
  }
  .hero-media{
    position:absolute;inset:0;top:84px;
    background:
      radial-gradient(circle at 82% 18%, rgba(254,123,0,0.35), transparent 45%),
      repeating-linear-gradient(115deg, rgba(255,255,255,0.035) 0px, rgba(255,255,255,0.035) 1px, transparent 1px, transparent 64px);
  }
  .hero-inner{position:relative;padding:20px 0 40px;}
  .hero-tagwords{
    display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px;
  }
  .hero-tagwords span{
    font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--paper-50);
    padding:7px 14px;border:1px solid var(--paper-30);
    border-radius:999px;
  }
  .hero h1{
    font-size:clamp(40px,7vw,92px);
    max-width:15ch;
    color:var(--white);
  }
  .hero h1 em{
    font-style:normal;color:var(--orange);
  }
  .hero .lead{
    color:var(--paper-70);max-width:520px;margin:26px 0 40px;
    font-size:clamp(15px,1.3vw,18px);
  }
  .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:64px;}
  .hero-foot{
    display:flex;justify-content:space-between;align-items:flex-end;
    border-top:1px solid var(--paper-12);padding-top:26px;gap:20px;flex-wrap:wrap;
  }
  .hero-foot .msg{font-family:var(--display);font-size:15px;color:var(--paper-70);max-width:420px;}
  .scroll-cue{
    display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--paper-50);
  }
  .scroll-cue .line{width:1px;height:34px;background:var(--paper-30);position:relative;overflow:hidden;}
  .scroll-cue .line::after{
    content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--orange);
    animation:scrolldown 1.8s ease-in-out infinite;
  }
  @keyframes scrolldown{0%{top:-100%;}60%{top:100%;}100%{top:100%;}}

  /* ================= STATS ================= */
  .stats{background:var(--black);color:var(--white);padding:0 0 100px;}
  .stats-grid{
    display:grid;grid-template-columns:repeat(6,1fr);
    border-top:1px solid var(--paper-12);
  }
  .stat{
    padding:36px 18px 0;border-right:1px solid var(--paper-12);
  }
  .stat:last-child{border-right:none;}
  .stat .num{
    font-family:var(--display);font-weight:700;font-size:clamp(28px,3vw,44px);color:var(--orange);
  }
  .stat .label{font-size:12px;color:var(--paper-50);text-transform:uppercase;letter-spacing:0.08em;margin-top:8px;}

  /* ================= GENERIC SECTION ================= */
  .section{padding:120px 0;}
  .section.tight{padding:100px 0;}
  .section-alt{background:#F7F7F7;}

  /* ---- 4 pillar cards (Discover/Experience/Lead/Impact) ---- */
  .pillars{
    display:grid;grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--ink-12);border-left:1px solid var(--ink-12);
  }
  .pillar{
    border-right:1px solid var(--ink-12);border-bottom:1px solid var(--ink-12);
    padding:38px 28px;min-height:280px;
    display:flex;flex-direction:column;justify-content:space-between;
    transition:background .25s ease, color .25s ease;
  }
  .pillar:hover{background:var(--black);color:var(--white);}
  .pillar:hover .pillar-num{color:var(--orange);}
  .pillar-num{font-family:var(--display);font-size:14px;color:var(--ink-30);transition:color .25s ease;}
  .pillar h3{margin:26px 0 10px;}
  .pillar p{color:var(--ink-50);font-size:14px;}
  .pillar:hover p{color:var(--paper-70);}

  /* ---- opportunity / offering cards ---- */
  .cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-12);}
  .cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ink-12);}
  .card{
    background:var(--white);padding:40px 34px;
    display:flex;flex-direction:column;gap:16px;
  }
  .card .tag{font-size:11px;font-weight:700;letter-spacing:0.12em;color:var(--orange);text-transform:uppercase;}
  .card .product-logo{height:36px;width:auto;object-fit:contain;align-self:flex-start;}
  .card h3{margin:0;}
  .card p{color:var(--ink-70);font-size:14.5px;}
  .card .go{
    margin-top:auto;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;
    display:inline-flex;align-items:center;gap:6px;
  }
  .card .go .arrow{transition:transform .2s ease;}
  .card:hover .go .arrow{transform:translateX(5px);}

  /* ---- image placeholders (authentic-photo blocks) ---- */
  .ph{
    background:
      linear-gradient(135deg, #171717 0%, #171717 100%);
    position:relative;overflow:hidden;
    display:flex;align-items:flex-end;
  }
  .ph::after{
    content:attr(data-ph);
    position:absolute;top:16px;left:16px;
    font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--paper-50);
  }
  .ph .cap{position:relative;padding:20px;color:var(--white);font-size:12px;letter-spacing:0.06em;text-transform:uppercase;border-top:1px solid var(--paper-12);width:100%;}

  /* ---- video inside a .ph box (e.g. Featured Story, Impact Project) — locked to the box's own size, never affects layout ---- */
  .video-ph::after{display:none;} /* hide the placeholder label once a real video is present */
  .ph-video{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:contain;object-position:center;
    display:block;background:#000;z-index:0;
  }
  .video-ph .cap{position:relative;z-index:2;}
  .mute-toggle{
    position:absolute;top:16px;right:16px;z-index:3;
    width:38px;height:38px;border-radius:50%;
    background:rgba(10,10,10,0.55);color:var(--white);
    display:flex;align-items:center;justify-content:center;
    font-size:15px;border:1px solid rgba(255,255,255,0.3);
    cursor:pointer;transition:background .2s ease, border-color .2s ease;
  }
  .mute-toggle:hover{background:var(--orange);border-color:var(--orange);}

  /* thicker black letterbox border — scoped to this box only (e.g. Impact Story),
     leaves other video boxes like Featured Story completely untouched */
  .video-ph.thick-frame{background:#000;}
  .video-ph.thick-frame .ph-video{inset:34px 0;}
  .video-ph.thick-frame .cap{background:#000;}
  @media (max-width: 620px){
    .video-ph.thick-frame .ph-video{inset:18px 0;}
  }

  /* ---- featured story split ---- */
  .story-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
  .story-split .ph{height:420px;}
  .story-quote{font-family:var(--display);font-size:clamp(16px,1.6vw,20px);font-weight:500;line-height:1.4;margin:18px 0 24px;}
  .story-name{font-size:13px;font-weight:600;color:var(--ink-70);}
  .story-name span{color:var(--orange);}

  /* ---- journey / process (real sequences only) ---- */
  .journey{display:flex;border-top:1px solid var(--ink-12);border-bottom:1px solid var(--ink-12);overflow-x:auto;}
  .journey-step{
    flex:1;min-width:170px;padding:30px 22px;border-right:1px solid var(--ink-12);position:relative;
  }
  .journey-step:last-child{border-right:none;}
  .journey-step .jn{font-family:var(--display);font-size:13px;color:var(--orange);font-weight:700;}
  .journey-step h4{font-family:var(--display);font-size:17px;margin:14px 0 8px;}
  .journey-step p{font-size:13px;color:var(--ink-50);}
  .journey-step::after{
    content:'→';position:absolute;right:-11px;top:50%;transform:translateY(-50%);
    color:var(--ink-30);font-size:14px;
  }
  .journey-step:last-child::after{display:none;}

  /* ---- values grid: bordered boxes, each with a small orange-framed hexagon icon ---- */
  .values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-12);}
  .value{
    background:var(--white);padding:26px 26px;
    display:flex;align-items:center;justify-content:space-between;gap:18px;
  }
  .value-text{display:flex;flex-direction:column;gap:6px;min-width:0;}
  .value .vnum{font-family:var(--display);color:var(--orange);font-size:13px;font-weight:600;}
  .value-name{font-family:var(--display);font-weight:600;font-size:15px;line-height:1.25;}

  /* the hexagon icon itself — image is clipped to the hexagon shape and
     completely fills it via object-fit:cover, with a visible orange border frame */
  .value-hex-frame{
    position:relative;width:64px;aspect-ratio:420/338;flex-shrink:0;
    transition:transform .3s ease;
  }
  .value:hover .value-hex-frame{transform:translateY(-4px);}
  .value-hex-border{
    position:absolute;inset:0;
    clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
    background:var(--orange);
  }
  .value-hex-inner{
    position:absolute;inset:4px;
    clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
    overflow:hidden;background:var(--black);
  }
  .value-hex-inner img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
  @media (max-width: 620px){
    .value{padding:20px;gap:14px;}
    .value-hex-frame{width:52px;}
  }

  /* ---- timeline ---- */
  .timeline{display:flex;gap:0;overflow-x:auto;border-top:1px solid var(--ink-12);padding-top:40px;}
  .tl-item{min-width:220px;padding-right:40px;position:relative;}
  .tl-item::before{
    content:'';position:absolute;top:-41px;left:0;width:100%;height:1px;background:var(--ink-12);
  }
  .tl-item::after{
    content:'';position:absolute;top:-45px;left:0;width:9px;height:9px;border-radius:50%;background:var(--orange);
  }
  .tl-year{font-family:var(--display);font-size:20px;color:var(--orange);margin-bottom:8px;}
  .tl-item p{font-size:13.5px;color:var(--ink-70);max-width:200px;}

  /* ---- world map row (exchange) ---- */
  .map-row{
    background:var(--black);color:var(--white);padding:70px 0;
  }
  .map-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}

  /* dotted world map + interactive pins */
  .world-map-wrap{position:relative;}
  .world-map-svg{width:100%;height:auto;display:block;}
  .wm-dot{fill:rgba(255,255,255,0.16);}
  .wm-pin{cursor:pointer;}
  .wm-pin-dot{fill:var(--orange);transition:r .25s ease;}
  .wm-pin-ring{fill:none;stroke:var(--orange);stroke-width:2;opacity:0;transition:opacity .25s ease;}
  .wm-pin:hover .wm-pin-dot, .wm-pin.active .wm-pin-dot{r:7;}
  .wm-pin:hover .wm-pin-ring, .wm-pin.active .wm-pin-ring{r:11;opacity:1;animation:pinPulse 1.6s ease-out infinite;}
  @keyframes pinPulse{
    0%{r:9;opacity:0.8;}
    100%{r:20;opacity:0;}
  }
  .wm-pin-label{
    font-family:'Poppins', sans-serif;font-size:11px;font-weight:600;
    fill:var(--white);paint-order:stroke;stroke:var(--black);stroke-width:3px;
    stroke-linejoin:round;pointer-events:none;transition:fill .2s ease;
  }
  .wm-pin:hover .wm-pin-label, .wm-pin.active .wm-pin-label{fill:var(--orange);}

  /* legend list — syncs with the map pins on hover/click */
  .map-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
  .country-chip{
    font-size:11px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;
    padding:8px 14px;border:1px solid var(--paper-30);border-radius:999px;color:var(--paper-70);
    cursor:pointer;transition:border-color .2s ease, color .2s ease, background .2s ease;
    display:inline-flex;align-items:center;
  }
  .country-chip::before{content:'';width:6px;height:6px;background:var(--orange);border-radius:50%;display:inline-block;margin-right:8px;flex-shrink:0;}
  .country-chip:hover, .country-chip.active{border-color:var(--orange);color:var(--white);background:rgba(254,123,0,0.12);}

  /* ---- SDG chips ---- */
  .sdg-row{display:flex;flex-wrap:wrap;gap:10px;}
  .sdg-chip{
    font-size:12px;font-weight:600;padding:10px 16px;border:1px solid var(--ink-12);
  }

  /* official UN SDG brand colors — applied only to the "Connected SDGs" chips
     via these modifier classes; other .sdg-chip usages (e.g. Leadership
     Experiences) are untouched and keep the plain neutral style above */
  .sdg-chip.sdg-1{color:#E5243B;border-color:#E5243B;background:rgba(229,36,59,0.06);}
  .sdg-chip.sdg-2{color:#DDA63A;border-color:#DDA63A;background:rgba(221,166,58,0.06);}
  .sdg-chip.sdg-3{color:#4C9F38;border-color:#4C9F38;background:rgba(76,159,56,0.06);}
  .sdg-chip.sdg-4{color:#C5192D;border-color:#C5192D;background:rgba(197,25,45,0.06);}
  .sdg-chip.sdg-5{color:#FF3A21;border-color:#FF3A21;background:rgba(255,58,33,0.06);}
  .sdg-chip.sdg-8{color:#A21942;border-color:#A21942;background:rgba(162,25,66,0.06);}
  .sdg-chip.sdg-10{color:#DD1367;border-color:#DD1367;background:rgba(221,19,103,0.06);}
  .sdg-chip.sdg-11{color:#FD6925;border-color:#FD6925;background:rgba(253,105,37,0.06);}
  .sdg-chip.sdg-12{color:#BF8B2E;border-color:#BF8B2E;background:rgba(191,139,46,0.06);}
  .sdg-chip.sdg-13{color:#3F7E44;border-color:#3F7E44;background:rgba(63,126,68,0.06);}
  .sdg-chip.sdg-15{color:#56C02B;border-color:#56C02B;background:rgba(86,192,43,0.06);}
  .sdg-chip.sdg-17{color:#19486A;border-color:#19486A;background:rgba(25,72,106,0.06);}

  /* ---- department / team accordion cards ---- */
  .dept-list{border-top:1px solid var(--ink-12);}
  .dept{
    border-bottom:1px solid var(--ink-12);padding:30px 0;
    display:grid;grid-template-columns:220px 1fr;gap:30px;align-items:start;
  }
  .dept h4{font-family:var(--display);font-size:20px;}
  .dept .skills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
  .dept .skills span{font-size:11px;border:1px solid var(--ink-12);padding:5px 10px;color:var(--ink-70);}
  .dept blockquote{margin-top:14px;font-size:13.5px;color:var(--ink-50);font-style:normal;border-left:2px solid var(--orange);padding-left:14px;}

  /* ---- events ---- */
  .events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-12);}
  .event-card{background:var(--white);}
  .event-card .ph{height:190px;}
  .event-body{padding:24px;}
  .event-date{font-size:11px;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:0.08em;}
  .event-body h4{font-family:var(--display);font-size:17px;margin:10px 0 8px;}
  .event-body p{font-size:13px;color:var(--ink-50);margin-bottom:16px;}

  /* ---- featured upcoming event (stand-out, single) ---- */
  .event-feature{
    display:grid;grid-template-columns:1.2fr 1fr;
    border:1px solid var(--black);
  }
  .event-feature .ph{height:100%;min-height:380px;}
  .event-feature-body{
    padding:48px 44px;background:var(--black);color:var(--white);
    display:flex;flex-direction:column;justify-content:center;
  }
  .event-feature-body .eyebrow{margin-bottom:24px;}
  .event-feature-body h3{color:var(--white);font-size:clamp(22px,2.4vw,30px);}
  .event-feature-body .lead{color:var(--paper-70);max-width:none;}
  .event-feature-body .btn{align-self:flex-start;}
  @media (max-width: 760px){
    .event-feature{grid-template-columns:1fr;}
    .event-feature .ph{min-height:260px;}
  }

  /* ---- term vision ---- */
  .term-vision{
    border-left:2px solid var(--orange);padding:6px 0 6px 26px;
    margin-bottom:64px;max-width:760px;
  }
  .tv-quote{
    font-family:var(--display);font-weight:600;font-size:clamp(19px,2.2vw,27px);
    line-height:1.35;margin:16px 0 14px;
  }
  .tv-attr{font-size:12.5px;color:var(--ink-50);}

  /* ---- team grid ---- */
  .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink-12);}
  .member{background:var(--white);padding:0;}
  .member .ph{height:230px;}
  .member-body{padding:22px;}
  .member-body h4{font-family:var(--display);font-size:16px;}
  .member-body .role{font-size:12px;color:var(--orange);font-weight:600;text-transform:uppercase;letter-spacing:0.04em;margin-top:6px;line-height:1.4;}
  .member-body p{font-size:13px;color:var(--ink-50);margin-top:12px;}

  /* ---- auto-scroll carousel (single frame, cycling images) ---- */
  .carousel-single{
    position:relative;overflow:hidden;height:440px;
    border:1px solid var(--ink-12);
  }
  .carousel-single .carousel-slide{
    position:absolute;inset:0;opacity:0;transition:opacity 1s ease;
  }
  .carousel-single .carousel-slide.active{opacity:1;}
  .carousel-dots{
    position:absolute;bottom:18px;left:50%;transform:translateX(-50%);
    display:flex;gap:8px;z-index:2;
  }
  .carousel-dots span{
    width:6px;height:6px;border-radius:50%;background:var(--paper-30);
    transition:background .25s ease, width .25s ease;
  }
  .carousel-dots span.active{background:var(--orange);width:18px;border-radius:3px;}

  /* mini auto-scroll carousel used inside past-event cards */
  .mini-carousel{position:relative;overflow:hidden;height:190px;}
  .mini-carousel .carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;}
  .mini-carousel .carousel-slide.active{opacity:1;}

  /* ---- stories tabs ---- */
  .story-cats{
    display:flex;gap:0;border-bottom:1px solid var(--ink-12);margin-bottom:0;
    overflow-x:auto;position:relative;
  }

  /* transparent, unobtrusive scrollbars on horizontally-scrolling strips (journey, timeline, story tabs) */
  .journey, .timeline, .story-cats{
    scrollbar-width:none;
  }
  .journey::-webkit-scrollbar, .timeline::-webkit-scrollbar, .story-cats::-webkit-scrollbar{
    height:0;
    background:transparent;
  }
  .story-cats button{
    padding:16px 26px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;
    color:var(--ink-50);white-space:nowrap;position:relative;
    transition:color .3s ease;
  }
  .story-cats button:hover{color:var(--black);}
  .story-cats button.active{color:var(--black);}

  /* sliding orange underline — animates smoothly to whichever tab is active or hovered,
     width always matches that button's own width, never the full nav bar */
  .story-cats-indicator{
    position:absolute;bottom:-1px;left:0;height:2px;width:0;
    background:var(--orange);
    transition:left .3s cubic-bezier(.65,0,.35,1), width .3s cubic-bezier(.65,0,.35,1);
    pointer-events:none;
  }

  .story-panels{padding-top:44px;}
  .story-panel{
    display:none;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-12);
    opacity:0;transform:translateY(10px);
    transition:opacity .3s ease, transform .3s ease;
  }
  .story-panel.active{display:grid;}
  .story-panel.visible{opacity:1;transform:translateY(0);}
  .story-card{background:var(--white);padding:30px;}
  .story-card .ph{height:160px;margin-bottom:18px;}
  .story-card p.q{font-family:var(--display);font-size:14px;line-height:1.5;margin-bottom:14px;}
  .story-card .who{font-size:12px;color:var(--ink-50);}

  /* ---- partners ---- */
  .partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink-12);}
  .partner-cat{background:var(--white);padding:34px 26px;}
  .partner-cat .pn{font-size:11px;color:var(--orange);font-weight:700;letter-spacing:0.08em;}
  .partner-cat h4{font-family:var(--display);font-size:18px;margin:14px 0 16px;}
  .partner-cat li{font-size:13px;color:var(--ink-70);padding:6px 0;border-top:1px solid var(--ink-06);}
  .partner-cat li:first-of-type{border-top:none;}

  .why-partner{display:flex;flex-wrap:wrap;gap:1px;background:var(--ink-12);margin-top:60px;}
  .why-item{flex:1;min-width:170px;background:var(--white);padding:26px;text-align:center;}
  .why-icon{width:30px;height:30px;color:var(--orange);margin-bottom:14px;}
  .why-item .wn{font-family:var(--display);font-size:13px;color:var(--orange);}
  .why-item p{font-size:13px;margin-top:8px;}

  /* ---- FAQ ---- */
  .faq-list{border-top:1px solid var(--ink-12);}
  .faq-item{border-bottom:1px solid var(--ink-12);}
  .faq-q{
    width:100%;text-align:left;padding:26px 0;
    display:flex;justify-content:space-between;align-items:center;gap:20px;
    font-family:var(--display);font-size:17px;font-weight:500;
  }
  .faq-q .plus{font-size:20px;color:var(--orange);transition:transform .25s ease;flex-shrink:0;}
  .faq-item.open .faq-q .plus{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .faq-item.open .faq-a{max-height:220px;}
  .faq-a p{padding-bottom:26px;color:var(--ink-70);font-size:14.5px;max-width:640px;}

  /* ---- forms ---- */
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
  .field{margin-bottom:22px;}
  .field label{display:block;font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-50);margin-bottom:8px;}
  .field input, .field select, .field textarea{
    width:100%;padding:13px 0;border:none;border-bottom:1px solid var(--ink-12);
    font-family:var(--body);font-size:15px;background:transparent;color:var(--black);
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:none;border-bottom-color:var(--orange);
  }
  .field textarea{resize:vertical;min-height:90px;}

  /* contact form status message (success/error) — shown after submit */
  .form-status{
    margin-top:16px;font-size:13px;font-weight:600;
    opacity:0;transform:translateY(-4px);
    transition:opacity .3s ease, transform .3s ease;
  }
  .form-status.show{opacity:1;transform:translateY(0);}
  .form-status.success{color:var(--black);}
  .form-status.error{color:var(--orange);}
  .btn[disabled]{opacity:0.6;cursor:not-allowed;pointer-events:none;}

  .contact-info{display:flex;flex-direction:column;gap:26px;}
  .contact-info .ci-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--orange);margin-bottom:6px;}
  .contact-info .ci-val{font-family:var(--display);font-size:19px;}
  .social-row{display:flex;gap:14px;margin-top:8px;}
  .social-row a{font-size:12px;font-weight:600;text-transform:uppercase;border:1px solid var(--ink-12);padding:8px 14px;}
  .social-row a:hover{border-color:var(--orange);color:var(--orange);}

  /* ---- final CTA ---- */
  .final-cta{
    background:var(--black);color:var(--white);padding:130px 0;text-align:center;
    position:relative;overflow:hidden;
  }
  .final-cta::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(circle at 50% 0%, rgba(254,123,0,0.22), transparent 55%);
  }
  .final-cta h2{position:relative;max-width:14ch;margin:22px auto 36px;color:var(--white);}
  .final-cta .eyebrow{position:relative;margin-bottom:0;}
  .final-cta-ctas{position:relative;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

  /* ---- footer ---- */
  footer{background:var(--black);color:var(--paper-70);padding:70px 0 30px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid var(--paper-12);}
  .foot-logo{font-family:var(--display);font-weight:700;font-size:20px;color:var(--white);margin-bottom:14px;}
  .foot-logo span{color:var(--orange);}
  .foot-tag{font-size:13px;color:var(--paper-50);max-width:240px;}
  .foot-col h5{font-size:12px;text-transform:uppercase;letter-spacing:0.08em;color:var(--paper-50);margin-bottom:18px;}
  .foot-col a, .foot-col p{display:block;font-size:13.5px;color:var(--paper-70);padding:6px 0;}
  .foot-col a:hover{color:var(--orange);}
  .foot-bottom{display:flex;justify-content:space-between;padding-top:26px;font-size:12px;color:var(--paper-50);flex-wrap:wrap;gap:10px;}

  /* ---------- responsive ---------- */
  @media (max-width: 980px){
    .nav-links{display:none;}
    .hamburger{display:flex;}
    .stats-grid{grid-template-columns:repeat(3,1fr);}
    .stat:nth-child(3n){border-right:none;}
    .stat{border-bottom:1px solid var(--paper-12);padding-bottom:26px;}
    .pillars{grid-template-columns:repeat(2,1fr);}
    .cards-3, .events-grid, .team-grid, .values, .story-panel, .partner-grid{grid-template-columns:repeat(2,1fr);}
    .cards-2{grid-template-columns:1fr;}
    .story-split{grid-template-columns:1fr;gap:34px;}
    .map-grid{grid-template-columns:1fr;}
    .dept{grid-template-columns:1fr;gap:14px;}
    .form-grid{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width: 620px){
    .pillars, .cards-3, .events-grid, .team-grid, .values, .story-panel, .partner-grid{grid-template-columns:1fr;}
    .carousel-single{height:280px;}
    .stats-grid{grid-template-columns:repeat(2,1fr);}
    .stat:nth-child(2n){border-right:none;}
    .hero-foot{flex-direction:column;align-items:flex-start;gap:24px;}
    .hero{min-height:auto;}
    .hero-inner{padding:32px 0 40px;}
    .section{padding:56px 0;}
    .section.tight{padding:48px 0;}
    .section-head{margin-bottom:36px;padding-left:20px;}
    .pillar{padding:26px 20px;min-height:auto;}
    .pillar h3{margin:18px 0 8px;}
    .card{padding:26px 22px;gap:12px;}
    .event-feature-body{padding:32px 24px;}
    .event-feature-body .eyebrow{margin-bottom:16px;}
    .dept{padding:22px 0;}
    .term-vision{margin-bottom:40px;padding:4px 0 4px 18px;}
    .journey-step{padding:22px 16px;min-width:150px;}
    .why-item{padding:20px;}
    .final-cta{padding:80px 0;}
    footer{padding:48px 0 24px;}
    .foot-grid{grid-template-columns:1fr;padding-bottom:32px;gap:28px;}
  }

  @media (prefers-reduced-motion: reduce){
    *{animation:none !important;transition:none !important;}
    .reveal{opacity:1;transform:none;}
  }
}