/* ABOUT US PAGE */

/* ===== 01 · NAV (over hero, same as Blog page) ===== */
.nav{
  display:flex; align-items:center; justify-content:space-between; gap:var(--space-6);
  padding-block:var(--space-4);
}
/* .brand{ display:flex; align-items:center; gap:var(--space-2); font-family:"Saira",sans-serif;
  font-weight:700; font-size:1.25rem; color:var(--white); letter-spacing:-.01em; }
.brand .mk{ width:26px; height:26px; border-radius:7px; background:var(--teal); color:var(--navy);
  display:inline-flex; align-items:center; justify-content:center; font-size:.85rem; font-weight:800; }
.brand .ai{ color:var(--teal); } */
.nav-links{ display:flex; align-items:center; gap:var(--space-6); }
.nav-links a{ color:var(--on-dark); font-size:.95rem; font-weight:500; transition:color .2s var(--ease); }
.nav-links a:hover{ color:var(--teal); }
.nav-links a.is-active{ color:var(--teal); font-weight:600; }
.nav .btn-primary{ box-shadow:0 4px 12px rgba(34,171,173,.35); }
.nav .btn-primary:hover{ box-shadow:0 7px 18px rgba(34,171,173,.5); }
.nav-toggle{ position:absolute; top:0; left:0; width:1px; height:1px; opacity:0; pointer-events:none; }
.nav-burger{ display:none; }
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }

@media (max-width:980px){
  .nav{ flex-wrap:wrap; row-gap:var(--space-4); }
  .brand{ order:1; }
  .nav-burger{
    order:2; margin-left:auto;
    display:inline-flex; flex-direction:column; justify-content:center; align-items:center; gap:5px;
    width:46px; height:46px; border-radius:11px; cursor:pointer;
    border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.05);
  }
  .nav-burger span{
    display:block; width:22px; height:2px; border-radius:2px; background:var(--white);
    transition:transform .3s var(--ease), opacity .2s var(--ease);
  }
  .nav-links{
    display:none; order:4; flex-basis:100%;
    flex-direction:column; align-items:stretch; gap:0; margin-top:var(--space-2);
  }
  .nav-links a{ padding:14px 2px; font-size:1.05rem; border-top:1px solid rgba(255,255,255,.12); }
  .nav-cta{ display:none; order:5; flex-basis:100%; width:100%; margin-top:var(--space-2); }
  #nav-toggle:checked ~ .nav-links{ display:flex; }
  #nav-toggle:checked ~ .nav-cta{ display:inline-flex; }
  #nav-toggle:checked ~ .nav-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  #nav-toggle:checked ~ .nav-burger span:nth-child(2){ opacity:0; }
  #nav-toggle:checked ~ .nav-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}

