:root {
  color-scheme: dark;
  --red: #e31319;
  --red-bright: #ff3840;
  --red-dark: #72080c;
  --ink: #050505;
  --panel: rgba(12, 11, 11, 0.9);
  --paper: #f4f0e8;
  --muted: #aaa3a0;
  --line: rgba(255, 255, 255, 0.13);
  --content: 1180px;
}

* { box-sizing: border-box; }

html {
  min-width: 320px;
  min-height: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
  background: var(--ink);
}

body {
  min-width: 320px;
  min-height: 100%;
  margin: 0;
  overflow-x: hidden;
  color: var(--paper);
  background: #050505;
  font-family: Inter, "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
}

button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

.scene-video,
.site-shade,
.evidence-lines {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.scene-video {
  z-index: -4;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.58) contrast(1.19) brightness(0.28);
  transform: scale(1.025);
}

.site-shade {
  z-index: -3;
  background:
    linear-gradient(90deg, rgba(0,0,0,.86), transparent 25%, transparent 75%, rgba(0,0,0,.88)),
    linear-gradient(180deg, rgba(0,0,0,.54), rgba(0,0,0,.28) 42%, rgba(0,0,0,.92)),
    radial-gradient(ellipse at center, rgba(87,7,10,.16), rgba(0,0,0,.72) 78%);
}

.site-shade::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .13;
  background-image:
    repeating-linear-gradient(93deg, transparent 0 17px, rgba(255,255,255,.035) 18px, transparent 19px),
    repeating-linear-gradient(2deg, transparent 0 11px, rgba(255,255,255,.025) 12px, transparent 13px);
  mix-blend-mode: overlay;
}

.evidence-lines {
  z-index: -2;
  opacity: .27;
  background:
    linear-gradient(24deg, transparent 0 24%, rgba(226,18,24,.48) 24.15% 24.3%, transparent 24.45%),
    linear-gradient(157deg, transparent 0 76%, rgba(226,18,24,.42) 76.15% 76.3%, transparent 76.45%);
}

.site-nav {
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 72px;
  padding: 10px max(22px, calc((100vw - var(--content)) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(4,4,4,.94), rgba(4,4,4,.76));
  box-shadow: 0 15px 36px rgba(0,0,0,.32);
  backdrop-filter: blur(15px);
}

.nav-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font: 800 1rem Georgia, serif;
  letter-spacing: .03em;
  text-decoration: none;
}

.nav-brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  filter: drop-shadow(0 0 15px rgba(227,19,25,.32));
}

.site-nav nav { display: flex; align-items: center; gap: clamp(14px, 2.4vw, 34px); }
.site-nav nav a {
  position: relative;
  color: rgba(255,255,255,.72);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease;
}
.site-nav nav a:not(.nav-cta)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  height: 2px;
  background: var(--red-bright);
  transform: scaleX(0);
  transition: transform 180ms ease;
}
.site-nav nav a:hover,
.site-nav nav a.active { color: #fff; }
.site-nav nav a:hover::after,
.site-nav nav a.active::after { transform: scaleX(1); }
.site-nav .nav-cta {
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.62);
  color: #fff;
  background: linear-gradient(125deg, #9f090e, #df161c);
  box-shadow: 0 8px 24px rgba(177,8,13,.25);
}

.language-picker { position: relative; flex: 0 0 auto; }
.language-toggle {
  width: 44px;
  height: 44px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 50%;
  color: #fff;
  background: rgba(10,8,8,.88);
  box-shadow: 0 8px 24px rgba(0,0,0,.32);
  cursor: pointer;
  transition: border-color 180ms ease,background 180ms ease,transform 180ms ease;
}
.language-toggle [data-current-flag] {
  display: block;
  width: 27px;
  height: 20px;
  border-radius: 5px;
  object-fit: cover;
  filter: drop-shadow(0 3px 5px rgba(0,0,0,.48));
}
.language-toggle:hover,
.language-toggle[aria-expanded="true"] {
  border-color: var(--red-bright);
  background: rgba(118,8,12,.9);
  transform: translateY(-1px);
}
.language-toggle:focus-visible,
.language-menu button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.language-menu {
  position: absolute;
  z-index: 70;
  top: calc(100% + 13px);
  right: 0;
  width: 205px;
  padding: 8px;
  display: grid;
  gap: 4px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(8,7,7,.97);
  box-shadow: 0 25px 70px rgba(0,0,0,.62);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px) scale(.97);
  transform-origin: top right;
  transition: opacity 180ms ease,visibility 180ms ease,transform 180ms ease;
}
.language-menu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}
.language-menu button {
  width: 100%;
  padding: 10px 11px;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  border: 0;
  color: #c8c1bd;
  background: transparent;
  cursor: pointer;
  text-align: left;
}
.language-menu button:hover,
.language-menu button.is-active { color: #fff; background: rgba(227,19,25,.16); }
.language-menu button img {
  display: block;
  width: 27px;
  height: 20px;
  border-radius: 5px;
  object-fit: cover;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.4));
}
.language-menu button b { font-size: .73rem; letter-spacing: .08em; }

