/* ============================= TOKENS ============================= */
:root{
  --navy:#0B1F3A;
  --navy-2:#0E2444;
  --ink:#111318;
  --blue:#2E7DFF;
  --blue-dim:#1F5FD1;
  --slate:#5B6B82;
  --slate-light:#9AA7BA;
  --tint:#EEF2F8;
  --tint-2:#E4EAF4;
  --white:#FFFFFF;
  --line: rgba(11,31,58,.10);
  --line-on-navy: rgba(255,255,255,.14);
  --shadow: 0 1px 2px rgba(11,31,58,.04);
  --radius-s: 10px;
  --radius-m: 16px;
  --radius-l: 28px;
  --container: 1180px;
  --pad: clamp(20px, 5vw, 64px);
  box-sizing: border-box;
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
*,*::before,*::after{ box-sizing:inherit; }
html{ scroll-behavior:smooth; scroll-padding-top: calc(78px + env(safe-area-inset-top,0px)); -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; } }

html,body{ height:100%; margin:0; }
body{
  font-family:'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"cv02","cv03","cv04","cv11";
  overflow-x:hidden;
}

/* dark-mode aware surfaces are handled explicitly per-section (brand navy), not via OS scheme,
   since this is a fixed brand identity rather than a light/dark toggle. body background stays white. */

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4,p{ margin:0; }

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--pad); }