/* ===== 02 · HERO — full-bleed photo, giant "About" ===== */
.ahero{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--navy); color:var(--on-dark);
  display:flex; flex-direction:column;
  min-height:clamp(560px, 88vh, 820px);
}
.ahero-img{
  position:absolute; inset:0; z-index:0;
  background-image:url("https://images.unsplash.com/photo-1541888946425-d81bb19240f5?q=80&w=2000&auto=format&fit=crop");
  background-size:cover; background-position:center;
  animation:heroDrift 14s var(--ease) both;
}
@keyframes heroDrift{ from{ transform:scale(1.07); } to{ transform:scale(1); } }
.ahero::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(52% 48% at 88% 6%, rgba(76,226,204,.14), transparent 62%),
    linear-gradient(90deg, rgba(6,22,41,.82) 0%, rgba(6,22,41,.55) 40%, rgba(6,22,41,.18) 70%, rgba(6,22,41,.42) 100%),
    linear-gradient(180deg, rgba(6,22,41,.78) 0%, rgba(6,22,41,.15) 26%, rgba(6,22,41,.08) 48%, rgba(6,22,41,.55) 78%, rgba(6,22,41,.9) 100%);
}
.ahero-nav{ position:relative; z-index:6; }
.ahero-body{
  position:relative; z-index:5; margin-top:auto; width:100%;
  padding-bottom:clamp(2.5rem, 5vw, 4rem);
}
.ahero-pill{
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-size:.8125rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--white); border:1px solid rgba(255,255,255,.22); border-radius:999px;
  padding:var(--space-2) var(--space-4); margin-bottom:var(--space-4);
  background:rgba(6,22,41,.35); backdrop-filter:blur(4px);
}
.ahero-pill .dot{ width:8px; height:8px; border-radius:50%; background:var(--teal); }
.ahero-title{
  font-family:"Saira",sans-serif; font-weight:700;
  font-size:clamp(3.25rem, 10vw, 7rem); line-height:.98; letter-spacing:-.025em;
  color:var(--white); margin:0 0 var(--space-4);
  text-shadow:0 2px 24px rgba(6,22,41,.55);
}
.ahero-title .tick{ color:var(--teal); }
.ahero-sub{
  font-size:clamp(1.0625rem, 1.6vw, 1.25rem); line-height:1.55;
  color:rgba(255,255,255,.88); max-width:46ch;
  text-shadow:0 1px 10px rgba(6,22,41,.55);
}
.ahero-actions{ display:flex; align-items:center; gap:var(--space-4); flex-wrap:wrap; margin-top:var(--space-9); }
.ahero-play{
  display:inline-flex; align-items:center; gap:var(--space-3);
  color:var(--white); font-weight:600; font-size:1rem;
}
.ahero-play .ring{
  width:52px; height:52px; border-radius:50%; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  border:1.5px solid rgba(255,255,255,.4); background:rgba(6,22,41,.35); backdrop-filter:blur(4px);
  color:var(--teal); font-size:.9rem;
  transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
}
.ahero-play:hover .ring{ background:var(--teal); border-color:var(--teal); color:var(--navy); transform:scale(1.06); }
.ahero-scroll{
  position:relative; z-index:5;
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid rgba(255,255,255,.16);
  padding-top:var(--space-4); margin-top:clamp(1.5rem, 3vw, 2.5rem);
  font-size:.8125rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.6);
}

/* ===== 03 · MISSION — centered statement (Scale-style) ===== */
.mission{ text-align:center; }
.mission .eyebrow{ justify-content:center; }
.mission-statement{
  font-family:"Inter Tight",sans-serif; font-weight:600;
  font-size:clamp(1.9rem, 4.2vw, 3.4rem); line-height:1.14; letter-spacing:-.02em;
  color:var(--black); max-width:22ch; margin:0 auto var(--space-6); text-wrap:balance;
}
.mission-statement .accent{ color:var(--teal-flare); }
.mission-lead{ max-width:64ch; margin:0 auto; }
.mission-note{
  margin:var(--space-9) auto 0; font-size:.9375rem; color:var(--concrete);
  display:inline-flex; align-items:center; gap:var(--space-3);
}
.mission-note .yr{ font-family:"Saira",sans-serif; font-weight:700; color:var(--teal-flare); }