.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  padding: 106px 21px 82px;
  display: grid;
  place-items: center;
  isolation: isolate;
}

.hero-frame {
  position: relative;
  width: min(960px, 100%);
  padding: clamp(18px,3.4vw,38px) clamp(18px,4vw,48px) clamp(30px,4vw,46px);
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid rgba(255,255,255,.13);
  background:
    linear-gradient(180deg, rgba(22,22,22,.76), rgba(5,5,5,.88)),
    radial-gradient(circle at 50% 5%, rgba(224,26,32,.15), transparent 48%);
  box-shadow: 0 35px 90px rgba(0,0,0,.76), inset 0 0 80px rgba(0,0,0,.5), 0 0 0 1px rgba(198,14,20,.1);
  backdrop-filter: blur(9px);
}

.brand-logo {
  display: block;
  width: min(720px,100%);
  height: auto;
  margin: clamp(-64px,-5vw,-38px) auto -2%;
  filter: drop-shadow(0 22px 24px rgba(0,0,0,.72)) drop-shadow(0 0 20px rgba(230,21,27,.2));
}

.case-line {
  width: 100%;
  margin: -1% 0 clamp(22px,4vh,34px);
  display: grid;
  grid-template-columns: minmax(20px,1fr) auto minmax(20px,1fr);
  align-items: center;
  gap: 15px;
  color: rgba(255,255,255,.78);
  font-size: clamp(.66rem,1.4vw,.86rem);
  font-weight: 800;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.case-line b { font: inherit; }
.case-line span { height: 1px; background: linear-gradient(90deg,transparent,rgba(227,19,25,.85)); }
.case-line span:last-child { background: linear-gradient(90deg,rgba(227,19,25,.85),transparent); }

.where-button {
  position: relative;
  min-width: min(100%,330px);
  min-height: 62px;
  padding: 18px 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.78);
  color: #fff;
  background: linear-gradient(115deg,rgba(176,7,12,.96),rgba(236,18,24,.96) 52%,rgba(137,0,5,.98));
  box-shadow: 0 13px 32px rgba(152,0,5,.42), inset 0 1px 0 rgba(255,255,255,.32);
  font-size: .86rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}
.where-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg,transparent 15%,rgba(255,255,255,.27) 48%,transparent 74%);
  transform: translateX(-120%);
  transition: transform 520ms ease;
}
.where-button span,.where-button b { position: relative; z-index: 1; }
.where-button b { font-size: 1.35rem; line-height: 1; }
.where-button:hover { transform: translateY(-3px); filter: brightness(1.08); box-shadow: 0 18px 42px rgba(185,0,6,.52),0 0 28px rgba(255,20,27,.18),inset 0 1px 0 rgba(255,255,255,.38); }
.where-button:hover::before { transform: translateX(120%); }
.where-button:focus-visible,.site-nav a:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }

