@font-face { font-family: "Poppins"; src: url("../fonts/poppins-latin-400-normal.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/poppins-latin-500-normal.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/poppins-latin-600-normal.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/poppins-latin-700-normal.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }

:root {
  --blue: #19459d;
  --blue-deep: #0b2d6b;
  --blue-ink: #071c40;
  --cyan: #00a5df;
  --cyan-bright: #18bdec;
  --yellow: #febf33;
  --paper: #f4f7fb;
  --white: #ffffff;
  --ink: #0b1930;
  --muted: #56647a;
  --line: #dfe6f1;
  --shadow: 0 24px 70px rgba(7, 28, 64, 0.13);
  --radius: 28px;
  --shell: min(1240px, calc(100vw - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: "Poppins", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body, button, input, textarea { font-family: "Poppins", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -0.04em; line-height: 1.08; }
h1 { font-size: clamp(3.4rem, 7.4vw, 7.4rem); }
h2 { font-size: clamp(2.35rem, 4.6vw, 4.8rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.7rem); }
p { color: var(--muted); }
::selection { background: var(--yellow); color: var(--blue-ink); }

.shell { width: var(--shell); margin-inline: auto; }
.section { padding: clamp(84px, 10vw, 150px) 0; }
.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;
}
.skip-link {
  position: fixed; z-index: 200; top: 12px; left: 12px; padding: 12px 18px;
  background: var(--yellow); color: var(--ink); transform: translateY(-160%);
  border-radius: 8px; font-weight: 700;
}
.skip-link:focus { transform: translateY(0); }

.eyebrow {
  margin: 0 0 22px; color: var(--blue); font-size: .76rem; font-weight: 700;
  letter-spacing: .15em; text-transform: uppercase;
}
.eyebrow::before {
  content: ""; display: inline-block; width: 32px; height: 3px; margin: 0 12px 3px 0;
  background: var(--cyan);
}
.eyebrow-light { color: var(--white); }
.eyebrow-light::before { background: var(--yellow); }
.lead { font-size: clamp(1.2rem, 1.9vw, 1.55rem); line-height: 1.55; color: var(--ink); }

.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 22px;
  min-height: 58px; padding: 0 27px; border: 1px solid transparent; border-radius: 6px;
  font-size: .88rem; font-weight: 700; transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.button:hover { transform: translateY(-3px); }
.button-yellow { background: var(--yellow); color: var(--blue-ink); box-shadow: 0 12px 30px rgba(254,191,51,.25); }
.button-yellow:hover { box-shadow: 0 18px 40px rgba(254,191,51,.35); }
.button-white { background: var(--white); color: var(--blue); }
.button-blue { background: var(--blue); color: var(--white); }
.button-outline { border-color: var(--blue); color: var(--blue); background: transparent; }
.text-link {
  display: inline-flex; gap: 18px; align-items: center; color: var(--blue); font-weight: 700;
  font-size: .9rem; border-bottom: 1px solid rgba(25,69,157,.3); padding-bottom: 5px;
}
.text-link:hover span { transform: translateX(5px); }
.text-link span { transition: transform .2s ease; }
.text-link-light { color: var(--white); border-color: rgba(255,255,255,.35); }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(7,28,64,.08); backdrop-filter: blur(18px);
}
.header-inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { width: 178px; flex: 0 0 auto; }
.brand img { width: 100%; height: 62px; object-fit: contain; }
.site-nav { display: flex; align-items: center; gap: clamp(20px, 2.5vw, 38px); }
.site-nav > a { position: relative; color: #29354a; font-size: .82rem; font-weight: 600; }
.site-nav > a:not(.nav-contact)::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: -10px; height: 2px;
  background: var(--cyan); transition: right .25s ease;
}
.site-nav > a:hover::after, .site-nav > a.active::after { right: 0; }
.site-nav .nav-contact {
  min-height: 46px; display: inline-flex; align-items: center; gap: 16px; padding: 0 18px;
  border-radius: 5px; background: var(--blue); color: var(--white); box-shadow: 0 9px 24px rgba(25,69,157,.2);
}
.menu-toggle { display: none; border: 0; background: none; padding: 10px; }
.menu-toggle span:not(.sr-only) { display: block; width: 27px; height: 2px; margin: 5px 0; background: var(--blue); }

/* Hero */
.home-hero { position: relative; min-height: min(820px, calc(100vh - 86px)); overflow: hidden; background: var(--blue-ink); }
.home-hero-image, .home-hero-shade, .home-hero-pattern { position: absolute; inset: 0; }
.home-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: 64% center; }
.home-hero-shade {
  background:
    linear-gradient(90deg, rgba(4,22,58,.99) 0%, rgba(8,42,94,.91) 38%, rgba(8,42,94,.25) 72%, rgba(8,42,94,.1) 100%),
    linear-gradient(0deg, rgba(4,22,58,.42), transparent 55%);
}
.home-hero-pattern {
  opacity: .12; width: 46%; left: auto;
  background-image: repeating-linear-gradient(135deg, transparent 0 23px, rgba(255,255,255,.55) 24px 27px, transparent 28px 48px);
  clip-path: polygon(34% 0,100% 0,100% 100%,0 100%);
}
.home-hero-content { position: relative; z-index: 2; padding: clamp(84px, 11vh, 130px) 0 110px; }
.home-hero h1 { max-width: 950px; margin: 0 0 32px; color: var(--white); font-size: clamp(3.8rem, 7vw, 7rem); }
.home-hero h1::first-line { color: var(--white); }
.hero-copy { max-width: 660px; margin-bottom: 38px; color: rgba(255,255,255,.78); font-size: clamp(1.05rem,1.5vw,1.3rem); }
.hero-actions { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }
.hero-proof {
  display: inline-flex; align-items: center; gap: 13px; margin-bottom: 38px; padding: 8px 13px 8px 8px;
  border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); border-radius: 99px;
  backdrop-filter: blur(10px);
}
.hero-proof span { display: inline-flex; padding: 7px 13px; border-radius: 99px; background: var(--yellow); color: var(--ink); font-weight: 700; font-size: .75rem; text-transform: uppercase; }
.hero-proof p { margin: 0; color: var(--white); font-size: .74rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.hero-marker {
  position: absolute; z-index: 2; right: 34px; bottom: 28px; display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,.7); font-size: .68rem; letter-spacing: .12em;
}
.marker-line { width: 84px; height: 1px; background: rgba(255,255,255,.35); }

.stat-band { background: var(--yellow); }
.stat-grid { display: grid; grid-template-columns: repeat(5, 1fr); }
.stat-item { min-height: 132px; padding: 25px 25px 22px 0; border-right: 1px solid rgba(7,28,64,.17); display: flex; flex-direction: column; justify-content: center; }
.stat-item + .stat-item { padding-left: 25px; }
.stat-item strong { color: var(--blue-ink); font-size: clamp(2rem,3.3vw,3.1rem); line-height: 1; letter-spacing: -.05em; }
.stat-item span { margin-top: 10px; max-width: 150px; color: rgba(7,28,64,.7); font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; line-height: 1.35; }
.stat-footprint { grid-column: 1/-1; display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 58px; color: var(--blue-ink); font-size: .74rem; font-weight: 700; text-transform: uppercase; white-space: nowrap; border-top: 1px solid rgba(7,28,64,.12); }
.pulse-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 6px rgba(25,69,157,.13); }