/* ===== 04 · WIDE PHOTO ===== */
.wide-photo{ padding-block:0 clamp(3.5rem, 7vw, var(--space-24)); }
.wide-photo figure{ margin:0; }
.wide-photo .ph{
  border-radius:calc(var(--radius) + 6px); overflow:hidden;
  aspect-ratio:21/9; background:linear-gradient(135deg, var(--navy) 0%, #0d3a52 55%, var(--teal-flare) 160%);
  box-shadow:0 2px 4px rgba(6,22,41,.03), 0 34px 70px -38px rgba(6,22,41,.35);
}
.wide-photo img{ width:100%; height:100%; object-fit:cover; }
.wide-photo figcaption{
  display:flex; justify-content:flex-end; margin-top:var(--space-3);
  font-family:ui-monospace, "SF Mono", Menlo, monospace; font-size:.75rem;
  letter-spacing:.14em; text-transform:uppercase; color:#9aa5a2;
}
@media (max-width:640px){ .wide-photo .ph{ aspect-ratio:4/3; } }

/* ===== 05 · TRUST STRIP ===== */
.trust{ padding-block:0 clamp(3.5rem, 7vw, var(--space-24)); text-align:center; }
.trust-label{
  font-size:.8125rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:#9aa5a2; margin-bottom:var(--space-6);
}
.trust-row{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:var(--space-4) clamp(1.5rem, 4vw, 3.5rem);
}
.trust-row span{
  font-family:"Saira",sans-serif; font-weight:600; font-size:clamp(1rem, 1.6vw, 1.25rem);
  letter-spacing:.12em; text-transform:uppercase; color:#aab4b1;
  transition:color .25s var(--ease);
}
.trust-row span:hover{ color:var(--navy); }

/* ===== 06 · WHAT WE DO + STATS (navy, staggered photo cards) ===== */
.wwd-head{ max-width:64ch; margin:0 auto var(--space-9); text-align:center; }
.wwd-head .eyebrow{ justify-content:center; }
.wwd-head .h2{ font-size:clamp(2rem, 4vw, 3.25rem); line-height:1.1; }
.wwd-head .lead{ font-size:1rem; color:var(--on-dark-soft); max-width:46ch; margin:0 auto; }
.wwd-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-6);
  align-items:start; padding-top:var(--space-9);
}
.wwd-pcard{ display:flex; flex-direction:column; gap:var(--space-3); }
.wwd-pcard.side{ margin-top:44px; }
.wwd-ph{
  position:relative; display:block; overflow:hidden;
  border-radius:calc(var(--radius) - 2px); height:300px;
  background:linear-gradient(135deg, #0a2a44 0%, #0d3a52 55%, var(--teal-flare) 160%);
  border:1px solid rgba(255,255,255,.1);
}
.wwd-pcard.mid .wwd-ph{ height:388px; }
.wwd-ph img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.wwd-ph:hover img{ transform:scale(1.05); }
.wwd-pill{
  position:absolute; left:14px; bottom:14px;
  display:inline-flex; align-items:center; gap:8px;
  font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--white); background:rgba(6,22,41,.55); backdrop-filter:blur(5px);
  border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:6px 14px;
}
.wwd-pill .dot{ width:7px; height:7px; border-radius:50%; background:var(--teal); }
.wwd-pcard h3{
  font-family:"Saira",sans-serif; font-weight:700; font-size:1.25rem;
  letter-spacing:-.01em; color:var(--white); margin-top:var(--space-2);
}
.wwd-pcard p{ font-size:.9375rem; line-height:1.6; color:var(--on-dark); }
.wwd-link{
  font-size:.9rem; font-weight:600; color:var(--teal);
  display:inline-flex; align-items:center; gap:8px;
}
.wwd-link .arr{ transition:transform .25s var(--ease); }
.wwd-link:hover .arr{ transform:translateX(4px); }

.wwd-mission{
  text-align:center; max-width:34ch;
  margin:clamp(3rem, 6vw, 4.5rem) auto;
  font-size:clamp(1.25rem, 2.4vw, 1.75rem); line-height:1.4; font-weight:500;
  color:rgba(255,255,255,.92); letter-spacing:-.01em; text-wrap:balance;
}
.wwd-mission .em{ color:var(--teal); font-weight:600; }

.stats-row{
  display:grid; grid-template-columns:repeat(6,1fr); gap:var(--space-6);
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:clamp(2.5rem, 5vw, var(--space-12));
  text-align:center;
}
.stat-num{
  font-family:"Saira",sans-serif; font-weight:700;
  font-size:clamp(2rem, 3.4vw, 2.75rem); line-height:1; letter-spacing:-.02em; color:var(--white);
}
.stat-num .unit{ color:var(--teal); }
.stat-cap{ font-size:.875rem; color:var(--on-dark-soft); margin-top:var(--space-2); }
@media (max-width:900px){
  .wwd-grid{ grid-template-columns:1fr; padding-top:0; }
  .wwd-pcard.side{ margin-top:0; }
  .wwd-ph{ height:260px; }
  .wwd-pcard.mid .wwd-ph{ height:300px; }
  .stats-row{ grid-template-columns:repeat(3,1fr); gap:var(--space-9) var(--space-6); }
}
@media (max-width:560px){ .stats-row{ grid-template-columns:1fr 1fr; } }

