:root{
    --blue:#1CBEF0;
    --blue-deep:#0E93C2;
    --grey:#B4B3B4;
    --black:#1A1617;
    --gold:#E8BC20;
    --green:#068341;
    --white:#FFFFFF;
    --about-grey:#7C7C7E;
    --band-grey:#F2F3F4;
    --tint-blue:#E9F7FD;
    --footer-black:#0C0D11;
    --line:#E9E9EA;
    --ink:#1A1617;
    --ink-soft:#5F5D5E;
    --maxw:1180px;
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  html{scroll-padding-top:env(safe-area-inset-top,0px); scroll-behavior:smooth;}
  *{margin:0;padding:0;box-sizing:border-box;}
  html,body{height:100%;}
  body{
    background:var(--white);
    color:var(--ink);
    font-family:'Google Sans Flex','Google Sans',Roboto,system-ui,-apple-system,sans-serif;
    font-optical-sizing:auto;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  h1,h2,h3,h4,h5{ font-family:inherit; font-weight:700; line-height:1.15; letter-spacing:-0.01em; color:var(--ink); }
  button{font-family:inherit;cursor:pointer;}
  :focus-visible{outline:2px solid var(--blue); outline-offset:3px;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
  @media (max-width:640px){ .wrap{padding:0 20px;} }
  p{font-weight:400;}

  /* ---------- Topbar ---------- */
  .topbar{ background:var(--blue); color:#fff; font-size:14px; }
  .topbar .wrap{ display:flex; align-items:center; justify-content:space-between; height:44px; }
  .topbar-statement{font-weight:700;}
  .topbar-right{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
  .topbar-email{font-weight:700;}
  .topbar-social{display:flex; gap:16px; align-items:center;}
  .topbar-social svg{width:16px; height:16px; display:block; color:#fff;}
  @media (max-width:760px){ .topbar-email{display:none;} }

  /* ---------- Header ---------- */
  header.site-header{
    position:sticky; top:0; z-index:50;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{ display:flex; align-items:center; justify-content:space-between; height:84px; gap:24px; }
  .brand img{width:200px; height:auto;}
  @media (max-width:900px){ .brand img{width:150px;} }
  nav.main-nav{display:flex; align-items:center; gap:4px;}
  nav.main-nav > ul{display:flex; align-items:center; gap:6px;}
  .nav-item{position:relative;}
  .nav-item > a{
    display:flex; align-items:center; gap:6px;
    padding:10px 12px; border-radius:8px;
    font-size:16px; font-weight:600; color:var(--ink);
    transition:background .15s, color .15s;
  }
  .nav-item > a:hover{background:rgba(28,190,240,.08); color:var(--blue-deep);}
  .nav-item .chev{width:10px; height:10px; opacity:.6; transition:transform .15s;}
  .nav-item:hover .chev{transform:rotate(180deg);}
  .dropdown{
    position:absolute; top:100%; left:0; margin-top:6px;
    background:var(--white); border:1px solid var(--line); border-radius:10px;
    padding:8px; min-width:230px;
    box-shadow:0 16px 40px rgba(10,20,24,.14);
    opacity:0; visibility:hidden; transform:translateY(6px);
    transition:opacity .15s, transform .15s, visibility .15s;
  }
  .nav-item:hover .dropdown{opacity:1; visibility:visible; transform:translateY(0);}
  .dropdown a{ display:block; padding:9px 12px; border-radius:6px; font-size:14.5px; color:var(--ink); font-weight:500; }
  .dropdown a:hover{background:rgba(28,190,240,.08); color:var(--blue-deep);}
  .dropdown .sub-label{ font-size:11px; font-weight:700; color:var(--ink-soft); padding:8px 12px 2px; text-transform:uppercase; letter-spacing:.04em;}
  .header-cta{display:flex; align-items:center; gap:14px;}
  .btn-contact{
    display:inline-flex; align-items:center; justify-content:center;
    padding:13px 28px; border-radius:6px;
    font-size:14px; font-weight:700; letter-spacing:.03em;
    background:var(--black); color:#fff;
    text-transform:uppercase;
    transition:background .15s, transform .15s;
  }
  .btn-contact:hover{background:var(--blue-deep); transform:translateY(-1px);}
  .menu-toggle{display:none;}
  @media (max-width:980px){
    nav.main-nav{display:none;}
    .menu-toggle{ display:flex; width:40px; height:40px; align-items:center; justify-content:center; border-radius:8px; border:1px solid var(--line); background:transparent; }
    .menu-toggle svg{width:18px; height:18px;}
  }
  .mobile-nav{ position:fixed; inset:0; z-index:100; background:var(--white); padding:20px; display:none; overflow-y:auto; }
  .mobile-nav.open{display:block;}
  .mobile-nav-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:24px;}
  .mobile-nav-top img{width:150px;}
  .mobile-close{width:40px; height:40px; border:1px solid var(--line); border-radius:8px; background:none;}
  .mobile-nav a{display:block; padding:14px 4px; font-size:17px; font-weight:600; border-bottom:1px solid var(--line);}
  .mobile-nav .sub a{font-size:15px; font-weight:500; padding-left:16px; color:var(--ink-soft); border-bottom:none;}

  /* ---------- Hero (video background) ---------- */
  .hero{ position:relative; min-height:640px; overflow:hidden; background:#0B0E0F; }
  .hero-bg{ position:absolute; inset:0; z-index:0; overflow:hidden; background:#0B0E0F; }
  .hero-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .hero-scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(0deg, rgba(6,10,11,.7) 0%, rgba(6,10,11,.1) 45%, rgba(6,10,11,0) 70%); }
  .hero-inner{ position:absolute; left:0; right:0; bottom:20px; z-index:2; }
  .hero h1{ font-size:clamp(1.3rem, 2.5vw, 1.9rem); color:#fff; max-width:900px; }
  .mute-toggle{
    position:absolute; z-index:3; right:28px; bottom:26px;
    width:40px; height:40px; border-radius:50%;
    background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.4);
    display:flex; align-items:center; justify-content:center; color:#fff;
    backdrop-filter:blur(6px);
  }
  .mute-toggle svg{width:16px; height:16px;}
  @media (max-width:640px){ .mute-toggle{right:20px; bottom:20px;} }

  /* ---------- About strip (grey) ---------- */
  .about-strip{ background:var(--about-grey); padding:64px 0 60px; }
  .about-grid{ display:grid; grid-template-columns:3fr 2fr; gap:60px; align-items:start; }
  @media (max-width:900px){ .about-grid{grid-template-columns:1fr;} }
  .about-copy h2{ color:#fff; font-size:clamp(1.9rem, 3.4vw, 2.6rem); margin-bottom:22px; }
  .about-copy h5.tagline{ color:#fff; font-size:18px; font-weight:700; line-height:1.5; margin-bottom:20px; }
  .about-copy p.body{ color:#F1F1F1; font-size:15.5px; line-height:1.7; }
  .about-media{border-radius:6px; overflow:hidden; aspect-ratio:4/3; box-shadow:0 24px 50px -20px rgba(0,0,0,.4);}
  .about-media img{width:100%; height:100%; object-fit:cover;}

  /* ---------- Vision / Mission / Values ---------- */
  .pillars-section{ background:var(--about-grey); padding:0 0 70px; }
  .pillar-grid{display:grid; grid-template-columns:repeat(3,1fr);}
  @media (max-width:820px){ .pillar-grid{grid-template-columns:1fr;} }
  .pillar{padding:56px 56px 52px; min-height:260px;}
  .pillar-icon{width:100px; height:auto; margin-bottom:24px; display:block;}
  .pillar h3{font-size:24px; margin-bottom:14px;}
  .pillar p{font-size:15px; line-height:1.7;}
  .pillar.vision{background:var(--blue); color:#fff;}
  .pillar.vision h3{color:#fff;}
  .pillar.vision p{color:#EAF9FF;}
  .pillar.mission{background:#fff; color:var(--ink);}
  .pillar.mission p{color:var(--ink-soft);}
  .pillar.values{background:var(--gold); color:var(--ink);}
  .pillar.values p{color:#4A3B08;}

  /* ---------- Section generic ---------- */
  section{padding:80px 0;}
  @media (max-width:760px){ section{padding:52px 0;} }
  h2.section-title{font-size:clamp(1.8rem, 3vw, 2.4rem); text-align:center; margin-bottom:16px;}
  p.section-lede{color:var(--ink-soft); font-size:16px; text-align:center; max-width:64ch; margin:0 auto 48px;}

  /* ---------- Products ---------- */
  .products-section{background:linear-gradient(180deg, #fff 0%, var(--tint-blue) 100%);}
  .product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:36px;}
  @media (max-width:900px){ .product-grid{grid-template-columns:1fr; max-width:420px; margin-left:auto; margin-right:auto;} }
  .product-card{
    background:#fff; border-radius:16px; overflow:hidden;
    box-shadow:0 4px 14px -6px rgba(10,20,24,.12), 0 24px 48px -22px rgba(10,20,24,.2);
    transition:transform .22s ease, box-shadow .22s ease;
  }
  .product-card:hover{
    transform:translateY(-6px);
    box-shadow:0 8px 20px -6px rgba(10,20,24,.16), 0 36px 60px -22px rgba(10,20,24,.28);
  }
  .product-media{aspect-ratio:16/11; background:#F4F5F6; overflow:hidden;}
  .product-media img{width:100%; height:100%; object-fit:cover;}
  .product-bar{height:6px; background:var(--blue);}
  .product-card.green .product-bar{background:var(--green);}
  .product-card.gold .product-bar{background:var(--gold);}
  .product-body{padding:28px 26px 32px; text-align:center;}
  .product-body h4{font-size:24px; margin-bottom:10px;}
  .product-body p{color:var(--ink-soft); font-size:15px; line-height:1.5;}

  /* ---------- Strategic Partners ---------- */
  .partners-row{ display:grid; grid-template-columns:repeat(5, 1fr); align-items:center; justify-items:center; gap:24px; }
  .partner-logo img{ width:200px; height:auto; max-width:100%; }

  /* ---------- Impact band ---------- */
  .impact-band{background:var(--band-grey); padding:36px 0;}
  .stat-row{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:14px 44px;}
  .impact-label{font-size:22px; font-weight:700; color:var(--ink); margin-right:6px;}
  .stat{display:inline-flex; align-items:baseline; gap:8px;}
  .stat b{font-size:34px; color:var(--blue); font-weight:700;}
  .stat span{font-size:16px; color:var(--ink); font-weight:700;}

  /* ---------- Certifications ---------- */
  .cert-section{ position:relative; padding:130px 0; overflow:hidden; background:#2A2C2E; }
  .cert-bg{ position:absolute; inset:0; z-index:0; overflow:hidden; }
  .cert-bg img{ position:absolute; top:50%; left:50%; width:100%; height:130%; object-fit:cover; transform:translate(-50%,-50%); will-change:transform; }
  .cert-section::after{ content:""; position:absolute; inset:0; background:rgba(8,10,11,.62); z-index:0; }
  .cert-inner{position:relative; z-index:1; text-align:center;}
  .cert-inner h2{color:#fff; font-size:clamp(1.9rem, 3.4vw, 2.6rem); margin-bottom:28px;}
  .cert-list{color:#fff; font-size:19px; font-weight:700; line-height:1.9;}

  /* ---------- News ---------- */
  .news-section{background:var(--tint-blue);}
  .news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  @media (max-width:900px){ .news-grid{grid-template-columns:1fr; max-width:480px; margin-left:auto; margin-right:auto;} }
  .news-card{ background:#fff; border-radius:6px; overflow:hidden; box-shadow:0 10px 30px -12px rgba(10,20,24,.18); display:block; transition:transform .2s, box-shadow .2s; }
  .news-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px -14px rgba(10,20,24,.24);}
  .news-media{position:relative; aspect-ratio:16/10; overflow:hidden; background:#EDEDEE;}
  .news-media img{width:100%; height:100%; object-fit:cover;}
  .news-media.placeholder{display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, rgba(28,190,240,.16), rgba(6,131,65,.12));}
  .news-media.placeholder svg{width:34px; height:34px; color:var(--blue-deep); opacity:.55;}
  .news-badge{ position:absolute; top:14px; right:14px; background:rgba(60,62,66,.88); color:#fff; font-size:11.5px; font-weight:700; letter-spacing:.03em; padding:7px 13px; border-radius:6px; text-transform:uppercase; }
  .news-body{padding:22px 24px 20px;}
  .news-body h4{font-size:19px; line-height:1.4; font-weight:700; margin-bottom:18px;}
  .news-readmore{color:var(--blue-deep); font-weight:700; font-size:14px; letter-spacing:.02em; text-transform:uppercase;}
  .news-divider{border-top:1px solid var(--line); margin-top:20px;}
  .news-date{display:block; padding:14px 24px 18px; color:var(--ink-soft); font-size:13.5px;}

  /* ---------- Newsletter ---------- */
  .newsletter-section{background:#fff;}
  .newsletter-grid{display:flex; align-items:flex-start; justify-content:space-between; gap:40px; flex-wrap:wrap;}
  .newsletter-copy{max-width:600px;}
  .newsletter-copy h3{color:var(--blue); font-size:2rem; margin-bottom:14px;}
  .newsletter-copy p{color:var(--ink); font-size:16px; line-height:1.6;}
  .newsletter-form{display:flex; flex-direction:column; gap:14px; width:100%; max-width:320px;}
  .newsletter-form input{ padding:16px 18px; border-radius:6px; border:1px solid var(--line); background:#fff; color:var(--ink); font-size:15px; font-family:inherit; }
  .newsletter-form input::placeholder{color:var(--ink-soft);}
  .newsletter-form input:focus{outline:2px solid var(--blue); outline-offset:2px;}
  .newsletter-form button{ padding:16px 24px; border-radius:6px; background:var(--blue); color:#fff; font-weight:700; font-size:14.5px; letter-spacing:.03em; text-transform:uppercase; border:0; font-family:inherit; transition:background .15s; }
  .newsletter-form button:hover{background:var(--blue-deep);}

  /* ---------- Footer ---------- */
  footer{background:var(--footer-black); color:#C9C8C8; padding-top:60px;}
  .footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:44px;}
  @media (max-width:900px){ .footer-top{grid-template-columns:1fr 1fr; row-gap:36px;} }
  @media (max-width:560px){ .footer-top{grid-template-columns:1fr;} }
  .footer-brand img{width:190px; margin-bottom:18px;}
  .footer-brand p{font-size:15px; color:#C9C8C8; max-width:32ch; margin-bottom:22px; font-weight:400; line-height:1.6;}
  .footer-social{display:flex; gap:18px;}
  .footer-social svg{width:19px; height:19px; color:#fff;}
  .footer-social a:hover svg{color:var(--blue);}
  footer h4{color:#fff; font-size:20px; margin-bottom:20px; font-weight:600;}
  footer .flinks{display:flex; flex-direction:column; gap:13px;}
  footer .flinks a{font-size:15px; color:#C9C8C8; transition:color .15s; font-weight:400;}
  footer .flinks a:hover{color:var(--blue);}
  .footer-contact{display:flex; flex-direction:column; gap:13px; font-size:15px; color:#C9C8C8; font-weight:400;}
  .footer-bottom{ border-top:1px solid rgba(255,255,255,.1); padding:22px 0 calc(22px + env(safe-area-inset-bottom,0px)); font-size:14px; color:#A9A8A9; }

  ::selection{background:rgba(28,190,240,.3);}
  @media (prefers-reduced-motion: reduce){ *{transition:none !important; scroll-behavior:auto !important;} }

  /* ============================================================
     WHO WE ARE PAGE
     ============================================================ */

  /* ---------- Inner hero (image bg, centered content) ---------- */
  .inner-hero{
    position:relative; min-height:520px; display:flex; align-items:center; justify-content:center;
    text-align:center; overflow:hidden; background:#0B0E0F;
  }
  .inner-hero-bg{ position:absolute; inset:0; z-index:0; }
  .inner-hero-bg img{ width:100%; height:100%; object-fit:cover; }
  .inner-hero-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,10,12,.55) 0%, rgba(8,10,12,.72) 100%); }
  .inner-hero-inner{ position:relative; z-index:1; padding:0 28px; }
  .inner-hero-inner h1{ color:#fff; font-size:clamp(2.2rem, 4.4vw, 3.4rem); margin-bottom:18px; }
  .inner-hero-inner h2{ color:#fff; font-size:clamp(1.3rem, 2.4vw, 1.9rem); font-weight:700; margin-bottom:14px; }
  .inner-hero-eyebrow{ color:#8FE3FF; font-size:14px; font-weight:600; letter-spacing:.04em; margin-bottom:14px; }
  .inner-hero-inner p{ color:#D7D9DA; font-size:15px; letter-spacing:.02em; }

  /* ---------- Message from MD: overlapping message + profile cards ---------- */
  .md-grid{ display:grid; grid-template-columns:3fr 2fr; gap:0; }
  @media (max-width:900px){ .md-grid{grid-template-columns:1fr;} }
  .md-message-card{ background:#fff; padding:48px 46px; box-shadow:0 24px 48px -20px rgba(10,20,24,.25); }
  .md-message-card .bar{ width:34px; height:4px; background:var(--blue); border-radius:2px; margin-bottom:24px; }
  .md-message-card h2{ font-size:clamp(1.5rem, 2.6vw, 2rem); margin-bottom:22px; }
  .md-message-card p{ color:var(--ink-soft); font-size:15px; line-height:1.8; margin-bottom:18px; }
  .md-message-card p:last-child{ margin-bottom:0; }
  .md-profile-card{ background:#fff; box-shadow:0 24px 48px -20px rgba(10,20,24,.25); display:flex; flex-direction:column; }
  .md-profile-photo{ aspect-ratio:4/3.3; overflow:hidden; background:#3A3D42; }
  .md-profile-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 15%; }
  .md-profile-body{ padding:30px 36px 36px; text-align:center; }
  .md-profile-body .bar{ width:34px; height:4px; background:var(--blue); border-radius:2px; margin:0 auto 22px; }
  .md-profile-name{ font-size:27px; font-weight:800; color:var(--ink); margin-bottom:12px; }
  .md-profile-title{ color:var(--ink-soft); font-size:14.5px; line-height:1.5; margin-bottom:22px; }
  .md-social{ display:flex; justify-content:center; gap:10px; }
  .md-social a{ width:38px; height:38px; border-radius:8px; display:flex; align-items:center; justify-content:center; color:#fff; transition:opacity .15s; }
  .md-social a:hover{ opacity:.85; }
  .md-social a.x{ background:#111; }
  .md-social a.linkedin{ background:#0A66C2; }
  .md-social a svg{ width:17px; height:17px; }

  /* ---------- Team grid (Leadership page) ---------- */
  .team-intro{ text-align:center; max-width:820px; margin:0 auto 60px; color:var(--ink-soft); font-size:16px; line-height:1.7; }
  .team-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:48px 40px; }
  @media (max-width:900px){ .team-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:600px){ .team-grid{grid-template-columns:1fr; max-width:380px; margin:0 auto;} }
  .team-photo{ aspect-ratio:1/1; border-radius:6px; overflow:hidden; margin-bottom:22px; background:#E9E9EA; }
  .team-photo img{ width:100%; height:100%; object-fit:cover; }
  .team-photo.placeholder{ display:flex; align-items:center; justify-content:center; background:var(--blue); color:#fff; font-size:44px; font-weight:800; }
  .team-name{ font-size:22px; font-weight:800; color:var(--ink); margin-bottom:8px; }
  .team-title{ color:var(--blue-deep); font-weight:700; font-size:15px; margin-bottom:14px; }
  .team-bio{ color:var(--ink-soft); font-size:14.5px; line-height:1.7; margin-bottom:18px; }
  .team-social{ display:flex; gap:10px; }
  .team-social a{ width:34px; height:34px; border-radius:7px; display:flex; align-items:center; justify-content:center; color:#fff; transition:opacity .15s; }
  .team-social a:hover{ opacity:.85; }
  .team-social a.x{ background:#111; }
  .team-social a.linkedin{ background:#0A66C2; }
  .team-social a.instagram{ background:#111; }
  .team-social a svg{ width:15px; height:15px; }

  /* ---------- Floating "Let's Talk" contact widget ---------- */
  .contact-fab{ position:fixed; right:24px; bottom:24px; z-index:80; display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
  .contact-fab-options{
    display:flex; flex-direction:column; align-items:center; gap:12px;
    opacity:0; visibility:hidden; transform:translateY(10px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s;
  }
  .contact-fab.open .contact-fab-options{ opacity:1; visibility:visible; transform:translateY(0); }
  .contact-fab-option{
    width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    color:#fff; box-shadow:0 8px 20px -6px rgba(10,20,24,.3); position:relative;
  }
  .contact-fab-option svg{ width:22px; height:22px; }
  .contact-fab-option.whatsapp{ background:#25D366; }
  .contact-fab-option.x{ background:#000; }
  .contact-fab-option.email{ background:#1CBEF0; }
  .contact-fab-tooltip{
    position:absolute; right:60px; top:50%; transform:translateY(-50%);
    background:#fff; color:var(--ink); font-size:13px; font-weight:600; padding:8px 14px;
    border-radius:999px; box-shadow:0 8px 20px -6px rgba(10,20,24,.2); white-space:nowrap;
    opacity:0; visibility:hidden; transition:opacity .15s, visibility .15s;
  }
  .contact-fab-option:hover .contact-fab-tooltip{ opacity:1; visibility:visible; }
  .contact-fab-toggle{
    display:flex; align-items:center; gap:10px; background:none; border:0; padding:0; cursor:pointer;
  }
  .contact-fab-label{
    background:#fff; color:var(--ink); font-size:13.5px; font-weight:700; padding:11px 18px;
    border-radius:999px; box-shadow:0 8px 20px -6px rgba(10,20,24,.2);
  }
  .contact-fab-circle{
    width:52px; height:52px; border-radius:50%; background:#25D366; color:#fff;
    display:flex; align-items:center; justify-content:center; box-shadow:0 10px 24px -6px rgba(10,20,24,.35);
    transition:transform .15s;
  }
  .contact-fab.open .contact-fab-circle{ background:#25D366; }
  .contact-fab-circle svg{ width:22px; height:22px; transition:opacity .15s, transform .15s; }
  .contact-fab-circle .icon-close{ display:none; position:absolute; }
  .contact-fab.open .contact-fab-circle .icon-chat{ display:none; }
  .contact-fab.open .contact-fab-circle .icon-close{ display:block; }
  .contact-fab-toggle:hover .contact-fab-circle{ transform:scale(1.06); }

  /* ---------- Overlapping mission cards ---------- */
  .mission-cards-wrap{ position:relative; z-index:2; margin-top:-90px; padding-bottom:70px; }
  .mission-cards{ display:grid; grid-template-columns:1fr 1fr; gap:0; }
  @media (max-width:820px){ .mission-cards{grid-template-columns:1fr;} }
  .mission-card{ background:#fff; padding:44px 44px 40px; box-shadow:0 24px 48px -20px rgba(10,20,24,.25); }
  .mission-card .bar{ width:34px; height:4px; background:var(--blue); border-radius:2px; margin-bottom:24px; }
  .mission-card h3{ font-size:26px; margin-bottom:18px; }
  .mission-card p{ color:var(--ink-soft); font-size:15px; line-height:1.75; }

  /* ---------- Our Values (split) ---------- */
  .values-split{ display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
  @media (max-width:900px){ .values-split{grid-template-columns:1fr;} }
  .values-media{ position:relative; min-height:420px; overflow:hidden; }
  .values-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .values-media::after{ content:""; position:absolute; inset:0; background:rgba(20,22,24,.35); }
  .values-copy{ background:var(--tint-blue); padding:64px 60px; }
  @media (max-width:640px){ .values-copy{padding:48px 24px;} }
  .values-copy h2{ font-size:clamp(1.8rem, 3vw, 2.3rem); margin-bottom:18px; }
  .values-copy > p{ color:var(--ink-soft); font-size:15px; line-height:1.7; margin-bottom:32px; max-width:56ch; }
  .accordion{ background:#fff; border-radius:4px; overflow:hidden; }
  .accordion-item{ border-bottom:1px solid var(--line); }
  .accordion-item:last-child{ border-bottom:none; }
  .accordion-trigger{
    width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:22px 24px; background:none; border:0; text-align:left; font-family:inherit;
    font-size:16px; font-weight:600; color:var(--ink); cursor:pointer;
  }
  .accordion-item.open .accordion-trigger{ color:var(--blue-deep); }
  .accordion-icon{ width:22px; height:22px; border-radius:50%; border:1.5px solid var(--ink); flex-shrink:0; display:flex; align-items:center; justify-content:center; position:relative; }
  .accordion-item.open .accordion-icon{ border-color:var(--blue); }
  .accordion-icon::before, .accordion-icon::after{ content:""; position:absolute; background:var(--ink); transition:transform .2s, background .2s; }
  .accordion-icon::before{ width:10px; height:1.6px; }
  .accordion-icon::after{ width:1.6px; height:10px; }
  .accordion-item.open .accordion-icon::after{ transform:scaleY(0); }
  .accordion-item.open .accordion-icon::before, .accordion-item.open .accordion-icon::after{ background:var(--blue); }
  .accordion-panel{ max-height:0; overflow:hidden; transition:max-height .25s ease; }
  .accordion-item.open .accordion-panel{ max-height:200px; }
  .accordion-panel p{ padding:0 24px 22px; color:var(--ink-soft); font-size:14.5px; line-height:1.65; }

  /* ---------- Our Journey (paginated slideshow) ---------- */
  .journey-section{ padding:90px 0; }
  .journey-section .wrap{ padding-left:16px; padding-right:16px; }
  .journey-head{ margin-bottom:48px; }
  .journey-head h2{ font-size:clamp(1.8rem, 3vw, 2.3rem); text-align:center; }
  .journey-row{ display:flex; align-items:center; gap:10px; }
  .journey-viewport{ overflow:hidden; flex:1; }
  .journey-track{ display:flex; transition:transform .4s ease; }
  .journey-page{ flex:0 0 100%; display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; }
  @media (max-width:1000px){ .journey-page{grid-template-columns:1fr 1fr;} }
  @media (max-width:640px){ .journey-page{grid-template-columns:1fr;} }
  .journey-card-big{
    background:var(--tint-blue); border-radius:10px; padding:36px 28px;
    display:flex; flex-direction:column; min-height:380px;
    box-shadow:0 22px 44px -20px rgba(10,20,24,.22);
  }
  .journey-big-year{ font-size:clamp(2.6rem, 6vw, 4.2rem); font-weight:800; color:#D3D9DD; line-height:1; margin-bottom:10px; letter-spacing:-.02em; }
  .journey-big-title{ font-size:23px; font-weight:800; color:var(--ink); margin-bottom:14px; }
  .journey-big-sub{ font-size:16px; font-weight:700; color:var(--blue-deep); margin-bottom:18px; }
  .journey-big-body{ font-size:14.5px; color:var(--ink-soft); line-height:1.75; flex:1; }
  .journey-dots{ display:flex; justify-content:center; gap:8px; margin-top:32px; }
  .journey-dots button{ width:8px; height:8px; border-radius:50%; background:var(--line); border:0; padding:0; cursor:pointer; }
  .journey-dots button.active{ background:var(--blue); width:22px; border-radius:4px; transition:width .2s; }
  .journey-nav{
    width:42px; height:42px; border-radius:50%; border:1px solid var(--blue); background:var(--blue);
    display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .15s, border-color .15s, opacity .15s;
  }
  .journey-nav svg{ width:18px; height:18px; color:#fff; }
  .journey-nav:hover{ background:var(--blue-deep); border-color:var(--blue-deep); }
  .journey-nav:disabled{ opacity:.35; cursor:default; background:var(--blue); border-color:var(--blue); }
