/*
Theme Name: SWISSAIGE
Theme URI: https://swissaige.org/
Author: SWISSAIGE
Description: Custom theme for SWISSAIGE - Swiss Association for Applied Intelligence & Global Engagement.
Version: 1.13.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: swissaige
*/
/* ==========================================================================
   SWISSAIGE — pixel-accurate clone
   Design canvas: 1440 x 12006 (source PDF export)
   ========================================================================== */

:root{
  --navy:        #0A1E3F;
  --navy-deep:   #001B40;
  --navy-panel:  #0C2A54;
  --red:         #E5322D;
  --red-deep:    #C41E1E;
  --white:       #FFFFFF;
  --gray-body:   #5B6470;
  --gray-muted:  #6B7280;
  --gray-light:  #F1F2F4;
  --gray-card:   #F4F5F7;
  --border-soft: #E7E9EC;
  --cream:       #FAF6EF;
  --ink:         #000000;

  --font-head: 'Montserrat', 'Segoe UI', sans-serif;
  --font-body: 'Montserrat', 'Segoe UI', sans-serif;
  --font-wordmark: 'Montserrat', 'Segoe UI', sans-serif;

  --canvas-w: 1440px;
  --canvas-h: 11806px;
}

*, *::before, *::after{ box-sizing: border-box; }

html, body{
  margin:0;
  padding:0;
  background:var(--white);
  overflow-x:hidden;
  max-width:100%;
}

body{
  font-family: var(--font-body);
  -webkit-font-smoothing:antialiased;
  opacity:0;
  transition: opacity .5s ease;
}
body.is-loaded{ opacity:1; }

@media (prefers-reduced-motion: reduce){
  body{ opacity:1 !important; transition:none !important; }
}

/* ---- top scroll-progress bar ---- */
#scroll-progress{
  position:fixed;
  top:0; left:0;
  height:3px;
  width:0%;
  background:linear-gradient(90deg, var(--red), var(--red-deep));
  z-index:60;
  transition: width .1s linear;
  pointer-events:none;
}

a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; border:none; background:none; cursor:pointer; }
img{ display:block; max-width:none; }
p{ margin:0; }

/* ---- fixed-design canvas, scaled to fit viewport ---- */
#scale-wrap{
  width:100%;
  display:flex;
  justify-content:center;
  overflow:hidden;
}

#canvas{
  position:relative;
  width:var(--canvas-w);
  height:var(--canvas-h);
  min-width:var(--canvas-w);
  transform-origin: top center;
  background:var(--white);
}

.abs{ position:absolute; }

/* generic text node — position/size come from inline style per element */
.tx{
  position:absolute;
  white-space:nowrap;
  line-height:1.28;
  letter-spacing:0.05px;
  margin:0;
}

.tx.wrap{ white-space:normal; }

/* small eyebrow badge — square accent + label. The rose pill is baked into
   bg_02.jpg at 170.7x37.3 (fill #FCE8E9, ~10px corners). To widen it we draw
   our own pill on top, sized large enough to cover the baked one completely -
   otherwise its ends would poke out either side. */
.why-badge{
  display:inline-flex;
  flex-direction:row;
  justify-content:center;
  align-items:center;
  padding:6px 12px;
  gap:7px;
  width:196px;
  height:38px;
  margin-top:-1px;
  background:#FCE8E9;
  border-radius:10px;
}

.why-badge-dot{
  width:8px;
  height:8px;
  background:#E21C1D;
  flex:none;
  /* 5px breathing room either side. Uses margin, not padding: box-sizing is
     border-box globally, so padding would sit inside the 8px width and the
     background would just paint over it - no visible gap. */
  margin:0 5px;
  /* nudged left off the label; relative offset so the label itself stays put */
  position:relative;
  left:-4px;
  animation: badgePulse 2.2s ease-in-out infinite;
}

@keyframes badgePulse{
  0%, 100%{ box-shadow:0 0 0 0 rgba(226,28,28,0.45); }
  50%{ box-shadow:0 0 0 5px rgba(226,28,28,0); }
}

.why-badge-label{
  width:131px;
  height:25px;
  font-family: var(--font-body);
  font-style:normal;
  font-weight:600;
  font-size:16px;
  line-height:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-transform:uppercase;
  color:#303133;
  letter-spacing:normal;
}

/* section background image, full-bleed under a section */
.bg-img{
  position:absolute;
  left:0; top:0;
  width:100%;
  height:100%;
  object-fit:cover;
  user-select:none;
  pointer-events:none;
}

.bg-slice{
  position:absolute;
  left:0;
  width:1440px;
  display:block;
  user-select:none;
  pointer-events:none;
}

/* invisible clickable overlays sized to a nav item / button that already
   exists visually in the background image + text layer */
#hotspots{ pointer-events:none; }
.hotspot{
  position:absolute;
  display:block;
  cursor:pointer;
  pointer-events:auto;
}

/* hero wordmark — SWISS · AI · GE */
.wordmark{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:6px;
  opacity:0;
  transform: translateY(18px);
  animation: heroIn .8s cubic-bezier(.16,.84,.44,1) .15s forwards;
}
@keyframes heroIn{
  to{ opacity:1; transform:none; }
}
@media (prefers-reduced-motion: reduce){
  .wordmark{ opacity:1; transform:none; animation:none; }
}
.wm-word{
  font-family: var(--font-wordmark);
  font-weight:600;
  font-size:88px;
  line-height:103px;
  display:flex;
  align-items:center;
}
.wm-dot{
  width:16px;
  height:16px;
  border-radius:50%;
  background:#E21C1D;
  flex:none;
}

.newsletter-input::placeholder{
  color:#fff;
  opacity:1;
}
.newsletter-btn{ z-index:5; }

/* Desktop footer navigation: mirrors the 1239.5px Figma auto-layout frame. */
#canvas .tx[data-b="128"]{
  display:flex;
  align-items:center;
  height:20px;
  font-family:'Open Sans', 'Segoe UI', sans-serif !important;
  font-size:20px !important;
  font-weight:400 !important;
  line-height:20px;
  letter-spacing:.01em;
}
#canvas .tx[data-b="128"][data-l="0"],
#canvas .tx[data-b="128"][data-l="1"]{ width:58px; }
#canvas .tx[data-b="128"][data-l="2"]{ width:118px; }
#canvas .tx[data-b="128"][data-l="3"]{ width:114px; }
#canvas .tx[data-b="128"][data-l="4"]{ width:74px; }
#canvas .tx[data-b="128"][data-l="5"]{ width:63px; }
#canvas .tx[data-b="128"][data-l="6"]{ width:72px; }
#canvas .tx[data-b="128"]:not([data-l="6"])::after{
  content:"";
  position:absolute;
  top:0;
  left:calc(100% + 56.875px);
  width:1px;
  height:20px;
  background:rgba(255,255,255,.2);
  pointer-events:none;
}

/* Globe stat pills — "Intelligence >> Action" etc. Drawn as real elements
   (not left to the baked background graphic) so the double-chevron and
   text contrast match the design exactly. */
.globe-pill{
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 30px;
  border-radius:35px;
  background:var(--navy-deep);
  box-shadow:0 10px 24px rgba(0,0,0,0.28);
  transition: transform .35s cubic-bezier(.16,.84,.44,1), box-shadow .35s ease;
}
.globe-pill:hover{
  transform: translateY(-6px);
  box-shadow:0 18px 34px rgba(0,0,0,0.36);
}
.globe-pill .lbl{
  font-family:var(--font-head);
  font-weight:400;
  font-size:25px;
  line-height:1;
  color:#fff;
  white-space:nowrap;
}
.globe-pill .chev{
  flex:none;
  display:flex;
  align-items:center;
}

/* Areas of Focus — scrollable card carousel */
.focus-cards-viewport{
  overflow:hidden;
}
.focus-cards-track{
  display:flex;
  gap:19px;
  will-change: transform;
  transition: transform .45s cubic-bezier(.16,.84,.44,1);
}
.focus-card{
  position:relative;
  flex:none;
  width:295px;
  height:400px;
  background:#fff;
  border-radius:30px;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  transition: transform .4s cubic-bezier(.16,.84,.44,1), box-shadow .4s ease;
  box-shadow:0 4px 14px rgba(10,26,64,0);
}
.focus-card:hover{
  transform: translateY(-8px) scale(1.02);
  box-shadow:0 20px 36px rgba(10,26,64,0.28);
  z-index:2;
}
.focus-card::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:inherit;
  background-size:cover;
  background-position:center;
  transition: transform .5s cubic-bezier(.16,.84,.44,1);
}
.focus-card:hover::before{ transform:scale(1.08); }
.focus-card-panel{
  position:absolute;
  left:0;
  bottom:0;
  width:295px;
  height:172px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:20px;
  gap:12px;
  background:rgba(0,27,64,0.4);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
}
.focus-card-panel:not(:has(.focus-card-desc)){
  justify-content:center;
}
.focus-card-title{
  width:255px;
  min-height:48px;
  flex:none;
  align-self:stretch;
  font-family: var(--font-head);
  font-weight:600;
  font-size:20px;
  line-height:24px;
  display:flex;
  align-items:center;
  color:#fff;
}
.focus-card-desc{
  width:255px;
  flex:none;
  align-self:stretch;
  font-family:'Open Sans','Segoe UI', sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:150%;
  color:#fff;
}

