:root {
  --bg: #030406;
  --bg-2: #06080d;
  --panel: rgba(10, 12, 18, 0.88);
  --panel-solid: #090b10;
  --panel-strong: #0d1017;
  --line: rgba(255,255,255,0.11);
  --line-strong: rgba(255,255,255,0.18);
  --text: #f5f3ee;
  --muted: rgba(244,240,233,0.70);
  --muted-strong: rgba(244,240,233,0.82);
  --ivory: #f2eee5;
  --ivory-2: #ebe4d7;
  --black-soft: #0b0d12;
  --shadow: 0 22px 80px rgba(0, 0, 0, 0.48);
  --radius-xl: 34px;
  --radius-lg: 28px;
  --radius-md: 22px;
  --container: min(1320px, calc(100vw - 32px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 12% 8%, rgba(57, 79, 127, 0.12), transparent 32%),
    radial-gradient(circle at 88% 16%, rgba(199, 214, 255, 0.08), transparent 24%),
    linear-gradient(180deg, #030406 0%, #04060a 18%, #030406 100%);
  color: var(--text);
  min-height: 100vh;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, select { font: inherit; }
.container { width: var(--container); margin: 0 auto; }
.site-noise {
  position: fixed; inset: 0; pointer-events: none; opacity: 0.06; z-index: 1;
  background-image: radial-gradient(rgba(255,255,255,0.8) 0.45px, transparent 0.6px);
  background-size: 7px 7px;
  mix-blend-mode: soft-light;
}
.progress-bar {
  position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 60;
  background: rgba(255,255,255,0.04);
}
.progress-bar span {
  display: block; height: 100%; width: 0%;
  background: linear-gradient(90deg, rgba(255,255,255,0.35), var(--ivory), rgba(255,255,255,0.6));
  box-shadow: 0 0 24px rgba(255,255,255,0.45);
}
.site-header {
  position: sticky; top: 0; z-index: 50;
  padding: 14px 0 0;
}
.nav-shell {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 16px 18px;
  background: linear-gradient(180deg, rgba(10,12,18,0.94), rgba(8,10,15,0.92));
  backdrop-filter: blur(18px) saturate(120%);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 0 0 22px 22px;
  box-shadow: 0 14px 50px rgba(0,0,0,0.35);
}
.site-header.scrolled .nav-shell {
  background: rgba(7,9,13,0.96);
  border-color: rgba(255,255,255,0.12);
}
.brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.brand-mark { width: 46px; height: 46px; object-fit: contain; }
.brand-text { display: grid; line-height: 1; gap: 5px; }
.brand-text strong { font-size: 1.95rem; font-weight: 300; letter-spacing: 0.18em; }
.brand-text span { font-size: 0.66rem; letter-spacing: 0.30em; color: var(--muted); }
.desktop-nav { display: none; align-items: center; gap: 26px; }
.desktop-nav a, .footer-links a {
  color: var(--muted); transition: color .25s ease, transform .25s ease;
}
.desktop-nav a:hover, .footer-links a:hover { color: var(--text); transform: translateY(-1px); }
.nav-actions { display: flex; align-items: center; gap: 12px; }
.lang-wrap {
  position: relative; display: inline-flex;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  overflow: hidden;
}
.lang-select {
  appearance: none; border: 0; color: var(--text); background: transparent;
  padding: 12px 36px 12px 14px; border-radius: 14px; cursor: pointer;
}
.menu-button {
  width: 56px; height: 56px; border-radius: 18px; cursor: pointer;
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.10);
  display: grid; place-items: center; gap: 4px; padding: 0;
}
.menu-button span {
  display: block; width: 22px; height: 1.6px; background: var(--ivory); border-radius: 999px;
  transition: transform .3s ease, opacity .3s ease;
}
.menu-button.open span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.menu-button.open span:nth-child(2) { opacity: 0; }
.menu-button.open span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
.mobile-menu {
  max-height: 0; overflow: hidden; transition: max-height .4s ease;
}
.mobile-menu.open { max-height: 260px; }
.mobile-menu-inner {
  width: var(--container); margin: 10px auto 0; padding: 14px; display: grid; gap: 10px;
  background: rgba(7,9,13,0.97); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 0 0 22px 22px; box-shadow: var(--shadow);
}
.mobile-menu-inner a {
  padding: 14px 12px; border-radius: 14px; background: rgba(255,255,255,0.02); color: var(--muted);
}
.section-shell {
  position: relative; z-index: 2;
  width: var(--container); margin: 22px auto 0;
  border-radius: var(--radius-xl);
  border: 1px solid rgba(255,255,255,0.08);
  background:
    linear-gradient(180deg, rgba(10,12,18,0.90), rgba(7,9,14,0.86)),
    radial-gradient(circle at top right, rgba(255,255,255,0.03), transparent 35%);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.hero {
  min-height: min(960px, 92vh);
  padding: clamp(42px, 6vw, 88px) 0;
  background:
    linear-gradient(180deg, rgba(3,4,6,0.80), rgba(3,4,6,0.92)),
    radial-gradient(circle at 20% 10%, rgba(114,131,166,0.14), transparent 28%),
    radial-gradient(circle at 72% 20%, rgba(255,255,255,0.05), transparent 20%),
    url('assets/hero-soft.webp') center/cover no-repeat;
}
.hero-grid {
  display: grid; gap: 26px; align-items: stretch;
}
.hero-copy, .hero-panel { position: relative; z-index: 2; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,0.76);
  letter-spacing: 0.18em; font-size: 0.76rem; text-transform: uppercase;
  margin-bottom: 16px;
}
.eyebrow::before {
  content: ''; width: 36px; height: 1px; background: rgba(255,255,255,0.26); display: inline-block;
}
.eyebrow.dark { color: rgba(0,0,0,0.65); }
.hero h1, .section-heading h2, .intro-card h2, .criteria-main h2, .opportunity-copy h2 {
  margin: 0; line-height: 0.96; font-weight: 500;
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
}
.hero h1 { font-size: clamp(3.2rem, 7vw, 6.8rem); max-width: 10ch; }
.hero-text { max-width: 58ch; font-size: 1.08rem; color: var(--muted-strong); line-height: 1.72; margin: 18px 0 0; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 56px;
  padding: 0 20px; border-radius: 999px; transition: transform .28s ease, box-shadow .28s ease, background .28s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary {
  color: #0a0b0f; background: linear-gradient(180deg, #f5f1e8, #ddd4c5);
  box-shadow: 0 12px 32px rgba(228, 220, 205, 0.16);
}
.btn-secondary {
  color: var(--text); background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.12);
}
.btn-dark {
  color: var(--ivory); background: #0d1014; border: 1px solid rgba(0,0,0,0.14);
}
.hero-stats {
  margin-top: 34px; display: grid; grid-template-columns: repeat(1, minmax(0,1fr)); gap: 12px;
}
.stat-card {
  padding: 16px 18px; border-radius: 20px;
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
.stat-card strong { display: block; font-size: 1.25rem; margin-bottom: 4px; }
.stat-card span { color: var(--muted); }
.hero-panel {
  border-radius: 28px; overflow: hidden;
  background: linear-gradient(180deg, rgba(15,17,24,0.92), rgba(8,10,14,0.88));
  border: 1px solid rgba(255,255,255,0.08);
  min-height: 100%;
  box-shadow: 0 30px 100px rgba(0,0,0,0.45);
}
.hero-panel-inner {
  position: relative; padding: 24px; min-height: 100%;
  background:
    radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,0.16), transparent 18%),
    linear-gradient(155deg, rgba(255,255,255,0.04), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.03), transparent 30%);
}
.hero-reflection {
  position: absolute; inset: -20%; pointer-events: none;
  background: linear-gradient(115deg, transparent 36%, rgba(255,255,255,0.12) 49%, transparent 58%);
  animation: sweep 7.6s ease-in-out infinite;
  opacity: 0.7;
}
@keyframes sweep {
  0%,100% { transform: translateX(-30%) translateY(0) rotate(7deg); }
  50% { transform: translateX(28%) translateY(-3%) rotate(7deg); }
}
.hero-panel-tag {
  color: rgba(255,255,255,0.62); letter-spacing: 0.22em; font-size: 0.72rem; margin-bottom: 16px;
}
.hero-panel-title {
  font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(2.1rem, 4vw, 3.8rem); line-height: 1;
  margin-bottom: 14px;
}
.hero-panel-text { color: var(--muted); line-height: 1.72; max-width: 48ch; }
.hero-mini-grid { margin-top: 24px; display: grid; gap: 14px; }
.hero-mini-grid article {
  padding: 16px 16px 18px; border-radius: 18px;
  background: rgba(255,255,255,0.035); border: 1px solid rgba(255,255,255,0.08);
}
.hero-mini-grid span, .pillar-card span, .opportunity-item span, .sector-number {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16); color: rgba(255,255,255,0.82);
  font-size: 0.82rem; margin-bottom: 12px;
}
.hero-mini-grid h3, .pillar-card h3, .criteria-card h3, .opportunity-item h3, .sector-content h3 {
  margin: 0 0 8px; font-family: "Iowan Old Style", Georgia, serif; font-size: 1.3rem;
}
.hero-mini-grid p, .pillar-card p, .criteria-card p, .opportunity-item p, .sector-content p,
.criteria-main p, .intro-card p, .section-heading p, .opportunity-copy p, .site-footer p {
  margin: 0; color: var(--muted); line-height: 1.72;
}
.hero-orb {
  position: absolute; pointer-events: none; filter: blur(22px); opacity: 0.48;
  background: radial-gradient(circle, rgba(241,236,226,0.16), transparent 68%);
}
.orb-a { width: 300px; height: 300px; top: 6%; right: 12%; animation: float 13s ease-in-out infinite; }
.orb-b { width: 220px; height: 220px; bottom: 10%; left: 8%; animation: float 10s ease-in-out infinite reverse; }
.orb-c { width: 160px; height: 160px; top: 38%; left: 46%; animation: float 9s ease-in-out infinite; }
@keyframes float { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-14px,0); } }

