/* ==========================================================================
   SwiftFPL — public site stylesheet
   Fresh marketing-forward system (distinct from the internal brand center):
   Space Grotesk for display type, Inter for body/UI.
   ========================================================================== */

:root{
  color-scheme:light;
  /* master palette (approved) */
  --navy:#21409A;
  --orange:#F09436;
  --off-white:#F5F4EF;
  --dark:#222222;
  --white:#FFFFFF;

  /* entity accents (approved) */
  --freepl:#91BAD5;
  --swift-egypt:#21409A;
  --swift-dewell:#E13324;
  --cite:#563B00;
  --its:#8E8E8E;
  --solved:#69A30F;
  --slf:#5B6B7A;

  /* default accent = master orange, entity pages override via body[data-entity] */
  --accent:var(--orange);
  --accent-soft:#FBE3C7;

  --ink:var(--dark);
  --muted:#6B6B66;
  --line:#E1DED4;
  --radius-sm:8px;
  --radius:16px;
  --radius-lg:28px;
  --shadow:0 12px 32px -12px rgba(33,64,154,.18);
  --shadow-sm:0 4px 14px -6px rgba(33,64,154,.14);
  --maxw:1240px;
}

/* entity accent overrides */
body[data-entity="freepl"]{ --accent:var(--freepl); --accent-soft:#E7F0F6; }
body[data-entity="swift-egypt"]{ --accent:var(--swift-egypt); --accent-soft:#D9E1F2; }
body[data-entity="swift-dewell"]{ --accent:var(--swift-dewell); --accent-soft:#FBE1DE; }
body[data-entity="cite"]{ --accent:var(--cite); --accent-soft:#E9E2D6; }
body[data-entity="its"]{ --accent:var(--its); --accent-soft:#E9E9E9; }
body[data-entity="solved"]{ --accent:var(--solved); --accent-soft:#E6EFDB; }
body[data-entity="slf"]{ --accent:var(--slf); --accent-soft:#E6E9EC; }

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;
  line-height:1.12;
  margin:0 0 .5em;
  letter-spacing:-.01em;
}
p{ margin:0 0 1em; }
.container{ max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,56px); }
.eyebrow{
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
}
.eyebrow::before{
  content:"";
  width:22px; height:2px;
  background:var(--accent);
  display:inline-block;
}

/* ===== buttons ===== */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Space Grotesk',sans-serif;
  font-weight:600; font-size:14.5px;
  padding:13px 24px;
  border-radius:100px;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:.18s ease;
  white-space:nowrap;
}
.btn-primary{ background:var(--accent); color:#fff; }
.btn-primary:hover{ filter:brightness(1.08); transform:translateY(-1px); }
.btn-outline{ background:transparent; border-color:currentColor; color:inherit; }
.btn-outline:hover{ background:rgba(255,255,255,.12); }
.btn-outline.on-light{ border-color:var(--navy); color:var(--navy); }
.btn-outline.on-light:hover{ background:var(--navy); color:#fff; }
.btn svg{ width:16px; height:16px; }

/* ===== nav ===== */
.nav{
  position:sticky; top:0; z-index:100;
  background:var(--navy);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:transform .28s ease;
}
.nav.nav-hidden{ transform:translateY(-100%); }
.nav-inner{
  max-width:var(--maxw); margin:0 auto; padding:14px clamp(20px,5vw,56px);
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.nav-logo img{ height:26px; width:auto; }
.nav-links{ display:flex; align-items:center; gap:30px; }
.nav-links > li > a{
  font-size:14px; font-weight:500; color:#DCE3F2;
  padding:8px 0; position:relative; transition:.15s;
}
.nav-links > li > a:hover{ color:#fff; }
.nav-cta{ display:flex; align-items:center; gap:14px; }
.nav-dropdown{ position:relative; }
.nav-dropdown-panel{
  position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%);
  background:#fff; border-radius:var(--radius); box-shadow:var(--shadow);
  padding:14px; width:280px; max-width:80vw;
  display:grid; grid-template-columns:1fr; gap:4px;
  opacity:0; visibility:hidden; translate:0 8px;
  transition:.18s ease;
}
.nav-dropdown:hover .nav-dropdown-panel,
.nav-dropdown:focus-within .nav-dropdown-panel{
  opacity:1; visibility:visible; translate:0 0;
}
.nav-dropdown-item{
  display:flex; align-items:center; gap:12px;
  padding:10px 12px; border-radius:var(--radius-sm); color:var(--dark);
}
.nav-dropdown-item:hover{ background:var(--off-white); }
.nav-dropdown-dot{ width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.nav-dropdown-item b{ display:block; font-size:13.5px; font-family:'Space Grotesk',sans-serif; }
.nav-dropdown-item span{ display:block; font-size:11.5px; color:var(--muted); margin-top:1px; }
.nav-burger{ display:none; }

/* entity sub-nav strip (shown on entity pages) */
.entity-strip{
  background:var(--accent-soft);
  border-bottom:1px solid var(--line);
}
.entity-strip .container{
  display:flex; align-items:center; gap:10px; padding-top:10px; padding-bottom:10px;
  overflow-x:auto;
}
.entity-strip a{
  font-size:12.5px; font-weight:600; font-family:'Space Grotesk',sans-serif;
  padding:6px 13px; border-radius:100px; white-space:nowrap;
  color:var(--dark); border:1px solid transparent;
}
.entity-strip a.active{ background:var(--accent); color:#fff; }
.entity-strip a:not(.active):hover{ border-color:var(--accent); }

/* ===== hero ===== */
.hero{ padding:88px 0 80px; position:relative; overflow:hidden; }
.hero.navy{ background:var(--navy); color:#fff; }
.hero.off-white{ background:var(--off-white); color:var(--dark); }
.hero.accent{ background:var(--accent); color:#fff; }
.hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
.hero h1{ font-size:clamp(34px,4.6vw,56px); }
.hero-entity-row{
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:13.5px;
  letter-spacing:.02em; opacity:.78; margin:16px 0 0;
}
.hero .lede{ font-size:18px; max-width:520px; opacity:.92; margin-top:14px; }
.hero.navy .lede,.hero.accent .lede{ color:rgba(255,255,255,.86); }
.hero.off-white .lede{ color:var(--muted); }
.hero-actions{ display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; }
.hero-art{ display:flex; align-items:center; justify-content:center; }
.hero-art svg{ width:100%; height:auto; max-width:440px; }

/* ===== interactive hero network ===== */
.hero-network{ display:flex; flex-direction:column; align-items:center; gap:18px; }
.hero-network-svg{ width:100%; max-width:440px; height:auto; overflow:visible; }
.hn-node{ cursor:pointer; outline:none; }
.hn-node circle{ transition:transform .22s ease, filter .22s ease; transform-box:fill-box; transform-origin:center; }
.hn-node text{ pointer-events:none; }
.hn-node.active circle,.hn-node:hover circle,.hn-node:focus circle{ transform:scale(1.14); filter:drop-shadow(0 0 0 rgba(0,0,0,0)); }
.hn-line{ transition:opacity .22s ease, stroke-width .22s ease; }
.hn-line.active{ opacity:1; stroke-width:2.6; }
.hn-hub-pulse{ animation:hnPulse 2.6s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
@keyframes hnPulse{ 0%,100%{ opacity:.25; transform:scale(1); } 50%{ opacity:0; transform:scale(1.6); } }
.hn-caption{
  text-align:center; min-height:64px; --cap-accent:#F09436;
}
.hn-caption-eyebrow{ font-family:'Space Grotesk',sans-serif; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--cap-accent); }
.hn-caption-name{ font-family:'Space Grotesk',sans-serif; font-size:20px; font-weight:700; color:#fff; margin-top:4px; }
.hn-caption-role{ font-size:13px; color:rgba(255,255,255,.78); margin-top:2px; }

/* ===== image placeholders (stand-ins for real photography) ===== */
.img-placeholder{
  position:relative; width:100%; border-radius:var(--radius);
  background-image:repeating-linear-gradient(135deg, rgba(33,64,154,.06) 0 12px, transparent 12px 24px);
  border:1.5px dashed var(--line);
  display:flex; align-items:center; justify-content:center;
}
.img-placeholder span{
  font-family:'Space Grotesk',sans-serif; font-size:12px; font-weight:600;
  color:var(--muted); background:#fff; padding:6px 14px; border-radius:100px; border:1px solid var(--line);
}

/* ===== split feature blocks (alternating text / visual) ===== */
.split-block{ display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
.split-block.reverse{ direction:rtl; }
.split-block.reverse > *{ direction:ltr; }
.split-block .split-text p{ color:var(--muted); font-size:15px; }

/* ===== pull quotes ===== */
.pull-quote{ margin:0; padding:0 0 0 24px; border-left:3px solid var(--accent); }
.pull-quote p{
  font-family:'Space Grotesk',sans-serif; font-size:clamp(20px,2.6vw,28px); font-weight:600;
  line-height:1.35; margin:0 0 10px; color:var(--dark);
}
.pull-quote footer{ font-size:13px; color:var(--muted); }

/* ===== big number rows ===== */
.big-number-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:24px; }
.bn-num{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(32px,4vw,46px); color:var(--accent); line-height:1; }
.bn-label{ font-size:13px; color:var(--muted); margin-top:8px; }

/* ===== stat strip ===== */
.stat-strip{
  display:grid; grid-template-columns:repeat(7,1fr);
  border-top:1px solid rgba(255,255,255,.18);
  margin-top:44px;
}
.stat-strip .stat{ padding:18px 16px 0; }
.stat-strip .stat-num{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:26px; }
.stat-strip .stat-label{ font-size:11.5px; opacity:.75; margin-top:2px; }
@media (max-width:980px){
  .stat-strip{ grid-template-columns:repeat(4,1fr); }
}
@media (max-width:620px){
  .stat-strip{ grid-template-columns:repeat(2,1fr); }
}

/* ===== sections ===== */
.section{ padding:76px 0; }
.section.off-white{ background:var(--off-white); }
.section.navy{ background:var(--navy); color:#fff; }
.section.dark{ background:var(--dark); color:#fff; }
.section-head{ max-width:680px; margin-bottom:44px; }
#entities .section-head{ max-width:820px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-head h2{ font-size:clamp(26px,3.2vw,38px); }
.section-head p{ font-size:16px; color:var(--muted); }
.section.navy .section-head p,.section.dark .section-head p{ color:rgba(255,255,255,.78); }

/* ===== grids & cards ===== */
.grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.grid-6{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }

.card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:26px 24px; transition:.18s ease;
}
.card:hover{ box-shadow:var(--shadow-sm); transform:translateY(-2px); }
.card-icon{
  width:46px; height:46px; border-radius:12px;
  background:var(--accent-soft); color:var(--accent);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.card-icon svg{ width:24px; height:24px; }
.card h3{ font-size:17px; margin-bottom:8px; }
.card p{ font-size:14px; color:var(--muted); margin-bottom:0; }

.entity-card{
  position:relative; border-radius:var(--radius-lg); overflow:hidden;
  background:#fff; border:1px solid var(--line); color:var(--dark); min-height:230px;
  display:flex; flex-direction:column; justify-content:flex-start; gap:18px;
  padding:26px; transition:.2s ease;
}
.entity-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--card-accent, var(--navy));
}
.entity-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); border-color:#D8D5CC; }
.entity-card .logo-wrap{ height:34px; display:flex; align-items:center; }
.entity-card .logo-wrap img{ height:100%; width:auto; }
.entity-card .tagline{ font-size:13px; color:var(--muted); }
.entity-card .go{
  font-family:'Space Grotesk',sans-serif; font-size:12.5px; font-weight:600;
  display:inline-flex; align-items:center; gap:6px;
  color:var(--card-accent, var(--navy));
}
.entity-card .pending-tag{
  position:absolute; top:16px; right:16px; font-size:9.5px; letter-spacing:.06em;
  text-transform:uppercase; background:var(--off-white); color:var(--muted);
  padding:4px 8px; border-radius:100px; border:1px solid var(--line);
}

/* Entities section grid: a shared subgrid so the logo row, tagline row and
   services row line up at the same height across all three cards in a row —
   the divider line between description and services stays level with its
   neighbors no matter how long any one card's text runs. */
.entity-row{
  display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(3,auto);
  gap:20px;
}
.entity-row > .entity-card{
  display:grid; grid-template-rows:subgrid; grid-row:span 3; gap:18px;
}
@media (max-width:980px){
  .entity-row{ grid-template-columns:repeat(2,1fr); grid-template-rows:none; }
  .entity-row > .entity-card{ grid-template-rows:none; grid-row:auto; display:flex; flex-direction:column; justify-content:flex-start; }
}
@media (max-width:620px){
  .entity-row{ grid-template-columns:1fr; }
}

/* entity cards that expand in place instead of navigating (cite/its/slf) */
.entity-card-static:hover{ transform:none; box-shadow:none; border-color:var(--line); cursor:default; }
.entity-card-static .go{
  color:var(--muted); font-weight:500; text-transform:none; letter-spacing:0;
  font-size:11px; line-height:1.5; display:block;
  border-top:1px solid var(--line); padding-top:14px;
}
.entity-card-small{
  min-height:auto; padding:18px; gap:12px;
  display:flex; flex-direction:column; justify-content:flex-start;
}
.entity-card-small .logo-wrap{ height:20px; }
.entity-card-small .tagline{ font-size:12px; max-width:none; }
.entity-card-expand{ padding:0; cursor:pointer; }
.entity-card-expand summary{
  list-style:none; cursor:pointer; padding:26px; min-height:178px;
  display:flex; flex-direction:column; justify-content:space-between;
}
.entity-card-expand summary::-webkit-details-marker{ display:none; }
.entity-card-expand .go svg{ transition:transform .18s ease; }
.entity-card-expand[open] .go svg{ transform:rotate(180deg); }
.entity-card-expand .entity-card-desc{
  font-size:13px; color:var(--muted); line-height:1.6;
  padding:0 26px 26px; margin-top:-8px;
}

.stat-card{
  border:1px solid var(--line); border-radius:var(--radius); padding:24px;
  background:#fff;
}
.stat-card .num{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:30px; color:var(--accent); }
.stat-card .label{ font-size:13px; color:var(--muted); margin-top:4px; }

/* ===== icon chips ===== */
.mini-icon{
  width:34px; height:34px; border-radius:9px; flex-shrink:0;
  background:var(--accent-soft); color:var(--accent);
  display:flex; align-items:center; justify-content:center;
}
.mini-icon svg{ width:17px; height:17px; }
.stat-card .mini-icon{ margin-bottom:14px; }

.icon-cluster{
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:28px; max-width:440px; width:100%;
}
.icon-chip-lg{
  aspect-ratio:1; border-radius:16px;
  display:flex; align-items:center; justify-content:center; flex-direction:column; gap:9px;
  text-align:center; padding:10px;
}
.icon-chip-lg svg{ width:24px; height:24px; }
.icon-chip-lg span{
  font-family:'Space Grotesk',sans-serif; font-size:11.5px; font-weight:600;
}

.pillar-list{ display:flex; flex-direction:column; }
.pillar{
  display:grid; grid-template-columns:52px 1fr; gap:18px;
  padding:22px 0; border-top:1px solid var(--line);
}
.pillar:last-child{ border-bottom:1px solid var(--line); }
.pillar-num{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:20px; color:var(--accent); }
.pillar h4{ font-size:16px; margin-bottom:4px; }
.pillar p{ font-size:14px; color:var(--muted); margin-bottom:0; }

.value-card{ display:flex; gap:14px; align-items:flex-start; padding:22px 0; border-top:1px solid var(--line); }
.value-card:last-child{ border-bottom:1px solid var(--line); }
.value-card h4{ font-size:15.5px; margin-bottom:4px; }
.value-card p{ font-size:13.5px; color:var(--muted); margin-bottom:0; }

.testimonial{
  border:1px solid var(--line); border-radius:var(--radius); padding:26px;
  background:#fff; display:flex; flex-direction:column; height:100%;
}
.testimonial p{ font-size:14.5px; color:var(--dark); flex:1; }
.testimonial .who{ font-size:13px; font-weight:600; margin-top:10px; }
.testimonial .role{ font-size:12px; color:var(--muted); }

.warehouse-card{ border:1px solid var(--line); border-radius:var(--radius); padding:22px; background:#fff; }
.warehouse-card .wh-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.warehouse-card .size{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:22px; color:var(--accent); }
.warehouse-card .site{ font-size:13px; color:var(--muted); margin-top:2px; }
.spec-row{ display:flex; justify-content:space-between; font-size:12.5px; padding:6px 0; border-top:1px solid var(--line); }
.spec-row span:first-child{ color:var(--muted); }

/* ===== timeline (legacy) ===== */
.timeline{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.timeline-item{ border-top:3px solid var(--accent); padding-top:16px; }
.timeline-item .mini-icon{ margin-bottom:12px; }
.timeline-item .years{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:18px; }
.timeline-item .tag{ font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); margin:4px 0 8px; }
.timeline-item p{ font-size:13px; color:var(--muted); margin:0; }

/* ===== structure diagram ===== */
.structure-diagram{ width:100%; height:auto; }
.structure-legend{ display:flex; flex-wrap:wrap; gap:14px; margin-top:26px; }
.structure-legend .item{ display:flex; align-items:center; gap:8px; font-size:12.5px; }
.structure-legend .dot{ width:10px; height:10px; border-radius:50%; }
.investments-strip{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:18px;
}
.investment-card{ display:flex; gap:12px; align-items:flex-start; border:1px dashed var(--line); border-radius:var(--radius); padding:18px; }
.investment-card b{ font-family:'Space Grotesk',sans-serif; font-size:14px; display:block; margin-bottom:4px; }
.investment-card span{ font-size:12.5px; color:var(--muted); }

/* ===== CTA band ===== */
.cta-band{
  background:var(--navy); color:#fff; border-radius:var(--radius-lg);
  padding:52px clamp(24px,5vw,64px); display:flex; align-items:center; justify-content:space-between;
  gap:30px; flex-wrap:wrap;
}
.cta-band h2{ font-size:clamp(24px,3vw,32px); margin-bottom:6px; }
.cta-band p{ color:rgba(255,255,255,.78); margin:0; }

/* ===== contact ===== */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; }
.contact-card{ display:flex; gap:14px; align-items:flex-start; border:1px solid var(--line); border-radius:var(--radius); padding:22px; margin-bottom:14px; }
.contact-card .label{ font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); font-weight:600; margin-bottom:6px; }
.contact-card .value{ font-family:'Space Grotesk',sans-serif; font-size:16px; }
.form-field{ margin-bottom:16px; }
.form-field label{ display:block; font-size:12.5px; font-weight:600; margin-bottom:6px; }
.form-field input,.form-field textarea,.form-field select{
  width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:var(--radius-sm);
  font-family:'Inter',sans-serif; font-size:14px; background:#fff;
}
.form-field input:focus,.form-field textarea:focus{ outline:none; border-color:var(--accent); }
.form-note{ font-size:12px; color:var(--muted); margin-top:10px; }

/* ===== footer ===== */
.footer{ background:var(--dark); color:#D8D8D4; padding:56px 0 26px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:36px; margin-bottom:42px; }
.footer-logo img{ height:24px; margin-bottom:14px; }
.footer p.tag{ font-size:13.5px; color:#9C9C97; max-width:280px; }
.footer h5{ font-family:'Space Grotesk',sans-serif; font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:#fff; margin-bottom:14px; }
.footer li{ margin-bottom:10px; }
.footer a{ font-size:13.5px; color:#B7B7B2; }
.footer a:hover{ color:#fff; }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1); padding-top:22px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  font-size:12px; color:#8B8B86;
}

/* ===== icon set (shared inline svg colors) ===== */
.icon-line{ stroke:currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

/* ===== utility ===== */
.mt-0{ margin-top:0; }
.text-center{ text-align:center; }
.tag-pill{
  display:inline-block; font-size:11px; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  padding:5px 12px; border-radius:100px; background:var(--accent-soft); color:var(--accent);
}

/* ===== responsive ===== */
@media (max-width:980px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-art{ order:-1; margin-bottom:10px; }
  .split-block,.split-block.reverse{ grid-template-columns:1fr; direction:ltr; gap:28px; }
  .grid-2,.grid-3,.grid-4{ grid-template-columns:repeat(2,1fr); }
  .grid-6{ grid-template-columns:repeat(3,1fr); }
  .contact-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .timeline{ grid-template-columns:repeat(2,1fr); }
  .investments-strip{ grid-template-columns:repeat(2,1fr); }
  .nav-links{ display:none; }
}
@media (max-width:620px){
  .grid-2,.grid-3,.grid-4,.grid-6{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .timeline{ grid-template-columns:1fr; }
  .investments-strip{ grid-template-columns:1fr; }
  .hero{ padding:56px 0 48px; }
  .section{ padding:52px 0; }
}

/* announcement popup + reopen shortcut */
.announce-overlay{
  position:fixed; inset:0; z-index:1000;
  background:rgba(15,20,35,.55);
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  opacity:0; visibility:hidden; transition:opacity .22s ease, visibility .22s ease;
}
.announce-overlay.is-open{ opacity:1; visibility:visible; }
.announce-modal{
  position:relative; background:#fff; border-radius:var(--radius-lg);
  max-width:460px; width:100%; padding:40px 36px 36px;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  transform:translateY(10px) scale(.98); transition:transform .22s ease;
  text-align:center;
}
.announce-overlay.is-open .announce-modal{ transform:translateY(0) scale(1); }
.announce-close{
  position:absolute; top:14px; right:14px; width:32px; height:32px;
  border:none; background:var(--off-white); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--dark); transition:.15s;
}
.announce-close:hover{ background:var(--line); }
.announce-badge{
  display:inline-block; font-family:var(--font-mono,'Space Grotesk',sans-serif);
  font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--navy); background:#EDF1FA; padding:6px 12px; border-radius:100px;
  margin-bottom:20px;
}
.announce-logo{ height:24px; width:auto; margin:0 auto 20px; display:block; }
.announce-modal h2{ font-size:22px; margin:0 0 12px; }
.announce-modal p{ font-size:14.5px; color:var(--muted); line-height:1.6; margin:0 0 26px; }
.announce-modal .btn{ width:100%; justify-content:center; }
.announce-reopen{
  position:fixed; right:22px; bottom:22px; z-index:900;
  display:inline-flex; align-items:center; gap:8px;
  background:var(--navy); color:#fff; border:none; border-radius:100px;
  padding:12px 18px; font-size:13.5px; font-weight:600;
  font-family:'Inter',sans-serif; cursor:pointer;
  box-shadow:0 10px 28px rgba(11,30,92,.3);
  transition:.15s;
}
.announce-reopen:hover{ background:#152b70; }
@media (max-width:620px){
  .announce-modal{ padding:32px 24px 28px; }
  .announce-reopen{ right:14px; bottom:14px; padding:11px 16px; font-size:13px; }
}

/* top announcement bar (above nav) */
.announce-bar{ background:#152b70; color:#fff; }
.announce-bar-inner{
  max-width:var(--maxw); margin:0 auto; padding:10px clamp(20px,5vw,56px);
  display:flex; align-items:center; justify-content:center; gap:10px;
  font-size:13px; text-align:center; flex-wrap:wrap;
}
.announce-bar-tag{
  background:#F09436; color:#1B1B1B; font-weight:700; font-size:10.5px;
  text-transform:uppercase; letter-spacing:.05em; padding:3px 9px; border-radius:100px;
  flex-shrink:0;
}
.announce-bar-link{
  display:inline-flex; align-items:center; gap:4px; color:#fff;
  font-weight:600; text-decoration:underline; text-underline-offset:2px; flex-shrink:0;
}
@media (max-width:620px){
  .announce-bar-inner{ font-size:12px; padding:9px 16px; }
}

/* footer variant with entity names as plain text, not links */
.footer-grid-slim{ grid-template-columns:1.6fr 1fr 1fr; }
@media (max-width:980px){
  .footer-grid-slim{ grid-template-columns:1fr 1fr; }
}
@media (max-width:620px){
  .footer-grid-slim{ grid-template-columns:1fr; }
}