.focus-arrow{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 25px;
  border:1px solid var(--navy-deep);
  border-radius:16px;
  background:#fff;
  transition: background-color .2s ease, transform .2s ease;
}
.focus-arrow-prev{ transform: scaleX(-1); }
.focus-arrow-next{ background:var(--navy-deep); }
.focus-arrow-prev:hover{ background:var(--gray-light); }
.focus-arrow-next:hover{ background:#00224f; }
.focus-arrow:active{ transform: scale(0.97); }
.focus-arrow-prev:active{ transform: scaleX(-1) scale(0.97); }
.focus-arrow:disabled{
  opacity:0.4;
  cursor:default;
  pointer-events:none;
}

/* Navigation Bar */
.navbar{
  position:absolute;
  left:376px;
  top:31px;
  width:688px;
  height:20px;
  display:flex;
  gap:31px;
  opacity:1;
  transform:rotate(0deg);
}

/* ==========================================================================
   Interactivity: hover affordances on hotspots (nav links / buttons)
   ========================================================================== */
.hotspot{
  border-radius:8px;
  transition: background-color .25s ease, box-shadow .25s ease, transform .2s ease;
}
.hotspot:hover,
.hotspot:focus-visible{
  background: rgba(255,255,255,0.14);
  box-shadow: 0 6px 18px rgba(0,0,0,0.18);
  transform: translateY(-2px);
  outline: none;
}
.hotspot:active{
  transform: translateY(0);
}

/* Underline the visible label itself, not its larger invisible hotspot. */
#hotspots > .hotspot:nth-child(-n+8):hover,
#hotspots > .hotspot:nth-child(-n+8):focus-visible{
  background:transparent;
  box-shadow:none;
  transform:none;
}
#canvas:has(#hotspots > .hotspot:nth-child(1):is(:hover, :focus-visible)) #content > .tx[data-b="0"][data-l="0"],
#canvas:has(#hotspots > .hotspot:nth-child(2):is(:hover, :focus-visible)) #content > .tx[data-b="0"][data-l="1"],
#canvas:has(#hotspots > .hotspot:nth-child(3):is(:hover, :focus-visible)) #content > .tx[data-b="0"][data-l="2"],
#canvas:has(#hotspots > .hotspot:nth-child(4):is(:hover, :focus-visible)) #content > .tx[data-b="0"][data-l="3"],
#canvas:has(#hotspots > .hotspot:nth-child(5):is(:hover, :focus-visible)) #content > .tx[data-b="0"][data-l="4"],
#canvas:has(#hotspots > .hotspot:nth-child(6):is(:hover, :focus-visible)) #content > .tx[data-b="0"][data-l="5"],
#canvas:has(#hotspots > .hotspot:nth-child(7):is(:hover, :focus-visible)) #content > .tx[data-b="0"][data-l="6"],
#canvas:has(#hotspots > .hotspot:nth-child(8):is(:hover, :focus-visible)) #content > .tx[data-b="0"][data-l="7"]{
  text-decoration-line:underline;
  text-decoration-color:#fff;
  text-decoration-thickness:1px;
  text-underline-offset:6px;
}

/* Footer navigation hotspots use the same white underline treatment. */
#hotspots > .hotspot:nth-child(n+14):nth-child(-n+20)::after{
  content:"";
  position:absolute;
  right:14px;
  bottom:15px;
  left:14px;
  height:1px;
  background:#fff;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .2s ease;
}
#hotspots > .hotspot:nth-child(n+14):nth-child(-n+20):hover,
#hotspots > .hotspot:nth-child(n+14):nth-child(-n+20):focus-visible{
  background:transparent;
  box-shadow:none;
  transform:none;
}
#hotspots > .hotspot:nth-child(n+14):nth-child(-n+20):hover::after,
#hotspots > .hotspot:nth-child(n+14):nth-child(-n+20):focus-visible::after{
  transform:scaleX(1);
}
.newsletter-btn:hover{
  filter: brightness(1.15);
}

/* ==========================================================================
   Scroll-reveal animations
   Elements are marked with .reveal by script.js; grouped/staggered by the
   existing data-b / data-l attributes already present on every .tx node.
   ========================================================================== */
.reveal{
  opacity:0;
  transform: translateY(28px);
  transition: opacity .7s cubic-bezier(.16,.84,.44,1), transform .7s cubic-bezier(.16,.84,.44,1);
  will-change: opacity, transform;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}

/* card/pill variant — pops in with a slight scale instead of a straight slide */
.reveal-scale{
  transform: translateY(24px) scale(.94);
}
.reveal-scale.is-visible{
  transform:none;
}
/* .reveal's transition shorthand would otherwise clobber the hover
   transitions already declared on these elements — restore them alongside
   the reveal fade/scale so hover still animates smoothly after reveal. */
.focus-card.reveal{
  transition: opacity .7s cubic-bezier(.16,.84,.44,1), transform .4s cubic-bezier(.16,.84,.44,1), box-shadow .4s ease;
}
.globe-pill.reveal{
  transition: opacity .7s cubic-bezier(.16,.84,.44,1), transform .35s cubic-bezier(.16,.84,.44,1), box-shadow .35s ease;
}

@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-scale{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .hotspot{ transition:none; }
  .why-badge-dot{ animation:none; }
  .globe-pill, .focus-card, .focus-card::before{ transition:none; }
}

/* ==========================================================================
   Mobile navigation (real, unscaled DOM — independent of the pixel canvas)
   ========================================================================== */
#mobile-nav{
  display:none;
  position:fixed;
  top:0; left:0; right:0;
  z-index:50;
  align-items:center;
  justify-content:space-between;
  height:64px;
  padding:0 20px;
  background:rgba(10,26,64,0.7);
  backdrop-filter: blur(6px);
  box-shadow:0 2px 14px rgba(0,0,0,0);
  transition: background-color .3s ease, box-shadow .3s ease;
}
#mobile-nav.is-scrolled{
  background:rgba(10,26,64,0.96);
  box-shadow:0 2px 14px rgba(0,0,0,0.15);
}
.mobile-nav-brand{
  font-family: var(--font-wordmark);
  font-weight:600;
  font-size:22px;
  letter-spacing:0.5px;
}
#mobile-nav-toggle{
  width:40px;
  height:40px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0;
}
#mobile-nav-toggle span{
  display:block;
  width:24px;
  height:2px;
  background:#fff;
  border-radius:2px;
  transition: transform .25s ease, opacity .25s ease;
}
#mobile-nav-toggle.is-open span:nth-child(1){ transform: translateY(8px) rotate(45deg); }
#mobile-nav-toggle.is-open span:nth-child(2){ opacity:0; }
#mobile-nav-toggle.is-open span:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }

#mobile-nav-menu{
  display:none;
  position:fixed;
  inset:64px 0 0 0;
  z-index:49;
  background:rgb(10,26,64);
  flex-direction:column;
  padding:12px 24px 32px;
  overflow-y:auto;
  transform: translateY(-12px);
  opacity:0;
  pointer-events:none;
  transition: opacity .25s ease, transform .25s ease;
}
#mobile-nav-menu.is-open{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
#mobile-nav-menu a{
  font-family:'Montserrat','Segoe UI',sans-serif;
  font-weight:600;
  font-size:20px;
  color:#fff;
  padding:16px 4px;
  border-bottom:1px solid rgba(255,255,255,0.12);
  transition: color .2s ease, padding-left .2s ease;
}
#mobile-nav-menu a:hover,
#mobile-nav-menu a:focus-visible{
  color:#fff;
  padding-left:4px;
  text-decoration:underline;
  text-decoration-color:#fff;
  text-decoration-thickness:1px;
  text-underline-offset:6px;
}
#mobile-nav-menu a.mobile-nav-cta{
  margin-top:18px;
  border:none;
  background:#e5322d;
  color:#fff;
  text-align:center;
  border-radius:8px;
  padding:14px;
  transition: filter .2s ease, transform .15s ease;
}
#mobile-nav-menu a.mobile-nav-cta:hover{ filter:brightness(1.1); }
#mobile-nav-menu a.mobile-nav-cta:active{ transform:scale(.97); }

#mobile-nav-toggle:active{ transform:scale(.9); }
.mobile-nav-brand{ transition: opacity .2s ease; }
.mobile-nav-brand:hover{ opacity:.85; }

@media (max-width:1100px){
  #mobile-nav{ display:flex; }
  #mobile-nav-menu{ display:flex; }
  #scale-wrap{ padding-top:64px; }
}

/* ==========================================================================
   Mobile reflow
   The canvas is a fixed 1440px design; scaled to a phone it renders body copy
   at roughly 5px. Below 900px it is replaced by a single-column document that
   script.js builds from the same DOM (index.html is never modified).
   The styling mirrors the design's own system: navy and white bands, red
   accents, boxed modules and rounded photography.
   ========================================================================== */
#mobile-content{ display:none; }