.split-layout, .criteria-grid, .opportunity-grid { padding: clamp(28px, 4vw, 48px); display: grid; gap: 20px; }
.intro-card, .pillar-card, .criteria-card {
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-lg); padding: 24px;
}
.intro-large { padding: clamp(24px, 4vw, 42px); }
.intro-card h2, .criteria-main h2, .section-heading h2, .opportunity-copy h2 { font-size: clamp(2.15rem, 4vw, 4.1rem); }
.intro-card p + p, .opportunity-copy p + p { margin-top: 14px; }
.pillar-stack { display: grid; gap: 16px; }
.section-heading { padding: clamp(28px, 4vw, 48px) clamp(24px, 4vw, 40px) 22px; }
.sectors-grid {
  padding: 0 clamp(16px, 3.2vw, 24px) clamp(24px, 4vw, 36px);
  display: grid; gap: 18px;
}
.sector-card {
  background: linear-gradient(180deg, rgba(12,14,20,0.96), rgba(10,12,17,0.96));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 28px; overflow: hidden; position: relative;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  transform-style: preserve-3d;
}
.sector-card::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,0.08), transparent 26%, transparent 74%, rgba(255,255,255,0.06));
  opacity: 0; transition: opacity .25s ease;
}
.sector-card:hover::after { opacity: 1; }
.sector-media {
  position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #06080d;
}
.sector-media::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.06), rgba(0,0,0,0.12) 38%, rgba(5,7,12,0.84) 100%);
}
.sector-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease, filter .8s ease; filter: saturate(0.96) contrast(1.02); }
.sector-card:hover .sector-media img { transform: scale(1.04); filter: saturate(1) contrast(1.05); }
.sector-content { position: relative; padding: 20px 20px 22px; }
.sector-content h3 { font-size: 2rem; line-height: 0.98; }
.sector-number { position: absolute; top: -54px; left: 18px; background: rgba(8,10,14,0.66); backdrop-filter: blur(6px); }
.criteria-grid { grid-template-columns: 1fr; }
.criteria-main { padding: 8px 4px 12px; }
.criteria-card {
  min-height: 100%; background: rgba(255,255,255,0.025);
}
.opportunity-grid {
  background: linear-gradient(180deg, rgba(245,241,232,0.98), rgba(232,225,210,0.96)); color: #12151b;
}
.opportunity-copy p { color: rgba(18,21,27,0.74); }
.opportunity-panel {
  border-radius: 28px; padding: 20px;
  background: rgba(255,255,255,0.48); border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 24px 80px rgba(0,0,0,0.08);
}
.opportunity-item + .opportunity-item { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(0,0,0,0.08); }
.opportunity-item span {
  border-color: rgba(0,0,0,0.14); color: rgba(0,0,0,0.72); background: rgba(255,255,255,0.32);
}
.opportunity-item p { color: rgba(18,21,27,0.72); }
.opp-cta-group { display: grid; gap: 12px; margin-top: 22px; }
.location-chip {
  min-height: 56px; display: inline-flex; align-items: center; padding: 0 18px;
  border-radius: 999px; background: rgba(0,0,0,0.06); color: rgba(0,0,0,0.76);
}
.site-footer { padding: 22px 0 28px; position: relative; z-index: 2; }
.footer-shell {
  width: var(--container); margin: 0 auto; border-radius: 28px; padding: 26px;
  display: grid; gap: 16px; align-items: center;
  background: rgba(8,10,15,0.94); border: 1px solid rgba(255,255,255,0.08);
}
.footer-brand {
  font-size: 1.7rem; font-weight: 300; letter-spacing: 0.20em; margin-bottom: 6px;
}
.footer-links { display: flex; flex-wrap: wrap; gap: 18px; }