/* ===== 07 · JOURNEY + TIMELINE ===== */
.journey-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:var(--space-12);
  margin-bottom:clamp(3rem, 6vw, 4.5rem);
}
.journey-grid p + p{ margin-top:var(--space-4); }
.journey-grid .lead b{ color:var(--navy); font-weight:600; }
/* — milestone wheel (iOS-picker style) — */
.tl-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-4); flex-wrap:wrap;
  padding-bottom:var(--space-4);
  border-bottom:1px solid var(--line);
}
.tl-head h3{
  display:flex; align-items:center; gap:10px;
  font-family:"Saira",sans-serif; font-weight:700; font-size:1.375rem;
  letter-spacing:-.01em; color:var(--navy);
}
.tl-head-ico{
  width:30px; height:30px; border-radius:9px; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--teal-tint); border:1px solid rgba(31,195,173,.35); color:var(--teal-flare);
}
.tl-hint{
  font-family:ui-monospace, "SF Mono", Menlo, monospace; font-size:.75rem;
  letter-spacing:.14em; text-transform:uppercase; color:#9aa5a2;
}
.tl-wheel{ position:relative; height:min(572px, 78vh); } /* ≈5.5 rows of 104px */
.tl-scroller{
  height:100%; overflow-y:auto; outline:none;
  scroll-snap-type:y mandatory;
  scrollbar-width:none;
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
  mask-image:linear-gradient(180deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
}
.tl-scroller::-webkit-scrollbar{ display:none; }
.tl-focus{
  position:absolute; left:0; right:0; top:50%; height:104px;
  transform:translateY(-50%); pointer-events:none;
  border-top:1px solid rgba(31,195,173,.4);
  border-bottom:1px solid rgba(31,195,173,.4);
  background:linear-gradient(90deg, rgba(76,226,204,.08), transparent 60%);
}
.tl-focus::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:3px; height:36px; border-radius:3px; background:var(--teal-flare);
}
.tl-row{
  display:grid; grid-template-columns:90px 1.15fr 1fr; gap:var(--space-6);
  align-items:center; min-height:104px; padding:14px 6px 14px 20px;
  scroll-snap-align:center; scroll-snap-stop:always; cursor:pointer;
  will-change:filter, opacity, transform; transform-origin:left center;
}
.tl-row + .tl-row{ border-top:1px solid var(--line); }
.tl-mid{ min-width:0; }
.tl-ick{ display:inline-flex; align-items:center; gap:8px; margin-bottom:6px; }
.tl-ico{
  width:26px; height:26px; border-radius:8px; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--teal-tint); border:1px solid rgba(31,195,173,.35); color:var(--teal-flare);
}
.tl-year{
  font-family:"Saira",sans-serif; font-weight:700; font-size:1.75rem;
  letter-spacing:-.01em; color:#9aa5a2; transition:color .25s var(--ease);
}
.tl-row.is-active .tl-year{ color:var(--teal-flare); }
.tl-kicker{
  font-size:.72rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--teal-flare);
}
.tl-title{
  font-family:"Inter Tight",sans-serif; font-weight:700; font-size:1.15rem;
  line-height:1.3; letter-spacing:-.01em; color:var(--black); margin:0 0 3px;
}
.tl-desc{
  font-size:.9375rem; line-height:1.5; color:var(--concrete);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
@media (max-width:900px){
  .journey-grid{ grid-template-columns:1fr; gap:var(--space-4); }
  .tl-row{ grid-template-columns:72px 1fr; }
  .tl-desc{ grid-column:2; }
}
@media (max-width:640px){
  .tl-row{ grid-template-columns:56px 1fr; gap:var(--space-4); padding-left:14px; }
  .tl-year{ font-size:1.3rem; }
  .tl-desc{ -webkit-line-clamp:3; }
}

/* ===== 08 · CULTURE — header + expanding photo accordion ===== */
.culture-head{ max-width:62ch; margin-bottom:var(--space-12); }
.cpill{
  display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  font-size:.8125rem; font-weight:600; letter-spacing:.05em;
  color:var(--navy); background:var(--white);
  border:1px solid var(--line); border-radius:999px; padding:8px 16px;
  box-shadow:0 2px 8px rgba(6,22,41,.05);
}
.cpill .dot{ width:8px; height:8px; border-radius:50%; background:var(--teal); }
.culture-h2{
  font-family:"Inter Tight",sans-serif; font-weight:600;
  font-size:clamp(2.2rem, 4.6vw, 3.6rem); line-height:1.08; letter-spacing:-.02em;
  color:var(--black); margin:var(--space-6) 0; text-wrap:balance;
}
.h2-img{
  display:inline-block; height:.88em; aspect-ratio:1.7/1;
  border-radius:14px; overflow:hidden; vertical-align:-.1em;
  background:linear-gradient(135deg, var(--navy) 0%, #0d3a52 55%, var(--teal-flare) 160%);
}
.h2-img img{ width:100%; height:100%; object-fit:cover; }

.cacc{ display:flex; gap:var(--space-4); height:clamp(430px, 58vh, 530px); }
.acard{
  position:relative; overflow:hidden; cursor:pointer; isolation:isolate;
  flex:1; min-width:0;
  border:1px solid rgba(6,22,41,.08);
  border-radius:calc(var(--radius) + 6px);
  background:linear-gradient(135deg, var(--navy) 0%, #0d3a52 55%, var(--teal-flare) 160%);
  box-shadow:0 2px 4px rgba(6,22,41,.03), 0 22px 46px -30px rgba(6,22,41,.22);
  transition:flex .5s var(--ease), box-shadow .3s var(--ease);
}
.acard.is-open{ flex:4.2; }
.acard:focus-visible{ outline:3px solid var(--teal-flare); outline-offset:3px; }
.acard-ph{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0;
  transition:transform .6s var(--ease);
}
.acard:hover .acard-ph{ transform:scale(1.04); }
.acard-scrim{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(6,22,41,.18) 0%, rgba(6,22,41,.34) 45%, rgba(6,22,41,.9) 100%);
}
.acard-full{
  position:absolute; inset:auto 0 0 0; z-index:2;
  padding:clamp(1.5rem, 3vw, var(--space-9));
  display:flex; flex-direction:column; gap:var(--space-2);
  opacity:0; transform:translateY(10px); pointer-events:none;
  transition:opacity .35s var(--ease) .1s, transform .35s var(--ease) .1s;
}
.acard.is-open .acard-full{ opacity:1; transform:none; }
.acard-full .num{
  font-family:"Saira",sans-serif; font-weight:700; font-size:.9rem;
  letter-spacing:.1em; color:var(--teal);
}
.acard-full h3{
  font-family:"Inter Tight",sans-serif; font-weight:700;
  font-size:clamp(1.3rem, 2.2vw, 1.75rem); line-height:1.15; letter-spacing:-.015em;
  color:var(--white);
}
.acard-sum{
  font-size:1.0625rem; font-weight:600; line-height:1.45;
  color:rgba(255,255,255,.92); max-width:56ch;
}
.acard-desc{
  font-size:.9375rem; line-height:1.6;
  color:rgba(255,255,255,.78); max-width:60ch;
}
.acard-side{
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
  gap:var(--space-4); padding:var(--space-6) 0;
  transition:opacity .3s var(--ease);
}
.acard.is-open .acard-side{ opacity:0; }
.acard-rot{
  writing-mode:vertical-rl; transform:rotate(180deg);
  font-family:"Inter Tight",sans-serif; font-weight:600; font-size:1rem;
  letter-spacing:.02em; color:var(--white); white-space:nowrap;
  text-shadow:0 1px 8px rgba(6,22,41,.6);
}
.acard-ico{
  width:34px; height:34px; border-radius:10px; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(76,226,204,.18); border:1px solid rgba(76,226,204,.4);
  color:var(--teal); backdrop-filter:blur(4px);
}

/* hover-to-expand — mouse devices on desktop layout only */
@media (hover:hover) and (min-width:901px){
  .cacc:hover .acard{ flex:1; }
  .cacc:hover .acard:hover{ flex:4.2; }
  .cacc:hover .acard .acard-full{ opacity:0; transform:translateY(10px); }
  .cacc:hover .acard:hover .acard-full{ opacity:1; transform:none; }
  .cacc:hover .acard .acard-side{ opacity:1; }
  .cacc:hover .acard:hover .acard-side{ opacity:0; }
}

/* mobile — vertical tap accordion */
@media (max-width:900px){
  .cacc{ flex-direction:column; height:auto; gap:var(--space-3); }
  .acard{ flex:none; height:64px; transition:height .5s var(--ease), box-shadow .3s var(--ease); }
  .acard.is-open{ flex:none; height:min(96vw, 430px); }
  .acard-side{ flex-direction:row; justify-content:flex-start; padding:0 var(--space-4); gap:var(--space-3); }
  .acard-rot{ writing-mode:horizontal-tb; transform:none; font-size:.95rem; }
  .acard-ico{ order:-1; width:30px; height:30px; }
  .acard-full{ padding:var(--space-6) var(--space-4); }
}

/* ===== 10 · FOUNDATION ===== */
.fdn-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:var(--space-16); align-items:center; }
.fdn-quote{
  margin:var(--space-6) 0; padding:var(--space-4) var(--space-6);
  border-left:3px solid var(--teal);
  font-family:"Saira",sans-serif; font-weight:600; font-size:1.375rem; line-height:1.4;
  letter-spacing:-.01em; color:var(--navy);
}
.fdn-quote .who{
  display:block; margin-top:var(--space-2);
  font-family:"Inter Tight",sans-serif; font-weight:500; font-size:.875rem;
  letter-spacing:.08em; text-transform:uppercase; color:var(--concrete);
}
.fdn-ph{
  border-radius:calc(var(--radius) + 6px); overflow:hidden; aspect-ratio:4/3.4;
  background:linear-gradient(135deg, var(--navy) 0%, #0d3a52 55%, var(--teal-flare) 160%);
  box-shadow:0 2px 4px rgba(6,22,41,.03), 0 34px 70px -38px rgba(6,22,41,.35);
}
.fdn-ph img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:900px){ .fdn-grid{ grid-template-columns:1fr; gap:var(--space-9); } }

/* ===== 11 · LEADERSHIP ===== */
.team-head{ max-width:62ch; margin-bottom:var(--space-12); }
.team-group{ margin-top:var(--space-12); }
.team-group:first-of-type{ margin-top:0; }
.team-group-title{
  display:flex; align-items:baseline; gap:var(--space-4); flex-wrap:wrap;
  margin-bottom:var(--space-6); padding-bottom:var(--space-4);
  border-bottom:1px solid var(--line);
}
.team-group-title h3{
  font-family:"Saira",sans-serif; font-weight:700; font-size:1.375rem;
  letter-spacing:-.01em; color:var(--navy);
}
.team-group-title .note{ font-size:.9rem; color:var(--concrete); }
.team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-6); }
.person{ animation:rise .6s var(--ease) both; }
.person-tile{
  position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:1/1.05;
  display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(6,22,41,.08);
  /* static unsharp mask — kept here (not on the img) so the grayscale hover transition stays interpolable */
  filter:url(#imgSharpen);
  transition:transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.person:hover .person-tile{
  transform:translateY(-5px); border-color:rgba(31,195,173,.55);
  box-shadow:0 30px 54px -26px rgba(6,22,41,.32);
}
.person-tile.g0{ background:linear-gradient(150deg, #061629 0%, #0d3a52 70%, #14655c 130%); }
.person-tile.g1{ background:linear-gradient(150deg, #0a2a44 0%, #061629 60%, #0d3a52 130%); }
.person-tile.g2{ background:linear-gradient(150deg, #0d3a52 0%, #061629 65%, #1FC3AD 220%); }
.person-tile.g3{ background:linear-gradient(150deg, #061629 0%, #0a2a44 55%, #1a4f60 130%); }
.person-tile::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(60% 55% at 78% 12%, rgba(76,226,204,.22), transparent 65%);
}
.person-photo{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center top; z-index:1;
  filter:grayscale(1) contrast(1.08) brightness(1.02);
  transition:transform .5s var(--ease), filter .45s var(--ease);
}
.person:hover .person-photo{
  transform:scale(1.04);
  filter:grayscale(0) contrast(1.08) brightness(1.02);
}
.person-init{
  position:relative; z-index:0; font-family:"Saira",sans-serif; font-weight:800;
  font-size:clamp(2.6rem, 4.6vw, 3.6rem); letter-spacing:.02em;
  color:rgba(255,255,255,.92);
}
.person-init::after{
  content:""; position:absolute; left:50%; bottom:-14px; transform:translateX(-50%);
  width:26px; height:3px; border-radius:3px; background:var(--teal);
}
.person-name{
  font-family:"Inter Tight",sans-serif; font-weight:700; font-size:1.0625rem;
  color:var(--black); margin-top:var(--space-4); line-height:1.3;
}
.person-role{ font-size:.875rem; color:var(--concrete); margin-top:2px; }
@media (max-width:1000px){ .team-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px){ .team-grid{ grid-template-columns:1fr 1fr; } }

/* ===== 12 · YEAR IN REVIEW (news-style cards) ===== */
.yir-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:var(--space-6); flex-wrap:wrap; margin-bottom:var(--space-12); }
.yir-head .lead{ max-width:56ch; }
.yir-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:var(--space-6); }
.yir-side{ display:grid; gap:var(--space-6); }
.yir-card{
  position:relative; border-radius:var(--radius); overflow:hidden; cursor:pointer;
  border:1px solid rgba(6,22,41,.08); display:flex; align-items:flex-end;
  box-shadow:0 2px 4px rgba(6,22,41,.03), 0 22px 46px -30px rgba(6,22,41,.22);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
  min-height:200px;
}
.yir-card:hover{ transform:translateY(-5px); box-shadow:0 4px 8px rgba(6,22,41,.05), 0 30px 54px -26px rgba(6,22,41,.32); }
.yir-card.feature{ min-height:460px; }
.yir-bg{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .6s var(--ease); }
.yir-card:hover .yir-bg{ transform:scale(1.04); }
.yir-card.c25 .yir-bg{ background-image:url("https://images.unsplash.com/photo-1522071820081-009f0129c71c?q=80&w=1600&auto=format&fit=crop"); }
.yir-card.c24 .yir-bg{ background-image:linear-gradient(140deg, #061629 10%, #0d3a52 60%, #1FC3AD 160%); }
.yir-card.c23 .yir-bg{ background-image:linear-gradient(140deg, #0a2a44 0%, #061629 55%, #7a2f70 190%); }
.yir-card.c22 .yir-bg{ background-image:linear-gradient(140deg, #123a3a 0%, #061629 60%, #b06a1f 200%); }
.yir-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(6,22,41,0) 30%, rgba(6,22,41,.78) 100%);
}
.yir-wm{
  position:absolute; top:6px; right:14px; z-index:1;
  font-family:"Saira",sans-serif; font-weight:800; font-size:clamp(3rem, 6vw, 4.5rem);
  letter-spacing:-.03em; color:rgba(255,255,255,.14); line-height:1;
}
.yir-body{ position:relative; z-index:2; padding:var(--space-6); display:flex; align-items:center; gap:var(--space-4); width:100%; }
.yir-play{
  width:46px; height:46px; border-radius:50%; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--teal); color:var(--navy); font-size:.8rem;
  box-shadow:0 6px 18px rgba(34,171,173,.4);
  transition:transform .25s var(--ease);
}
.yir-card:hover .yir-play{ transform:scale(1.1); }
.yir-kicker{ font-size:.75rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); }
.yir-title{
  font-family:"Saira",sans-serif; font-weight:700; font-size:1.15rem; line-height:1.3;
  letter-spacing:-.01em; color:var(--white); margin-top:2px;
}
.yir-card.feature .yir-title{ font-size:clamp(1.4rem, 2.4vw, 1.9rem); max-width:20ch; }
@media (max-width:900px){ .yir-grid{ grid-template-columns:1fr; } .yir-card.feature{ min-height:340px; } }

/* ===== 13 · LOCATIONS — dot-matrix world map ===== */
.loc-band{
  border:1px solid var(--line); border-radius:calc(var(--radius) + 6px);
  padding:clamp(2rem, 4.5vw, 3.5rem);
  background:var(--stone);
  display:grid; grid-template-columns:.9fr 1.4fr;
  gap:clamp(2rem, 4vw, var(--space-16)); align-items:center;
}
.loc-cities{ margin-top:var(--space-4); font-size:.9rem; color:var(--concrete); }
.loc-cities b{ color:var(--navy); font-weight:600; }
.loc-cta{ margin-top:var(--space-6); }
.loc-map{ position:relative; }
.loc-map svg{ width:100%; height:auto; display:block; overflow:visible; }
.loc-pin{ cursor:pointer; outline:none; }
.loc-pin .halo{ fill:rgba(31,195,173,.16); transition:fill .2s var(--ease); }
.loc-pin .core{ fill:var(--teal-flare); transition:fill .2s var(--ease); }
.loc-pin:hover .core, .loc-pin:focus .core{ fill:var(--teal); }
.loc-pin:hover .halo, .loc-pin:focus .halo{ fill:rgba(31,195,173,.3); }
.loc-ring{
  fill:none; stroke:var(--teal-flare); stroke-width:.28;
  transform-box:fill-box; transform-origin:center;
  animation:locPulse 2.6s var(--ease) infinite;
}
@keyframes locPulse{
  0%{ transform:scale(.5); opacity:.9; }
  100%{ transform:scale(2.6); opacity:0; }
}
.loc-tip{
  position:absolute; z-index:2; pointer-events:none;
  transform:translate(-50%, -140%);
  background:var(--white); border:1px solid var(--line); border-radius:8px;
  padding:5px 12px; font-size:.8125rem; font-weight:600; color:var(--navy);
  white-space:nowrap; box-shadow:0 10px 24px -10px rgba(6,22,41,.3);
}
.loc-tip::after{
  content:""; position:absolute; left:50%; bottom:-4.5px; transform:translateX(-50%) rotate(45deg);
  width:8px; height:8px; background:var(--white);
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
}
@media (prefers-reduced-motion:reduce){ .loc-ring{ animation:none; opacity:0; } }
@media (max-width:900px){ .loc-band{ grid-template-columns:1fr; gap:var(--space-6); } }

/* ===== 14 · JOIN CTA (image card, Scale-style) ===== */
.join{ padding-block:0 clamp(3.5rem, 7vw, var(--space-24)); }
.join-card{
  position:relative; border-radius:calc(var(--radius) + 6px); overflow:hidden;
  min-height:clamp(360px, 48vw, 520px);
  display:flex; align-items:flex-end; isolation:isolate;
}
.join-bg{
  position:absolute; inset:0; z-index:0;
  background-image:url("https://images.unsplash.com/photo-1497366811353-6870744d04b2?q=80&w=2000&auto=format&fit=crop");
  background-size:cover; background-position:center;
  transition:transform 6s var(--ease);
}
.join-card:hover .join-bg{ transform:scale(1.04); }
.join-card::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(52% 48% at 88% 6%, rgba(76,226,204,.14), transparent 62%),
    linear-gradient(180deg, rgba(6,22,41,.2) 0%, rgba(6,22,41,.45) 55%, rgba(6,22,41,.85) 100%);
}
.join-body{ position:relative; z-index:2; padding:clamp(1.75rem, 4vw, 3.5rem); }
.join-title{
  font-family:"Saira",sans-serif; font-weight:700;
  font-size:clamp(2rem, 4.6vw, 3.5rem); line-height:1.05; letter-spacing:-.02em;
  color:var(--white); margin-bottom:var(--space-6); max-width:18ch;
  text-shadow:0 2px 18px rgba(6,22,41,.5);
}
.join-title .accent{ color:var(--teal); }

/* ===== 15 · FOOTER (identical to Blog page) ===== */
.ft{ background:var(--navy); color:var(--on-dark); font-size:.875rem; padding-block:var(--space-16) 0; }
.ft-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:var(--space-12); }
.ft-logo{ display:flex; align-items:center; gap:var(--space-2); font-family:"Saira", sans-serif; font-weight:700; font-size:1.375rem; color:var(--white); letter-spacing:-.01em; }
.ft-mk{ width:26px; height:26px; border-radius:7px; background:var(--teal); color:var(--navy); display:inline-flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:800; flex:none; }
.ft-ai{ color:var(--teal); }
.ft-tagline{ line-height:1.6; color:var(--on-dark); margin:var(--space-4) 0 var(--space-2); max-width:34ch; }
.ft-hashtag{ font-family:ui-monospace, "SF Mono", Menlo, monospace; font-size:.75rem; color:var(--teal); margin:0; }
.ft-heading{ font-family:"Inter Tight", sans-serif; font-weight:600; font-size:.875rem; letter-spacing:.06em; text-transform:uppercase; color:var(--white); margin-bottom:var(--space-4); }
.ft-links{ display:flex; flex-direction:column; gap:var(--space-2); }
.ft-links a{ color:var(--on-dark); font-size:.9375rem; transition:color .2s var(--ease); }
.ft-links a:hover{ color:var(--teal); }
.ft-links a.ft-active{ color:var(--white); font-weight:600; }
.ft-links a.ft-active:hover{ color:var(--teal); }
.ft-bottom{ margin-top:var(--space-12); padding-block:var(--space-6); border-top:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:space-between; gap:var(--space-6); font-size:.875rem; color:var(--on-dark-soft); }
.ft-legal{ display:flex; gap:var(--space-6); }
.ft-legal a{ color:var(--on-dark-soft); transition:color .2s var(--ease); }
.ft-legal a:hover{ color:var(--teal); }
@media (max-width:900px){ .ft-grid{ grid-template-columns:1fr 1fr; gap:var(--space-9); } }
@media (max-width:560px){
  .ft-grid{ grid-template-columns:1fr; gap:var(--space-9); }
  .ft-bottom{ flex-direction:column; align-items:flex-start; gap:var(--space-4); }
  .ft-legal{ flex-wrap:wrap; }
}