.frame-corner { position: absolute; width: 36px; height: 36px; border-color: var(--red-bright); filter: drop-shadow(0 0 8px rgba(239,20,26,.56)); }
.corner-top-left { top:-2px;left:-2px;border-top:3px solid;border-left:3px solid; }
.corner-top-right { top:-2px;right:-2px;border-top:3px solid;border-right:3px solid; }
.corner-bottom-left { bottom:-2px;left:-2px;border-bottom:3px solid;border-left:3px solid; }
.corner-bottom-right { right:-2px;bottom:-2px;border-right:3px solid;border-bottom:3px solid; }

.case-stamp {
  position: absolute;
  top: 104px;
  left: max(26px,calc((100vw - var(--content)) / 2));
  display: grid;
  gap: 3px;
  padding-left: 13px;
  border-left: 3px solid var(--red);
  color: rgba(255,255,255,.5);
  font-size: .62rem;
  letter-spacing: .23em;
}
.case-stamp strong { color: rgba(255,255,255,.86); font-size: .78rem; }

.scroll-clue {
  position: absolute;
  bottom: 22px;
  left: 50%;
  display: grid;
  place-items: center;
  gap: 8px;
  color: rgba(255,255,255,.5);
  font-size: .55rem;
  font-weight: 900;
  letter-spacing: .2em;
  text-decoration: none;
  text-transform: uppercase;
  transform: translateX(-50%);
}
.scroll-clue i { width: 1px; height: 28px; background: linear-gradient(var(--red-bright),transparent); animation: clue 1.7s ease-in-out infinite; }
@keyframes clue { 0%,100%{transform:scaleY(.45);transform-origin:top;opacity:.45} 50%{transform:scaleY(1);transform-origin:top;opacity:1} }

.content-section {
  position: relative;
  z-index: 0;
  isolation: isolate;
  width: min(var(--content),calc(100% - 42px));
  margin: 0 auto;
  padding: clamp(90px,10vw,148px) 0;
}
.content-section::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  background:
    linear-gradient(90deg,rgba(3,3,3,.84),rgba(3,3,3,.24) 18%,rgba(3,3,3,.16) 50%,rgba(3,3,3,.24) 82%,rgba(3,3,3,.84)),
    linear-gradient(180deg,rgba(5,5,5,.9) 0%,rgba(5,5,5,.05) 17%,rgba(5,5,5,.1) 82%,rgba(5,5,5,.9) 100%),
    var(--section-art) center / cover no-repeat;
  box-shadow: inset 0 0 120px rgba(0,0,0,.34);
  transform: translateX(-50%);
}
.content-section::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg,transparent,var(--red),rgba(255,255,255,.38),var(--red),transparent);
}

.what-section {
  --section-art: url("assets/drd-smartphone-investigation-bright-v2.webp");
}