.reveal, .reveal-item {
  opacity: 0; transform: translateY(26px) scale(.99);
  transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1);
}
.reveal.visible, .reveal-item.visible { opacity: 1; transform: translateY(0) scale(1); }
.reveal-item:nth-child(2) { transition-delay: .04s; }
.reveal-item:nth-child(3) { transition-delay: .08s; }
.reveal-item:nth-child(4) { transition-delay: .12s; }
.reveal-item:nth-child(5) { transition-delay: .16s; }
.reveal-item:nth-child(6) { transition-delay: .20s; }
.reveal-item:nth-child(7) { transition-delay: .24s; }
.reveal-item:nth-child(8) { transition-delay: .28s; }
.reveal-item:nth-child(9) { transition-delay: .32s; }
.reveal-item:nth-child(10) { transition-delay: .36s; }
.reveal-item:nth-child(11) { transition-delay: .40s; }

html[dir="rtl"] body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif; }
html[dir="rtl"] .brand, html[dir="rtl"] .hero-actions, html[dir="rtl"] .footer-links { flex-direction: row-reverse; }
html[dir="rtl"] .brand-text { text-align: right; }
html[dir="rtl"] .eyebrow::before { order: 2; }
html[dir="rtl"] .sector-number { left: auto; right: 18px; }