/* icon sizing utility classes (color inherits from parent via currentColor) */
svg.icon{ width:22px; height:22px; flex:none; }
svg.icon-sm{ width:18px; height:18px; flex:none; }
svg.icon-xs{ width:14px; height:14px; flex:none; }
.panel-head svg{ color:var(--blue); }
.list-check svg{ color:var(--blue); }
.list-flag svg{ color:var(--slate-light); }
.deliverable-tag svg{ color:#fff; }
.overflow-x-guard{ overflow-x:auto; }

/* ============================= TYPE ============================= */
.eyebrow{
  font-size:12.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--blue);
}
.eyebrow.on-navy{ color:#8FB6FF; }
.eyebrow.on-tint{ color:var(--blue-dim); }

h1.display{
  font-size:clamp(2.4rem, 5.4vw, 4.1rem);
  line-height:1.04;
  font-weight:700;
  letter-spacing:-0.022em;
  color:var(--white);
}
h2.h-section{
  font-size:clamp(1.9rem, 3.4vw, 2.65rem);
  line-height:1.1;
  font-weight:700;
  letter-spacing:-0.018em;
  color:var(--navy);
}
h2.h-section.on-navy{ color:var(--white); }
h3.h-card{
  font-size:1.2rem;
  line-height:1.28;
  font-weight:650;
  letter-spacing:-0.01em;
  color:var(--navy);
}
.lede{
  font-size:clamp(1.05rem, 1.6vw, 1.28rem);
  line-height:1.55;
  color:var(--slate);
  max-width:62ch;
}
.lede.on-navy{ color:#C7D3E6; }
.body-text{ font-size:1rem; line-height:1.62; color:var(--slate); max-width:64ch; }
.small-text{ font-size:.875rem; line-height:1.55; color:var(--slate); }

/* ============================= LAYOUT HELPERS ============================= */
.section{ padding-block: clamp(64px, 9vw, 128px); }
.section.tight{ padding-block: clamp(44px, 6vw, 84px); }
.section.on-tint{ background:var(--tint); }
.section.on-navy{ background:var(--navy); }
.grid{ display:grid; gap:28px; }
.eyebrow + h2, .eyebrow + h1{ margin-top:14px; }
h2 + .lede, h1 + .lede{ margin-top:16px; }

/* ============================= BUTTONS ============================= */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding: 13px 24px;
  border-radius: 999px;
  font-weight:600; font-size:.96rem;
  border:1px solid transparent;
  cursor:pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
  white-space:nowrap;
}
.btn:active{ transform: scale(.98); }
.btn-primary{ background:var(--blue); color:#fff; }
.btn-primary:hover{ background:var(--blue-dim); }
.btn-ghost-navy{ background:transparent; color:#fff; border-color:rgba(255,255,255,.32); }
.btn-ghost-navy:hover{ border-color:rgba(255,255,255,.7); background:rgba(255,255,255,.06); }
.btn-ghost{ background:transparent; color:var(--navy); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--navy); }
.btn-sm{ padding:9px 16px; font-size:.85rem; }

/* focus visibility */
a:focus-visible, button:focus-visible, [tabindex]:focus-visible{
  outline:2px solid var(--blue); outline-offset:3px; border-radius:6px;
}

/* ============================= HEADER / NAV ============================= */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding-top: env(safe-area-inset-top, 0px);
  background:rgba(11,31,58,0);
  border-bottom:1px solid transparent;
  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.site-header.scrolled{
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 0 rgba(11,31,58,.02);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:76px; }
.logo-link{ display:flex; align-items:center; height:26px; }
.logo-img{ height:26px; width:auto; display:block; }
.logo-light-img{ display:block; }
.logo-dark-img{ display:none; }
.site-header.scrolled .logo-light-img{ display:none; }
.site-header.scrolled .logo-dark-img{ display:block; }

.nav-links{ display:flex; align-items:center; gap:2px; }
.nav-links a{
  padding:9px 14px; border-radius:999px; font-size:.92rem; font-weight:550;
  color:rgba(255,255,255,.82); white-space:nowrap;
  transition: background .15s ease, color .15s ease;
}
.site-header.scrolled .nav-links a{ color:var(--slate); }
.nav-links a:hover{ background:rgba(255,255,255,.1); color:#fff; }
.site-header.scrolled .nav-links a:hover{ background:var(--tint); color:var(--navy); }
.nav-links a.active{ color:#fff; }
.site-header.scrolled .nav-links a.active{ color:var(--navy); font-weight:650; }

.nav-cta{ display:flex; align-items:center; gap:10px; }

@media (max-width:1240px){
  .nav-links{ gap:0; }
  .nav-links a{ padding:9px 9px; font-size:.82rem; }
}

.menu-toggle{
  display:none; width:40px; height:40px; border-radius:10px; border:1px solid rgba(255,255,255,.3);
  background:transparent; align-items:center; justify-content:center; cursor:pointer;
}
.site-header.scrolled .menu-toggle{ border-color:var(--line); }
.menu-toggle svg{ stroke:#fff; }
.site-header.scrolled .menu-toggle svg{ stroke:var(--navy); }

.mobile-panel{
  display:none; position:fixed; inset:0; z-index:99; background:var(--navy);
  padding: calc(96px + env(safe-area-inset-top,0px)) 28px 40px;
  overflow-y:auto;
}
.mobile-panel.open{ display:block; }
.mobile-panel a{ display:block; padding:16px 4px; font-size:1.3rem; font-weight:600; color:#fff; border-bottom:1px solid var(--line-on-navy); }
.mobile-panel .btn{ margin-top:28px; width:100%; justify-content:center; }

@media (max-width: 640px){
  .nav-links{ display:none; }
  .nav-cta .btn-primary{ display:none; }
  .menu-toggle{ display:flex; }
}

/* ============================= HERO ============================= */
.hero{
  position:relative; background:var(--navy); color:#fff; overflow:hidden;
  padding-top: calc(150px + env(safe-area-inset-top,0px));
  padding-bottom: 110px;
}
.hero-grid{ display:grid; grid-template-columns: 1.05fr .95fr; gap:40px; align-items:center; }
.hero-arc-wrap{ position:relative; height:420px; display:flex; align-items:center; justify-content:center; }
.hero-arc-wrap img{ width:100%; height:100%; object-fit:contain; }
.hero-copy .btn-row{ display:flex; align-items:center; gap:18px; margin-top:36px; flex-wrap:wrap; }
.hero-tagline{ margin-top:64px; display:flex; align-items:center; gap:10px; color:var(--slate-light); font-size:.92rem; }
.hero-tagline .rule{ width:34px; height:1px; background:var(--line-on-navy); }

.hero-bg-arc{ position:absolute; opacity:.5; pointer-events:none; }
.hero-bg-arc.a1{ top:-120px; right:-160px; width:640px; }
.hero-bg-arc.a2{ bottom:-200px; left:-220px; width:520px; opacity:.22; }

@media (max-width: 980px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-arc-wrap{ height:280px; order:-1; margin-bottom:8px; }
}
@media (max-width: 700px){
  .hero-bg-arc{ display:none; }
}

/* ============================= FACTS ROW ============================= */
.facts-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius-m); overflow:hidden; margin-top:56px; }
.fact-cell{ background:#fff; padding:26px 24px; }
.fact-cell .fact-icon{ color:var(--blue); margin-bottom:14px; }
.fact-cell h4{ font-size:1rem; font-weight:650; color:var(--navy); margin-bottom:6px; letter-spacing:-.005em; }
.fact-cell p{ font-size:.9rem; line-height:1.5; color:var(--slate); }
@media (max-width:760px){ .facts-row{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .facts-row{ grid-template-columns:1fr; } }

/* ============================= TWO COL (opportunity vs pitfalls) ============================= */
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:48px; }
.panel{ border-radius:var(--radius-m); padding:32px clamp(22px,3vw,34px); }
.panel.tint{ background:var(--tint); }
.panel.outline{ border:1px solid var(--line); }
.panel-head{ display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.panel-head h3{ font-size:1.05rem; font-weight:650; color:var(--navy); }
.list-check li, .list-flag li{ display:flex; gap:12px; padding:11px 0; border-top:1px solid var(--line); font-size:.96rem; line-height:1.5; color:var(--ink); }
.list-check li:first-child, .list-flag li:first-child{ border-top:none; padding-top:0; }
.list-check svg, .list-flag svg{ flex:none; margin-top:2px; }
@media (max-width:880px){ .two-col{ grid-template-columns:1fr; } }

/* ============================= PRINCIPLES GRID ============================= */
.principles-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius-m); overflow:hidden; margin-top:48px; }
.principle-cell{ background:#fff; padding:30px 26px; }
.principle-cell .p-icon{ width:44px; height:44px; border-radius:12px; background:var(--tint); display:flex; align-items:center; justify-content:center; color:var(--blue); margin-bottom:18px; }
.principle-cell h4{ font-size:1.02rem; font-weight:650; color:var(--navy); margin-bottom:8px; }
.principle-cell p{ font-size:.9rem; color:var(--slate); line-height:1.55; }
@media (max-width:900px){ .principles-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .principles-grid{ grid-template-columns:1fr; } }

/* ============================= DISCIPLINE CARDS ============================= */
.disc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:48px; align-items:stretch; }
.disc-card{ border-radius:var(--radius-m); padding:30px 28px; border:1px solid var(--line); background:#fff; display:flex; flex-direction:column; }
.disc-card.featured{ background:var(--navy); border-color:var(--navy); color:#fff; }
.disc-card .d-icon{ width:46px; height:46px; border-radius:13px; background:var(--tint); display:flex; align-items:center; justify-content:center; color:var(--blue); margin-bottom:20px; }
.disc-card.featured .d-icon{ background:rgba(255,255,255,.1); color:#fff; }
.disc-card h3{ margin-bottom:10px; }
.disc-card.featured h3{ color:#fff; }
.disc-card p.d-desc{ font-size:.94rem; color:var(--slate); line-height:1.55; margin-bottom:20px; }
.disc-card.featured p.d-desc{ color:#C7D3E6; }
.disc-card ul{ margin-top:auto; padding-top:16px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:10px; }
.disc-card.featured ul{ border-top:1px solid var(--line-on-navy); }
.disc-card ul li{ font-size:.88rem; color:var(--ink); display:flex; gap:9px; align-items:flex-start; }
.disc-card.featured ul li{ color:#fff; }
.disc-card ul li svg{ flex:none; margin-top:3px; color:var(--slate-light); }
.disc-card.featured ul li svg{ color:var(--blue); }
.disc-note{ margin-top:22px; font-size:.88rem; color:var(--slate); }
@media (max-width:940px){ .disc-grid{ grid-template-columns:1fr; } }

/* ============================= SECTION DIVIDER (navy, trade advisory intro) ============================= */
.divider{ background:var(--navy); color:#fff; padding-block: clamp(70px,9vw,120px); position:relative; overflow:hidden; }
.divider .container{ position:relative; z-index:1; max-width:760px; }
.divider-arc{ position:absolute; right:-120px; top:50%; transform:translateY(-50%); width:520px; opacity:.5; }

/* ============================= JOURNEY ARC ============================= */
.journey-wrap{ margin-top:56px; }
.journey-svg-holder{ width:100%; }
.journey-svg-holder svg{ width:100%; height:auto; display:block; }
.stage-node{ cursor:pointer; }
.stage-node circle.dot{ transition: r .18s ease, fill .18s ease; }
.stage-node text{ font-family:'Inter',sans-serif; }
.stage-node .num{ font-weight:700; }
.stage-node .lbl{ font-weight:600; }
.stage-node:hover circle.dot, .stage-node:focus-visible circle.dot{ fill:var(--blue); }
.stage-node.active circle.dot{ fill:var(--blue); r:15; }
.stage-node.active .lbl{ fill:var(--navy); font-weight:700; }
.stage-node .num{ fill:var(--navy); }
.stage-node.active .num{ fill:#fff; }
.stage-node:hover .num, .stage-node:focus-visible .num{ fill:#fff; }

.timeline-note{
  margin-top:12px; padding:20px 24px; border-radius:var(--radius-m); background:var(--tint);
  font-size:.92rem; color:var(--slate); line-height:1.6;
}
.timeline-note strong{ color:var(--navy); }

/* ============================= STAGE DETAIL PANELS ============================= */
.stage-panels{ margin-top:20px; border-radius:var(--radius-l); border:1px solid var(--line); background:#fff; overflow:hidden; }
.stage-panel{ display:none; padding: clamp(28px,4vw,48px); }
.stage-panel.active{ display:block; }
.stage-panel-head{ display:flex; align-items:baseline; gap:14px; margin-bottom:8px; flex-wrap:wrap; }
.stage-panel-head .stage-tag{ font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); }
.stage-panel-head h3{ font-size:1.5rem; font-weight:700; color:var(--navy); letter-spacing:-.012em; }
.stage-panel > .stage-lede{ margin-top:10px; margin-bottom:30px; color:var(--slate); font-size:1.02rem; max-width:62ch; line-height:1.55; }

.subgrid{ display:grid; gap:28px; }
.subgrid.cols-3{ grid-template-columns:repeat(3,1fr); }
.subgrid.cols-2{ grid-template-columns:repeat(2,1fr); }
.subgrid.cols-6{ grid-template-columns:repeat(3,1fr); }
.subgroup h4{ font-size:.94rem; font-weight:650; color:var(--navy); margin-bottom:12px; }
.subgroup ul{ display:flex; flex-direction:column; gap:9px; }
.subgroup ul li{ font-size:.9rem; color:var(--slate); line-height:1.5; padding-left:14px; position:relative; }
.subgroup ul li::before{ content:""; position:absolute; left:0; top:.62em; width:4px; height:4px; border-radius:50%; background:var(--slate-light); }

.route-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.route-card{ background:var(--tint); border-radius:var(--radius-s); padding:20px; }
.route-card h4{ font-size:.94rem; font-weight:650; color:var(--navy); margin-bottom:8px; }
.route-card p{ font-size:.86rem; color:var(--slate); line-height:1.5; }

.callout{ margin-top:26px; padding:18px 22px; border-left:3px solid var(--blue); background:var(--tint); border-radius:0 var(--radius-s) var(--radius-s) 0; font-size:.9rem; color:var(--navy); line-height:1.55; }

.icon-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.icon-row .ir-item{ padding:22px; border:1px solid var(--line); border-radius:var(--radius-s); }
.icon-row .ir-item .ir-icon{ width:40px; height:40px; border-radius:11px; background:var(--tint); display:flex; align-items:center; justify-content:center; color:var(--blue); margin-bottom:14px; }
.icon-row .ir-item h4{ font-size:.92rem; font-weight:650; color:var(--navy); margin-bottom:6px; }
.icon-row .ir-item p{ font-size:.84rem; color:var(--slate); line-height:1.5; }

.finance-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.finance-grid h4{ font-size:.94rem; font-weight:650; color:var(--navy); margin-bottom:12px; }
.finance-grid ul{ display:flex; flex-direction:column; gap:9px; }
.finance-grid ul li{ font-size:.88rem; color:var(--slate); line-height:1.5; padding-left:14px; position:relative; }
.finance-grid ul li::before{ content:""; position:absolute; left:0; top:.6em; width:4px; height:4px; border-radius:50%; background:var(--slate-light); }

.deliverable-tag{ display:inline-flex; align-items:flex-start; gap:10px; margin-top:28px; padding:14px 18px; background:var(--navy); color:#fff; border-radius:var(--radius-s); font-size:.84rem; font-weight:600; line-height:1.5; max-width:52ch; }
.deliverable-tag svg{ margin-top:2px; }

@media (max-width:880px){
  .subgrid.cols-3, .subgrid.cols-6, .route-grid, .icon-row, .finance-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  .subgrid.cols-3, .subgrid.cols-6, .route-grid, .icon-row, .finance-grid{ grid-template-columns:1fr; }
  .stage-panel-head{ flex-direction:column; align-items:flex-start; gap:6px; }
}

/* stage tab strip (mobile-friendly quick switch, mirrors arc but as chips under it on small screens) */
.stage-chip-row{ display:none; gap:8px; margin-top:22px; overflow-x:auto; padding-bottom:4px; }
.stage-chip{ flex:none; padding:9px 15px; border-radius:999px; border:1px solid var(--line); font-size:.84rem; font-weight:600; color:var(--slate); background:#fff; cursor:pointer; }
.stage-chip.active{ background:var(--navy); color:#fff; border-color:var(--navy); }
@media (max-width:760px){
  .journey-svg-holder{ display:none; }
  .stage-chip-row{ display:flex; }
}

/* ============================= PROFILES ============================= */
.profile-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:48px; }
.profile-card{ border-radius:var(--radius-m); border:1px solid var(--line); padding:30px 26px; background:#fff; }
.profile-card .p-tag{ font-size:.76rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); margin-bottom:14px; display:block; }
.profile-card h3{ margin-bottom:12px; }
.profile-card p.p-desc{ font-size:.9rem; color:var(--slate); line-height:1.55; margin-bottom:18px; }
.profile-card p.p-how{ font-size:.87rem; color:var(--ink); line-height:1.6; padding-top:16px; border-top:1px solid var(--line); }
.profile-card p.p-how strong{ color:var(--navy); }
@media (max-width:940px){ .profile-grid{ grid-template-columns:1fr; } }

/* ============================= WHY ARCUS ============================= */
.why-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius-m); overflow:hidden; margin-top:48px; }
.why-cell{ background:#fff; padding:34px clamp(24px,3vw,40px); }
.why-cell h3{ margin-bottom:10px; }
.why-cell p{ font-size:.95rem; color:var(--slate); line-height:1.6; }
@media (max-width:760px){ .why-grid{ grid-template-columns:1fr; } }

/* ============================= TEAM ============================= */
.team-wrap{ display:grid; grid-template-columns: .8fr 1.2fr; gap:56px; align-items:start; margin-top:48px; }
.team-solo{ max-width:720px; margin-top:48px; }
.linkedin-link{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; color:var(--blue); font-size:.88rem; font-weight:600; }
.linkedin-link:hover{ text-decoration:underline; }
.avatar{
  width:100%; aspect-ratio:1/1; border-radius:var(--radius-l); background:linear-gradient(155deg, var(--navy), #163157);
  display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
}
.avatar .initials{ font-size:4.4rem; font-weight:700; color:#fff; letter-spacing:-.02em; z-index:1; }
.avatar .avatar-arc{ position:absolute; bottom:-14%; left:50%; transform:translateX(-50%); width:78%; opacity:.9; }
.team-stat-row{ display:flex; gap:28px; margin-top:20px; }
.team-stat{ }
.team-stat .num{ font-size:1.5rem; font-weight:700; color:var(--navy); }
.team-stat .lbl{ font-size:.78rem; color:var(--slate); margin-top:2px; }

.team-copy .name-role{ margin-bottom:22px; }
.team-copy .name-role h3{ font-size:1.5rem; color:var(--navy); font-weight:700; letter-spacing:-.01em; }
.team-copy .name-role .role{ font-size:.94rem; color:var(--blue); font-weight:600; margin-top:4px; }
.bio-list{ display:flex; flex-direction:column; gap:20px; }
.bio-item{ display:flex; gap:16px; padding-top:20px; border-top:1px solid var(--line); }
.bio-item:first-child{ padding-top:0; border-top:none; }
.bio-item .bio-icon{ flex:none; width:38px; height:38px; border-radius:10px; background:var(--tint); display:flex; align-items:center; justify-content:center; color:var(--blue); }
.bio-item h4{ font-size:.94rem; font-weight:650; color:var(--navy); margin-bottom:4px; }
.bio-item p{ font-size:.88rem; color:var(--slate); line-height:1.55; }
.team-quote{ margin-top:26px; padding:20px 22px; background:var(--tint); border-radius:var(--radius-m); font-size:.92rem; color:var(--navy); line-height:1.6; font-style:italic; }
@media (max-width:880px){ .team-wrap{ grid-template-columns:1fr; } .avatar{ max-width:280px; margin-inline:auto; } }

/* ============================= CTA / CONTACT ============================= */
.cta-section{ background:var(--navy); color:#fff; position:relative; overflow:hidden; padding-block: clamp(70px,9vw,120px); }
.cta-arc{ position:absolute; bottom:-26%; width:min(360px, 50vw); opacity:.32; pointer-events:none; }
.cta-arc-l{ left:-140px; transform:scaleX(-1); }
.cta-arc-r{ right:-140px; }
@media (max-width:700px){ .cta-arc{ display:none; } }
.cta-inner{ position:relative; z-index:1; max-width:640px; }
.cta-inner .lede{ margin-top:18px; }
.cta-contact{ margin-top:44px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.cta-contact .who{ }
.cta-contact .who .n{ font-weight:650; color:#fff; }
.cta-contact .who .r{ font-size:.85rem; color:var(--slate-light); }
.cta-contact .sep{ width:1px; height:34px; background:var(--line-on-navy); }
.cta-contact a.phone{ font-weight:600; color:#fff; }
.cta-btn-row{ margin-top:32px; display:flex; gap:16px; flex-wrap:wrap; }

/* ============================= FOOTER ============================= */
.site-footer{ background:#fff; border-top:1px solid var(--line); padding-block:48px; }
.footer-top{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px; }
.footer-links{ display:flex; gap:26px; flex-wrap:wrap; }
.footer-links a{ font-size:.88rem; color:var(--slate); }
.footer-links a:hover{ color:var(--navy); }
.footer-bottom{ margin-top:32px; padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-bottom p{ font-size:.82rem; color:var(--slate-light); }

/* ============================= REVEAL ON LOAD (hero only, single orchestrated moment) ============================= */
.reveal-up{ opacity:0; transform:translateY(14px); animation: reveal .7s cubic-bezier(.16,.8,.28,1) forwards; }
@keyframes reveal{ to{ opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion: reduce){ .reveal-up{ opacity:1; transform:none; animation:none; } }

/* generic section top spacing offset for anchor scroll targets */
section[id]{ scroll-margin-top: 90px; }

/* ============================= LANGUAGE SWITCH (EN | TR) ============================= */
.lang-switch{ display:flex; align-items:center; gap:2px; font-size:.82rem; font-weight:600; letter-spacing:.04em; }
.lang-switch a{ padding:6px 6px; border-radius:6px; color:rgba(255,255,255,.6); transition: color .15s ease; }
.lang-switch a:hover, .lang-switch a[aria-current]{ color:#fff; }
.lang-switch .lang-sep{ color:rgba(255,255,255,.3); }
.site-header.scrolled .lang-switch a{ color:var(--slate-light); }
.site-header.scrolled .lang-switch a:hover, .site-header.scrolled .lang-switch a[aria-current]{ color:var(--navy); }
.site-header.scrolled .lang-switch .lang-sep{ color:var(--line); }
.nav-cta .lang-switch{ margin-right:4px; }
.mobile-panel .lang-switch{ margin-top:24px; justify-content:center; font-size:1rem; }
.mobile-panel .lang-switch a{ display:inline-block; padding:8px 10px; font-size:1rem; font-weight:600; color:rgba(255,255,255,.6); border-bottom:0; }
.mobile-panel .lang-switch a[aria-current]{ color:#fff; }
.footer-meta{ display:flex; align-items:center; gap:18px; }
.site-footer .lang-switch{ margin:-6px -6px -6px 0; }
.site-footer .lang-switch a{ color:var(--slate); }
.site-footer .lang-switch a:hover, .site-footer .lang-switch a[aria-current]{ color:var(--navy); }
.site-footer .lang-switch .lang-sep{ color:var(--line); }
/* narrow desktop header: no room for the switcher below 720px (it stays in the footer); 720-779px shows only the other language */
@media (max-width: 719.98px){
  .nav-cta .lang-switch{ display:none; }
}
@media (min-width: 720px) and (max-width: 779.98px){
  .nav-cta .lang-switch a[aria-current], .nav-cta .lang-switch .lang-sep{ display:none; }
}
@media (min-width: 640.02px) and (max-width: 779.98px){
  .nav-links a{ padding:9px 6px; }
}

/* skip link */
.skip-link{ position:absolute; left:-9999px; top:0; background:#fff; color:var(--navy); padding:12px 18px; border-radius:8px; z-index:999; }
.skip-link:focus{ left:16px; top:16px; }
