
  :root{
    --bg-deep:#0b0b0c;
    --bg-deep-2:#17181a;
    --paper:#f4f2f1;
    --ink:#121212;
    --cream:#f2f0ee;
    --accent:#6f8fb5;
    --accent-2:#42618a;
    --line:rgba(242,240,238,0.14);
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:var(--bg-deep);
    color:var(--cream);
    font-family:"Poppins", system-ui, sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  h1{
    font-family:"Sora", system-ui, sans-serif;
    font-weight:700;
    line-height:1.04;
    margin:0;
    text-wrap:balance;
  }
  p{ margin:0; }
  a{ color:inherit; text-decoration:none; }

  .label{
    font-family:"IBM Plex Mono", monospace;
    font-size:0.74em;
    letter-spacing:0.12em;
    text-transform:uppercase;
    font-weight:500;
  }

  .wrap{
    max-width:1320px;
    margin:0 auto;
    padding-left:clamp(24px,6vw,60px);
    padding-right:clamp(24px,6vw,60px);
  }

  /* ---------------- HEADER ---------------- */
  header.site-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:50;
    background:var(--bg-deep);
    transition:background 0.25s ease;
  }
  .home header.site-header{
    background:transparent;
  }
  header.site-header.is-scrolled{
    background:var(--bg-deep);
  }
  .nav-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-top:16px;
    padding-bottom:16px;
    position:relative;
    transition:padding 0.25s ease;
  }
  .is-scrolled .nav-row{
    padding-top:8px;
    padding-bottom:8px;
  }
  .site-header .wrap{
    padding-left:clamp(32px,7vw,72px);
    padding-right:clamp(32px,7vw,72px);
  }
  .brand{ display:flex; align-items:center; gap:12px; }
  .brand-name{
    font-family:"Sora", sans-serif;
    font-weight:700;
    font-size:1.2em;
    color:var(--cream);
  }
  nav.primary ul{
    display:flex;
    gap:30px;
    list-style:none;
    margin:0;
    padding:0;
  }
  nav.primary a{
    font-size:0.95em;
    font-weight:600;
    color:#cfd2c9;
  }
  nav.primary a:hover{ color:var(--cream); }
  nav.primary li{ position:relative; }
  nav.primary li.has-submenu{ padding-bottom:8px; }
  nav.primary .submenu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    z-index:60;
    min-width:220px;
    margin:0;
    padding:8px;
    list-style:none;
    background:#e6e6e6;
    border:1px solid rgba(18,18,18,0.1);
    border-radius:10px;
    box-shadow:0 20px 40px -16px rgba(0,0,0,0.5);
  }
  nav.primary li.has-submenu:hover .submenu,
  nav.primary li.has-submenu:focus-within .submenu{
    display:block;
  }
  nav.primary .submenu li{ display:block; }
  nav.primary .submenu a{
    display:block;
    padding:8px 10px;
    font-size:0.85em;
    font-weight:500;
    white-space:nowrap;
    border-radius:6px;
    color:#2b2b2b;
  }
  nav.primary .submenu a:hover{ background:rgba(18,18,18,0.08); color:#121212; }
  .nav-toggle{
    display:none;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:4px;
    width:42px; height:42px;
    background:var(--bg-deep-2);
    border:1px solid var(--line);
    border-radius:10px;
    cursor:pointer;
    flex:none;
  }
  .nav-toggle span{
    display:block;
    width:16px;
    height:1.5px;
    background:#f5f3ee;
    transition:transform 0.2s ease, opacity 0.2s ease;
  }
  .nav-toggle.is-open span:nth-child(1){ transform:translateY(5.5px) rotate(45deg); }
  .nav-toggle.is-open span:nth-child(2){ opacity:0; }
  .nav-toggle.is-open span:nth-child(3){ transform:translateY(-5.5px) rotate(-45deg); }
  .header-cta{ flex:none; }

  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:"Poppins", sans-serif;
    font-size:clamp(0.82em,2.6vw,0.95em);
    font-weight:700;
    padding:clamp(10px,2.4vw,13px) clamp(18px,4vw,26px);
    border-radius:8px;
    white-space:nowrap;
    border:1px solid transparent;
  }
  .btn-accent{
    background:linear-gradient(180deg, var(--accent), var(--accent-2));
    color:#ffffff;
  }
  .btn-accent:hover{ filter:brightness(1.1); }
  .btn-ghost{
    background:transparent;
    border-color:var(--line);
    color:var(--cream);
  }
  .btn-ghost:hover{ border-color:var(--cream); }

  /* ---------------- HERO ---------------- */
  .hero{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(620px 340px at 0% 50%, rgba(48,68,105,0.5), transparent 68%),
      radial-gradient(620px 340px at 100% 50%, rgba(48,68,105,0.45), transparent 68%),
      linear-gradient(180deg, #050608 0%, var(--bg-deep) 50%, #050608 100%);
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size:110px 110px;
    -webkit-mask-image:radial-gradient(90% 80% at 50% 0%, black 45%, transparent 100%);
    mask-image:radial-gradient(90% 80% at 50% 0%, black 45%, transparent 100%);
    opacity:0.18;
    mix-blend-mode:screen;
  }
  .hero-inner{
    position:relative;
    z-index:2;
    padding-top:clamp(88px,9vw,104px);
    padding-bottom:5px;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:28px;
  }
  .hero-eyebrow{
    color:#d8dad2;
    font-size:clamp(0.62em,2.2vw,0.74em);
  }
  .hero h1{
    font-size:clamp(1.8em,7vw,4.4em);
    color:#ffffff;
    max-width:16ch;
    padding:16px;
  }
  .hero h1 .accent-text{
    color:#ffffff;
  }
  .hero-sub{
    max-width:56ch;
    font-size:clamp(0.95em,2.6vw,1.14em);
    line-height:1.6;
    color:#cfd2c9;
    font-weight:500;
  }
  .hero-cta-row{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }

  /* ---------------- SITE PHOTO ---------------- */
  .site-photo{
    position:relative;
    z-index:2;
    display:block;
    width:100%;
    height:auto;
  }
  .site-photo-rule{
    height:8px;
    background:var(--accent-2);
  }

  /* ---------------- STATS ---------------- */
  .stats-row{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--line);
    background:var(--bg-deep);
  }
  .stat{
    padding:32px clamp(16px,2.5vw,32px);
    border-left:1px solid var(--line);
    text-align:center;
  }
  .stat:first-child{ border-left:none; }
  .stat-num{
    font-family:"Sora", sans-serif;
    font-weight:700;
    font-size:clamp(1.6em,3vw,2.3em);
    color:var(--cream);
    font-variant-numeric:tabular-nums;
  }
  .stat-label{
    margin-top:6px;
    font-size:0.86em;
    color:#a7aa9f;
    font-weight:600;
  }

  /* ---------------- MOBILE NAV (full-screen accordion overlay) ---------------- */
  body.menu-open{ overflow:hidden; }
  .mobile-menu{
    display:none;
    position:fixed;
    inset:0;
    z-index:9999;
    background:#ffffff;
    flex-direction:column;
    overflow-y:auto;
  }
  .mobile-menu.is-open{
    display:flex;
  }
  .mobile-menu__header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0.5rem 1rem;
    border-bottom:1px solid rgba(18,18,18,0.12);
    flex-shrink:0;
  }
  .mobile-menu__title{
    font-family:"IBM Plex Mono", monospace;
    font-size:0.75rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:var(--accent-2);
  }
  .mobile-menu__close{
    width:28px; height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(18,18,18,0.16);
    background:#ffffff;
    font-size:1.2rem;
    line-height:1;
    color:#3d3f3e;
    cursor:pointer;
    border-radius:8px;
    flex-shrink:0;
    transition:border-color 0.15s ease, color 0.15s ease;
  }
  .mobile-menu__close:hover{ border-color:var(--accent-2); color:var(--accent-2); }

  .mobile-menu__panels{
    position:relative;
    flex:1;
    min-height:0;
  }
  .mobile-menu__panel{
    display:none;
    height:100%;
    overflow-y:auto;
    padding:0.5rem 1rem;
  }
  .mobile-menu__panel.is-active{ display:block; }
  .mobile-menu__list{
    list-style:none;
    margin:0;
    padding:0;
  }
  .mobile-menu__list li{ border-bottom:1px solid rgba(18,18,18,0.1); }
  .mobile-menu__list a{
    display:block;
    padding:0.85rem 0;
    font-family:"Sora", sans-serif;
    font-weight:700;
    font-size:1rem;
    color:var(--ink);
  }
  .mobile-menu__nav-btn{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0.85rem 0;
    background:transparent;
    border:none;
    cursor:pointer;
    font-family:"Sora", sans-serif;
    font-weight:700;
    font-size:1rem;
    color:var(--ink);
    text-align:left;
  }
  .mobile-menu__nav-btn svg{ flex-shrink:0; color:#6c737a; }
  .mobile-menu__back{
    display:flex;
    align-items:center;
    gap:8px;
    padding:0.6rem 0 1rem;
    background:transparent;
    border:none;
    cursor:pointer;
    font-family:"Poppins", sans-serif;
    font-weight:600;
    font-size:0.85rem;
    color:var(--accent-2);
  }
  .mobile-menu__panel-title{
    font-family:"Sora", sans-serif;
    font-weight:700;
    font-size:1.15rem;
    color:var(--ink);
    margin:0 0 0.5rem;
  }
  .mobile-menu__panel .mobile-menu__list a{
    font-weight:500;
    font-size:0.92rem;
    color:#3d3f3e;
    padding:0.75rem 0;
  }
  .mobile-menu__footer{
    padding:0.75rem 1rem 1.25rem;
    flex-shrink:0;
  }

  @media (max-width:900px){
    nav.primary{ display:none; }
    .header-cta{ display:none; }
    .nav-toggle{ display:flex; }
    .stats-row{ grid-template-columns:repeat(2,1fr); }
    .stat:nth-child(3){ border-left:none; }
    .stat{ border-top:1px solid var(--line); }
    .stat:nth-child(1), .stat:nth-child(2){ border-top:none; }
  }
  @media (prefers-reduced-motion:reduce){
    *{ transition:none !important; }
  }

  /* ---------------- ABOUT ---------------- */
  h2{
    font-family:"Sora", system-ui, sans-serif;
    font-weight:700;
    line-height:1.08;
    margin:0;
    text-wrap:balance;
    color:var(--cream);
  }
  .about{
    background:
      radial-gradient(rgba(18,18,18,0.38) 1.5px, transparent 1.5px)
      0 0 / 22px 22px,
      var(--paper);
    padding:clamp(56px,8vw,96px) 0;
  }
  .about-center{
    position:relative;
    max-width:760px;
    margin:0 auto;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:clamp(32px,6vw,56px) clamp(24px,5vw,48px);
    background:var(--paper);
  }
  .about-eyebrow{ color:var(--accent-2); margin-bottom:20px; display:block; }
  .about-copy{ display:flex; flex-direction:column; align-items:center; gap:22px; }
  .about-copy p{
    font-family:"Poppins", sans-serif;
    font-weight:300;
    font-size:clamp(1.1em,2.2vw,1.4em);
    line-height:1.7;
    color:#3d3f3e;
  }
  .about-copy .btn{ margin-top:6px; }
  .btn-light{
    background:#ffffff;
    color:var(--ink);
    border-color:rgba(18,18,18,0.16);
  }
  .btn-light:hover{ border-color:rgba(18,18,18,0.35); }

  /* ---------------- LEADERSHIP ---------------- */
  .leadership{
    background:var(--paper);
    padding:0 0 clamp(56px,8vw,96px);
  }
  .leadership .section-head{ margin-bottom:clamp(36px,5vw,52px); }
  .leadership-eyebrow{ color:var(--accent-2); margin-bottom:14px; display:block; }
  .leadership h2{ font-size:clamp(1.7em,3.6vw,2.6em); color:var(--ink); max-width:16ch; }
  .leadership-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:clamp(28px,4vw,44px);
  }
  .leader-card{ text-align:center; }
  .leader-blob{
    width:clamp(160px,22vw,220px);
    aspect-ratio:1;
    margin:0 auto 22px;
    overflow:hidden;
    border-radius:62% 38% 55% 45% / 48% 55% 45% 52%;
    background:var(--bg-deep-2);
  }
  .leader-card:nth-child(2) .leader-blob{ border-radius:45% 55% 40% 60% / 60% 42% 58% 40%; }
  .leader-card:nth-child(3) .leader-blob{ border-radius:55% 45% 60% 40% / 42% 58% 40% 60%; }
  .leader-blob img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .leader-name{ font-family:"Sora", sans-serif; font-weight:700; font-size:1.2em; color:var(--ink); margin:0; }
  .leader-role{
    font-family:"IBM Plex Mono", monospace;
    font-size:0.76em;
    letter-spacing:0.05em;
    text-transform:uppercase;
    color:var(--accent-2);
    font-weight:500;
    display:block;
    margin-top:6px;
  }
  .leader-desc{
    font-size:0.94em;
    line-height:1.6;
    color:#3d3f3e;
    font-weight:500;
    margin-top:12px;
  }
  @media (max-width:800px){
    .leadership-grid{ grid-template-columns:1fr; max-width:360px; margin:0 auto; }
  }

  .text-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:700;
    color:var(--accent-2);
    border-bottom:2px solid transparent;
  }
  .text-link:hover{ border-bottom-color:var(--accent-2); }

  /* ---------------- BUSINESS ---------------- */
  .business{
    background:linear-gradient(135deg, #1c3a63 0%, #5a2f3a 55%, #924042 100%);
    padding:clamp(28px,4vw,44px) 0 160px;
  }
  @media (max-width:800px){
    .business{ padding-bottom:110px; }
  }
  .business .section-head{
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-bottom:clamp(36px,5vw,52px);
  }
  .business-lede{
    font-family:"Poppins", sans-serif;
    font-weight:300;
    font-size:clamp(1.7em,4vw,2.4em);
    line-height:1.4;
    color:#ffffff;
    max-width:64ch;
    margin:0 auto;
    text-align:center;
  }
  .business-grid-wrap{
    background:
      radial-gradient(rgba(18,18,18,0.38) 1.5px, transparent 1.5px)
      0 0 / 22px 22px,
      var(--paper);
    display:flow-root;
    padding-bottom:clamp(56px,8vw,96px);
    position:relative;
    z-index:2;
  }
  .business-marquee{
    overflow-x:hidden;
    overflow-y:visible;
    max-width:1320px;
    margin:-140px auto 0;
    padding:0 clamp(24px,6vw,60px) 56px;
  }
  .business-grid{
    display:flex;
    width:max-content;
    animation:business-marquee-scroll 26s linear infinite;
  }
  .business-marquee:hover .business-grid{ animation-play-state:paused; }
  @keyframes business-marquee-scroll{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }
  .business-card{
    flex:0 0 auto;
    width:clamp(260px,29vw,320px);
    margin-right:clamp(16px,2.4vw,24px);
    background:#ffffff;
    border-radius:16px;
    padding:clamp(24px,3vw,32px);
    display:flex;
    flex-direction:column;
    gap:14px;
    box-shadow:0 20px 40px -16px rgba(0,0,0,0.35);
    min-height:280px;
  }
  .business-card h3{
    font-family:"Sora", sans-serif;
    font-weight:800;
    text-transform:uppercase;
    font-size:1.7em;
    background-image:
      linear-gradient(115deg, #14171f 0%, var(--accent-2) 32%, #7d8ba0 48%, var(--accent-2) 64%, #14171f 100%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012 0.06' numOctaves='3' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.35 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E");
    background-size:220% 100%, 300px 300px;
    background-blend-mode:overlay;
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .business-card p{
    color:#3d3f3e;
    font-family:"Poppins", sans-serif;
    font-weight:400;
    font-size:0.96em;
    line-height:1.6;
  }
  @media (max-width:800px){
    .business-marquee{ margin-top:-90px; max-width:92vw; }
    .business-card{ width:80vw; min-height:200px; }
  }
  @media (prefers-reduced-motion:reduce){
    .business-grid{ animation:none; }
  }

  /* ---------------- UPDATES BENTO ---------------- */
  .updates{
    background:linear-gradient(160deg, #0e1826 0%, #1a3352 60%, var(--accent-2) 100%);
    padding:clamp(56px,8vw,96px) 0;
  }
  .updates .section-head{
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-bottom:clamp(32px,4.5vw,48px);
  }
  .updates-eyebrow{ color:var(--accent); margin-bottom:14px; display:block; }
  .updates h2{ color:var(--cream); font-size:clamp(1.9em,4vw,2.6em); max-width:16ch; }
  .updates-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    grid-template-rows:1fr 1fr;
    grid-template-areas:
      "big news news"
      "big qtr annual";
    gap:clamp(14px,2vw,20px);
    min-height:360px;
  }
  .update-tile{
    position:relative;
    border-radius:16px;
    padding:clamp(16px,2vw,22px);
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:10px;
    overflow:hidden;
    border:1px solid #d8d2c4;
    background:transparent;
    text-decoration:none;
  }
  .update-tile .label{ color:#d8d2c4; }
  .update-tile h3{
    font-family:"Poppins", sans-serif;
    font-weight:500;
    font-size:1.3em;
    color:#e9e4d8;
  }
  .update-tile p{
    font-family:"Poppins", sans-serif;
    font-weight:300;
    color:#d8d2c4;
    font-size:0.92em;
    line-height:1.5;
    margin:0;
  }
  .update-tile .arrow{
    font-family:"Poppins", sans-serif;
    font-weight:500;
    color:#e9e4d8;
    font-size:0.85em;
    margin-top:4px;
  }
  .update-tile.tile-big{
    grid-area:big;
  }
  .update-tile.tile-big h3{ font-size:clamp(1.7em,2.8vw,2.3em); }
  .update-tile.tile-news{ grid-area:news; }
  .update-tile.tile-qtr{ grid-area:qtr; }
  .update-tile.tile-annual{ grid-area:annual; }
  .update-tile:hover{ border-color:var(--accent-2); }
  @media (max-width:800px){
    .updates-grid{
      grid-template-columns:1fr 1fr;
      grid-template-rows:auto auto auto;
      grid-template-areas:
        "big big"
        "news news"
        "qtr annual";
      min-height:0;
    }
    .update-tile{ min-height:140px; }
  }

  .leadership-link{
    display:flex;
    justify-content:center;
    margin-top:clamp(32px,5vw,48px);
  }

  /* ---------------- CSR ---------------- */
  .csr{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .csr-img{
    background-image:url("../img/csr.jpg");
    background-size:cover;
    background-position:center;
    min-height:420px;
  }
  .csr-copy{
    background:var(--paper);
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:18px;
    padding:clamp(40px,6vw,80px);
  }
  .csr-eyebrow{ color:var(--accent-2); display:block; }
  .csr-copy h2{
    font-size:clamp(1.7em,3.4vw,2.4em);
    color:var(--ink);
    max-width:14ch;
  }
  .csr-copy p{
    font-family:"Poppins", sans-serif;
    font-weight:300;
    font-size:1.08em;
    line-height:1.7;
    color:#3d3f3e;
    max-width:48ch;
  }
  @media (max-width:800px){
    .csr{ grid-template-columns:1fr; }
    .csr-img{ min-height:280px; }
  }

  /* ---------------- CLIENTS ---------------- */
  .clients{
    background:var(--paper);
    padding:clamp(56px,8vw,96px) 0;
  }
  .clients-grid{
    display:grid;
    grid-template-columns:33fr 60fr;
    gap:clamp(16px,3vw,40px);
    align-items:center;
  }
  .clients h2{
    font-family:"Sora", sans-serif;
    font-weight:800;
    font-size:clamp(1em,7vw,3.4em);
    line-height:0.98;
    letter-spacing:-0.01em;
    color:var(--accent-2);
    margin:0;
    white-space:nowrap;
  }
  @media (max-width:600px){
    .clients h2{ font-size:clamp(0.6em,5.2vw,3.4em); }
  }
  @media (max-width:400px){
    .clients h2{ font-size:clamp(0.5em,4.4vw,3.4em); }
  }
  .clients-logo-grid{
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, black 8%, black 92%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, black 8%, black 92%, transparent 100%);
  }
  .clients-logo-track{
    display:flex;
    align-items:center;
    width:max-content;
    animation:clients-marquee 22s linear infinite;
  }
  @keyframes clients-marquee{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }
  .clients-logo-tile{
    position:relative;
    flex:0 0 auto;
    width:clamp(72px,10vw,104px);
    height:clamp(72px,10vw,104px);
    margin-right:14px;
    background:#ffffff;
    border-radius:14px;
    border:1px solid rgba(18,18,18,0.08);
    box-shadow:0 8px 24px -8px rgba(0,0,0,0.18);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:14px;
  }
  .clients-logo-tile img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    filter:grayscale(1) contrast(0.9) brightness(1.05);
  }
  @media (prefers-reduced-motion:reduce){
    .clients-logo-track{ animation:none; }
  }

  /* ---------------- FOOTER ---------------- */
  .site-footer{
    background:#f7f8f9;
    border-top:3px solid #003d6b;
    font-family:"Poppins", sans-serif;
  }
  .footer-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:32px;
    padding-top:36px;
    padding-bottom:36px;
    border-bottom:1px solid #dce0e4;
  }
  .footer-company{ flex:1 1 320px; }
  .footer-office{ flex:1 1 320px; }
  .footer-company h3{
    font-family:"Sora", sans-serif;
    font-weight:700;
    font-size:1.05em;
    color:#1d2024;
    margin:0 0 6px;
  }
  .footer-company p{
    font-size:0.85em;
    line-height:1.7;
    color:#3d4349;
    max-width:42ch;
  }
  .footer-office p{
    font-size:0.85em;
    line-height:1.8;
    color:#3d4349;
  }
  .footer-office strong{ color:#1d2024; }
  .footer-menus{ padding:40px 0; }
  .footer-menus-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:32px;
  }
  .footer-col h4{
    font-family:"Sora", sans-serif;
    font-weight:700;
    font-size:0.76em;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:#003d6b;
    margin:0 0 14px;
  }
  .footer-col ul{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .footer-col a{
    font-size:0.85em;
    color:#3d4349;
  }
  .footer-col a:hover{ color:#003d6b; }
  .footer-bottom{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:10px;
    padding-top:20px;
    padding-bottom:20px;
    border-top:1px solid #dce0e4;
  }
  .footer-bottom p{
    font-size:0.76em;
    color:#6c737a;
    margin:0;
  }
  .footer-bottom a{ color:#6c737a; }
  .footer-bottom a:hover{ color:#003d6b; }
  @media (max-width:900px){
    .footer-menus-grid{ grid-template-columns:repeat(2,1fr); gap:28px 24px; }
  }
  @media (max-width:520px){
    .footer-bottom{ flex-direction:column; }
  }

  /* ---------------- INTERIOR PAGES ---------------- */
  /* Not part of the homepage design — added so the 70+ existing content
     pages (About, Business, Investor Relations, etc.) read consistently
     with the new header/footer/typography while keeping their own content. */
  body:not(.home){
    background:var(--paper);
  }
  .sbipl-content-wrap{
    max-width:900px;
    margin:0 auto;
    padding:clamp(120px,14vw,150px) clamp(24px,6vw,60px) clamp(56px,8vw,96px);
    color:var(--ink);
  }
  .sbipl-content-wrap h1{
    font-size:clamp(1.8em,4vw,2.6em);
    color:var(--ink);
    margin-bottom:0.6em;
  }
  .sbipl-content-wrap h2,
  .sbipl-content-wrap h3,
  .sbipl-content-wrap h4{
    font-family:"Sora", system-ui, sans-serif;
    font-weight:700;
    color:var(--ink);
    margin-top:1.4em;
    margin-bottom:0.5em;
  }
  .sbipl-content-wrap p{
    font-family:"Poppins", sans-serif;
    font-weight:400;
    font-size:1em;
    line-height:1.75;
    color:#3d3f3e;
    margin-bottom:1.2em;
  }
  .sbipl-content-wrap a{
    color:var(--accent-2);
    font-weight:600;
    border-bottom:1px solid transparent;
  }
  .sbipl-content-wrap a:hover{ border-bottom-color:var(--accent-2); }
  .sbipl-content-wrap img{ max-width:100%; height:auto; border-radius:8px; }
  .sbipl-content-wrap ul,
  .sbipl-content-wrap ol{
    color:#3d3f3e;
    font-family:"Poppins", sans-serif;
    line-height:1.75;
    padding-left:1.4em;
  }

  /* Profile grids (Leadership / Board of Directors) */
  .sbipl-content-wrap .wp-block-columns{
    display:flex;
    flex-wrap:wrap;
    gap:clamp(24px,4vw,40px);
    margin:2rem 0;
  }
  .sbipl-content-wrap .wp-block-column{
    flex:1 1 260px;
    min-width:0;
  }
  .sbipl-content-wrap .wp-block-column .wp-block-image{
    margin:0 0 1rem;
  }
  .sbipl-content-wrap .wp-block-column .wp-block-image img{
    display:block;
    width:100%;
    aspect-ratio:1;
    object-fit:cover;
    object-position:top center;
    border-radius:12px;
  }
  .sbipl-content-wrap .wp-block-column h3{
    margin-top:0;
    font-size:1.1em;
  }
  @media (max-width:700px){
    .sbipl-content-wrap .wp-block-columns{ flex-direction:column; }
    .sbipl-content-wrap .wp-block-column .wp-block-image img{ max-width:280px; margin:0 auto 1rem; }
  }

  /* Tables (Board Composition, etc.) */
  .sbipl-content-wrap table{
    width:100%;
    border-collapse:collapse;
    margin:1.5rem 0;
    font-family:"Poppins", sans-serif;
    font-size:0.9em;
  }
  .sbipl-content-wrap th,
  .sbipl-content-wrap td{
    text-align:left;
    padding:0.7em 0.9em;
    border-bottom:1px solid rgba(18,18,18,0.1);
    color:#3d3f3e;
  }
  .sbipl-content-wrap th{
    font-family:"Sora", sans-serif;
    font-weight:700;
    color:var(--ink);
    border-bottom:2px solid var(--accent-2);
  }

  /* ---------------- MEDIA PAGE VIDEO SLIDER ---------------- */
  /* Ported from sbiplver2/assets/js/media-slider.js (functional YouTube slider) */
  #sbipl-media-slider-root{ max-width:100%; }
  .sbipl-media-slider-stage{
    position:relative;
    width:100%;
    padding-bottom:56.25%;
    height:0;
    overflow:hidden;
    background:#0b0b0c;
  }
  .sbipl-media-slider-stage iframe,
  .sbipl-media-slider-stage > div{
    position:absolute;
    top:0; left:0;
    width:100%;
    height:100%;
  }
  .sbipl-media-slider-nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0.6rem 0;
    gap:1rem;
    border-bottom:1px solid rgba(18,18,18,0.12);
  }
  .sbipl-media-slider-meta{
    font-size:0.8rem;
    color:#3d3f3e;
    text-align:center;
    flex:1;
  }
  .sbipl-media-slider-prev,
  .sbipl-media-slider-next{
    background:#42618a;
    color:#ffffff;
    border:none;
    padding:0.5rem 1.1rem;
    font-family:"Poppins", sans-serif;
    font-size:0.78rem;
    font-weight:600;
    cursor:pointer;
    border-radius:6px;
    transition:background 0.15s ease;
    white-space:nowrap;
  }
  .sbipl-media-slider-prev:hover,
  .sbipl-media-slider-next:hover{ background:#6f8fb5; }
  .sbipl-media-slider-prev:disabled,
  .sbipl-media-slider-next:disabled{ opacity:0.4; cursor:default; }
  .sbipl-media-slider-dots{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    padding:0.6rem 0;
    justify-content:center;
  }
  .sbipl-media-slider-dots button{
    width:9px; height:9px;
    border:1px solid rgba(18,18,18,0.18);
    background:#f4f2f1;
    cursor:pointer;
    padding:0;
    border-radius:50%;
    transition:background 0.15s ease;
  }
  .sbipl-media-slider-dots button.is-active,
  .sbipl-media-slider-dots button:hover{
    background:#42618a;
    border-color:#42618a;
  }
  .sbipl-media-slider-autoplay{
    display:flex;
    align-items:center;
    gap:0.4rem;
    font-family:"Poppins", sans-serif;
    font-size:0.78rem;
    color:#6c737a;
    padding:0.5rem 0 0;
    cursor:pointer;
  }
  .sbipl-media-slider-autoplay input[type="checkbox"]{ margin:0; }