@media (min-width: 740px) {
  .hero-stats { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .split-layout { grid-template-columns: 1.2fr .8fr; }
  .criteria-grid { grid-template-columns: 1.1fr 1fr 1fr 1fr; }
  .opportunity-grid { grid-template-columns: 1fr 0.95fr; align-items: start; }
  .footer-shell { grid-template-columns: 1fr auto; }
}

@media (min-width: 960px) {
  .site-header { padding-top: 18px; }
  .desktop-nav { display: flex; }
  .menu-button { display: none; }
  .hero-grid { grid-template-columns: 1.08fr .92fr; }
  .sectors-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (min-width: 1180px) {
  .sectors-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 739px) {
  .brand-mark { width: 40px; height: 40px; }
  .brand-text strong { font-size: 1.7rem; }
  .brand-text span { letter-spacing: 0.20em; font-size: 0.58rem; }
  .nav-shell { padding: 14px; }
  .lang-select { padding: 10px 34px 10px 12px; }
  .hero-panel-inner, .intro-card, .pillar-card, .criteria-card, .opportunity-panel { padding: 20px; }
  .section-shell { border-radius: 28px; }
}

/* FINISH: progressive-enhancement-safe scroll motion, accessibility, and local proposal builder */
.reveal,.reveal-item { opacity:1; transform:none; }
html.motion-ready .reveal:not(.visible), html.motion-ready .reveal-item:not(.visible) { opacity:0; transform:translateY(26px) scale(.99); }
html.motion-ready .reveal.visible,html.motion-ready .reveal-item.visible { opacity:1; transform:none; }
:focus-visible{outline:2px solid #f5f1e8;outline-offset:4px}
.site-header .lang-select option{background:#090b10;color:#f5f3ee}
.hero-copy{align-self:center}
.hero-panel{align-self:stretch}
#opportunities{background:linear-gradient(180deg,#f6f3ed,#e9e3d8)}
#opportunities .eyebrow::before{background:rgba(5,7,10,.3)}
#opportunities .opportunity-copy h2{max-width:12ch}
#opportunities .opportunity-panel{background:rgba(255,255,255,.6)}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.84);display:grid;place-items:center;padding:16px;overflow-y:auto;backdrop-filter:blur(18px)}
.modal-backdrop[hidden], #proposalPrepared[hidden], #proposalForm[hidden], #proposalError[hidden]{display:none!important}
body.modal-open{overflow:hidden}
.proposal-dialog{position:relative;width:min(100%,710px);max-height:93dvh;overflow:auto;border-radius:28px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(180deg,#f7f4ed,#eae4d8);color:#131518;padding:clamp(24px,4vw,44px);box-shadow:0 40px 130px rgba(0,0,0,.7)}
.proposal-dialog h2{font-family:"Iowan Old Style", Georgia,serif;font-size:clamp(2rem,4vw,3.8rem);font-weight:500;letter-spacing:-.035em;line-height:1.02;margin:12px 0 14px}
.proposal-dialog p{color:#44464b;line-height:1.65}
.proposal-dialog .modal-eyebrow{font-size:.71rem;color:#494a4c;letter-spacing:.13em;margin:0 0 8px;text-transform:uppercase}
.modal-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(0,0,0,.1);border-radius:50%;color:#17191d;background:#fff8;font-size:25px;cursor:pointer}
.proposal-dialog form{display:grid;gap:14px;margin-top:20px}
.proposal-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.proposal-dialog label{display:grid;gap:7px;font-size:.85rem;font-weight:550}
.proposal-dialog input,.proposal-dialog select,.proposal-dialog textarea,#proposalResult{padding:13px 15px;width:100%;background:#fffd;border:1px solid rgba(0,0,0,.16);border-radius:15px;color:#131518;font-size:1rem;font-family:inherit;outline-offset:2px}
.proposal-dialog textarea{resize:vertical}
.proposal-dialog .modal-submit{border:0;cursor:pointer;width:fit-content}
.proposal-error{color:#9a2435!important;font-weight:600}
.proposal-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.modal-edit{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.16);color:#17191d;cursor:pointer}
.modal-edit:hover{background:rgba(0,0,0,.1)}
#proposalPrepared{margin-top:20px}
@media(max-width:560px){.proposal-field-grid{grid-template-columns:1fr}.proposal-dialog{padding:22px}.modal-close{top:10px;right:10px}.brand-text strong{font-size:1.45rem}.brand-mark{width:38px;height:38px}.lang-select{max-width:74px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-item,.hero-reflection,.hero-orb,.sector-media img{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}

/* Global high-end hero reflection; motion is subtle, no distracting neon */
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(circle at var(--hero-x,70%) var(--hero-y,25%),rgba(255,255,255,.10),transparent 25%);opacity:.9;transition:background .3s ease}
.hero-beam{position:absolute;inset:-40% -70%;pointer-events:none;z-index:1;background:linear-gradient(110deg,transparent 38%,rgba(241,239,232,.055) 45%,rgba(255,255,255,.12) 50%,rgba(241,239,232,.04) 54%,transparent 63%);transform:translateX(-70%) skewX(-10deg);animation:heroRay 12s cubic-bezier(.45,.05,.55,.95) infinite;mix-blend-mode:screen}
@keyframes heroRay{0%,18%{transform:translateX(-70%) skewX(-10deg)}65%,100%{transform:translateX(65%) skewX(-10deg)}}
.hero-copy,.hero-panel{isolation:isolate;z-index:3}
.section-shell{box-shadow:0 32px 75px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.035)}
.section-shell:not(.hero):hover{border-color:rgba(255,255,255,.14)}
.sector-card{transition:border-color .4s ease,box-shadow .4s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.sector-card:hover{border-color:rgba(255,255,255,.2);box-shadow:0 26px 80px rgba(0,0,0,.5),0 0 1px rgba(255,255,255,.18)}
.site-header{isolation:isolate}
.site-header.scrolled .nav-shell{box-shadow:0 18px 62px rgba(0,0,0,.75)}
.footer-disclaimer{grid-column:1 / -1;max-width:100%;font-size:.73rem;opacity:.72;border-top:1px solid rgba(255,255,255,.07);padding-top:16px}
@media(max-width:739px){.hero-beam{opacity:.68}.hero h1{font-size:clamp(3rem,12vw,5.2rem)}.hero-panel{min-height:440px}}
@media(prefers-reduced-motion:reduce){.hero-beam{display:none!important}}
/* Refinement: modern San Francisco-like typography, balanced grid, compact mobile navigation */
.hero h1,.intro-card h2,.section-heading h2,.criteria-main h2,.opportunity-copy h2,
.hero-panel-title,.hero-mini-grid h3,.pillar-card h3,.criteria-card h3,.opportunity-item h3,.sector-content h3,
.proposal-dialog h2 {
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue","Segoe UI",sans-serif;
  font-weight:520;
  letter-spacing:-.048em;
}
.hero h1{font-size:clamp(3.5rem,6.1vw,6.1rem);line-height:1.025;max-width:12.7ch;text-wrap:balance}
.hero-panel-title{letter-spacing:-.045em;max-width:14ch}
.section-heading h2,.intro-card h2,.criteria-main h2,.opportunity-copy h2{line-height:1.07;letter-spacing:-.05em}
.sector-content h3{font-size:1.75rem;letter-spacing:-.04em}
@media(min-width:960px){.sectors-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.sector-card{flex:0 1 calc((100% - 36px)/3);min-width:0}}
@media(min-width:740px) and (max-width:959px){.sectors-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.sector-card{flex:0 1 calc((100% - 18px)/2);min-width:0}}
@media(max-width:739px){
 .sectors-grid{display:grid;grid-template-columns:1fr;gap:18px}
 .hero h1{font-size:clamp(2.72rem,10.8vw,4.5rem);max-width:13ch;line-height:1.07}
 .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:26px}
 .stat-card{padding:11px 10px;border-radius:14px;min-width:0}
 .stat-card strong{font-size:.98rem;letter-spacing:-.02em;overflow-wrap:anywhere}
 .stat-card span{font-size:.72rem;line-height:1.32;display:block}
 .hero-panel-title{font-size:clamp(2rem,8vw,2.7rem)}
 .hero-actions .btn{min-height:48px;padding:0 14px;font-size:.85rem}
}
@media(max-width:450px){
 .nav-shell{gap:6px;padding:11px}
 .brand{gap:7px}
 .brand-mark{width:35px;height:35px}
 .brand-text strong{font-size:1.38rem;letter-spacing:.13em}
 .brand-text span{font-size:.41rem;letter-spacing:.10em;white-space:nowrap}
 .nav-actions{gap:6px}
 .menu-button{width:45px;height:45px;border-radius:14px}
 .lang-select{max-width:65px;padding:9px 9px 9px 8px;font-size:.85rem}
}

/* ===== PURE BLACK REFINED OVERRIDES ===== */
:root{
  --bg:#000000;
  --bg-2:#000000;
  --panel:#050505;
  --panel-solid:#050505;
  --panel-strong:#070707;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.18);
  --text:#f6f2eb;
  --muted:rgba(246,242,235,.68);
  --muted-strong:rgba(246,242,235,.82);
  --ivory:#f3eee4;
  --ivory-2:#ebe2d3;
  --shadow:0 30px 90px rgba(0,0,0,.58);
  --container:min(1360px, calc(100vw - 32px));
}
html,body{background:#000 !important}
body{
  background:
   radial-gradient(circle at 18% 8%, rgba(255,255,255,.045), transparent 24%),
   radial-gradient(circle at 86% 16%, rgba(255,255,255,.035), transparent 18%),
   linear-gradient(180deg, #000 0%, #000 100%) !important;
  color:var(--text);
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:linear-gradient(180deg, rgba(255,255,255,.02), transparent 20%, transparent 80%, rgba(255,255,255,.02));
  opacity:.9;
}
.site-noise{opacity:.03}
.site-header{padding-top:18px}
.nav-shell{
  background:rgba(0,0,0,.92) !important;
  backdrop-filter:blur(18px) saturate(100%);
  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;
  box-shadow:0 18px 60px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.03);
}
.site-header.scrolled .nav-shell{background:rgba(0,0,0,.96) !important}
.brand-mark{filter:brightness(1.02)}
.nav-actions{gap:10px}
.lang-wrap{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  padding-left:10px;
  align-items:center;
  gap:2px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.lang-flag{font-size:1rem; line-height:1; filter:saturate(.95);}
.lang-select{
  color:var(--text);
  min-height:52px;
  padding:12px 14px 12px 4px;
  font-size:.95rem;
}
.menu-button{
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.12);
  border-radius:20px;
  width:58px;height:58px;
}
.mobile-menu-inner{
  background:rgba(0,0,0,.97);
  border-radius:24px;
}
.section-shell{
  background:
    linear-gradient(180deg, rgba(5,5,5,.97), rgba(6,6,7,.95)),
    radial-gradient(circle at top right, rgba(255,255,255,.035), transparent 35%) !important;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 35px 110px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.03);
  margin-top:34px;
}
.hero{
  min-height:clamp(760px, 94vh, 1100px);
  padding:clamp(32px, 5vw, 72px) 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.38) 34%, rgba(0,0,0,.72) 100%),
    radial-gradient(circle at 75% 24%, rgba(255,255,255,.12), transparent 20%),
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.05), transparent 24%),
    url('assets/hero-soft.webp') center center/cover no-repeat !important;
}
.hero::before{background:radial-gradient(circle at var(--hero-x,72%) var(--hero-y,26%),rgba(255,255,255,.13),transparent 20%) !important}
.hero-grid{gap:28px; align-items:stretch}
.hero-copy, .hero-panel{
  border:1px solid rgba(255,255,255,.11);
  border-radius:32px;
  overflow:hidden;
  box-shadow:0 18px 55px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.02);
}
.hero-copy{
  padding:clamp(26px, 3vw, 36px);
  background:linear-gradient(180deg, rgba(0,0,0,.34), rgba(0,0,0,.24));
  backdrop-filter:blur(2px);
}
.hero-panel{background:linear-gradient(180deg, rgba(10,10,11,.84), rgba(7,7,8,.94))}
.hero-panel-inner{
  background:
    radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,0.10), transparent 16%),
    linear-gradient(155deg, rgba(255,255,255,0.04), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.03), transparent 30%);
}
.hero h1{max-width:10.3ch; font-size:clamp(3.1rem, 6vw, 6rem)}
.hero-text{font-size:1.08rem; max-width:48ch}
.hero-actions{margin-top:30px}
.hero-stats{margin-top:28px; gap:12px}
.stat-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  min-height:100%;
}
.stat-card strong{font-size:1.35rem; letter-spacing:-.03em}
.hero-panel-title{font-size:clamp(2.5rem, 4vw, 4rem)}
.hero-mini-grid article, .intro-card, .pillar-card, .criteria-card, .sector-card, .footer-shell{
  background:linear-gradient(180deg, rgba(12,12,13,.88), rgba(6,6,7,.96));
}
.intro-card, .pillar-card, .criteria-card{
  border-color:rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.section-heading{padding-bottom:28px}
.section-heading h2{max-width:12ch}
.sectors-grid{gap:22px}
.sector-card{
  border:1px solid rgba(255,255,255,.10);
  border-radius:30px;
  box-shadow:0 24px 70px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.03);
}
.sector-media{background:#020202}
.sector-media::after{
  background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.05) 35%, rgba(4,4,5,.78) 100%);
}
.sector-content{padding:24px 22px 24px}
.sector-content h3{font-size:1.8rem; margin-bottom:10px}
.criteria-grid, .split-layout, .opportunity-grid{padding:clamp(30px, 4vw, 52px)}
#opportunities{
  background:linear-gradient(180deg, #f3eee4 0%, #ebe3d4 100%) !important;
  border-color:rgba(255,255,255,.16);
}
.opportunity-panel{background:rgba(255,255,255,.62); border-radius:30px}
.footer-shell{
  border-radius:30px;
  background:linear-gradient(180deg, rgba(7,7,8,.97), rgba(4,4,5,.98));
}