@media (max-width:1100px){
  /* Swap only once script.js has built the replacement - if it fails the
     scaled canvas stays, so the page is never left blank. */
  body.has-mobile-reflow #scale-wrap{ display:none; }
  body.has-mobile-reflow #mobile-content{ display:block; }

  #mobile-content{
    padding:64px 0 0;              /* clears the fixed mobile header */
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.62;
    color:var(--gray-body);
    background:var(--cream);
    overflow-x:hidden;
  }

  /* ---- section bands ---------------------------------------------------- */
  .m-sec{ padding:40px 20px; }
  .m-sec-light,
  .m-sec-swiss{ background:var(--cream); }
  .m-sec-dark,
  .m-sec-panel{ background:var(--navy); }

  /* headings the design centres keep their centring */
  #mobile-content .m-centre{ text-align:center; }
  .m-sec-accent{
    background:var(--navy);
    text-align:center;
    padding:34px 24px;
  }

  /* hero: the Geneva photo sits behind a navy wash rather than above the copy */
  .m-sec-hero{
    position:relative;
    padding:34px 20px 44px;
    background-image:
      linear-gradient(180deg, rgba(8,24,52,.86) 0%, rgba(8,24,52,.62) 42%, rgba(8,24,52,.95) 100%),
      url('https://swissaige.org/wp-content/uploads/2026/09/m_hero.jpg');
    background-size:cover;
    background-position:center;
  }
  .m-sec-hero > .m-photo{ display:none; }   /* it is the backdrop instead */

  /* ---- hero lockup ------------------------------------------------------ */
  .m-wordmark{
    display:flex;
    align-items:center;
    gap:5px;
    margin:0 0 10px;
    font-family:var(--font-wordmark);
    font-weight:600;
    font-size:38px;
    letter-spacing:.5px;
    color:#fff;
    line-height:1.1;
  }
  .m-wordmark i{
    width:7px; height:7px;
    border-radius:50%;
    background:var(--red);
    display:block;
    flex:none;
  }
  .m-wm-red{ color:var(--red); }

  /* ---- typography ------------------------------------------------------- */
  #mobile-content h2,
  #mobile-content h3,
  #mobile-content h4{
    font-family:var(--font-head);
    color:var(--ink);
    margin:0 0 12px;
  }
  #mobile-content h2{
    font-size:28px; font-weight:800; line-height:1.2;
    letter-spacing:-.2px; text-wrap:balance;
  }
  #mobile-content h3{ font-size:20px; font-weight:700; line-height:1.3; }
  #mobile-content h4{ font-size:17px; font-weight:600; line-height:1.35; margin-bottom:6px; }
  #mobile-content p{ margin:0 0 13px; font-size:16px; }
  #mobile-content p:last-child{ margin-bottom:0; }
  #mobile-content .m-accent{ color:var(--red); }

  /* navy bands invert */
  .m-sec-dark h2, .m-sec-dark h3, .m-sec-dark h4,
  .m-sec-hero h2, .m-sec-hero h3, .m-sec-hero h4,
  .m-sec-accent h2, .m-sec-accent h3, .m-sec-accent h4,
  .m-sec-panel h2, .m-sec-panel h3{ color:#fff; }
  .m-sec-dark p, .m-sec-hero p, .m-sec-panel > p{ color:rgba(255,255,255,.78); }
  .m-sec-accent p{ color:rgba(255,255,255,.92); }
  .m-sec-dark .m-accent, .m-sec-hero .m-accent, .m-sec-panel .m-accent{ color:#FF6F5E; }
  .m-sec-accent h3{ font-size:22px; margin-bottom:0; }
  .m-sec-hero h2{ font-size:30px; }
  .m-sec-hero > p:first-of-type{ font-size:14px; letter-spacing:.2px; }

  /* ---- boxed module: a subheading plus its paragraphs -------------------
     White on the cream ground, so the cards still separate from the band. */
  .m-item{
    padding:16px 18px;
    margin:0 0 12px;
    border-radius:14px;
    background:#fff;
    border:1px solid rgba(150,130,100,.14);
  }
  .m-item:last-child{ margin-bottom:0; }
  .m-sec-hero .m-item{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.14);
  }
  /* footer sits on navy, so its card is white to lift off the band */
  .m-sec-dark .m-item{
    background:#fff;
    border:none;
    box-shadow:0 6px 18px rgba(0,0,0,.22);
  }
  .m-sec-dark .m-item h3,
  .m-sec-dark .m-item h4{ color:var(--ink); }

  /* Footer's own heading - not boxed as a card, and kept on one line rather
     than wrapping. It's too long to fit a phone width outright, so scroll
     horizontally instead of breaking to a second line. */
  .m-sec-dark > h3,
  .m-sec-dark > h4{
    font-size:17px;
    white-space:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    margin-left:-20px;
    margin-right:-20px;
    padding:0 20px 4px;
  }
  .m-sec-dark > h3::-webkit-scrollbar,
  .m-sec-dark > h4::-webkit-scrollbar{ display:none; }

  /* Footer copyright line: its own line, full white (the rest of the footer's
     body text is translucent white, but this should read clearly). */
  .m-copyright{
    display:block;
    margin-top:18px;
    font-size:13px;
    color:#fff;
  }
  .m-sec-dark .m-item p{ color:var(--gray-body); }

  /* Why Switzerland / Why Geneva: navy cards on the cream band */
  .m-sec-swiss .m-item{
    background:var(--navy);
    border:none;
    box-shadow:0 8px 20px rgba(10,26,64,.18);
  }
  .m-sec-swiss .m-item h3,
  .m-sec-swiss .m-item h4{ color:#fff; }
  .m-sec-swiss .m-item p{ color:rgba(255,255,255,.80); }
  .m-sec-accent .m-item{ background:none; border:none; padding:0; }

  /* "What We Do": white cards sitting on the navy band, as in the design */
  .m-sec-panel .m-item{
    background:#fff;
    border:none;
    box-shadow:0 6px 18px rgba(0,0,0,.18);
  }
  .m-sec-panel .m-item h4{ color:var(--ink); }
  .m-sec-panel .m-item p{ color:var(--gray-body); }

  .m-item h4{ position:relative; padding-left:12px; }
  .m-item h4::before{
    content:"";
    position:absolute;
    left:0; top:.32em;
    width:3px; height:1em;
    background:var(--red);
    border-radius:2px;
  }

  /* Insights & Thought Leadership: photo flush against the card's top edge,
     sized to the picture only - the card is exactly as tall as its image
     plus its text, with no extra blank space above or below. */
  .m-item-insight{ padding:0; overflow:hidden; }
  .m-insight-photo{
    display:block;
    width:100%;
    height:140px;
    object-fit:cover;
    margin:0 0 14px;
  }
  .m-item-insight h4{ padding-left:30px; padding-right:18px; }  /* 18 card inset + 12 accent bar */
  .m-item-insight h4::before{ left:18px; }                      /* bar sits at the card inset, not the edge */
  .m-item-insight p{ padding-left:18px; padding-right:18px; }
  .m-item-insight p:last-child{ padding-bottom:16px; }

  /* ---- statement card ("AI is at the heart of SWISSAIGE...") ------------ */
  .m-callout{
    background:#fff;
    border-radius:18px;
    padding:22px 20px;
    margin:6px 0 6px;
    text-align:center;
    box-shadow:0 10px 26px rgba(10,26,64,.10);
    border:1px solid rgba(150,130,100,.14);
  }
  #mobile-content .m-callout h3{
    font-size:21px;
    font-weight:800;
    line-height:1.28;
    color:var(--ink);
    margin:0 0 10px;
  }
  #mobile-content .m-callout p{
    margin:0;
    font-size:15px;
    color:var(--gray-body);
  }

  /* ---- eyebrow badge ---------------------------------------------------- */
  .m-eyebrow{
    display:flex;
    width:-moz-fit-content;
    width:fit-content;
    align-items:center;
    gap:9px;
    margin:0 auto 14px;   /* centred in its band */
    padding:9px 15px;
    background:#FCE8E9;
    border-radius:10px;
    font-weight:600;
    font-size:13px;
    letter-spacing:.03em;
    text-transform:uppercase;
    color:#303133;
    line-height:1;
  }
  .m-eyebrow::before{
    content:"";
    width:8px; height:8px;
    background:var(--red);
    flex:none;
  }

  /* ---- buttons ---------------------------------------------------------- */
  .m-cta-row{ display:flex; flex-wrap:wrap; gap:10px; margin:4px 0 18px; }
  .m-cta{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:13px 20px;
    border-radius:10px;
    background:var(--red);
    color:#fff;
    font-family:var(--font-head);
    font-weight:600;
    font-size:15px;
    line-height:1;
    box-shadow:0 6px 16px rgba(226,28,28,.26);
  }
  .m-cta::after{ content:"\2192"; font-size:15px; }
  .m-cta:active{ transform:translateY(1px); }
  .m-cta + .m-cta{
    background:transparent;
    color:var(--ink);
    border:1px solid var(--border-soft);
    box-shadow:none;
  }
  .m-sec-dark .m-cta + .m-cta,
  .m-sec-hero .m-cta + .m-cta{ color:#fff; border-color:rgba(255,255,255,.34); }

  /* "Partner with SWISSAIGE" - white, bordered so it still reads against the
     white card behind it (Strategic Partners), with navy text/arrow. */
  .m-cta-white{
    background:#fff;
    color:var(--ink);
    border:1.5px solid var(--navy);
    box-shadow:none;
  }
  .m-cta-white:active{ background:var(--gray-light); }

  /* ---- chip rows (footer nav, section tabs) ----------------------------- */
  .m-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:2px 0 16px; }

  /* Footer nav: stacked one link per line rather than wrapped pills, in
     plain white regardless of theme. */
  .m-chips-scroll{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  /* .m-sec-dark .m-chip (below) sets a pill background/border at equal
     specificity - qualify with .m-sec-dark here too so this wins regardless
     of source order. */
  .m-sec-dark .m-chips-scroll .m-chip{
    padding:0;
    border:none;
    background:none;
    border-radius:0;
    font-size:15px;
    color:#fff;
  }
  .m-chip{
    padding:9px 14px;
    border-radius:999px;
    border:1px solid var(--border-soft);
    font-size:14px;
    font-weight:500;
    color:var(--ink);
    background:#fff;
  }
  .m-sec-dark .m-chip{
    background:rgba(255,255,255,.07);
    border-color:rgba(255,255,255,.2);
    color:#fff;
  }

  /* ---- relationship pills ----------------------------------------------- */
  .m-pill{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin:0 0 10px;
    padding:14px 20px;
    background:var(--navy-deep);
    border-radius:35px;
    color:#fff;
    font-family:var(--font-head);
    font-size:16px;
    text-align:center;
  }
  .m-sec-dark .m-pill,
  .m-sec-hero .m-pill{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); }
  .m-pill-arrow{ color:var(--red); font-size:19px; line-height:1; flex:none; }

  /* ---- photography ------------------------------------------------------ */
  .m-photo{
    display:block;
    width:100%;
    max-width:100%;
    height:230px;
    object-fit:cover;
    object-position:center;
    border-radius:16px;
    margin:4px 0 20px;
    background:var(--gray-light);
  }
  /* portraits and article thumbnails keep their row of three */
  .m-photo-row{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:8px;
    margin:4px 0 18px;
  }
  .m-photo-row .m-photo{ height:150px; border-radius:12px; margin:0; }
  .m-photo-row .m-photo-portrait{ height:160px; object-position:center 18%; }

  /* founder portrait with the name directly beneath it */
  .m-person{ margin:0; }
  .m-person figcaption{
    margin-top:8px;
    font-family:var(--font-head);
    font-weight:600;
    font-size:13px;
    line-height:1.25;
    text-align:center;
    color:var(--ink);
  }
  .m-sec-dark .m-person figcaption,
  .m-sec-panel .m-person figcaption,
  .m-sec-hero .m-person figcaption{ color:#fff; }

  /* ---- Areas of Focus cards, stacked instead of a carousel -------------- */
  .m-cards{ margin:6px 0 0; }
  .m-card{
    margin:0 0 16px;
    border-radius:20px;
    overflow:hidden;
    background:var(--navy-deep);
    box-shadow:0 10px 24px rgba(10,26,64,.16);
  }
  .m-card img{ display:block; width:100%; height:95px; object-fit:cover; max-width:100%; }
  .m-card-body{ padding:11px 14px 13px; }
  #mobile-content .m-card-body h4{ margin:0 0 3px; padding-left:0; color:#fff; font-size:16px; line-height:1.25; }
  #mobile-content .m-card-body h4::before{ display:none; }
  #mobile-content .m-card-body p{ margin:0; color:rgba(255,255,255,.82); font-size:14px; line-height:1.45; }

  /* ---- newsletter ------------------------------------------------------- */
  .m-news{ display:flex; flex-wrap:wrap; gap:10px; margin:12px 0 20px; }
  .m-news-input{
    flex:1 1 200px;
    min-width:0;
    padding:14px 16px;
    border:1px solid var(--border-soft);
    border-radius:10px;
    font-family:var(--font-body);
    font-size:16px;                 /* 16px stops iOS Safari zooming on focus */
    color:var(--ink);
    background:#fff;
  }
  .m-news button{
    flex:0 0 auto;
    padding:14px 22px;
    border-radius:10px;
    background:var(--red);
    color:#fff;
    font-family:var(--font-head);
    font-weight:600;
    font-size:16px;
  }
  .m-news button:active{ transform:scale(.98); }
}

/* ========================================================================== 
   Responsive footer
   The desktop canvas already carries the original footer artwork. The mobile
   reflow needs a real footer of its own so tablet widths retain the compact,
   two-column composition instead of turning it into a tall list of cards.
   ========================================================================== */
.mobile-site-footer{ display:none; }

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

