:root {
  --content-max: 1440px;
  --page-pad: clamp(20px, 4vw, 64px);
}

.skip-link { position:fixed; inset-block-start:10px; inset-inline-start:10px; z-index:999; padding:10px 14px; background:#fff; color:#111; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.brand img { height:auto; }
.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.lang-toggle a[aria-current="page"] { color:#fff; font-weight:700; }
.lang-toggle a:not([aria-current="page"]) { opacity:.58; }

.site-nav {
  max-width: var(--content-max);
  margin-inline: auto;
}

.hero-copy {
  width: min(880px, 88vw);
  margin-inline-start: max(5vw, calc((100vw - var(--content-max)) / 2 + 64px));
}

.hero h1 {
  max-width: 840px;
  font-size: clamp(54px, 6.2vw, 88px);
  letter-spacing: -0.015em;
}

.hero .lede {
  max-width: 570px;
  font-size: clamp(16px, 1.35vw, 18px);
  line-height: 1.55;
}

.manifesto h2 { font-size: clamp(46px, 4.8vw, 72px); }
.capabilities h2,
.work h2 { font-size: clamp(42px, 4.4vw, 66px); }
.impact h2,
.process h2 { font-size: clamp(40px, 4vw, 60px); }
.global h2 { font-size: clamp(46px, 5.2vw, 78px); max-width: 850px; }
.final-cta h2 { font-size: clamp(46px, 5vw, 72px); }
body .contact-hero h1 { font-size:clamp(50px, 6vw, 88px); line-height:.98; max-width:980px; }
body.ar .contact-hero h1 { font-size:clamp(42px, 5vw, 72px); line-height:1.15; }

.capabilities,
.work,
.process,
.impact,
.final-cta { padding-block: clamp(72px, 7vw, 104px); }

.cap-grid h3 { font-size: clamp(20px, 1.8vw, 25px); }
.cap-grid article { min-height: 360px; }
.cap-icon { width:34px; height:34px; margin:18px 0 0; fill:none; stroke:#c72848; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.cap-grid article>span { display:block; margin-top:14px; color:#b21f3d; }
.cap-grid article p { font-size: 14px; line-height: 1.6; }
.cap-grid article em { display:block; margin-top:18px; color:#202427; font-size:13px; line-height:1.5; font-weight:700; }
.work-grid h3 { font-size: clamp(23px, 2.2vw, 30px); }
.work-grid img { height: clamp(240px, 24vw, 330px); }

.momentum,.why-watan { padding:clamp(80px,8vw,120px) var(--page-pad); display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:clamp(40px,8vw,120px); align-items:start; }
.momentum h2,.why-watan h2,.industries h2,.closing-line h2 { font-family:Impact,'Arial Narrow',sans-serif; text-transform:uppercase; line-height:.94; font-size:clamp(42px,4.6vw,68px); }
.momentum>div:last-child,.why-watan>div:last-child { font-size:clamp(17px,1.5vw,21px); color:#c2c4c4; line-height:1.7; }
.momentum strong { display:block; margin-top:30px; padding-top:25px; border-top:2px solid #f44e68; color:#fff; }
.industries { padding:clamp(80px,8vw,120px) var(--page-pad); }
.industries h2 { max-width:850px; margin-bottom:45px; }
.industry-list { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #9b9b9b; }
.industry-list span { min-height:115px; padding:25px 18px; border-inline-end:1px solid #aaa; border-bottom:1px solid #aaa; font-weight:800; font-size:clamp(16px,1.5vw,21px); }
.why-watan { background:#111719; }
.why-watan ul { list-style:none; padding:0; margin-top:32px; border-top:1px solid #ffffff33; }
.why-watan li { padding:16px 0; border-bottom:1px solid #ffffff33; color:#fff; font-weight:800; }
.impact span strong { display:block; color:#f44e68; font-family:Impact,'Arial Narrow',sans-serif; font-size:clamp(32px,3vw,48px); line-height:1; }
.impact span small { display:block; margin-top:10px; }
.global>div p:last-child,.global>div p:nth-last-child(2) { max-width:650px; margin-top:18px; }
.closing-line { padding:clamp(100px,11vw,160px) var(--page-pad); background:#f3f0e8; color:#101315; text-align:center; }
.light .coral,.light .cap-grid article>span,.closing-line .coral { color:#b21f3d; }
.closing-line h2 { max-width:1050px; margin:0 auto; font-size:clamp(46px,5.7vw,82px); }
.closing-line>p:last-child { max-width:700px; margin:35px auto 0; color:#555; font-size:18px; }
.final-cta>p:not(.eyebrow) { max-width:760px; margin:-10px 0 35px; color:#c2c4c4; font-size:18px; }
.process { grid-template-columns:.8fr 2.2fr; }
.process ol { grid-template-columns:repeat(5,1fr); }

.button,
.nav-menu a,
.site-footer a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
.button { background:#c72848; }
.button:hover { background:#df3654; transform:translateY(-2px); }
.button.ghost:hover { background:#fff; color:#0b0e10; }
.nav-menu a:hover,.site-footer a:hover { color:#f44e68; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #f44e68; outline-offset:4px; }

body.ar .hero h1 { font-size: clamp(46px, 5.4vw, 76px); max-width: 790px; }
body.ar .manifesto h2 { font-size: clamp(42px, 4.3vw, 66px); }
body.ar .capabilities h2,
body.ar .work h2,
body.ar .impact h2,
body.ar .process h2 { font-size: clamp(38px, 3.8vw, 58px); }
body.ar .global h2,
body.ar .final-cta h2 { font-size: clamp(42px, 4.5vw, 68px); }

@media (max-width: 800px) {
  .site-nav { gap:12px; }
  .nav-menu {
    position:absolute;
    inset:74px 0 auto;
    padding:24px 20px;
    background:rgba(9,13,15,.98);
    border-top:1px solid rgba(255,255,255,.12);
    flex-direction:column;
    gap:18px;
  }
  .hero { min-height:680px; }
  .hero-copy { width:auto; margin-inline:20px; padding-top:54px; }
  .hero h1 { font-size:clamp(43px, 13vw, 58px); line-height:.96; max-width:520px; }
  body.ar .hero h1 { font-size:clamp(39px, 11.5vw, 52px); line-height:1.15; }
  .hero .lede { margin-block:22px; }
  .actions { flex-wrap:wrap; }
  .actions .button { min-height:48px; }
  .proof div { gap:18px 28px; font-size:17px; }
  .split>div { padding:64px 20px; }
  .capabilities,.work,.process,.impact,.final-cta { padding-inline:20px; }
  .momentum,.why-watan { grid-template-columns:1fr; padding-inline:20px; }
  .industry-list { grid-template-columns:1fr 1fr; }
  .industries,.closing-line { padding-inline:20px; }
  .process ol,.impact>div { grid-template-columns:1fr; }
  .process li,.impact span { padding-block:22px; }
  .global { min-height:500px; }
  .global>div { margin-inline:20px; }
}