@media (min-width: 960px){
  .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr)}
  .section-shell{margin-top:42px}
}

@media (max-width: 959px){
  .site-header{padding-top:12px}
  .hero{min-height:auto; padding:22px 0 26px}
  .hero-grid{grid-template-columns:1fr; gap:24px}
  .hero-copy{padding:24px 22px 22px}
  .hero-panel{min-height:auto}
  .hero-panel-inner{padding:22px}
}

@media (max-width: 739px){
  :root{--container:min(100vw - 24px, 100vw - 24px)}
  .nav-shell{padding:12px 12px 12px 14px; border-radius:24px}
  .brand-text strong{font-size:1.55rem; letter-spacing:.12em}
  .brand-text span{font-size:.52rem; letter-spacing:.18em}
  .lang-wrap{padding-left:8px; border-radius:18px}
  .lang-flag{font-size:.92rem}
  .lang-select{min-height:46px; max-width:88px; padding:10px 10px 10px 2px; font-size:.9rem}
  .menu-button{width:48px; height:48px; border-radius:18px}
  .section-shell{border-radius:30px; margin-top:24px}
  .hero{padding:18px 0 20px; min-height:auto}
  .hero-copy,.hero-panel{border-radius:28px}
  .hero h1{font-size:clamp(2.8rem, 10.4vw, 4.35rem); max-width:9.4ch; line-height:1.02}
  .hero-text{font-size:1rem; line-height:1.65; margin-top:16px}
  .hero-actions{gap:10px; margin-top:24px}
  .hero-actions .btn{flex:1 1 calc(50% - 5px); min-width:0; min-height:50px; padding:0 12px; font-size:.89rem}
  .hero-stats{grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; margin-top:18px}
  .stat-card{padding:12px 10px; border-radius:16px}
  .stat-card strong{font-size:1rem; margin-bottom:2px}
  .stat-card span{font-size:.72rem; line-height:1.22}
  .hero-panel-title{font-size:clamp(2rem, 7vw, 2.6rem); max-width:10ch}
  .hero-mini-grid{grid-template-columns:1fr; gap:12px}
  .hero-mini-grid article{padding:14px 14px 16px}
  .hero-mini-grid h3, .pillar-card h3, .criteria-card h3, .opportunity-item h3, .sector-content h3{font-size:1.18rem}
  .section-heading{padding:26px 20px 22px}
  .split-layout, .criteria-grid, .opportunity-grid{padding:22px 18px}
  .sectors-grid{padding:0 14px 22px; gap:18px}
  .sector-card{border-radius:26px}
  .sector-content{padding:18px 18px 20px}
  .sector-content h3{font-size:1.55rem}
  .opportunity-panel{padding:18px}
}