.section-heading,.story-heading { max-width: 820px; margin-bottom: clamp(42px,6vw,76px); }
.file-label { color: #ef4c55; font-size: .68rem; font-weight: 1000; letter-spacing: .2em; text-transform: uppercase; }
.section-heading h2,.story-heading h2,.final-cta h2 {
  margin: 12px 0 9px;
  color: #fff;
  font: 900 clamp(3.2rem,9vw,7rem)/.9 Georgia,serif;
  letter-spacing: -.055em;
  text-shadow: 0 10px 38px rgba(0,0,0,.72);
}
.section-heading>p,.story-heading>p { margin: 0; color: var(--muted); font-size: clamp(1rem,2vw,1.28rem); line-height: 1.5; }

.what-intro {
  padding: clamp(26px,4vw,48px);
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  align-items: center;
  gap: clamp(28px,5vw,70px);
  border: 1px solid rgba(255,255,255,.22);
  border-left: 4px solid var(--red);
  background: linear-gradient(135deg,rgba(24,15,16,.76),rgba(5,5,5,.64));
  box-shadow: 0 26px 70px rgba(0,0,0,.42);
  -webkit-backdrop-filter: blur(12px) saturate(.88);
  backdrop-filter: blur(12px) saturate(.88);
}
.what-intro p { margin: 0; color: #eee9e5; font-size: clamp(1rem,1.7vw,1.2rem); line-height: 1.75; text-shadow: 0 2px 12px #000; }
.what-intro .lead-copy { color: #fff; font: 700 clamp(1.6rem,3.5vw,2.65rem)/1.23 Georgia,serif; }
.what-intro em { color: #ff5d65; font-style: normal; }
.what-intro strong { color: #fff; }

.feature-grid { margin-top: 28px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.feature-card {
  min-height: 250px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(145deg,rgba(16,14,14,.72),rgba(5,5,5,.58));
  box-shadow: inset 0 1px rgba(255,255,255,.03),0 20px 45px rgba(0,0,0,.24);
  -webkit-backdrop-filter: blur(9px) saturate(.86);
  backdrop-filter: blur(9px) saturate(.86);
}
.feature-card>b { color: #e93b44; font-size: .65rem; letter-spacing: .16em; }
.feature-card>span { margin-top: auto; color: #fff; font: 750 clamp(1.18rem,2vw,1.52rem)/1.15 Georgia,serif; }
.feature-card>p { margin: 13px 0 0; color: #d9d3cf; font-size: .91rem; line-height: 1.58; text-shadow: 0 2px 10px #000; }

.manifesto {
  margin: clamp(46px,7vw,90px) 0 0;
  padding: clamp(34px,5vw,65px);
  border: 0;
  border-top: 1px solid rgba(255,255,255,.14);
  border-bottom: 1px solid rgba(255,255,255,.14);
  text-align: center;
  background: radial-gradient(circle at center,rgba(127,12,17,.38),rgba(0,0,0,.3) 67%);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.manifesto span { color: #ef4c55; font-size: .64rem; font-weight: 1000; letter-spacing: .22em; }
.manifesto p { max-width: 920px; margin: 18px auto 0; color: #fff; font: 800 clamp(1.8rem,4.6vw,3.7rem)/1.12 Georgia,serif; }

.story-section {
  --section-art: url("assets/drd-improvised-actors-bright-v2.webp");
  padding-top: clamp(110px,12vw,170px);
}
.story-heading { position: sticky; top: 112px; width: 32%; float: left; }
.story-heading h2 { font-size: clamp(3.5rem,8vw,6.5rem); }
html[lang="en"] .story-heading h2,
html[lang="fr"] .story-heading h2,
html[lang="de"] .story-heading h2,
html[lang="es"] .story-heading h2,
html[lang="pt-PT"] .story-heading h2 { font-size: clamp(3rem,6vw,5.6rem); }
.story-timeline { width: 62%; margin-left: auto; display: grid; gap: 18px; }
.story-entry {
  position: relative;
  padding: clamp(25px,4vw,42px);
  display: grid;
  grid-template-columns: 106px minmax(0,1fr);
  gap: 24px;
  border: 1px solid rgba(255,255,255,.2);
  background: linear-gradient(145deg,rgba(20,16,16,.76),rgba(5,5,5,.62));
  box-shadow: 0 25px 65px rgba(0,0,0,.34);
  -webkit-backdrop-filter: blur(10px) saturate(.86);
  backdrop-filter: blur(10px) saturate(.86);
}
.story-entry::before { content:"";position:absolute;top:-1px;bottom:-1px;left:-1px;width:3px;background:linear-gradient(var(--red-bright),var(--red-dark)); }
.story-year { padding-top: 5px; color: #ef4a53; font-size: .68rem; font-weight: 1000; letter-spacing: .14em; }
.story-entry h3 { margin: 0 0 16px; color: #fff; font: 800 clamp(1.42rem,2.5vw,2rem)/1.15 Georgia,serif; }
.story-entry p { margin: 0 0 16px; color: #ddd7d3; font-size: .98rem; line-height: 1.72; text-shadow: 0 2px 10px #000; }
.story-entry p:last-child { margin-bottom: 0; }
.story-entry strong { color: #fff; }
.story-entry a { color: #ff626a; font-weight: 900; text-underline-offset: 4px; }
.story-entry ul { margin: 20px 0 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.story-entry li { position: relative; padding-left: 21px; color: #eee9e5; font-size: .92rem; line-height: 1.5; text-shadow: 0 2px 10px #000; }
.story-entry li::before { content:"";position:absolute;top:.58em;left:0;width:8px;height:8px;border:1px solid #ff5159;background:#65090d;transform:rotate(45deg); }

.founder-signature {
  width: 62%;
  margin: 28px 0 0 auto;
  padding: 32px 4px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 34px;
  border-top: 1px solid rgba(255,255,255,.14);
}
.founder-signature div { display: grid; gap: 7px; }
.founder-signature span { color: #ee4b54; font-size: .62rem; font-weight: 1000; letter-spacing: .19em; }
.founder-signature strong { color: #fff; font: italic 800 2.2rem Georgia,serif; }
.founder-signature p { max-width: 370px; margin: 0; color: #9f9996; font: italic 1rem/1.55 Georgia,serif; text-align: right; }

.final-cta {
  position: relative;
  padding: clamp(90px,12vw,170px) 21px;
  display: grid;
  place-items: center;
  gap: 24px;
  background:
    linear-gradient(90deg,rgba(3,3,3,.82),rgba(3,3,3,.18) 25%,rgba(3,3,3,.18) 75%,rgba(3,3,3,.82)),
    linear-gradient(180deg,rgba(5,5,5,.88) 0%,rgba(5,5,5,.04) 22%,rgba(5,5,5,.12) 78%,rgba(5,5,5,.88) 100%),
    url("assets/drd-dinner-investigation-bright-v2.webp") center / cover no-repeat;
  box-shadow: inset 0 0 130px rgba(0,0,0,.38);
}
.final-cta::before { content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(155,9,15,.32),transparent 58%); }
.final-cta-card {
  position: relative;
  width: min(900px,100%);
  padding: clamp(44px,7vw,82px) clamp(24px,6vw,74px);
  border: 1px solid rgba(255,255,255,.24);
  text-align: center;
  background: linear-gradient(150deg,rgba(27,14,16,.78),rgba(5,5,5,.64));
  box-shadow: 0 35px 100px rgba(0,0,0,.65),0 0 70px rgba(205,12,19,.14);
  -webkit-backdrop-filter: blur(12px) saturate(.88);
  backdrop-filter: blur(12px) saturate(.88);
}
.final-cta h2 { margin-top: 18px; font-size: clamp(2.3rem,6vw,5rem); }
.final-cta p { margin: 22px auto 32px; color: #aaa3a0; font-size: clamp(1rem,2vw,1.2rem); }

.agency-cta {
  position: relative;
  width: min(900px,100%);
  padding: clamp(26px,4vw,42px);
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: clamp(28px,5vw,62px);
  border: 1px solid rgba(255,255,255,.22);
  border-left: 4px solid var(--red);
  background: linear-gradient(120deg,rgba(12,11,11,.78),rgba(36,10,12,.68));
  box-shadow: 0 24px 65px rgba(0,0,0,.48);
  -webkit-backdrop-filter: blur(12px) saturate(.88);
  backdrop-filter: blur(12px) saturate(.88);
}
.agency-cta h2 {
  margin: 10px 0 7px;
  font: 800 clamp(1.55rem,3.4vw,2.65rem)/1.12 Georgia,serif;
  letter-spacing: -.025em;
}
.agency-cta p { margin: 0; color: #bbb3af; font-size: clamp(.95rem,1.7vw,1.12rem); }
.contact-button {
  min-width: 176px;
  min-height: 56px;
  padding: 15px 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border: 1px solid rgba(255,255,255,.66);
  color: #fff;
  background: linear-gradient(125deg,#9f090e,#df161c);
  box-shadow: 0 12px 30px rgba(177,8,13,.3);
  font-size: .74rem;
  font-weight: 1000;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 180ms ease,filter 180ms ease;
}
.contact-button b { font-size: 1.2rem; }
.contact-button:hover { transform: translateY(-3px); filter: brightness(1.1); }
.contact-button:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }

.site-footer {
  min-height: 84px;
  padding: 22px max(22px,calc((100vw - var(--content)) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  border-top: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.45);
  background: rgba(3,3,3,.94);
  font-size: .65rem;
  font-weight: 750;
  letter-spacing: .14em;
}
.site-footer a { color: rgba(255,255,255,.5); text-decoration: none; }
.site-footer strong { color: rgba(255,255,255,.9); }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity 650ms ease,transform 650ms cubic-bezier(.16,1,.3,1); }
.reveal.visible { opacity: 1; transform: translateY(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; }

@media (max-width: 900px) {
  .feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .story-heading { position: relative; top: auto; width: 100%; float: none; }
  .story-timeline,.founder-signature { width: 100%; }
}

@media (max-width: 640px) {
  html { scroll-padding-top: 72px; }
  .site-nav { min-height: 64px; padding: 8px 12px; gap: 10px; }
  .nav-brand { gap: 7px; }
  .nav-brand img { width: 42px; height: 42px; }
  .nav-brand span { display: none; }
  .site-nav nav { flex: 1; justify-content: flex-end; gap: 10px; }
  .site-nav nav a { font-size: .58rem; letter-spacing: .1em; }
  .site-nav nav a:not(.nav-cta) { display: none; }
  .site-nav .nav-cta { padding: 10px 9px; }
  .language-toggle { width: 38px; height: 38px; }
  .language-toggle [data-current-flag] { width: 25px; height: 18px; }
  .language-menu { position: fixed; top: 70px; right: 10px; width: 198px; }
  .hero { padding: 94px 12px 72px; }
  .hero-frame { padding: 16px 14px 30px; }
  .brand-logo { width: 100%; margin-top: -26px; }
  .case-line { margin-top:-2%;gap:8px;font-size:.56rem;letter-spacing:.13em; }
  .where-button { width:calc(100% - 12px);min-width:0;min-height:58px;padding-inline:17px;font-size:.72rem;letter-spacing:.1em; }
  .case-stamp { top: 81px; left: 18px; }
  .scroll-clue { bottom: 12px; }
  .content-section { width:calc(100% - 24px);padding-block:82px; }
  .section-heading,.story-heading { margin-bottom: 36px; }
  .section-heading h2,.story-heading h2,
  html[lang="en"] .story-heading h2,
  html[lang="fr"] .story-heading h2,
  html[lang="de"] .story-heading h2,
  html[lang="es"] .story-heading h2,
  html[lang="pt-PT"] .story-heading h2 { font-size: 3.05rem; }
  .what-intro { padding: 25px 20px; grid-template-columns:1fr;gap:20px; }
  .what-intro .lead-copy { font-size: 1.65rem; }
  .feature-grid { grid-template-columns:1fr;gap:10px; }
  .feature-card { min-height: 205px; padding: 23px; }
  .manifesto { padding-inline: 12px; }
  .story-entry { padding: 25px 21px; grid-template-columns:1fr; gap:13px; }
  .story-year { padding:0; }
  .founder-signature { padding-inline:4px;align-items:flex-start;flex-direction:column; }
  .founder-signature p { text-align:left; }
  .final-cta { padding-inline:12px; }
  .agency-cta { grid-template-columns:1fr;gap:23px; }
  .contact-button { width:100%; }
  .site-footer { align-items:flex-start;flex-direction:column;gap:12px; }
  .evidence-lines { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .scene-video { display:none; }
  .where-button,.where-button::before,.reveal { transition:none; }
  .scroll-clue i { animation:none; }
  .reveal { opacity:1;transform:none; }
}