@media (max-width:1100px){
  /* The generated .m-sec-dark is the same footer content in generic mobile
     blocks. Replace only that section; all earlier navy sections remain. */
  #mobile-content .m-sec[data-theme="dark"]{ display:none; }

  body.has-mobile-reflow .mobile-site-footer{
    display:block;
    position:relative;
    z-index:1;
    min-height:294px;
    overflow:hidden;
    background:#001b40;
    color:#fff;
    font-family:var(--font-body);
  }

  .mobile-site-footer__inner{
    width:calc(100% - 120px);
    max-width:720px;
    margin:0 auto;
    padding-top:46px;
  }

  .mobile-site-footer__top{
    display:grid;
    grid-template-columns:minmax(0, 52%) minmax(0, 48%);
    min-height:137px;
    border-bottom:1px solid rgba(255,255,255,.27);
  }

  .mobile-site-footer__brand{
    min-width:0;
    padding:0 20px 24px 0;
  }

  .mobile-site-footer__logo{
    display:block;
    width:155px;
    color:#fff;
    transition:opacity .2s ease;
  }
  .mobile-site-footer__logo:hover,
  .mobile-site-footer__logo:focus-visible{ opacity:.82; }
  .mobile-site-footer__logo svg{
    display:block;
    width:100%;
    height:auto;
    overflow:visible;
  }
  .mobile-site-footer__flag rect{ fill:#e21c1d; stroke:none; }
  .mobile-site-footer__flag path{ fill:#fff; stroke:none; }
  .mobile-site-footer__wordmark{
    fill:#fff;
    font-family:var(--font-wordmark);
    font-size:31px;
    font-weight:600;
    letter-spacing:-1.1px;
  }
  .mobile-site-footer__wordmark--red{ fill:#e21c1d; }

  .mobile-site-footer__brand p{
    max-width:355px;
    margin:8px 0 0;
    color:rgba(255,255,255,.86);
    font-size:11px;
    line-height:1.38;
    letter-spacing:-.05px;
  }

  .mobile-site-footer__signup{
    min-width:0;
    padding:1px 0 24px 18px;
    border-left:1px solid rgba(255,255,255,.27);
  }

  .mobile-site-footer__signup h2{
    margin:0 0 17px;
    color:#fff;
    font-family:var(--font-head);
    font-size:19px;
    font-weight:400;
    line-height:1.14;
    letter-spacing:0;
  }
  .mobile-site-footer__signup h2 span{ display:block; }
  .mobile-site-footer__signup h2 span:last-child{ color:#e21c1d; }

  .mobile-site-footer__form{
    position:relative;
    height:49px;
    margin:0;
    border:1.4px solid rgba(255,255,255,.9);
    border-radius:15px;
    background:transparent;
  }
  .mobile-site-footer__form:focus-within{
    border-color:#fff;
    box-shadow:0 0 0 2px rgba(255,255,255,.14);
  }
  .mobile-site-footer__form input{
    width:100%;
    height:100%;
    padding:0 55px 0 13px;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
    font:400 11px/1 var(--font-body);
  }
  .mobile-site-footer__form input::placeholder{
    color:#fff;
    opacity:1;
  }
  .mobile-site-footer__form button{
    position:absolute;
    top:3px;
    right:3px;
    display:grid;
    width:40px;
    height:41px;
    place-items:center;
    border-radius:11px;
    background:#e21c1d;
    color:#fff;
    font-size:18px;
    line-height:1;
    transition:background-color .2s ease, transform .15s ease;
  }
  .mobile-site-footer__form button:hover,
  .mobile-site-footer__form button:focus-visible{ background:#f0272a; }
  .mobile-site-footer__form button:active{ transform:scale(.96); }

  .mobile-site-footer__status{
    min-height:13px;
    margin:3px 0 -16px;
    color:rgba(255,255,255,.78);
    font-size:9px;
    line-height:1.3;
  }

  .mobile-site-footer__nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:65px;
    border-bottom:1px solid rgba(255,255,255,.27);
  }
  .mobile-site-footer__nav a{
    position:relative;
    display:flex;
    align-items:center;
    min-height:24px;
    color:rgba(255,255,255,.92);
    font-size:11px;
    font-weight:400;
    line-height:1;
    white-space:nowrap;
    transition:color .2s ease;
  }
  .mobile-site-footer__nav a:hover,
  .mobile-site-footer__nav a:focus-visible{
    color:#fff;
    text-decoration:underline;
    text-decoration-color:#fff;
    text-decoration-thickness:1px;
    text-underline-offset:4px;
  }
  .mobile-site-footer__nav a:not(:last-child)::after{
    content:"";
    position:absolute;
    top:50%;
    left:calc(100% + clamp(18px, 4vw, 34px));
    width:1px;
    height:12px;
    background:rgba(255,255,255,.2);
    transform:translateY(-50%);
  }

  .mobile-site-footer__copyright{
    margin:14px 0 0;
    color:rgba(255,255,255,.8);
    font-size:9px;
    line-height:1.3;
    text-align:center;
  }
  .mobile-site-footer__copyright span{ color:#e21c1d; }
}

@media (max-width: 679px){
  .mobile-site-footer{ min-height:0; }
  .mobile-site-footer__inner{
    width:auto;
    margin:0 20px;
    padding:36px 0 22px;
  }
  .mobile-site-footer__top{
    display:block;
    min-height:0;
  }
  .mobile-site-footer__brand{
    padding:0 0 26px;
  }
  .mobile-site-footer__logo{ width:176px; }
  .mobile-site-footer__brand p{
    max-width:420px;
    margin-top:10px;
    font-size:13px;
    line-height:1.55;
  }
  .mobile-site-footer__signup{
    padding:25px 0 28px;
    border-top:1px solid rgba(255,255,255,.27);
    border-left:0;
  }
  .mobile-site-footer__signup h2{
    margin-bottom:18px;
    font-size:22px;
    line-height:1.2;
  }
  .mobile-site-footer__form{ height:54px; }
  .mobile-site-footer__form input{
    padding-left:16px;
    font-size:13px;
  }
  .mobile-site-footer__form button{
    width:44px;
    height:46px;
  }
  .mobile-site-footer__nav{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:0 20px;
    padding:15px 0;
  }
  .mobile-site-footer__nav a{
    min-height:38px;
    font-size:13px;
  }
  .mobile-site-footer__nav a:not(:last-child)::after{ display:none; }
  .mobile-site-footer__copyright{
    margin-top:18px;
    font-size:10px;
  }
}

/* A single leadership card, retaining the original portrait footprint. */
.leadership-section {
  position: absolute; left: 0; top: 9690px; width: 1440px; height: 850px;
  z-index: 3; padding: 48px 100px; background: #f3f4f6; text-align: center;
}
.leadership-eyebrow { color: #c41e1e; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.leadership-section h2 { margin: 14px 0 18px; color: #0a1e3f; font-size: 50px; line-height: 1.15; font-weight: 800; }
.leadership-intro { color: #5b6470; font-size: 18px; line-height: 1.6; }
.leadership-card { width: 382px; margin: 38px auto 0; overflow: hidden; border: 1px solid #e1e5eb; border-radius: 20px; background: #fff; box-shadow: 0 16px 40px rgba(10,30,63,.08); text-align: left; }
.leadership-card > img { display: block; width: 382px; height: 445px; object-fit: cover; object-position: center top; background: linear-gradient(160deg, #0a1a40, #1b3a7a); }
.leadership-card-caption { padding: 24px 28px 28px; border-top: 3px solid #e21c1d; }
.leadership-role { color: #c41e1e; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.leadership-card h3 { margin: 9px 0 0; color: #0a1e3f; font-size: 28px; line-height: 1.3; }

/* Replace the image-baked CTA with a readable, keyboard-accessible link. */
.insights-explore-button {
  position: absolute; left: 1060px; top: 10686px; z-index: 4;
  display: inline-flex; align-items: center; justify-content: space-between; gap: 12px;
  width: 280px; height: 60px; padding: 5px 5px 5px 20px;
  border: 0; border-radius: 20px; background: #e9161b;
  color: #fff; font-size: 17px; font-weight: 600; line-height: 1.4;
  white-space: nowrap; box-shadow: 0 0 0 10px #fff;
  transition: background .18s ease;
}
.insights-explore-arrow { display: grid; place-items: center; flex: 0 0 50px; height: 50px; border-radius: 16px; background: #fff; color: #0a1e3f; font-size: 24px; line-height: 1; }
.insights-explore-button:hover { background: #b9151c; }
.insights-explore-button:focus-visible { outline: 3px solid #0a1e3f; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { .insights-explore-button { transition: none; } }

/* Document revisions share the existing navy, red and Montserrat system. */
.document-nav,.document-footer-nav{position:absolute;left:365px;top:16px;right:100px;display:flex;align-items:center;gap:25px;height:52px;background:transparent;color:white;z-index:5;font-size:15px}
.document-nav a,.document-footer-nav a{white-space:nowrap;padding:10px 0}
.document-nav .document-contact{margin-left:auto;padding:12px 20px;background:#fff;color:#001b40;border-radius:8px}
.document-footer-nav{left:100px;top:12078px;right:85px;justify-content:space-between;height:74px}
.document-join{position:absolute;left:405px;top:638px;display:grid;place-items:center;height:62px;padding:0 28px;color:#fff;border:1px solid #fff;border-radius:10px;font-weight:600}
.document-geneva-image{position:absolute;left:730px;top:3685px;width:610px;height:394px;object-fit:cover;object-position:left center}
.document-insight-image{position:absolute;left:522px;top:11248px;width:400px;height:325px;object-fit:cover;border-radius:26px}
.document-activities{position:absolute;left:0;top:5150px;width:1440px;height:1180px;padding:65px 100px;background:#001b40;color:#fff}
.document-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.document-activity-grid article{padding:30px;background:#fff;color:#0a1e3f;border-radius:14px}
.document-activity-grid h3{font-size:25px;line-height:1.3;margin:0 0 14px}
.document-activity-grid .activity-purpose{color:#b51b25;font-weight:700;margin:0 0 14px}
.document-activity-grid p{font-size:18px;line-height:1.65;margin:0}




.leader-read-more{display:inline-block;margin-top:18px;color:#ad1823;font-size:15px;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.leader-linkedin{display:block;width:fit-content;margin-top:12px;color:#0a1e3f;font-size:15px;text-decoration:underline;text-underline-offset:4px}
a:focus-visible,button:focus-visible{outline:3px solid #c41e1e;outline-offset:5px}
::selection{background:#c41e1e;color:white}
@media(max-width:1100px){
  .mobile-connection-pair{margin:25px 0;color:#0a1e3f;font-size:20px;font-weight:700}
  .mobile-connection-pair span{color:#b51b25;margin:0 12px}
  #mobile-content #mobile-people .leader-read-more{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){.globe-pill{transition:none}.globe-pill:hover{transform:none}}
.document-footer-nav{background:#001b40}
/* New activity copy uses the original pale cards on the navy section. */
.document-activities{background:#001b40}
.document-activity-grid article{background:#f4f5f7;border-radius:8px}
.document-activity-grid h3{font-size:23px}
.document-activity-grid p{font-size:17px}
/* Retain the original leadership footprint while allowing its requested links. */
.leadership-card{margin-top:22px}
.leadership-card-caption{padding:18px 28px}
.leader-read-more{margin-top:10px}
.leader-linkedin{margin-top:8px}

.original-pillar-viewport{position:absolute;left:100px;top:4445px;width:1240px;height:545px;background:#fff;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-behavior:smooth;scroll-snap-type:x mandatory}
.original-pillar-viewport::-webkit-scrollbar{display:none}
.original-pillar-track{display:flex;gap:0;width:max-content}
.original-pillar{width:310px;height:535px;flex:none;padding:320px 24px 20px;scroll-snap-align:start;background-image:url('assets/bg_03.jpg');background-size:1440px 1500.75px;color:white;border-radius:30px;overflow:hidden}
.original-pillar h3{font-size:28px;line-height:1.25;margin:0 0 16px;font-weight:700}
.original-pillar p{font-size:17px;line-height:1.5;margin:0}
.original-pillar-0{background-position:-100px -263px;color:#001b40}
.original-pillar-1{background-position:-403px -263px}
.original-pillar-2{background-position:-715px -263px}
.original-pillar-3{background-position:-1018px -263px}
.original-pillar-4{background:#001b40}
.original-pillar-prev,.original-pillar-next{position:absolute;top:5015px;width:76px;height:55px;border-radius:12px}
.original-pillar-prev{left:637px}.original-pillar-next{left:728px}
@media(prefers-reduced-motion:reduce){.original-pillar-viewport{scroll-behavior:auto}}

/* PDF reference: Open Sans body copy, Montserrat display type and original artwork. */
:root{--font-body:'Open Sans','Segoe UI',sans-serif}
.document-nav,.document-footer-nav{font-family:var(--font-body);font-size:16px}
.document-activities{padding:75px 100px;background:transparent}
.document-activities h2{font:600 50px/1.2 var(--font-head);text-align:center;margin:0 0 18px}
.document-activities h2 span{color:#e21c1d}
.document-activities-intro{font:18px/25px var(--font-body);text-align:center;margin:0}
.document-activity-grid{position:absolute;left:100px;right:100px;top:260px;gap:12px}
.document-activity-grid article{position:relative;padding:18px 24px 18px 56px;background:#f4f4f4;border-radius:12px;font-family:var(--font-head)}
.document-activity-grid article::before{content:'#';position:absolute;left:20px;top:17px;color:#e21c1d;font-size:28px;line-height:1}
.document-activity-grid h3{font-size:19px;line-height:25px;margin:0 0 5px;font-weight:600}
.document-activity-grid .activity-purpose{font-size:16px;line-height:22px;margin:0 0 7px}
.document-activity-grid p{font-size:16px;line-height:22px;margin:0;color:#303133}
.document-activities-photo{position:absolute;left:100px;top:720px;width:1240px;height:380px;object-fit:cover;border-radius:30px}
.leadership-card{position:relative;width:392px;background:transparent;border:0;border-radius:0;box-shadow:none}
.leadership-card>img{width:392px;height:445px;border-radius:30px;background:#001b40}
.leadership-card-caption{padding:18px 0;border:0}
.leadership-card h3{font-size:30px;font-weight:600;color:#181818}
.leadership-role{display:block;position:static;margin:0 0 10px;padding:0;color:#001b40;background:none;font:18px/1.4 var(--font-body);letter-spacing:0;text-transform:none}
.pdf-intelligence{position:absolute;left:0;top:1930px;width:1440px;height:610px;padding:50px 100px 0;background:#001b40;color:white}
.pdf-intelligence>h2{font:700 50px/1.2 var(--font-head);text-align:center;max-width:1150px;margin:0 auto 26px}
.pdf-intelligence>h2 span{color:#e21c1d}
.pdf-intelligence>p{font:18px/26px var(--font-body);text-align:center;margin:0 0 30px}
.pdf-intelligence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.pdf-intelligence-grid article{padding:10px 10px 0}
.pdf-intelligence-grid h3{font:700 24px/1.25 var(--font-head);margin:16px 0 14px}
.pdf-intelligence-grid p{font:18px/25px var(--font-body);margin:0}
.pdf-intelligence-icon{width:60px;height:60px;background-image:url('assets/bg_01.jpg');background-size:1440px 1500.75px}
.pdf-intelligence-icon-0{background-position:-695px -500px}
.pdf-intelligence-icon-1{background-position:-695px -635px}
.pdf-intelligence-icon-2{background-position:-695px -750px}
.pdf-intelligence-icon-3{background-position:-695px -885px}
.original-pillar h3{font-weight:600}
.original-pillar p{font:18px/25px var(--font-body)}
@media(max-width:1100px){
  #mobile-people .mobile-person-card{box-shadow:none;border:0;background:transparent}
  #mobile-people .mobile-person-card>img{border-radius:30px}
}

.document-activities-photo{background-image:url("assets/bg_04.jpg");background-size:1440px 1500.75px;background-position:-100px -140px}

/* Keep the existing photograph visible and mask only the superseded card copy. */
.document-activity-grid{height:400px;background:#001b40}
.document-activity-grid{isolation:isolate}
.document-activity-grid::before{content:'';position:absolute;inset:-8px -1px;background:#001b40;z-index:-1}
.document-activity-grid article{padding-top:16px;padding-bottom:16px}
.document-activity-grid h3{line-height:24px;margin-bottom:4px}
.document-activity-grid .activity-purpose{font-size:15.5px;line-height:21px;margin-bottom:5px}
.document-activity-grid p{font-size:15.5px;line-height:21px}
#content .tx[style*="font-weight: 800"]{font-weight:600!important}
#content .tx[data-b="3"]{font-weight:700!important}

/* Keep section geometry aligned with the supplied reference. */
:root{--canvas-h:11636px}
.document-footer-nav{top:11458px}
.document-insight-image{top:10628px}
.leadership-section{top:9370px}
.insights-explore-button{top:10516px}

/* Keep the AI statement without the repeated photograph below it. */

.reference-intelligence{position:absolute;left:0;top:1930px;width:1440px;height:1250px}
.original-pillar-4{position:relative}
.impact-pillar-icon{position:absolute;left:30px;top:44px;width:80px;height:80px}
.original-pillar-4{background:#001b40 url('assets/impact-pattern.svg') center/100% 100% no-repeat}
@media(max-width:1100px){
 .mobile-pillar-card .impact-pillar-icon{position:static;display:block;width:64px;height:64px;margin:0 0 24px}
 .mobile-pillar-card:has(.impact-pillar-icon){background:#001b40 url('assets/impact-pattern.svg') center/cover no-repeat}
}

@media(max-width:1100px){
 .reference-intelligence-photo{position:relative;aspect-ratio:1440/533;overflow:hidden;width:100%;margin-top:32px}
 .reference-intelligence-photo img{position:absolute;left:0;width:100%;height:281.5666%;max-width:none}
 .reference-intelligence-photo .reference-photo-top{top:-215.0563%}
 .reference-intelligence-photo .reference-photo-bottom{top:66.5103%}
 #mobile-intelligence{padding-bottom:0}
}

/* Individual pillar cards follow the supplied reference without baked-in edges. */
.original-pillar-viewport{height:550px}
.original-pillar-track{gap:0;align-items:flex-start}
.original-pillar{--stagger:0px;position:relative;isolation:isolate;width:310px;height:515px;margin-top:var(--stagger);padding:calc(330px - var(--stagger)) 24px 20px;border-radius:30px;background-image:none;background-color:#001b40}
.original-pillar .pillar-icon{position:absolute;left:30px;top:40px;width:80px;height:80px;z-index:1}
.original-pillar h3{position:relative;font:600 28px/35px var(--font-head);margin:0 0 16px;z-index:1}
.original-pillar p{position:relative;font:18px/25px var(--font-body);margin:0;z-index:1}
.original-pillar-0{--stagger:20px;color:#001b40;background:#f1f3f3 url('assets/pillar-connect-pattern.svg') center/100% 100% no-repeat}
.original-pillar-1{background:#001b40 url('assets/pillar-apply.jpeg') center/cover no-repeat}
.original-pillar-1::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.12) 43%,rgba(0,0,0,.88) 100%);z-index:0}
.original-pillar-2{--stagger:30px;background:#e9141b url('assets/pillar-collaborate-pattern.svg') center/100% 100% no-repeat}
.original-pillar-3{--stagger:10px;background:#001b40 url('assets/impact-pattern.svg') center/100% 100% no-repeat}
.original-pillar-4{--stagger:20px;background:#001b40 url('assets/impact-pattern.svg') center/100% 100% no-repeat}

/* Clip the photograph and original frosted panel to all four rounded corners. */
.focus-card:last-child{border-radius:30px;overflow:hidden;clip-path:inset(0 round 30px)}
@media(max-width:1100px){.mobile-focus-card:last-child{border-radius:30px;overflow:hidden;clip-path:inset(0 round 30px)}}

/* A compact profile caption with a clear name, role and two useful actions. */
.leadership-card-caption{padding:22px 0 0;text-align:left}
.leadership-card .leadership-card-caption h3{font:600 30px/1.25 var(--font-head);margin:0 0 9px;color:#001b40}
.leadership-card-caption .leadership-role{display:block;position:static;margin:0;padding:0;background:none;color:#526174;font:16px/1.5 var(--font-body);text-transform:none;letter-spacing:0}
.leadership-actions{display:flex;align-items:center;gap:12px;margin-top:22px}
.leadership-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;margin:0;border:1px solid #001b40;border-radius:8px;font:600 14px/1.4 var(--font-body);text-decoration:none;transition:background .2s,color .2s}
.leadership-actions .leader-read-more{background:#001b40;color:white}
.leadership-actions .leader-linkedin{background:transparent;color:#001b40}
.leadership-actions .leader-read-more:hover{background:#153b67}
.leadership-actions .leader-linkedin:hover{background:#e5eaf0}
@media(max-width:1100px){
 #mobile-people .mobile-person-card>.leadership-card-caption{padding:22px 0 0;border:0}
 #mobile-content.mobile-redesign #mobile-people .leadership-card-caption h3{font-size:28px;margin:0 0 9px}
 #mobile-people .leadership-card-caption>.leadership-role{font:16px/1.5 var(--font-body);color:#526174;text-transform:none;letter-spacing:0}
 #mobile-content #mobile-people .leadership-actions a{margin-top:0}
}

@media(max-width:1100px){
 #mobile-what-we-do .mobile-activity-list{display:grid;gap:16px;margin-top:32px}
 #mobile-what-we-do .mobile-activity-card{padding:24px;background:#f3f4f6;border-radius:12px;color:#001b40}
 #mobile-content #mobile-what-we-do .mobile-activity-card h3{margin:0 0 12px;font:600 21px/1.35 var(--font-head);color:#001b40}
 #mobile-content #mobile-what-we-do .mobile-activity-card p{font:15px/1.7 var(--font-body);margin:0;color:#303133}
 #mobile-content #mobile-what-we-do .mobile-activity-card .mobile-activity-purpose{font-weight:700;color:#b51b25;margin-bottom:10px}
}

.leadership-section{height:1550px}
.leadership-second-row{display:flex;justify-content:center;align-items:flex-start;gap:72px;margin-top:48px}
.leadership-second-row .leadership-card{margin:0}
.leadership-second-row .leadership-card>img{height:340px;object-fit:cover;object-position:center 35%}
.leadership-second-row .leadership-card-caption h3{font-size:26px;min-height:66px}
.leadership-second-row .leadership-role{min-height:72px}
.leadership-actions{flex-wrap:wrap}
@media(max-width:1100px){
 #mobile-people .mobile-people-track{display:grid;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px;overflow:visible;padding:0;margin:0}
 #mobile-people .mobile-person-card{width:100%;min-width:0;max-width:392px}
 #mobile-people .mobile-person-card:first-child{grid-column:1/-1;justify-self:center}
 #mobile-people .mobile-person-card>img{width:100%;height:340px;aspect-ratio:auto;object-fit:cover;object-position:center 35%}
}
@media(max-width:600px){
 #mobile-people .mobile-people-track{grid-template-columns:1fr;justify-items:center}
 #mobile-people .mobile-person-card:first-child{grid-column:auto}
}

/* The PDF places the three leadership profiles in one horizontal desktop row. */
.leadership-section{height:850px}
.leadership-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:32px;align-items:start}
.leadership-row .leadership-card{width:100%;margin:0;min-width:0}
.leadership-row .leadership-card>img{width:100%;height:350px;object-fit:cover;object-position:center 30%}
.leadership-row .leadership-card-caption h3{font-size:26px;min-height:66px}
.leadership-row .leadership-role{min-height:72px}
.leadership-row .leadership-actions{gap:10px;margin-top:16px}
.leadership-row .leadership-actions a{padding:10px 14px}
@media(min-width:601px) and (max-width:1100px){
 #mobile-people .mobile-people-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 #mobile-people .mobile-person-card:first-child{grid-column:auto}
 #mobile-people .mobile-person-card>img{height:240px}
 #mobile-content.mobile-redesign #mobile-people .leadership-card-caption h3{font-size:21px}
}

/* Uniform navy portrait backgrounds and rectangular image frames. */
.leadership-row .leadership-card>img{border-radius:0;background:#001b40;object-position:center top}
@media(max-width:1100px){
 #mobile-people .mobile-person-card>img{border-radius:0;background:#001b40;object-position:center top}
}

/* Revised image choices and leadership heading. */
.network-flag-cover{position:absolute;left:690px;top:7160px;width:95px;height:325px;background:#f7f7f7}
.network-innovation-image{position:absolute;left:0;top:7485px;width:1440px;height:620px;object-fit:cover;object-position:center}
.leadership-section>.leadership-eyebrow{margin:0 0 10px;font:700 12px/1.4 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:#c41e1e}
.leadership-section>h2{margin-top:0}
.leadership-section>.leadership-intro{margin-bottom:20px}
@media(max-width:1100px){
 .mobile-network-innovation{display:block;width:100%;height:240px;object-fit:cover;border-radius:12px;margin:32px 0}
}

/* Founders follow the supplied credibility section reference. */
.leadership-section{height:1000px;padding-top:44px}
.leadership-section>h2{font-size:50px;font-weight:600;margin:0 0 18px;white-space:nowrap}
.leadership-section>h2 span{color:#e21c1d}
.leadership-section>.leadership-intro{font:18px/1.6 var(--font-body);margin:0 auto 30px;color:#424850}
.founder-tabs{display:flex;justify-content:center;align-items:center;gap:20px;margin:0 0 38px}
.founder-tabs>a{display:inline-flex;gap:14px;align-items:center;padding:14px 22px;min-height:58px;border-radius:18px;background:white;font:600 16px/1.25 var(--font-head);color:#001b40}
.founder-tabs .founder-tab-active{background:#e21c1d;color:white;padding-right:6px}
.founder-tabs svg{width:44px;height:44px;background:white;color:#001b40;border-radius:12px;padding:10px;margin:-8px 0}
.leadership-row{margin-top:0;gap:30px}
.founder-portrait{display:block;position:relative;overflow:hidden;border-radius:30px;background:#001b40;isolation:isolate}
.founder-portrait>img{display:block;width:100%;height:460px;object-fit:cover;object-position:center top;transition:transform .3s ease}
.founder-portrait:hover>img{transform:scale(1.025)}
.founder-portrait{height:460px}
.founder-portrait>img{position:absolute;left:0;bottom:0;height:350px}
.founder-role-labels{position:absolute;top:20px;left:0;right:0;display:flex;align-items:flex-start;flex-direction:column;gap:4px;pointer-events:none}
.founder-role-labels span{display:block;max-width:100%;padding:6px 20px;background:linear-gradient(90deg,#b51a23 0%,rgba(75,14,23,.8) 65%,transparent 100%);color:white;font:17px/1.3 var(--font-body)}
.leadership-card-caption{padding-top:18px}
.leadership-row .leadership-card-caption h3{font-size:26px;min-height:0;margin:0 0 12px}
.leadership-card-caption h3 a{text-decoration:none;color:inherit}
.founder-summary{font:17px/1.55 var(--font-body);color:#464b52;margin:0;min-height:80px}
.founder-accessible-role{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.leadership-row .leadership-actions{margin-top:10px;gap:18px}
.leadership-actions a{min-height:0;border:0;border-radius:0;padding:0!important;background:transparent!important;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.leadership-actions .leader-read-more{color:#b51a23}
@media(max-width:1100px){
 #mobile-people .founder-tabs{flex-wrap:wrap;gap:10px;margin:28px 0 34px}
 #mobile-people .founder-tabs>a{font-size:13px;padding:12px 14px;min-height:46px;border-radius:14px}
 #mobile-people .founder-tabs svg{width:34px;height:34px;padding:8px}
 #mobile-people .founder-portrait{height:390px}
 #mobile-people .founder-portrait>img{width:100%;height:280px;object-fit:cover;object-position:center top}
 #mobile-people .founder-role-labels span{font-size:15px;padding:6px 16px}
 #mobile-people .founder-summary{min-height:0;font-size:15px}
 #mobile-people .leadership-actions{margin-top:16px}
}
@media(prefers-reduced-motion:reduce){.founder-portrait>img{transition:none}.founder-portrait:hover>img{transform:none}}
/* Comments 5–8: a vertical introduction followed by four intelligence cards. */
.reference-intelligence{height:1250px;padding:64px 100px 0;background:#001b40;color:#fff}
.reference-intelligence>h2{max-width:1120px;margin:0 auto 24px;text-align:center;font:600 50px/1.2 var(--font-head)}
.reference-intelligence>h2 span{color:#e21c1d}
.intelligence-intro{text-align:center;margin:0 0 40px;font:18px/1.6 var(--font-body)}
.intelligence-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.intelligence-cards article{padding:26px 22px;border:1px solid #6a819c;border-radius:12px;min-height:250px}
.intelligence-cards h3{margin:0 0 18px;font:600 25px/1.3 var(--font-head)}
.intelligence-cards p{margin:0;font:18px/1.6 var(--font-body)}
.intelligence-statement{margin:66px -100px 0;padding:50px 100px;background:#fff;color:#001b40;text-align:center}
.intelligence-statement h3{max-width:1100px;margin:0 auto 22px;font:600 40px/1.3 var(--font-head)}
.intelligence-statement p{margin:0;font:18px/1.7 var(--font-body)}
/* Comments 16–19: president above the two founding board members. */
:root{--canvas-h:12286px}
.leadership-section{height:1650px;background:#f7f7f7}
.leadership-row{grid-template-columns:repeat(2,392px);justify-content:center;gap:42px 72px}
.leadership-row .leadership-card:first-child{grid-column:1/-1;justify-self:center;width:392px}
.founder-portrait,.founder-portrait>img{height:340px}
.founder-portrait>img{position:static;width:100%;object-fit:cover;object-position:center;border-radius:12px}
.founder-portrait{border-radius:12px;overflow:visible}
.founder-role-labels{position:static;margin-top:14px;gap:3px}
.founder-role-labels span{padding:0;background:none;color:#001b40;font-size:15px;line-height:1.5}
.founder-portrait{height:auto}
.founder-summary{min-height:0;font-size:16px}
.leadership-card-caption{padding-top:16px}
.leadership-actions{flex-wrap:wrap;row-gap:12px}
.document-insight-image{top:11278px}
.insights-explore-button{top:11166px}
.document-footer-nav{top:12108px}
@media(max-width:1100px){
 #mobile-people .mobile-people-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 24px}
 #mobile-people .mobile-person-card:first-child{grid-column:1/-1;justify-self:center;width:min(100%,392px)}
 #mobile-people .founder-portrait{height:auto;border-radius:12px}
 #mobile-people .founder-portrait>img{position:static;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:12px}
 #mobile-people .founder-role-labels{position:static;margin-top:14px}
 #mobile-people .founder-role-labels span{padding:0;background:none;color:#001b40;font-size:14px}
 #mobile-people .leadership-card-caption h3{min-height:0}
}
@media(max-width:600px){
 #mobile-people .mobile-people-track{grid-template-columns:1fr}
 #mobile-people .mobile-person-card:first-child{grid-column:auto}
}
/* Keep role text on the page surface and preserve the complete branded portraits. */
.founder-portrait{background:transparent}
.founder-portrait>img{height:340px;object-fit:contain;background:#001b40}
.intelligence-statement{min-height:657px}
@media(max-width:1100px){
 #mobile-people .founder-portrait{background:transparent}
 #mobile-people .founder-portrait>img{height:auto;aspect-ratio:1;object-fit:contain;background:#001b40}
}
/* One statement panel masks the panel baked into the original reference artwork. */
.intelligence-statement{position:relative;isolation:isolate;background:transparent;min-height:657px;padding:40px 110px 0}
.intelligence-statement::before{content:'';position:absolute;z-index:-1;left:80px;right:80px;top:0;height:228px;border-radius:36px;background:#fff;box-shadow:0 0 0 7px rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.7)}
.intelligence-statement h3{position:relative;max-width:1200px;margin:0 auto 20px;font:600 43px/1.2 var(--font-head);color:#001b40}
.intelligence-statement>p{position:relative;margin:0;color:#080808;font:18px/1.6 var(--font-body)}
.intelligence-statement strong{font-weight:600}
.statement-ai{color:#e21c1d}
.intelligence-statement-image{position:absolute;z-index:-2;left:0;top:140px;width:1440px;height:517px;margin:0;border-radius:0}
.assembly-photo{overflow:hidden}
.assembly-photo img{position:absolute;left:0;width:100%;height:auto;max-width:none}
.assembly-photo .assembly-photo-top{top:-1186.25px}
.assembly-photo .assembly-photo-bottom{top:314.5px}
@media(max-width:1100px){
 #mobile-intelligence{padding-bottom:0}
 #mobile-intelligence .mobile-inline-callout{margin-bottom:0;background:#fff;color:#001b40;border-radius:20px 20px 0 0;padding:24px}
 #mobile-intelligence .mobile-inline-callout strong .statement-ai{display:inline;color:#e21c1d}
 #mobile-intelligence>.mobile-section__lead{position:relative;z-index:1;padding:0 24px 24px;background:#fff;color:#001b40;border-radius:0 0 20px 20px}
 #mobile-intelligence>.mobile-shell:last-child{width:100%;max-width:none;padding:0;margin-top:-20px}
 #mobile-intelligence .assembly-photo{position:relative;width:100%;height:auto;aspect-ratio:1440/430}
 #mobile-intelligence .assembly-photo img{height:349.0116%;width:100%}
 #mobile-intelligence .assembly-photo-top{top:-296.5116%}
 #mobile-intelligence .assembly-photo-bottom{top:52.5%}
}
.intelligence-icon{display:block;width:44px;height:44px;color:#e21c1d;margin:0 0 18px;flex-shrink:0}
.intelligence-cards article{padding-top:24px}
@media(max-width:1100px){#mobile-intelligence .intelligence-icon{width:38px;height:38px;margin:0 0 16px;color:#e21c1d}}
/* Original intelligence symbols from the supplied site artwork. */
.intelligence-icon-original{width:64px;height:64px;background-image:url('assets/bg_01.jpg');background-size:1440px 1500.75px;background-repeat:no-repeat}
.intelligence-icon-0{background-position:-692px -500px}
.intelligence-icon-1{background-position:-692px -635px}
.intelligence-icon-2{background-position:-692px -750px}
.intelligence-icon-3{background-position:-692px -885px}
@media(max-width:1100px){#mobile-intelligence .intelligence-icon-original{display:block;width:64px;height:64px}}
/* Focus cards use the same native horizontal scrolling as the five pillars. */
.focus-cards-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-behavior:smooth;scroll-snap-type:x mandatory}
.focus-cards-viewport::-webkit-scrollbar{display:none}
.focus-cards-track{width:max-content;transform:none;transition:none;will-change:auto}
.focus-card{scroll-snap-align:start}
@media(prefers-reduced-motion:reduce){.focus-cards-viewport{scroll-behavior:auto}}
/* Founder cards follow the supplied three-column reference. */
.leadership-section{height:1650px}
.leadership-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start}
.leadership-row .leadership-card:first-child{grid-column:auto;justify-self:stretch;width:100%}
.leadership-row .founder-portrait{position:relative;display:block;height:460px;border-radius:28px;overflow:hidden;background:#001b40}
.leadership-row .founder-portrait>img{position:absolute;bottom:0;left:0;width:100%;height:350px;border-radius:0;object-fit:cover;object-position:center top;background:#001b40}
.leadership-row .founder-role-labels{position:absolute;top:18px;left:0;right:0;margin:0;display:flex;flex-direction:column;gap:4px;z-index:1}
.leadership-row .founder-role-labels span{padding:5px 18px;background:linear-gradient(90deg,#b51a23 0%,rgba(75,14,23,.8) 65%,transparent 100%);color:#fff;font:16px/1.35 var(--font-body)}
.leadership-row .leadership-card-caption{padding-top:20px}
.leadership-row .leadership-card-caption h3{font-size:26px;line-height:1.25;margin:0 0 12px;min-height:65px;color:#181818}
.leadership-row .founder-summary{font-size:16px;line-height:1.6;min-height:78px;color:#464b52}
@media(min-width:601px) and (max-width:1100px){
 #mobile-people .mobile-people-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
 #mobile-people .mobile-person-card:first-child{grid-column:auto;width:100%;justify-self:stretch}
}
@media(max-width:1100px){
 #mobile-people .founder-portrait{position:relative;height:360px;overflow:hidden;border-radius:22px;background:#001b40}
 #mobile-people .founder-portrait>img{position:absolute;bottom:0;left:0;width:100%;height:250px;aspect-ratio:auto;object-fit:cover;object-position:center top;border-radius:0}
 #mobile-people .founder-role-labels{position:absolute;top:16px;left:0;right:0;margin:0;gap:4px;z-index:1}
 #mobile-people .founder-role-labels span{padding:5px 14px;background:linear-gradient(90deg,#b51a23,rgba(75,14,23,.8) 65%,transparent);color:white;font-size:13px}
}
:root{--canvas-h:11636px}
.leadership-section{height:1000px}
.document-insight-image{top:10628px}
.insights-explore-button{top:10516px}
.document-footer-nav{top:11458px}
/* Portrait-only founder cards, without role ribbons. */
.leadership-row .founder-role-labels,#mobile-people .founder-role-labels{display:none}
.leadership-row .founder-portrait{height:350px}
.leadership-row .founder-portrait>img{height:100%}
@media(max-width:1100px){#mobile-people .founder-portrait{height:300px}#mobile-people .founder-portrait>img{height:100%}}
/* Keep each founder caption compact instead of reserving empty text rows. */
.leadership-row .leadership-card-caption h3{min-height:0;margin:0 0 10px}
.leadership-row .founder-summary{min-height:0;margin:0;line-height:1.55}
.leadership-row .leadership-actions{margin-top:16px}
@media(max-width:1100px){
 #mobile-people .leadership-card-caption h3{min-height:0;margin:0 0 10px}
 #mobile-people .founder-summary{min-height:0;margin:0;line-height:1.55}
 #mobile-people .leadership-actions{margin-top:16px}
}
/* Reduce the unused space between founders and Insights. */
:root{--canvas-h:11436px}
.leadership-section{height:800px}
.document-insight-image{top:10428px}
.insights-explore-button{top:10316px}
.document-footer-nav{top:11258px}
@media(max-width:1100px){#mobile-people{padding-bottom:32px}}
/* A compact footer edge below the copyright. */
:root{--canvas-h:11418px}
@media(max-width:1100px){.mobile-site-footer__inner{padding-bottom:12px}.mobile-site-footer__copyright{margin-bottom:0}}

﻿@media(prefers-reduced-motion:no-preference){
 .founder-portrait img,.founder-card img{transition:transform .35s cubic-bezier(.16,1,.3,1)}
 .founder-portrait:hover img,.portrait-link:hover img{transform:scale(1.025)}
 .intelligence-cards article,.document-activity-grid article{transition:border-color .22s ease,background-color .22s ease}
 .intelligence-cards article:hover{border-color:#fff;background-color:#08284d}
 .document-activity-grid article:hover{background-color:#fff}
 .leadership-actions a,.card-actions a,.back-link,.header-nav a{transition:color .2s ease,text-underline-offset .2s ease}
 .leadership-actions a:hover,.card-actions a:hover{ text-underline-offset:7px }
 input,textarea{transition:border-color .2s ease,background-color .2s ease}
 button[type=submit]{transition:background-color .2s ease,transform .2s ease}
 button[type=submit]:active{transform:scale(.99)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Phone and tablet layout: readable type, compact rhythm and native swipe tracks. */
@media(max-width:1100px){
 :root{--mobile-navy:#001b40;--mobile-red:#e21c1d;--mobile-warm:#f4f5f7}
 #mobile-nav{height:68px;padding:0 24px;background:#001b40;backdrop-filter:none;box-shadow:none}
 #mobile-nav.is-scrolled{background:#001b40;box-shadow:0 3px 16px rgba(0,0,0,.12)}
 #mobile-nav-toggle{border-radius:8px;width:44px;height:44px}
 #mobile-nav-menu{top:68px;background:#001b40;padding:20px 24px 28px}
 #mobile-nav-menu a{min-height:48px;font-size:18px}
 #mobile-content.mobile-redesign{padding-top:68px}
 .mobile-shell{width:100%;max-width:1000px;padding-inline:32px}
 .mobile-section{padding:64px 0}
 #mobile-content.mobile-redesign .mobile-kicker{display:none}
 #mobile-content.mobile-redesign .mobile-section__title{font-size:clamp(32px,5vw,48px);line-height:1.18;letter-spacing:-.025em;max-width:780px}
 #mobile-content.mobile-redesign .mobile-section__lead{font-size:17px;line-height:1.7;margin-top:20px;max-width:70ch}
 #mobile-content.mobile-redesign .mobile-section--navy .mobile-section__lead,#mobile-content.mobile-redesign .mobile-section--membership .mobile-section__lead{color:#d6e1ee}
 .mobile-section--pillars,.mobile-section--membership{background:#001b40}
 .mobile-hero{min-height:700px;height:auto;padding:70px 0 42px;display:flex;align-items:center}
 .mobile-hero__image{object-position:60% center}
 .mobile-hero__veil{background:linear-gradient(90deg,rgba(0,27,64,.94),rgba(0,27,64,.64))}
 .mobile-hero__content{padding-top:0;padding-bottom:0}
 #mobile-content.mobile-redesign .mobile-hero h1{font-size:clamp(42px,6.5vw,66px);line-height:1.12;letter-spacing:-.025em;max-width:16ch;margin:24px 0}
 .mobile-wordmark{font-size:32px}
 #mobile-content.mobile-redesign .mobile-hero__lead{font-size:18px;line-height:1.75;max-width:51ch;color:#fff}
 .mobile-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
 .mobile-button{min-height:48px;border-radius:8px;font-size:15px;padding:14px 20px}
 .mobile-trust{margin-top:36px;font-size:12px}
 .mobile-editorial-visual{margin-top:28px;box-shadow:none;border-radius:12px}
 .mobile-editorial-visual img{height:340px;object-fit:cover}
 .mobile-editorial-visual figcaption{border:0;border-radius:8px;background:#001b40;backdrop-filter:none}
 #mobile-content.mobile-redesign .mobile-statement{border-left:0;padding:22px 0 0;margin-top:24px;font-size:21px;line-height:1.5}
 .mobile-connection-pair{margin:24px 0;font-size:19px}
 .mobile-intelligence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}
 .mobile-intelligence-card{padding:24px;border-radius:12px;border-color:#61768f;background:transparent;min-height:0}
 #mobile-content.mobile-redesign .mobile-intelligence-card h3{font-size:23px;line-height:1.3;margin-bottom:12px}
 #mobile-content.mobile-redesign .mobile-intelligence-card p{font-size:16px;line-height:1.65;color:#e1e9f3}
 #mobile-intelligence .intelligence-icon-original{margin-bottom:16px}
 #mobile-intelligence .mobile-inline-callout{margin-top:36px;padding:28px 24px;border-radius:16px 16px 0 0;box-shadow:none;font-size:24px;line-height:1.35;text-align:center}
 #mobile-intelligence .mobile-inline-callout strong{color:#001b40}
 #mobile-intelligence>.mobile-section__lead{padding:0 28px 28px;margin:0 auto;background:#fff;color:#142942;text-align:center;max-width:936px;width:calc(100% - 64px);font-size:16px;line-height:1.7;border-radius:0 0 16px 16px}
 #mobile-intelligence>.mobile-shell:last-child{margin-top:-20px;max-width:none}
 #mobile-intelligence .assembly-photo{aspect-ratio:1440/430}
 .mobile-location-card{border-radius:12px;box-shadow:none;margin-top:28px}
 .mobile-location-card>img{height:300px}
 .mobile-location-card__copy{padding:28px}
 .mobile-location-notes{grid-template-columns:1fr 1fr;gap:28px;margin-top:20px}
 .mobile-location-notes article{display:block;padding:18px 0}
 .mobile-location-notes article>span,.mobile-audience-grid article>span,.mobile-pillar-card>span{display:none}
 #mobile-content.mobile-redesign .mobile-location-notes h3{font-size:21px}
 #mobile-content.mobile-redesign .mobile-location-notes p{font-size:16px;line-height:1.7}
 .mobile-pillar-track,.mobile-focus-track,.mobile-insight-track{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 20px)/2);gap:20px;margin-right:0;padding-right:0;padding-bottom:10px;scroll-padding-inline:0}
 .mobile-swipe-hint{font-size:12px;letter-spacing:.04em;margin:24px 0 16px;color:#d5dfec}
 .mobile-swipe-hint--dark{color:#526174}
 .mobile-pillar-card{min-height:290px;padding:26px;border-radius:12px;box-shadow:none}
 #mobile-content.mobile-redesign .mobile-pillar-card h3{font-size:26px;line-height:1.25}
 #mobile-content.mobile-redesign .mobile-pillar-card p{font-size:16px;line-height:1.65}
 #mobile-what-we-do .mobile-activity-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 #mobile-what-we-do .mobile-activity-card{padding:26px;border-radius:12px}
 #mobile-content #mobile-what-we-do .mobile-activity-card h3{font-size:22px}
 #mobile-content #mobile-what-we-do .mobile-activity-card p{font-size:16px;line-height:1.7}
 .mobile-focus-card{min-height:360px;border-radius:12px;box-shadow:none}
 .mobile-focus-card img{height:360px}
 #mobile-content.mobile-redesign .mobile-focus-card h3{font-size:24px;line-height:1.3}
 .mobile-event-card{border-radius:12px;box-shadow:none}
 .mobile-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
 .mobile-audience-grid article{padding:24px 0}
 #mobile-content.mobile-redesign .mobile-audience-grid h3{font-size:21px;line-height:1.3}
 #mobile-content.mobile-redesign .mobile-audience-grid p{font-size:16px;line-height:1.6}
 .mobile-network-innovation{height:320px;border-radius:12px;margin:28px 0 10px}
 .mobile-membership-grid{grid-template-columns:1fr 1fr;gap:20px}
 .mobile-membership-card{border-radius:12px;padding:28px;box-shadow:none}
 #mobile-content.mobile-redesign .mobile-membership-card h3{font-size:26px;line-height:1.3}
 #mobile-content.mobile-redesign .mobile-membership-card p{font-size:16px;line-height:1.7}
 #mobile-people .mobile-people-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;gap:24px;margin:0;padding:0;overflow:visible}
 #mobile-people .mobile-person-card:first-child{grid-column:auto;width:100%}
 #mobile-people .mobile-person-card{max-width:none;width:100%;min-width:0}
 #mobile-people .founder-portrait{height:auto;aspect-ratio:1;border-radius:12px}
 #mobile-people .founder-portrait>img{position:static;height:100%;width:100%;object-fit:cover;border-radius:12px}
 #mobile-people .founder-tabs{margin:24px 0 28px;justify-content:flex-start}
 #mobile-people .founder-tabs>a{border-radius:8px;min-height:44px}
 #mobile-content.mobile-redesign #mobile-people .leadership-card-caption h3{font-size:22px;line-height:1.3;margin:0 0 10px}
 #mobile-people .founder-summary{font-size:15px;line-height:1.7}
 #mobile-people .leadership-actions{gap:14px;margin-top:16px}
 #mobile-people .leadership-actions a{min-height:40px;align-items:center;font-size:14px}
 .mobile-insight-card{border-radius:12px;box-shadow:none;background:#fff}
 #mobile-content.mobile-redesign .mobile-insight-card h3{font-size:24px;line-height:1.3}
 #mobile-content.mobile-redesign .mobile-insight-card p{font-size:16px;line-height:1.7}
 .mobile-insight-card>img{height:200px}
 .mobile-insight-card>div{padding:24px}
 .mobile-insights-cta{margin-top:28px}
 .mobile-site-footer__inner{width:auto;max-width:936px;margin:auto;padding:40px 32px 16px}
 .mobile-site-footer__nav{flex-wrap:wrap;gap:4px 20px;padding:20px 0}
 .mobile-site-footer__nav a{min-height:44px;font-size:14px}
 .mobile-site-footer__nav a::after{display:none}
 .mobile-site-footer__copyright{font-size:12px;line-height:1.6;margin-top:18px}
}
@media(max-width:600px){
 #mobile-nav{padding:0 20px}
 .mobile-shell{padding-inline:20px}
 .mobile-section{padding:48px 0}
 .mobile-hero{min-height:640px;padding:50px 0 32px}
 #mobile-content.mobile-redesign .mobile-hero h1{font-size:42px}
 #mobile-content.mobile-redesign .mobile-hero__lead{font-size:16px;line-height:1.75}
 .mobile-actions{flex-direction:column;align-items:stretch}
 .mobile-actions .mobile-button{justify-content:center;width:100%}
 .mobile-trust{gap:8px;margin-top:28px}
 .mobile-trust span{font-size:10px;padding:0 8px}
 #mobile-content.mobile-redesign .mobile-section__title{font-size:32px;line-height:1.2}
 #mobile-content.mobile-redesign .mobile-section__lead{font-size:16px}
 .mobile-intelligence-grid{grid-template-columns:1fr;gap:14px}
 .mobile-intelligence-card{padding:22px}
 #mobile-content.mobile-redesign .mobile-intelligence-card h3{font-size:23px}
 #mobile-intelligence .mobile-inline-callout{padding:24px 18px;font-size:22px}
 #mobile-intelligence>.mobile-section__lead{width:calc(100% - 40px);padding:0 18px 24px;font-size:15px}
 .mobile-location-notes{grid-template-columns:1fr;gap:0}
 .mobile-location-card>img{height:230px}
 .mobile-location-card__copy{padding:24px}
 .mobile-editorial-visual img{height:260px}
 .mobile-pillar-track,.mobile-focus-track,.mobile-insight-track{grid-auto-columns:88%;gap:16px;margin-right:-20px;padding-right:20px}
 #mobile-what-we-do .mobile-activity-list{grid-template-columns:1fr;gap:16px}
 .mobile-membership-grid{grid-template-columns:1fr;gap:16px}
 .mobile-audience-grid{grid-template-columns:1fr;gap:0}
 .mobile-network-innovation{height:220px}
 #mobile-people .mobile-people-track{grid-template-columns:1fr;gap:34px}
 #mobile-people .mobile-person-card{max-width:420px;margin:auto}
 #mobile-content.mobile-redesign #mobile-people .leadership-card-caption h3{font-size:25px}
 .mobile-site-footer__inner{padding:32px 20px 14px;margin:0}
 .mobile-site-footer__signup{padding:24px 0}
 .mobile-site-footer__nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
}
@media(max-width:1100px){
 .mobile-hero__content{min-height:0;justify-content:center;padding-top:0;padding-bottom:0}
 #mobile-content.mobile-redesign .mobile-hero h1 span{color:#e21c1d}
 .mobile-button--red{box-shadow:none}
 .mobile-trust span{font-size:12px}
 #mobile-content.mobile-redesign #mobile-intelligence>.mobile-section__lead{margin:0 auto;padding:0 24px 26px;color:#142942;background:#fff;max-width:936px}
 #mobile-intelligence>.mobile-shell:last-child{margin-top:-20px}
 #mobile-intelligence .assembly-photo{z-index:0;aspect-ratio:1440/650;top:auto}
 #mobile-intelligence .assembly-photo img{height:230.8846%}
 #mobile-intelligence .assembly-photo-top{top:-196.1538%}
 #mobile-intelligence .assembly-photo-bottom{top:34.7308%}
 #mobile-content.mobile-redesign .mobile-inline-callout>span{font-weight:600}
}
@media(max-width:600px){
 .mobile-trust span{font-size:10px}
 #mobile-content.mobile-redesign #mobile-intelligence>.mobile-section__lead{padding:0 18px 24px}
}
@media(max-width:1100px){
 #mobile-people .mobile-section__intro{text-align:center}
 #mobile-content.mobile-redesign #mobile-people .mobile-section__title,
 #mobile-content.mobile-redesign #mobile-people .mobile-section__lead{margin-left:auto;margin-right:auto}
 #mobile-people .founder-tabs{justify-content:center}
}
/* Compact network cards with consistent inset and spacing. */
@media(max-width:1100px){
 #mobile-network .mobile-audience-grid{gap:16px;align-items:stretch;margin-top:28px}
 #mobile-network .mobile-audience-grid article{min-height:0;padding:24px;border:1px solid #dce2e9;border-radius:12px;background:#fff}
 #mobile-content.mobile-redesign #mobile-network .mobile-audience-grid h3{margin:0 0 8px;font-size:21px;line-height:1.3;color:#001b40}
 #mobile-content.mobile-redesign #mobile-network .mobile-audience-grid p{margin:0;color:#526174;font-size:16px;line-height:1.6}
}
@media(max-width:600px){
 #mobile-network .mobile-audience-grid{gap:12px}
 #mobile-network .mobile-audience-grid article{padding:22px}
}