@media (max-width: 430px){
  .brand{gap:8px}
  .brand-mark{width:36px; height:36px}
  .brand-text strong{font-size:1.34rem}
  .brand-text span{font-size:.44rem; letter-spacing:.13em}
  .hero-copy{padding:22px 18px 20px}
  .hero h1{font-size:clamp(2.55rem, 10.6vw, 4rem); max-width:9.1ch}
  .hero-actions .btn{font-size:.85rem}
}


/* Visual refinement V5: true black, spatially separated mobile hero */
:root{--bg:#000;--bg-2:#000;--panel:#050505;--panel-solid:#050505;--panel-strong:#080808}
html,body{background:#000!important}
body::before{display:none}
.hero{background:#000!important;min-height:0;isolation:isolate;padding:30px 0 34px}
.hero::before{opacity:.5!important}
.hero-grid{gap:30px}
.hero-copy{background:transparent;backdrop-filter:none;border:none;box-shadow:none;border-radius:0;overflow:visible;padding:clamp(18px,2vw,28px)!important}
.hero h1{max-width:12ch;line-height:1.055;letter-spacing:-.055em}
.hero-text{max-width:47ch;line-height:1.6}
.hero-panel{border:1px solid rgba(255,255,255,.17);background:#080808;border-radius:30px;position:relative;min-height:580px;box-shadow:0 30px 100px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.035)}
.hero-panel-inner{position:relative;width:100%;height:100%;min-height:580px;overflow:hidden;padding:0;background:#0a0a0a}
.hero-photo{display:block;position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center center;filter:saturate(.9) contrast(1.06);transition:transform 1s cubic-bezier(.2,.6,.3,1);}
.hero-panel:hover .hero-photo{transform:scale(1.035)}
.hero-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.01) 0%,rgba(0,0,0,.04) 48%,rgba(0,0,0,.79) 100%);pointer-events:none}
.hero-reflection{position:absolute;inset:-20%;z-index:2;opacity:.36;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(108deg,transparent 40%,rgba(255,255,255,.13) 49%,transparent 58%);animation:sweep 10s cubic-bezier(.45,.05,.55,.95) infinite}
.hero-photo-caption{position:absolute;inset-inline:28px;bottom:28px;z-index:3;display:grid;gap:10px;max-width:80%;text-shadow:0 3px 18px #000}
.hero-panel-tag{margin:0;font-size:.66rem;letter-spacing:.14em;color:rgba(255,255,255,.82)}
.hero-panel-title{font-size:clamp(1.75rem,2.5vw,2.6rem);font-weight:600;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.05em;line-height:1.12;color:#f7f5f0}
.hero-stats{margin-top:26px;gap:12px}
.stat-card{background:#0a0a0a;border-color:rgba(255,255,255,.12)}
.section-shell:not(.hero){background:linear-gradient(180deg,#070707,#040404)!important}
#opportunities{background:linear-gradient(180deg,#f3eee4,#ebe3d4)!important}
@media(min-width:960px){
  .hero{padding:42px 0 46px}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:610px;align-items:center}
  .hero-panel,.hero-panel-inner{min-height:610px;height:100%}
  .hero h1{font-size:clamp(3rem,5vw,5.4rem)}
}
@media(max-width:959px){
 .hero{padding:12px 0 28px}
 .hero-grid{display:flex;flex-direction:column;gap:12px}
 .hero-panel{order:-1;min-height:330px;border-radius:24px}
 .hero-panel-inner{min-height:330px;height:330px}
 .hero-copy{padding:20px 18px 10px!important}
 .hero h1{max-width:none}
 .hero-text{max-width:54ch}
 .hero-photo-caption{inset-inline:22px;bottom:20px;max-width:84%}
 .hero-panel-title{font-size:1.55rem}
 .hero-panel-tag{font-size:.62rem}
 .hero-stats{margin-top:24px}
}
@media(max-width:739px){
 :root{--container:calc(100vw - 24px)}
 .site-header{padding-top:10px}
 .nav-shell{border-radius:20px;padding:10px 11px}
 .hero{padding:12px 0 22px}
 .hero-panel{min-height:252px;border-radius:24px}
 .hero-panel-inner{min-height:252px;height:252px}
 .hero-photo{object-position:center 55%}
 .hero-copy{padding:16px 12px 12px!important}
 .hero h1{font-size:clamp(2.1rem,8.3vw,3.6rem);max-width:none;line-height:1.095;letter-spacing:-.058em}
 .hero-text{font-size:.96rem;line-height:1.53;margin-top:13px}
 .hero-actions{margin-top:21px}
 .hero-actions .btn{min-height:48px;font-size:.8rem;padding-inline:10px}
 .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:18px}
 .stat-card{padding:11px 9px}
 .stat-card strong{font-size:1.08rem}
 .stat-card span{font-size:.72rem}
 .hero-photo-caption{inset-inline:18px;bottom:16px;gap:6px}
 .hero-panel-title{font-size:1.25rem;line-height:1.15}
 .hero-panel-tag{font-size:.54rem;letter-spacing:.08em}
 .eyebrow{letter-spacing:.13em;font-size:.65rem;line-height:1.4}
 .eyebrow::before{width:18px}
 .section-shell{margin-top:26px}
 .lang-wrap{padding-left:6px;gap:4px}
 .lang-flag{flex:none;font-size:1rem}
 .lang-select{padding:8px 8px 8px 0;min-height:44px;max-width:66px;width:62px;font-size:.80rem}
}
@media(max-width:420px){
 .brand-mark{width:34px;height:34px}
 .brand-text strong{font-size:1.23rem;letter-spacing:.14em}
 .brand-text span{font-size:.43rem;letter-spacing:.11em}
 .nav-actions{gap:6px}
 .menu-button{width:44px;height:44px}
 .hero-panel,.hero-panel-inner{min-height:228px;height:228px}
 .hero h1{font-size:clamp(1.95rem,8.45vw,2.75rem)}
}
@media(prefers-reduced-motion:reduce){.hero-reflection{animation:none}.hero-photo{transition:none}}

/* Stable language flag display; keeps full native iOS picker accessible. */
.lang-wrap{position:relative;display:inline-flex;align-items:center;gap:7px;min-width:83px;min-height:49px;padding:0 13px;justify-content:center;isolation:isolate}
.lang-flag{font-size:1.02rem;line-height:1}
.lang-code{font-size:.89rem;color:var(--text);line-height:1;font-weight:500;letter-spacing:.035em}
.lang-select{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;opacity:0!important;cursor:pointer!important;z-index:2;color:transparent!important}
.hero-photo-caption{max-width:90%}
.hero-panel-title{max-width:none}
@media(max-width:739px){.lang-wrap{min-width:78px;min-height:45px;padding:0 8px;gap:5px}.lang-flag{font-size:.96rem}.lang-code{font-size:.81rem}.hero-panel-title{font-size:1.30rem;max-width:270px}}
@media(max-width:430px){.lang-wrap{min-width:72px;min-height:42px;padding-inline:7px;gap:4px}.lang-code{font-size:.77rem}.hero-panel-title{font-size:1.22rem;max-width:250px}}