/* Common content */
.split-intro, .editorial-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(60px, 9vw, 150px); align-items: start; }
.split-intro h2, .editorial-grid h2 { max-width: 700px; margin-bottom: 0; color: var(--blue-ink); }
.intro-copy p:not(.lead), .rich-copy p:not(.lead) { max-width: 660px; }
.intro-copy .text-link, .rich-copy .button { margin-top: 20px; }
.section-heading { max-width: 760px; margin-bottom: 56px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading-row { max-width: none; display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.section-heading-row > div { max-width: 760px; }

.solutions-section { background: var(--paper); }
.solution-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid #cad5e5; border-left: 1px solid #cad5e5; }
.solution-card { position: relative; min-height: 390px; padding: 38px; border-right: 1px solid #cad5e5; border-bottom: 1px solid #cad5e5; background: var(--white); overflow: hidden; }
.solution-card:nth-child(2), .solution-card:nth-child(3) { background: #eef7fb; }
.solution-card::before { content: ""; position: absolute; inset: auto -60px -80px auto; width: 200px; height: 200px; border: 32px solid rgba(0,165,223,.08); border-radius: 50%; }
.solution-number { color: var(--cyan); font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.solution-symbol { width: 74px; height: 74px; margin: 46px 0 38px; border: 2px solid var(--cyan); border-radius: 50%; display: grid; place-content: center; gap: 6px; }
.solution-symbol span { display: block; width: 28px; height: 3px; background: var(--blue); border-radius: 3px; }
.solution-card h3 { font-size: clamp(1.65rem,2.5vw,2.4rem); margin-bottom: 16px; }
.solution-card p { max-width: 510px; margin: 0; }
.solution-card > a { position: absolute; right: 32px; bottom: 30px; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--blue); border-radius: 50%; color: var(--blue); }

.impact-feature { background: linear-gradient(135deg,var(--blue-deep),var(--blue)); color: var(--white); }
.impact-grid { display: grid; grid-template-columns: 1.06fr .94fr; align-items: center; gap: clamp(50px,8vw,120px); }
.impact-visual { position: relative; min-height: 650px; box-shadow: 40px 40px 0 rgba(0,165,223,.22); overflow: hidden; }
.impact-visual > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.impact-caption { position: absolute; left: 28px; right: 28px; bottom: 28px; display: flex; justify-content: space-between; gap: 30px; align-items: center; padding: 20px 24px; background: rgba(7,28,64,.88); backdrop-filter: blur(10px); }
.impact-caption span { color: var(--cyan-bright); font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; }
.impact-caption strong { font-size: .9rem; }
.impact-copy h2 { margin-bottom: 28px; color: var(--white); }
.impact-copy > p { color: rgba(255,255,255,.75); }
.check-list { list-style: none; padding: 10px 0 22px; margin: 0; }
.check-list li { position: relative; padding: 15px 0 15px 32px; border-bottom: 1px solid rgba(255,255,255,.15); color: var(--white); }
.check-list li::before { content: "↗"; position: absolute; left: 0; color: var(--yellow); }

.ecosystem-section { overflow: hidden; }
.ecosystem-grid { min-height: 660px; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 70px; }
.ecosystem-copy h2 { margin-bottom: 28px; }
.ecosystem-copy p:not(.eyebrow) { max-width: 560px; }
.orbit { position: relative; width: min(620px, 45vw); aspect-ratio: 1; margin-left: auto; }
.orbit-ring { position: absolute; inset: 10%; border: 1px solid #bac9df; border-radius: 50%; }
.orbit-ring::before, .orbit-ring::after { content: ""; position: absolute; width: 13px; height: 13px; border-radius: 50%; background: var(--cyan); }
.orbit-ring::before { top: 20%; left: 1%; }.orbit-ring::after { bottom: 12%; right: 7%; background: var(--yellow); }
.ring-two { inset: 27%; border-style: dashed; animation: spin 28s linear infinite; }
.ring-two::before { top: -7px; left: 50%; }.ring-two::after { bottom: -7px; right: 50%; }
.orbit-center { position: absolute; inset: 39%; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg,var(--blue),var(--cyan)); color: var(--white); font-size: 1.5rem; font-weight: 700; box-shadow: 0 22px 55px rgba(25,69,157,.28); }
.orbit-label { position: absolute; padding: 10px 16px; border-radius: 99px; background: var(--white); border: 1px solid var(--line); box-shadow: 0 10px 32px rgba(7,28,64,.1); color: var(--blue); font-size: .75rem; font-weight: 700; }
.label-passengers { top: 8%; left: 30%; }.label-operators { top: 45%; right: 0; }.label-cities { bottom: 10%; left: 22%; }.label-partners { top: 43%; left: -2%; }
@keyframes spin { to { transform: rotate(360deg); } }

.insight-section { background: var(--paper); }
.insight-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.insight-card { min-height: 430px; padding: 30px; display: flex; flex-direction: column; background: var(--white); border-top: 5px solid var(--cyan); }
.insight-card-2 { background: var(--blue); color: var(--white); border-top-color: var(--yellow); transform: translateY(28px); }
.insight-card-2 p { color: rgba(255,255,255,.72); }
.insight-card-3 { border-top-color: var(--blue); }
.insight-meta { display: flex; justify-content: space-between; gap: 18px; color: var(--cyan); font-size: .67rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.insight-card h3 { margin-top: 70px; font-size: clamp(1.55rem,2.25vw,2.2rem); }
.insight-card > a { margin-top: auto; font-size: .78rem; font-weight: 700; color: var(--blue); }
.insight-card-2 > a { color: var(--yellow); }

.partner-strip { padding: 66px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.partner-list { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.partner-list span { padding: 12px 17px; border: 1px solid var(--line); border-radius: 3px; color: #4d5c72; font-size: .76rem; font-weight: 600; }

.cta-section { position: relative; overflow: hidden; background: linear-gradient(135deg,var(--blue),var(--cyan)); }
.cta-pattern, .footer-pattern, .article-hero-pattern {
  position: absolute; inset: 0; opacity: .12;
  background-image: repeating-linear-gradient(135deg, transparent 0 24px, rgba(255,255,255,.55) 25px 28px, transparent 29px 50px);
}
.cta-inner { position: relative; z-index: 1; padding: clamp(85px,10vw,140px) 0; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 40px; }
.cta-inner .eyebrow { grid-column: 1/-1; margin-bottom: -16px; }
.cta-inner h2 { max-width: 850px; margin: 0; color: var(--white); }

/* Page heroes */
.page-hero { position: relative; overflow: hidden; padding: clamp(95px,11vw,160px) 0 clamp(84px,9vw,130px); background: linear-gradient(135deg,var(--blue-deep),var(--blue) 60%,var(--cyan)); color: var(--white); }
.page-hero::after { content: ""; position: absolute; right: -7%; top: -30%; width: 42vw; height: 42vw; border: 80px solid rgba(255,255,255,.06); border-radius: 50%; }
.page-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.4fr .6fr; gap: 70px; align-items: end; }
.page-hero h1 { max-width: 950px; margin: 0; font-size: clamp(3.1rem,6.1vw,6.2rem); }
.page-hero-side { padding-left: 30px; border-left: 1px solid rgba(255,255,255,.28); }
.page-hero-side p { margin: 48px 0 0; color: rgba(255,255,255,.76); }
.page-index { color: var(--yellow); font-size: .8rem; letter-spacing: .2em; font-weight: 700; }
.page-hero-orb { position: absolute; border-radius: 50%; background: rgba(255,255,255,.06); }
.orb-one { width: 240px; height: 240px; right: 18%; bottom: -140px; }.orb-two { width: 90px; height: 90px; right: 6%; top: 16%; }

.blue-section { background: linear-gradient(135deg,var(--blue-deep),var(--blue)); color: var(--white); }
.blue-section h2, .blue-section h3 { color: var(--white); }
.mission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.18); }
.mission-grid article { min-height: 430px; padding: clamp(40px,5vw,75px); background: var(--blue); }
.mission-grid article:nth-child(2) { background: #103a85; }
.mission-grid span { color: var(--yellow); font-size: .75rem; text-transform: uppercase; letter-spacing: .15em; font-weight: 700; }
.mission-grid h3 { margin-top: 90px; font-size: clamp(2rem,3.4vw,3.4rem); }
.value-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.value-card { padding: 32px; min-height: 310px; border: 1px solid var(--line); background: var(--white); }
.value-card > span { color: var(--cyan); font-size: .72rem; font-weight: 700; }
.value-card h3 { margin-top: 60px; }
.value-card p { font-size: .9rem; }
.story-section { background: var(--blue-ink); color: var(--white); }
.story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(55px,8vw,110px); align-items: center; }
.story-grid h2 { color: var(--white); }.story-grid p { color: rgba(255,255,255,.72); }
.story-image { position: relative; min-height: 600px; overflow: hidden; }
.story-image img, .solution-photo img, .network-image img, .career-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.solution-detail-list { border-top: 1px solid var(--line); }
.solution-detail { display: grid; grid-template-columns: 90px 1fr .55fr; gap: 50px; align-items: start; padding: 58px 0; border-bottom: 1px solid var(--line); }
.solution-detail > span { color: var(--cyan); font-weight: 700; }
.solution-detail h2 { font-size: clamp(2rem,3.6vw,3.7rem); margin-bottom: 18px; }
.solution-detail p { max-width: 660px; }
.solution-tags { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.solution-tags em { font-style: normal; padding: 8px 12px; background: var(--paper); color: var(--blue); border-radius: 3px; font-size: .7rem; font-weight: 600; }
.solution-photo-section { background: var(--paper); }
.photo-copy-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px,8vw,110px); align-items: center; }
.solution-photo { position: relative; min-height: 600px; box-shadow: -28px 28px 0 var(--cyan); overflow: hidden; }
.plain-list { list-style: none; padding: 14px 0 0; }
.plain-list li { padding: 15px 0; border-bottom: 1px solid var(--line); color: var(--blue-ink); font-weight: 600; }
.plain-list li::before { content: "●"; margin-right: 16px; color: var(--cyan); font-size: .7rem; }
.audience-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.audience-grid .section-heading { grid-column: 1/-1; }
.audience-card { padding: 38px; border: 1px solid rgba(255,255,255,.17); }
.audience-card p { color: rgba(255,255,255,.66); }

.impact-stat-section { background: var(--yellow); padding: 45px 0; }
.stat-grid-large { grid-template-columns: repeat(6,1fr); }
.milestone-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(50px,8vw,120px); }
.milestone-intro { position: sticky; top: 125px; align-self: start; }
.milestone-list article { display: grid; grid-template-columns: 60px 1fr; gap: 28px; padding: 38px 0; border-bottom: 1px solid var(--line); }
.milestone-list article:first-child { padding-top: 0; }
.milestone-list article > span { color: var(--cyan); font-size: .72rem; font-weight: 700; }
.milestone-list h3 { margin-bottom: 12px; font-size: 1.5rem; }
.impact-quote-section { background: var(--blue-ink); color: var(--white); }
.impact-quote-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px,8vw,120px); align-items: center; }
.network-image { position: relative; min-height: 480px; overflow: hidden; }
.impact-quote-grid blockquote { margin: 0; font-size: clamp(2rem,4vw,4.2rem); line-height: 1.25; letter-spacing: -.04em; }
.impact-quote-grid cite { display: block; margin-top: 34px; color: var(--cyan); font-size: .73rem; font-style: normal; letter-spacing: .1em; text-transform: uppercase; }

.featured-insight { position: relative; min-height: 510px; padding: clamp(42px,6vw,80px); display: grid; grid-template-columns: 1.1fr .9fr; overflow: hidden; background: linear-gradient(135deg,var(--blue-deep),var(--blue)); color: var(--white); }
.featured-insight h2 { max-width: 800px; color: var(--white); font-size: clamp(2.5rem,4.3vw,4.6rem); }
.featured-insight p { color: rgba(255,255,255,.72); max-width: 660px; }
.article-meta { display: block; margin-top: 28px; color: var(--cyan); font-size: .73rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.featured-insight .button { margin-top: 28px; }
.featured-insight-graphic { position: relative; min-height: 330px; }
.featured-insight-graphic span { position: absolute; border: 26px solid rgba(255,255,255,.12); border-radius: 50%; }
.featured-insight-graphic span:nth-child(1) { width: 330px; height: 330px; right: -30px; top: 0; }
.featured-insight-graphic span:nth-child(2) { width: 210px; height: 210px; right: 30px; top: 60px; border-color: rgba(0,165,223,.5); }
.featured-insight-graphic span:nth-child(3) { width: 88px; height: 88px; right: 91px; top: 121px; background: var(--yellow); border: 0; }
.insights-library { margin-top: 75px; }
.insights-library article { display: grid; grid-template-columns: 110px 1fr; gap: 35px; padding: 52px 0; border-top: 1px solid var(--line); }
.insight-index { color: var(--cyan); font-weight: 700; }
.insights-library h2 { max-width: 850px; font-size: clamp(2rem,3.5vw,3.5rem); }
.insights-library article > div:last-child > p:not(.eyebrow) { max-width: 720px; }
.insights-library .text-link { margin-top: 22px; }
.archive-note { margin-top: 60px; padding: 45px; background: var(--paper); }
.archive-note > div { display: grid; gap: 0; }
.archive-note span { padding: 18px 0; border-bottom: 1px solid var(--line); font-weight: 600; }

.partner-page-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.partner-page-grid > div { min-height: 190px; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.partner-page-grid span { color: var(--cyan); font-size: .7rem; }.partner-page-grid strong { font-size: 1.15rem; }
.partnership-model { background: linear-gradient(135deg,var(--blue-deep),var(--blue)); color: var(--white); }
.partnership-model h2 { color: var(--white); }.rich-copy-light p { color: rgba(255,255,255,.72); }.rich-copy-light .lead { color: var(--white); }
.partner-types { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.partner-types article { min-height: 230px; padding: 38px; background: var(--paper); border-top: 4px solid var(--cyan); }

.governance-intro { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px,8vw,120px); align-items: end; }
.governance-pillars { background: var(--paper); }
.policy-section { background: var(--blue-ink); color: var(--white); }
.policy-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.policy-grid h2 { color: var(--white); }.policy-grid p { color: rgba(255,255,255,.7); }
.policy-links { display: grid; }
.policy-links > span { display: flex; justify-content: space-between; gap: 20px; padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.policy-links em { color: var(--cyan); font-size: .7rem; font-style: normal; text-transform: uppercase; }

.careers-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px,8vw,120px); align-items: center; }
.career-image { position: relative; min-height: 620px; overflow: hidden; box-shadow: 28px 28px 0 var(--yellow); }
.departments-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 50px; }
.departments-grid .section-heading { grid-column: 1/-1; }
.departments-grid > div:not(.section-heading) { display: grid; grid-template-columns: 50px 1fr; padding: 26px 0; border-top: 1px solid rgba(255,255,255,.2); }
.departments-grid span { color: var(--yellow); font-size: .7rem; }.departments-grid strong { color: var(--white); }

.contact-section { background: var(--paper); }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 18px; }
.contact-card { min-height: 490px; padding: clamp(32px,5vw,65px); background: var(--white); }
.contact-card-primary { background: linear-gradient(135deg,var(--blue-deep),var(--blue)); color: var(--white); }
.contact-card-primary > a { display: block; margin: 26px 0; font-size: clamp(1.3rem,2.2vw,2rem); font-weight: 600; }
.contact-card-primary > p:last-child { margin-top: 65px; color: rgba(255,255,255,.7); }
.contact-card:not(.contact-card-primary) > a { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.contact-card a span { display: grid; gap: 6px; }.contact-card a small { color: var(--muted); }.contact-card a em { color: var(--cyan); font-style: normal; font-size: 1.4rem; }
.contact-map { position: relative; height: 370px; margin-top: 18px; overflow: hidden; background: #e7eef7; }
.map-grid { position: absolute; inset: -20%; background-image: linear-gradient(rgba(25,69,157,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(25,69,157,.09) 1px,transparent 1px); background-size: 48px 48px; transform: rotate(-10deg); }
.map-pin { position: absolute; left: 52%; top: 44%; width: 78px; height: 78px; display: grid; place-items: center; border-radius: 50% 50% 50% 8px; transform: rotate(-45deg); background: var(--blue); box-shadow: 0 18px 40px rgba(25,69,157,.3); }
.map-pin span { transform: rotate(45deg); color: var(--white); font-weight: 700; }.map-pin small { position: absolute; width: 100px; top: 85px; left: 43px; transform: rotate(45deg); color: var(--blue); font-weight: 700; }
.contact-map > p { position: absolute; right: 28px; bottom: 18px; font-size: .7rem; }

/* Nationwide reach, partnerships, team and verification */
.nationwide-section { background: var(--paper); }
.nationwide-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(50px,8vw,110px); align-items: center; }
.nationwide-image { position: relative; min-height: 590px; overflow: hidden; box-shadow: -28px 28px 0 var(--yellow); }
.nationwide-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.partnership-invite { background: linear-gradient(135deg,var(--blue-ink),var(--blue)); color: var(--white); }
.partnership-invite-grid, .research-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px,8vw,110px); align-items: center; }
.partnership-invite h2 { color: var(--white); }
.partnership-invite p { color: rgba(255,255,255,.76); }
.partnership-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; margin-top: 32px; }
.research-partnership { background: var(--paper); }
.team-section { background: var(--paper); }
.team-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.team-card { padding: 18px 18px 30px; background: var(--white); border-bottom: 4px solid var(--cyan); }
.team-photo-placeholder { position: relative; height: 330px; margin-bottom: 28px; overflow: hidden; background: linear-gradient(145deg,var(--blue-deep),var(--blue) 60%,var(--cyan)); }
.team-photo-placeholder::before, .team-photo-placeholder::after { content: ""; position: absolute; border: 28px solid rgba(255,255,255,.12); border-radius: 50%; }
.team-photo-placeholder::before { width: 210px; height: 210px; right: -65px; top: -40px; }
.team-photo-placeholder::after { width: 115px; height: 115px; left: 45px; bottom: 35px; border-color: rgba(254,191,51,.5); }
.team-photo-placeholder span { position: absolute; left: 22px; top: 18px; color: var(--white); font-weight: 700; letter-spacing: .12em; }
.team-card .eyebrow { margin-bottom: 16px; font-size: .62rem; }
.team-card h3 { margin-bottom: 10px; }
.team-trust p { color: rgba(255,255,255,.74); }
.verification-section { background: var(--paper); }
.verification-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(50px,8vw,110px); align-items: start; }
.verification-panel { overflow: hidden; background: var(--white); box-shadow: var(--shadow); }
.verification-form { padding: clamp(30px,5vw,60px); background: var(--blue-ink); color: var(--white); }
.verification-form label { display: block; margin-bottom: 14px; font-weight: 700; }
.verification-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.verification-fields .button { grid-column: 1/-1; }
.verification-form input { min-width: 0; min-height: 58px; padding: 0 18px; border: 1px solid rgba(255,255,255,.25); border-radius: 5px; background: rgba(255,255,255,.1); color: var(--white); font: inherit; text-transform: uppercase; }
.verification-form input::placeholder { color: rgba(255,255,255,.5); }
.verification-form small { display: block; margin-top: 14px; color: rgba(255,255,255,.58); }
.verification-result { min-height: 250px; display: grid; align-items: center; padding: clamp(30px,5vw,60px); }
.verified-card { display: grid; grid-template-columns: 70px 1fr; gap: 25px; align-items: start; }
.verified-mark { width: 60px; height: 60px; display: grid; place-items: center; border-radius: 50%; background: var(--cyan); color: var(--white); font-size: 1.8rem; font-weight: 700; }
.verified-card h2 { font-size: clamp(1.8rem,3vw,2.8rem); }
.verified-card strong { color: var(--blue); }
.not-found-card { padding-left: 24px; border-left: 5px solid var(--yellow); }
.theme-credit { opacity: .7; }
.language-selector select { min-height: 36px; padding: 0 8px; border: 1px solid var(--line); background: var(--white); color: var(--blue); font-weight: 700; }
.insight-tools, .directory-tools { display: grid; grid-template-columns: 1.5fr .8fr .8fr; gap: 12px; margin: 70px 0 18px; padding: 22px; background: var(--paper); }
.insight-tools label, .directory-tools label { display: grid; gap: 8px; color: var(--blue-ink); font-size: .72rem; font-weight: 700; }
.insight-tools input, .insight-tools select, .directory-tools input, .directory-tools select { min-width: 0; min-height: 52px; padding: 0 15px; border: 1px solid var(--line); background: var(--white); color: var(--ink); font: inherit; }
.result-count { margin: 0; text-align: right; font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.language-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.language-tags span { padding: 6px 9px; background: var(--paper); color: var(--blue); font-size: .65rem; font-weight: 700; }
.empty-state, .jobs-empty { padding: clamp(35px,6vw,70px); background: var(--paper); border-left: 5px solid var(--yellow); }
.seniority-order { margin: 18px 0 28px; padding: 15px 20px; background: var(--blue-ink); color: var(--white); font-size: .72rem; font-weight: 700; }
.seniority-order span { margin: 0 10px; color: var(--yellow); }
.government-section { background: var(--paper); }
.government-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.government-grid article { min-height: 290px; padding: 28px; background: var(--white); border-top: 4px solid var(--cyan); }
.government-grid article > span { color: var(--cyan); font-size: .74rem; font-weight: 700; }
.government-grid h3 { margin-top: 45px; }
.directory-note { margin-top: 30px; padding: 16px 20px; background: rgba(0,165,223,.08); border-left: 4px solid var(--cyan); font-size: .78rem; }
.jobs-grid, .company-lines-grid, .sales-points-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.jobs-grid article, .company-lines-grid article, .sales-points-grid article { padding: 32px; background: var(--white); border: 1px solid var(--line); }
.jobs-grid article > span, .company-lines-grid article > span { color: var(--cyan); font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.jobs-grid .button { margin-top: 22px; }
.jobs-empty { max-width: 800px; }
.jobs-empty > span { color: var(--cyan); font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.jobs-empty h3 { margin: 22px 0 12px; font-size: 2rem; }
.whatsapp-float { position: fixed; z-index: 90; right: 20px; bottom: 20px; padding: 13px 18px; border-radius: 999px; background: #168c4f; color: var(--white); box-shadow: 0 12px 35px rgba(7,28,64,.25); font-size: .78rem; font-weight: 700; }
.whatsapp-link { font-size: 1rem !important; color: var(--yellow); }
.directory-section { background: var(--paper); }
.company-lines-grid article { display: grid; gap: 12px; }
.company-lines-grid a { color: var(--blue); font-size: 1.8rem; font-weight: 700; }
.sales-points-section { background: var(--white); }
.point-type, .service-badge { display: inline-block; width: fit-content; padding: 6px 9px; border-radius: 3px; font-size: .64rem; font-weight: 700; text-transform: uppercase; }
.point-type.owned { background: var(--blue); color: var(--white); }.point-type.operator { background: var(--yellow); color: var(--blue-ink); }
.sales-points-grid h3 { margin-top: 28px; }
.sales-points-grid ul { padding-left: 18px; color: var(--muted); }
.operator-directory { display: grid; gap: 12px; }
.operator-directory article { display: grid; grid-template-columns: 1fr 1fr .5fr; gap: 30px; align-items: center; padding: 30px; background: var(--white); border-left: 5px solid var(--cyan); }
.operator-directory article > div { display: grid; gap: 8px; }.operator-directory h3 { margin: 8px 0 0; }
.operator-directory small { color: var(--muted); }
.service-badge.city { background: var(--cyan); color: var(--white); }.service-badge.intercity { background: var(--yellow); }.service-badge.both { background: var(--blue); color: var(--white); }
.faq-preview-grid, .faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(50px,8vw,110px); }
.faq-preview-grid > div:first-child { align-self: start; position: sticky; top: 120px; }.faq-preview-grid .button { margin-top: 25px; }
.faq-preview-grid details, .faq-group details { border-top: 1px solid var(--line); }
.faq-preview-grid summary, .faq-group summary { display: flex; justify-content: space-between; gap: 24px; padding: 24px 0; cursor: pointer; color: var(--blue-ink); font-weight: 700; list-style: none; }
.faq-preview-grid summary span, .faq-group summary span { color: var(--cyan); font-size: 1.4rem; }
.faq-preview-grid details p, .faq-group details p { padding: 0 45px 24px 0; }
.faq-layout aside { position: sticky; top: 120px; align-self: start; display: grid; }
.faq-layout aside a { padding: 13px 0; border-top: 1px solid var(--line); color: var(--blue); font-weight: 600; }
.faq-group { padding-bottom: 65px; scroll-margin-top: 120px; }
.faq-group .eyebrow { margin-bottom: 12px; }

/* Articles */
.article-hero { position: relative; overflow: hidden; padding: 92px 0 120px; background: linear-gradient(135deg,var(--blue-ink),var(--blue)); color: var(--white); }
.article-hero-inner { position: relative; z-index: 1; }
.article-back { display: inline-block; margin-bottom: 72px; color: rgba(255,255,255,.7); font-size: .8rem; }
.article-hero h1 { max-width: 1050px; margin: 0 0 35px; font-size: clamp(3rem,6vw,6.2rem); }
.article-deck { max-width: 790px; color: rgba(255,255,255,.74); font-size: clamp(1.12rem,1.8vw,1.5rem); }
.article-byline { display: flex; gap: 28px; margin-top: 48px; color: var(--yellow); font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; }
.article-image-wrap { margin-top: -64px; position: relative; z-index: 2; height: min(650px,60vw); overflow: hidden; box-shadow: var(--shadow); }
.article-image-wrap img { width: 100%; height: 100%; object-fit: cover; }
.article-layout { display: grid; grid-template-columns: 260px minmax(0,760px); justify-content: center; gap: 85px; padding-top: 100px; padding-bottom: 130px; }
.article-aside { position: sticky; top: 120px; align-self: start; padding-top: 8px; }
.article-aside > p { color: var(--ink); font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.article-aside a { display: grid; grid-template-columns: 34px 1fr; padding: 14px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .73rem; line-height: 1.4; }
.article-aside a span { color: var(--cyan); font-weight: 700; }
.article-content > section { padding: 0 0 72px; scroll-margin-top: 120px; }
.section-count { color: var(--cyan); font-weight: 700; font-size: .73rem; }
.article-content h2 { font-size: clamp(2.1rem,3.5vw,3.5rem); }
.article-content > section > p:not(.section-count), .article-content li { font-size: 1.08rem; line-height: 1.85; }
.article-content ul { padding: 18px 0 10px; list-style: none; }
.article-content li { padding: 15px 0 15px 28px; border-bottom: 1px solid var(--line); position: relative; color: var(--ink); }
.article-content li::before { content: "↗"; position: absolute; left: 0; color: var(--cyan); }
.article-signoff { padding: 42px; background: var(--paper); border-left: 5px solid var(--yellow); }
.article-signoff strong { color: var(--blue); font-size: 1.5rem; }.article-signoff .button { margin-top: 14px; }
.related-articles { background: var(--paper); }
.related-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.related-grid > a { min-height: 330px; padding: 35px; display: flex; flex-direction: column; background: var(--white); border-top: 4px solid var(--cyan); }
.related-grid span { color: var(--cyan); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.related-grid h3 { margin-top: 50px; font-size: 1.65rem; }.related-grid em { margin-top: auto; color: var(--blue); font-style: normal; font-weight: 700; font-size: .76rem; }

/* Footer */
.site-footer { position: relative; overflow: hidden; padding: 85px 0 24px; background: var(--blue-ink); color: var(--white); }
.footer-pattern { width: 42%; left: auto; opacity: .04; }
.footer-grid { position: relative; display: grid; grid-template-columns: 1.5fr .7fr .7fr 1fr; gap: 50px; }
.footer-brand img { width: 190px; height: 75px; object-fit: contain; background: var(--white); padding: 8px; border-radius: 4px; }
.footer-brand p { max-width: 360px; margin-top: 26px; color: rgba(255,255,255,.58); }
.footer-label { color: var(--cyan); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.footer-links, .footer-contact { display: grid; gap: 13px; }
.footer-links a, .footer-contact a { color: rgba(255,255,255,.78); font-size: .82rem; }
.footer-contact p { color: rgba(255,255,255,.55); font-size: .78rem; }
.footer-bottom { position: relative; margin-top: 70px; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.14); display: flex; justify-content: space-between; }
.footer-bottom p { margin: 0; color: rgba(255,255,255,.45); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }

@media (max-width: 1020px) {
  :root { --shell: min(100% - 36px, 920px); }
  .site-nav { position: fixed; inset: 87px 0 auto; display: none; padding: 25px 24px 35px; background: var(--white); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); }
  .site-nav.is-open { display: grid; }
  .site-nav > a { padding: 11px 0; font-size: .95rem; }
  .menu-toggle { display: block; }
  .home-hero { min-height: 720px; }
  .home-hero-image img { object-position: 68% center; }
  .home-hero-shade { background: linear-gradient(90deg,rgba(4,22,58,.98) 0%,rgba(8,42,94,.85) 60%,rgba(8,42,94,.38) 100%); }
  .stat-grid { grid-template-columns: repeat(2,1fr); }
  .stat-footprint { min-height: 90px; grid-column: 1/-1; padding-left: 0; }
  .split-intro, .editorial-grid, .impact-grid, .ecosystem-grid, .page-hero-grid, .story-grid, .photo-copy-grid, .milestone-grid, .impact-quote-grid, .governance-intro, .policy-grid, .careers-grid, .contact-grid, .nationwide-grid, .partnership-invite-grid, .research-grid, .verification-grid { grid-template-columns: 1fr; }
  .impact-visual { min-height: 560px; }
  .orbit { width: min(620px,88vw); margin-inline: auto; }
  .insight-grid { grid-template-columns: 1fr 1fr; }.insight-card-2 { transform: none; }.insight-card-3 { grid-column: 1/-1; }
  .value-grid { grid-template-columns: repeat(2,1fr); }
  .solution-detail { grid-template-columns: 55px 1fr; }.solution-tags { grid-column: 2; justify-content: flex-start; }
  .milestone-intro { position: static; }
  .partner-page-grid { grid-template-columns: repeat(2,1fr); }
  .team-grid { grid-template-columns: repeat(2,1fr); }
  .government-grid { grid-template-columns: repeat(2,1fr); }
  .jobs-grid, .company-lines-grid, .sales-points-grid { grid-template-columns: repeat(2,1fr); }
  .operator-directory article { grid-template-columns: 1fr 1fr; }.operator-directory small { grid-column: 1/-1; }
  .faq-preview-grid, .faq-layout { grid-template-columns: 1fr; }.faq-preview-grid > div:first-child, .faq-layout aside { position: static; }
  .article-layout { grid-template-columns: 1fr; gap: 45px; }.article-aside { display: none; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }.footer-brand { grid-column: 1/-1; }
}

@media (max-width: 700px) {
  :root { --shell: calc(100vw - 30px); --radius: 18px; }
  body { font-size: 15px; }
  .section { padding: 82px 0; }
  .header-inner { min-height: 74px; }.brand { width: 145px; }.brand img { height: 52px; }.site-nav { top: 75px; }
  .home-hero { min-height: 760px; }
  .home-hero-image img { object-position: 63% center; }
  .home-hero-shade { background: linear-gradient(0deg,rgba(4,22,58,.99) 0%,rgba(4,22,58,.82) 62%,rgba(4,22,58,.5) 100%); }
  .home-hero-content { padding-top: 70px; }
  .home-hero h1 { font-size: clamp(3.2rem,14vw,5rem); }
  .hero-copy { font-size: 1rem; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 22px; }
  .hero-proof { align-items: flex-start; border-radius: 8px; }.hero-proof p { max-width: 180px; }
  .hero-marker { display: none; }
  .stat-grid { grid-template-columns: 1fr 1fr; }.stat-item { min-height: 115px; padding: 20px 10px 20px 0; }.stat-item + .stat-item { padding-left: 16px; }.stat-item:nth-child(2n) { border-right: 0; }
  .section-heading-row, .cta-inner { display: block; }.section-heading-row .button { margin-top: 28px; }
  .solution-grid, .insight-grid, .mission-grid, .audience-grid, .partner-types, .departments-grid, .related-grid, .team-grid { grid-template-columns: 1fr; }
  .insight-tools, .directory-tools, .government-grid, .jobs-grid, .company-lines-grid, .sales-points-grid { grid-template-columns: 1fr; }
  .operator-directory article { grid-template-columns: 1fr; }.operator-directory small { grid-column: auto; }
  .seniority-order { line-height: 2; }
  .solution-card { min-height: 360px; padding: 28px; }
  .impact-visual, .story-image, .solution-photo, .career-image { min-height: 440px; }
  .nationwide-image { min-height: 430px; }
  .impact-caption { display: grid; left: 15px; right: 15px; bottom: 15px; }
  .ecosystem-grid { min-height: auto; }.orbit { width: 100%; }.orbit-label { font-size: .62rem; padding: 7px 10px; }
  .insight-card, .insight-card-3 { grid-column: auto; min-height: 390px; }
  .cta-inner .button { margin-top: 32px; }.cta-inner .eyebrow { margin-bottom: 20px; }
  .page-hero { padding: 75px 0; }.page-hero h1 { font-size: clamp(2.8rem,13vw,4.8rem); }.page-hero-side { padding-left: 0; border: 0; }.page-hero-side p { margin-top: 22px; }
  .value-grid, .partner-page-grid { grid-template-columns: 1fr; }
  .value-card { min-height: 260px; }.value-card h3 { margin-top: 42px; }
  .solution-detail { grid-template-columns: 1fr; gap: 14px; }.solution-tags { grid-column: auto; }
  .stat-grid-large { grid-template-columns: 1fr 1fr; }.stat-grid-large .stat-item:last-child { grid-column: 1/-1; }
  .featured-insight { grid-template-columns: 1fr; min-height: auto; padding: 34px 26px; }.featured-insight-graphic { min-height: 250px; transform: scale(.8); }
  .insights-library article { grid-template-columns: 45px 1fr; gap: 15px; }
  .policy-links > span { display: grid; }
  .verification-fields { grid-template-columns: 1fr; }
  .verification-fields .button { grid-column: auto; }
  .verification-form .button { width: 100%; }
  .article-hero { padding: 65px 0 100px; }.article-back { margin-bottom: 50px; }.article-hero h1 { font-size: clamp(2.7rem,12vw,4.8rem); }.article-byline { flex-wrap: wrap; gap: 12px 20px; }
  .article-image-wrap { height: 72vw; }
  .article-layout { padding-top: 70px; padding-bottom: 90px; }.article-signoff { padding: 28px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }.footer-brand { grid-column: 1/-1; }.footer-grid > div:last-child { grid-column: 1/-1; }.footer-bottom { display: grid; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* WordPress integration */
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; margin: 0; padding: 12px 18px; top: 10px; left: 10px; z-index: 100000; background: var(--yellow); color: var(--blue-ink); }
.brand .custom-logo-link { display: block; width: 100%; }.brand .custom-logo { width: 100%; height: 62px; object-fit: contain; }
.site-nav .menu-item { list-style: none; }.site-nav > ul { display: contents; }
.site-nav-list > .menu-item > a { position: relative; color: #29354a; font-size: .82rem; font-weight: 600; }
.footer-links ul { display: grid; gap: 13px; margin: 0; padding: 0; }.footer-links li { list-style: none; }
.page-content .rich-copy { max-width: 920px; }.page-content .rich-copy > * { max-width: 820px; }.page-content .rich-copy > .alignwide { max-width: 1160px; margin-left: min(-120px, calc((100vw - 100%) / -2)); }
.page-content h2 { margin-top: 1.7em; }.page-content h3 { margin-top: 1.5em; }.page-content a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.page-content [class*="grid"], .page-content .verification-panel, .page-content .operator-directory, .page-content .faq-group { max-width: none; }
.team-photo-placeholder img { width: 100%; height: 100%; object-fit: cover; position: relative; z-index: 2; }
.operator-directory .directory-tools, .sales-points-grid > .directory-tools { grid-column: 1/-1; }
.operator-directory article > div:nth-child(2) span { display: block; padding: 7px 0; color: var(--muted); }
.pagination, .nav-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 45px; }.page-numbers { display: grid; place-items: center; min-width: 42px; min-height: 42px; border: 1px solid var(--line); }.page-numbers.current { background: var(--blue); color: var(--white); }
.article-content > p, .article-content > ul, .article-content > ol, .article-content > blockquote, .article-content > h2, .article-content > h3 { max-width: 760px; }
.article-content > p, .article-content li { font-size: 1.08rem; line-height: 1.85; }
.article-content h2 { margin-top: 1.6em; }.article-content h3 { margin-top: 1.5em; }
.wp-block-image img { height: auto; }.alignwide { max-width: 1160px; }.alignfull { width: 100vw; margin-left: calc(50% - 50vw); }
.logged-in.admin-bar .site-header { top: 32px; }
.partner-logo-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.partner-logo-grid article { min-height: 170px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; background: #fff; border: 1px solid var(--line); }
.partner-logo-frame { min-height: 78px; display: flex; align-items: center; justify-content: center; padding: 10px; background: #fff; border-radius: 4px; }
.partner-logo { display: block; width: 100%; max-width: 180px; height: 68px; object-fit: contain; }
.partner-logo-fallback { display: grid; place-items: center; min-width: 72px; min-height: 58px; padding: 10px 15px; color: var(--blue); font-weight: 700; letter-spacing: .05em; border: 2px solid var(--blue); }
.government-grid .partner-logo-frame { margin-bottom: 18px; }
.site-search-form { display: flex; align-items: center; min-width: 120px; border: 1px solid var(--line); background: #fff; }
.site-search-form input { width: 88px; min-width: 0; padding: 8px 6px 8px 10px; border: 0; background: transparent; font: inherit; font-size: .78rem; }
.site-search-form button { width: 34px; min-height: 34px; border: 0; background: transparent; color: var(--blue); font-size: 1.1rem; cursor: pointer; }
.footer-search { padding-top: 28px; padding-bottom: 28px; border-top: 1px solid rgba(255,255,255,.14); }
.footer-search form { max-width: 720px; }.footer-search label { display: block; margin-bottom: 10px; color: #fff; font-weight: 600; }
.footer-search form > div, .search-page-form > div { display: flex; gap: 10px; }
.footer-search input, .search-page-form input { flex: 1; min-width: 0; padding: 14px 16px; border: 1px solid var(--line); font: inherit; }
.search-page-form { max-width: 820px; margin-bottom: 40px; }.search-page-form label { display: block; margin-bottom: 10px; font-weight: 600; }
.search-count { margin-bottom: 24px; color: var(--muted); }
.search-results-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.search-results-grid article { padding: 28px; border: 1px solid var(--line); background: #fff; }.search-results-grid h2 { font-size: 1.35rem; }.search-results-grid h2 a { color: var(--blue-ink); }
@media (max-width: 782px) { .logged-in.admin-bar .site-header { top: 46px; } }
@media (max-width: 1020px) { .site-nav-list > .menu-item > a { display: block; padding: 11px 0; font-size: .95rem; } .partner-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .site-search-form { width: 100%; margin-top: 8px; }.site-search-form input { width: auto; flex: 1; } }
@media (max-width: 600px) { .partner-logo-grid, .search-results-grid { grid-template-columns: 1fr; } .footer-search form > div, .search-page-form > div { flex-direction: column; } }
