/* 00-tokens.css */
/* ─────────────────────────────────────────────────────────────
   THARA — design tokens
   Palette lifted from the corporate profile: deep slate-green
   (logo), turquoise accent, warm paper/stone, bronze numerals.
   ───────────────────────────────────────────────────────────── */
@font-face { font-family: 'Thmanyah Serif Display'; src: url('/assets/fonts/thmanyahserifdisplay-Light.woff2') format('woff2'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'Thmanyah Serif Display'; src: url('/assets/fonts/thmanyahserifdisplay-Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Thmanyah Sans'; src: url('/assets/fonts/thmanyahsans-Light.woff2') format('woff2'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'Thmanyah Sans'; src: url('/assets/fonts/thmanyahsans-Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Thmanyah Sans'; src: url('/assets/fonts/thmanyahsans-Medium.woff2') format('woff2'); font-weight: 500; font-display: swap; }

:root {
  /* brand */
  --ink: #2e3a38;
  --slate: #445351;
  --slate-2: #52625f;
  --slate-3: #64746f;
  --teal: #a9bdb8;
  --teal-deep: #445351;
  --paper: #edebe5;
  --paper-2: #e6e4dd;
  --stone: #d8d7d0;
  --stone-2: #c9c8c1;
  --bronze: #445351;
  --bronze-2: #64746f;
  --text: #2a3432;
  --muted: #6b7876;
  --hair: rgba(68, 83, 81, 0.18);
  --hair-light: rgba(237, 235, 229, 0.16);

  /* semantic (default: paper) */
  --bg: var(--paper);
  --fg: var(--text);
  --fg-muted: var(--muted);
  --rule: var(--hair);
  --accent: var(--teal-deep);
  --num: var(--bronze);

  /* type */
  --font-display: 'Thmanyah Serif Display', Georgia, serif;
  --font-sans: 'Thmanyah Sans', 'Segoe UI', Arial, sans-serif;
  --font-ar: 'Thmanyah Sans', 'Segoe UI', Tahoma, sans-serif;

  --fs-hero: clamp(1.9rem, 3.4vw, 3.6rem);
  --fs-1: clamp(1.5rem, 2.3vw, 2.5rem);
  --fs-2: clamp(1.3rem, 1.8vw, 2rem);
  --fs-3: clamp(1.1rem, 1.35vw, 1.4rem);
  --fs-4: clamp(0.98rem, 1.05vw, 1.08rem);
  --fs-body: 0.94rem;
  --fs-small: 0.78rem;
  --fs-micro: 0.66rem;
  --fs-num: clamp(1.8rem, 2.8vw, 3rem);

  /* rhythm */
  --pad: clamp(20px, 5vw, 88px);
  --gap: clamp(16px, 1.6vw, 28px);
  --section: clamp(80px, 10vw, 160px);
  --max: 1720px;
  --nav-h: 88px;

  /* motion */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-io: cubic-bezier(0.65, 0, 0.35, 1);
  --dur: 0.9s;
}

/* Surfaces */
.paper { --bg: var(--paper); --fg: var(--text); --fg-muted: var(--muted); --rule: var(--hair); --num: var(--bronze); }
.stone { --bg: var(--stone); --fg: var(--text); --fg-muted: #4f5b58; --rule: rgba(31, 43, 41, 0.18); --num: var(--bronze); }
.slate { --bg: var(--slate); --fg: var(--paper); --fg-muted: rgba(237, 235, 229, 0.62); --rule: var(--hair-light); --num: var(--paper); --accent: var(--teal); }
.ink   { --bg: var(--ink);   --fg: var(--paper); --fg-muted: rgba(237, 235, 229, 0.58); --rule: rgba(237, 235, 229, 0.14); --num: var(--paper); --accent: var(--teal); }

/* Sham View sub-brand skin — desert blush on saffron cedar, Thmanyah type */
[data-skin="shamview"] {
  --sv-cedar: #593229;
  --sv-cedar-deep: #2f1a15;
  --sv-blush: #c8b4a6;
  --sv-off: #e8ddd5;
  --sv-sage: #5d7563;
  --bg: var(--sv-cedar-deep);
  --fg: var(--sv-off);
  --fg-muted: rgba(232, 221, 213, 0.6);
  --rule: rgba(200, 180, 166, 0.22);
  --accent: var(--sv-blush);
  --num: var(--sv-blush);
}


/* 10-base.css */
/* ───────────── Reset & base ───────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: auto; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
body {
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--fg);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
  font-feature-settings: 'ss01', 'cv11';
}
[dir="rtl"] body { font-family: var(--font-ar); letter-spacing: 0 !important; }
img, video, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
ul, ol { list-style: none; }
table { border-collapse: collapse; width: 100%; }
small { font-size: 0.55em; }
::selection { background: var(--teal); color: var(--ink); }
:focus-visible { outline: 1.5px solid var(--accent); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Layout primitives */
.wrap { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--pad); }
.grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: clamp(32px, 4vw, 64px); align-items: start; }
.col-4 { grid-column: span 4; } .col-5 { grid-column: span 5; } .col-6 { grid-column: span 6; }
.col-7 { grid-column: span 7; } .col-8 { grid-column: span 8; } .col-9 { grid-column: span 9; } .col-12 { grid-column: span 12; }
section, footer { position: relative; background: var(--bg); color: var(--fg); }

/* Recolorable logos: CSS mask over a currentColor block */
.mask { display: inline-block; aspect-ratio: var(--mask-ratio); height: 1em; background: currentColor; -webkit-mask: var(--mask) no-repeat center / contain; mask: var(--mask) no-repeat center / contain; }

/* Type helpers */
.eyebrow { display: flex; align-items: baseline; gap: 14px; font-size: var(--fs-micro); letter-spacing: 0.22em; text-transform: uppercase; color: var(--fg-muted); }
.eyebrow__index { font-family: var(--font-display); font-style: normal; font-size: 1.1rem; letter-spacing: 0; color: var(--num); }
.eyebrow__text::before { content: ''; display: inline-block; width: 28px; height: 1px; background: currentColor; vertical-align: middle; margin-inline-end: 14px; opacity: 0.6; }
[dir="rtl"] .eyebrow { letter-spacing: 0; font-size: 0.8rem; }
.list__label { font-size: var(--fs-micro); letter-spacing: 0.2em; text-transform: uppercase; color: var(--fg-muted); padding-bottom: 12px; border-bottom: 1px solid var(--rule); margin-bottom: 20px; }
[dir="rtl"] .list__label { letter-spacing: 0; font-size: 0.78rem; }
h1, h2, h3 { font-weight: 400; }
/* Opposite-direction inline text keeps the parent's alignment */
[dir="ltr"] [dir="rtl"] { text-align: left; }
[dir="rtl"] [dir="ltr"] { text-align: right; }

/* Display headlines — serif, tight, editorial */
.hero__title, .manifesto__statement, .dev__heading, .journey__heading, .reach__heading, .partners__heading, .contact__heading, .proj__name, .figures__heading {
  font-family: var(--font-display); font-weight: 300; letter-spacing: 0; line-height: 1.08;
}
[dir="rtl"] .hero__title, [dir="rtl"] .manifesto__statement, [dir="rtl"] .dev__heading, [dir="rtl"] [dir="rtl"] .journey__heading, [dir="rtl"] .reach__heading, [dir="rtl"] .partners__heading, [dir="rtl"] .contact__heading, [dir="rtl"] .proj__name, [dir="rtl"] .figures__heading {
  font-family: var(--font-display); font-weight: 300; line-height: 1.35; letter-spacing: 0;
}

/* Numerals — italic serif, like the profile */
.num { font-family: var(--font-display); font-style: normal; font-weight: 300; letter-spacing: -0.01em; line-height: 0.9; color: var(--num); font-variant-numeric: lining-nums; white-space: nowrap; }
.num__prefix { font-size: 0.5em; vertical-align: 0.55em; margin-inline-end: 0.08em; font-style: normal; }
.num__suffix { font-size: 0.38em; vertical-align: 0.9em; margin-inline-start: 0.2em; font-family: var(--font-sans); }
[dir="rtl"] .num__suffix { font-family: var(--font-ar); font-style: normal; font-size: 0.3em; }

/* Split-text line masks */
.line { display: block; overflow: hidden; padding-bottom: 0.08em; margin-bottom: -0.08em; }
.line__in { display: block; transform: translateY(110%); }
.is-ready .line__in { transition: transform 1.1s var(--ease); }
.in-view .line__in { transform: none; }
.line:nth-child(2) .line__in { transition-delay: 0.08s; } .line:nth-child(3) .line__in { transition-delay: 0.16s; }
.line:nth-child(4) .line__in { transition-delay: 0.24s; } .line:nth-child(5) .line__in { transition-delay: 0.32s; } .line:nth-child(n+6) .line__in { transition-delay: 0.4s; }

/* Generic reveals */
[data-reveal], [data-reveal-group] > * { opacity: 0; transform: translateY(28px); }
.is-ready [data-reveal], .is-ready [data-reveal-group] > * { transition: opacity 1s var(--ease), transform 1.1s var(--ease); }
[data-reveal].in-view, [data-reveal-group].in-view > * { opacity: 1; transform: none; }
[data-reveal-group].in-view > :nth-child(2) { transition-delay: 0.08s; } [data-reveal-group].in-view > :nth-child(3) { transition-delay: 0.16s; }
[data-reveal-group].in-view > :nth-child(4) { transition-delay: 0.24s; } [data-reveal-group].in-view > :nth-child(5) { transition-delay: 0.32s; }
[data-reveal-group].in-view > :nth-child(6) { transition-delay: 0.4s; } [data-reveal-group].in-view > :nth-child(n+7) { transition-delay: 0.48s; }
/* Mask reveal: clip the media children, never the observed element itself
   (a fully clipped element never intersects in IntersectionObserver). */
[data-reveal-mask] { position: relative; }
[data-reveal-mask] > :not(figcaption) { clip-path: inset(0 0 100% 0); overflow: hidden; }
.is-ready [data-reveal-mask] > :not(figcaption) { transition: clip-path 1.4s var(--ease); }
[data-reveal-mask].in-view > :not(figcaption) { clip-path: inset(0 0 0 0); }
[data-reveal-mask] > :not(figcaption) { transform: translateY(6%); }
.is-ready [data-reveal-mask] > :not(figcaption) { transition: clip-path 1.4s var(--ease), transform 1.4s var(--ease); }
[data-reveal-mask].in-view > :not(figcaption) { transform: none; }
[data-reveal-mask] figcaption { opacity: 0; transition: opacity 1s 0.6s var(--ease); }
[data-reveal-mask].in-view figcaption { opacity: 1; }

/* Buttons & links */
.btn { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 34px; border: 1px solid currentColor; border-radius: 999px; font-size: 0.82rem; letter-spacing: 0.14em; text-transform: uppercase; overflow: hidden; isolation: isolate; transition: color 0.5s var(--ease); }
[dir="rtl"] .btn { letter-spacing: 0; font-size: 0.92rem; }
.btn span { position: relative; z-index: 1; }
.btn::before { content: ''; position: absolute; inset: -1px; background: currentColor; transform: translateY(101%); transition: transform 0.6s var(--ease); z-index: 0; }
.btn:hover::before, .btn:focus-visible::before { transform: none; }
.btn--light { color: var(--fg); }
.btn--light:hover span, .btn--light:focus-visible span { color: var(--bg); }
.btn--light:hover, .btn--light:focus-visible { color: var(--fg); }
.link { display: inline-flex; align-items: center; gap: 10px; font-size: 0.82rem; letter-spacing: 0.14em; text-transform: uppercase; padding-bottom: 6px; border-bottom: 1px solid var(--rule); transition: border-color 0.4s; }
.link:hover { border-color: currentColor; }
[dir="rtl"] .link { letter-spacing: 0; font-size: 0.9rem; }
[dir="rtl"] .link span, [dir="rtl"] .sv-res__arrow, [dir="rtl"] .hero__next-arrow { transform: scaleX(-1); display: inline-block; }

/* Preview (floating hover image) */
.preview { position: fixed; top: 0; left: 0; width: clamp(240px, 24vw, 420px); aspect-ratio: 4 / 3; pointer-events: none; z-index: 5; opacity: 0; transform: scale(0.92); transition: opacity 0.45s var(--ease), transform 0.6s var(--ease); will-change: transform; overflow: hidden; }
.preview.is-on { opacity: 1; transform: scale(1); }
.preview__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.5s var(--ease); }
.preview__img.is-active { opacity: 1; }
@media (hover: none) { .preview { display: none; } }

/* Progress bar */
.progress { position: fixed; top: 0; left: 0; right: 0; height: 1px; z-index: 90; pointer-events: none; }
.progress__bar { display: block; height: 100%; width: 100%; background: var(--teal); transform-origin: left; transform: scaleX(0); }
[dir="rtl"] .progress__bar { transform-origin: right; }

/* Reduced motion: everything visible, no transitions */
@media (prefers-reduced-motion: reduce) {
  [data-reveal], [data-reveal-group] > *, .line__in, [data-reveal-mask], [data-reveal-mask] img { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }
  .hero__video { display: none; }
  * { animation-duration: 0.001s !important; transition-duration: 0.001s !important; }
}


/* 20-chrome.css */
/* ───────────── Preloader ───────────── */
.preloader { position: fixed; inset: 0; z-index: 200; background: var(--slate); color: var(--teal); display: grid; place-items: center; grid-template-rows: 1fr auto; padding: var(--pad); transition: clip-path 1.1s var(--ease-io); }
.preloader__mark { align-self: center; }
.preloader__mark .mark__d { transform-box: fill-box; transform-origin: center; opacity: 0; animation: markIn 0.7s var(--ease) forwards; }
.preloader__mark .mark__d:nth-child(2) { animation-delay: 0.12s; } .preloader__mark .mark__d:nth-child(3) { animation-delay: 0.24s; }
.preloader__mark .mark__bar { transform-box: fill-box; transform-origin: top; transform: scaleY(0); animation: barIn 0.8s 0.36s var(--ease) forwards; }
@keyframes markIn { from { opacity: 0; transform: rotate(45deg) scale(0.4); } to { opacity: 1; transform: rotate(45deg) scale(1); } }
@keyframes barIn { to { transform: scaleY(1); } }
.preloader__word { justify-self: start; color: var(--paper); font-size: 22px; opacity: 0; animation: fade 0.8s 0.7s var(--ease) forwards; }
[dir="rtl"] .preloader__word { justify-self: end; }
@keyframes fade { to { opacity: 1; } }
.is-ready .preloader { clip-path: inset(0 0 100% 0); pointer-events: none; visibility: hidden; transition: clip-path 1.1s var(--ease-io), visibility 0s 1.1s; }
.is-loading { overflow: hidden; }


/* ───────────── Navigation ───────────── */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; height: var(--nav-h); display: flex; align-items: center; justify-content: space-between; padding-inline: var(--pad); color: var(--paper); transition: color 0.6s var(--ease), transform 0.6s var(--ease), background-color 0.6s; }
.nav::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(11, 27, 30, 0.55), transparent); opacity: 1; transition: opacity 0.6s; pointer-events: none; }
.nav--solid::before { opacity: 0; }
.nav--solid { background: color-mix(in srgb, var(--nav-bg, var(--slate)) 92%, transparent); }
.nav--light { color: var(--text); --nav-bg: var(--paper); }
.nav--menu { color: var(--paper); background: transparent; backdrop-filter: none; }
.nav--menu::before { opacity: 0; }
.nav__logo { position: relative; display: block; font-size: 30px; line-height: 1; z-index: 2; }
.nav__logo-mask { display: block; height: 1em; }
.nav__right { position: relative; display: flex; align-items: center; gap: clamp(18px, 2.4vw, 40px); z-index: 2; }
.nav__cta { font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; padding: 12px 20px; border: 1px solid currentColor; border-radius: 999px; transition: background-color 0.4s, color 0.4s; }
.nav__cta:hover { background: var(--teal); border-color: var(--teal); color: var(--ink); }
[dir="rtl"] .nav__cta { letter-spacing: 0; font-size: 0.8rem; }
.nav__lang { font-size: 0.78rem; letter-spacing: 0.08em; opacity: 0.85; padding-bottom: 2px; border-bottom: 1px solid transparent; transition: border-color 0.3s, opacity 0.3s; }
.nav__lang:hover { opacity: 1; border-color: currentColor; }
[dir="ltr"] .nav__lang { font-family: var(--font-ar); }
[dir="rtl"] .nav__lang { font-family: var(--font-sans); letter-spacing: 0.1em; }
.nav__burger { display: flex; align-items: center; gap: 12px; font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; }
[dir="rtl"] .nav__burger { letter-spacing: 0; font-size: 0.8rem; }
.nav__burger-label[data-close], .nav--menu .nav__burger-label[data-open] { display: none; }
.nav--menu .nav__burger-label[data-close] { display: inline; }
.nav__burger-icon { position: relative; width: 28px; height: 12px; }
.nav__burger-icon i { position: absolute; left: 0; right: 0; height: 1px; background: currentColor; transition: transform 0.5s var(--ease), top 0.5s var(--ease); }
.nav__burger-icon i:first-child { top: 0; } .nav__burger-icon i:last-child { top: 11px; }
.nav--menu .nav__burger-icon i { top: 5.5px; }
.nav--menu .nav__burger-icon i:first-child { transform: rotate(45deg); } .nav--menu .nav__burger-icon i:last-child { transform: rotate(-45deg); }

/* ───────────── Fullscreen menu ───────────── */
.menu { position: fixed; inset: 0; z-index: 95; visibility: hidden; pointer-events: none; color: var(--paper); }
.menu__bg { position: absolute; inset: 0; background: var(--slate); clip-path: inset(0 0 100% 0); transition: clip-path 0.9s var(--ease-io); }
.menu__bg::after { content: ''; position: absolute; inset: 0; background: url('/assets/img/texture-paper-600.webp') center / cover; opacity: 0.08; }
.menu.is-open { visibility: visible; pointer-events: auto; }
.menu.is-open .menu__bg { clip-path: inset(0 0 0 0); }
.menu__inner { position: relative; height: 100%; display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--gap); padding: calc(var(--nav-h) + 4vh) var(--pad) 6vh; align-items: end; }
.menu__list { counter-reset: none; }
.menu__item { overflow: hidden; }
.menu__link { display: flex; align-items: baseline; gap: 22px; padding: 0.06em 0; font-family: var(--font-display); font-size: clamp(1.8rem, 4.4vh, 3.2rem); line-height: 1.15; letter-spacing: -0.01em; transform: translateY(110%); transition: transform 0.9s var(--ease), color 0.4s; }
[dir="rtl"] .menu__link { font-family: var(--font-ar); font-weight: 300; }
.menu.is-open .menu__link { transform: none; }
.menu__item:nth-child(2) .menu__link { transition-delay: 0.05s; } .menu__item:nth-child(3) .menu__link { transition-delay: 0.1s; }
.menu__item:nth-child(4) .menu__link { transition-delay: 0.15s; } .menu__item:nth-child(5) .menu__link { transition-delay: 0.2s; }
.menu__item:nth-child(6) .menu__link { transition-delay: 0.25s; } .menu__item:nth-child(7) .menu__link { transition-delay: 0.3s; }
.menu__index { font-family: var(--font-sans); font-size: 0.68rem; letter-spacing: 0.2em; color: var(--teal); }
.menu__list:hover .menu__link { color: rgba(237, 235, 229, 0.38); }
.menu__list:hover .menu__link:hover { color: var(--paper); }
.menu__aside { opacity: 0; transform: translateY(20px); transition: opacity 0.8s 0.35s var(--ease), transform 0.8s 0.35s var(--ease); max-width: 42ch; }
.menu.is-open .menu__aside { opacity: 1; transform: none; }
.menu__tagline { font-family: var(--font-display); font-size: var(--fs-3); line-height: 1.15; margin-bottom: 20px; }
[dir="rtl"] .menu__tagline { font-family: var(--font-ar); font-weight: 300; }
.menu__text { color: rgba(237, 235, 229, 0.62); margin-bottom: 36px; }
.menu__meta { display: flex; justify-content: space-between; gap: 24px; font-size: var(--fs-micro); letter-spacing: 0.18em; text-transform: uppercase; padding-top: 20px; border-top: 1px solid var(--hair-light); }
[dir="rtl"] .menu__meta { letter-spacing: 0; font-size: 0.8rem; }


/* 30-sections.css */
/* ───────────── Hero ───────────── */
.hero { position: relative; height: 100svh; min-height: 640px; overflow: hidden; background: var(--ink); color: var(--paper); display: flex; flex-direction: column; justify-content: flex-end; }
.hero__media { position: absolute; inset: -12% 0; }
.hero__poster, .hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__video { opacity: 0; transition: opacity 1.2s var(--ease-io); }
.hero__video.is-on { opacity: 1; }
.hero__poster { transform: scale(1.06); transition: transform 3.2s var(--ease); }
.is-ready .hero__poster { transform: scale(1); }
.hero__scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(11, 27, 30, 0.82) 0%, rgba(11, 27, 30, 0.35) 38%, rgba(11, 27, 30, 0.08) 70%, rgba(11, 27, 30, 0.3) 100%); }
.hero__content { position: relative; padding: 0 var(--pad); margin-bottom: clamp(24px, 4vh, 48px); }
.hero__eyebrow { font-size: var(--fs-micro); letter-spacing: 0.24em; text-transform: uppercase; opacity: 0.8; margin-bottom: 22px; }
[dir="rtl"] .hero__eyebrow { letter-spacing: 0; font-size: 0.82rem; }
.hero__title { font-size: var(--fs-hero); line-height: 1.1; max-width: 18ch; }
[dir="rtl"] .hero__title { line-height: 1.35; max-width: 20ch; font-size: clamp(1.8rem, 3vw, 3.2rem); }
.hero__alt { margin-top: 22px; font-size: var(--fs-4); opacity: 0.72; }
[dir="ltr"] .hero__alt { font-family: var(--font-ar); font-weight: 300; }
[dir="rtl"] .hero__alt { font-family: var(--font-display); font-style: normal; }
.hero__foot { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 0 var(--pad) clamp(24px, 4vh, 44px); border-top: 1px solid rgba(237, 235, 229, 0.16); margin-inline: var(--pad); padding-inline: 0; padding-top: 22px; }
.hero__scroll { display: flex; align-items: center; gap: 14px; font-size: var(--fs-micro); letter-spacing: 0.24em; text-transform: uppercase; opacity: 0.8; }
[dir="rtl"] .hero__scroll { letter-spacing: 0; font-size: 0.8rem; }
.hero__scroll-line { position: relative; width: 1px; height: 44px; background: rgba(237, 235, 229, 0.25); overflow: hidden; }
.hero__scroll-line::after { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 50%; background: var(--paper); animation: scrollLine 2.2s var(--ease-io) infinite; }
@keyframes scrollLine { 0% { transform: translateY(-100%); } 60%, 100% { transform: translateY(220%); } }
.hero__next { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 18px; align-items: baseline; text-align: end; }
.hero__next-label { grid-column: 1; font-size: var(--fs-micro); letter-spacing: 0.22em; text-transform: uppercase; opacity: 0.7; }
[dir="rtl"] .hero__next-label { letter-spacing: 0; font-size: 0.8rem; }
.hero__next-name { grid-column: 1; grid-row: 2; font-family: var(--font-display); font-size: var(--fs-3); line-height: 1; }
[dir="rtl"] .hero__next-name { font-family: var(--font-ar); font-weight: 300; }
.hero__next-place { grid-column: 1; grid-row: 3; font-size: var(--fs-small); opacity: 0.7; margin-top: 6px; }
.hero__next-arrow { grid-column: 2; grid-row: 1 / 4; align-self: center; width: 52px; height: 52px; border: 1px solid rgba(237, 235, 229, 0.35); border-radius: 50%; display: grid; place-items: center; transition: background-color 0.5s var(--ease), color 0.5s, transform 0.6s var(--ease); }
.hero__next:hover .hero__next-arrow { background: var(--paper); color: var(--ink); transform: translateX(6px); }
[dir="rtl"] .hero__next:hover .hero__next-arrow { transform: translateX(-6px) scaleX(-1); }

/* Sham View page hero variant */
.hero--sv { --bg: var(--sv-cedar-deep); }
.hero__svlogo { font-size: clamp(64px, 10vw, 140px); margin-bottom: clamp(20px, 3vh, 40px); color: var(--sv-blush); }
.hero__svlogo-mask { display: block; }
.hero__title--sv { font-size: clamp(2.2rem, 5vw, 5.4rem); max-width: 16ch; }
.hero__sub { margin-top: 20px; max-width: 46ch; font-size: var(--fs-4); color: rgba(232, 221, 213, 0.78); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 28px; align-items: center; margin-top: 34px; }

/* ───────────── Manifesto ───────────── */
.manifesto { padding: var(--section) 0; }
.manifesto::before { content: ''; position: absolute; inset: 0; background: url('/assets/img/texture-paper-600.webp') center / cover; opacity: 0.22; pointer-events: none; }
.manifesto .wrap { position: relative; }
.manifesto__statement { font-size: var(--fs-1); max-width: 30ch; margin-top: -8px; }
.manifesto__body { display: flex; flex-direction: column; gap: 22px; color: var(--fg-muted); font-size: var(--fs-body); max-width: 46ch; padding-top: 12px; }
.manifesto__body p:first-child { color: var(--fg); font-size: var(--fs-4); line-height: 1.45; }
.manifesto__support { padding-top: 22px; border-top: 1px solid var(--rule); }
.manifesto__figure { grid-column: 7 / 13; margin-top: -8vw; }
.manifesto__figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.manifesto__figure figcaption { margin-top: 14px; font-size: var(--fs-micro); letter-spacing: 0.2em; text-transform: uppercase; color: var(--fg-muted); }
[dir="rtl"] .manifesto__figure figcaption { letter-spacing: 0; font-size: 0.78rem; }
.manifesto__lists { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); margin-top: clamp(24px, 4vw, 64px); }
.list__items li { display: flex; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--rule); font-size: var(--fs-4); }
.list__items--wrap { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--gap); }
.list__n { font-family: var(--font-display); font-style: normal; color: var(--num); font-size: 0.9em; min-width: 1.8em; }

/* ───────────── Figures ───────────── */
.figures { padding: var(--section) 0; overflow: hidden; }
.figures::before { content: ''; position: absolute; inset: 0; background: url('/assets/img/texture-paper-600.webp') center / cover; opacity: 0.3; pointer-events: none; }
.figures .wrap { position: relative; }
.figures__primary { display: flex; flex-direction: column; gap: clamp(28px, 5vw, 72px); }
.figure__num { font-size: var(--fs-num); }
.figure__label { margin-top: 10px; font-size: var(--fs-small); letter-spacing: 0.16em; text-transform: uppercase; color: var(--fg-muted); padding-inline-start: 0.35em; }
[dir="rtl"] .figure__label { letter-spacing: 0; font-size: 0.92rem; }
.figures__text { grid-column: 9 / 13; padding-top: 1.2em; }
.figures__heading { font-size: var(--fs-2); line-height: 1.3; max-width: 34ch; }
.figures__body { color: var(--fg-muted); }
.figures__projects { margin-top: clamp(40px, 6vw, 96px); padding-top: clamp(32px, 4vw, 64px); border-top: 1px solid var(--rule); }
.figures__projects-head { font-size: var(--fs-micro); letter-spacing: 0.22em; text-transform: uppercase; color: var(--fg-muted); margin-bottom: 40px; }
[dir="rtl"] .figures__projects-head { letter-spacing: 0; font-size: 0.8rem; }
.figures__cross { display: grid; grid-template-columns: 1fr 1.6fr; align-items: end; gap: var(--gap); position: relative; }
.figures__cross::after { content: ''; position: absolute; top: 0; bottom: 0; left: calc(100% / 2.6); width: 1px; background: var(--rule); }
[dir="rtl"] .figures__cross::after { left: auto; right: calc(100% / 2.6); }
.figure--total .figure__num { font-size: clamp(4rem, 8vw, 9rem); }
.figures__split { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); padding-inline-start: clamp(16px, 4vw, 64px); }
.figure--small .figure__num { font-size: clamp(2rem, 3.4vw, 3.6rem); }

/* ───────────── Developments — auto-scrolling showcase ───────────── */
.dev { padding: var(--section) 0; overflow: hidden; }
.dev__heading { font-size: var(--fs-2); font-family: var(--font-display); font-weight: 300; line-height: 1.3; max-width: 34ch; }
.dev__hint { grid-column: 9 / 13; align-self: end; font-size: var(--fs-micro); letter-spacing: 0.18em; text-transform: uppercase; color: var(--fg-muted); text-align: end; }
[dir="rtl"] .dev__hint { letter-spacing: 0; font-size: 0.78rem; }
.showcase { margin-top: clamp(32px, 4vw, 56px); overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); }
.showcase__track { display: flex; gap: clamp(20px, 2.4vw, 40px); width: max-content; padding-inline: var(--pad); will-change: transform; }
.card { flex: none; width: clamp(280px, 26vw, 400px); }
.card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--stone); }
.card__media::after { content: ''; position: absolute; inset: 10px; border: 1px solid rgba(237, 235, 229, 0.35); pointer-events: none; }
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.card:hover .card__media img { transform: scale(1.04); }
.card__body { padding-top: 16px; }
.card__status { display: flex; gap: 16px; font-size: var(--fs-micro); letter-spacing: 0.18em; text-transform: uppercase; color: var(--fg-muted); }
.card__status span:first-child::before { content: ''; display: inline-block; width: 6px; height: 6px; background: var(--num); transform: rotate(45deg); margin-inline-end: 8px; vertical-align: 1px; }
[dir="rtl"] .card__status { letter-spacing: 0; font-size: 0.76rem; }
.card__name { margin-top: 8px; font-family: var(--font-display); font-weight: 300; font-size: var(--fs-3); line-height: 1.2; display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap; }
.card__alt { font-size: 0.85em; color: var(--fg-muted); }
.card__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--rule); }
.card__metrics dt { font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-muted); }
[dir="rtl"] .card__metrics dt { letter-spacing: 0; font-size: 0.72rem; }
.card__metrics dd { margin-top: 3px; font-family: var(--font-display); font-size: 1rem; color: var(--num); white-space: nowrap; }
.card__metrics dd small { font-size: 0.7em; color: var(--fg-muted); font-family: var(--font-sans); }

/* ───────────── Off-plan model ───────────── */
.monument__num { display: flex; align-items: baseline; gap: 0.15em; font-size: clamp(3.4rem, 7vw, 8rem); }
.monument__num .num { line-height: 0.85; }
.monument__unit { font-family: var(--font-display); font-style: normal; font-size: 0.24em; color: var(--fg-muted); }
[dir="rtl"] .monument__unit { font-family: var(--font-ar); font-style: normal; font-size: 0.18em; }
.monument__label { max-width: 34ch; margin-top: 20px; color: var(--fg-muted); font-size: var(--fs-small); letter-spacing: 0.02em; }
.op dt { display: flex; gap: 14px; align-items: baseline; font-size: var(--fs-4); margin-bottom: 12px; }
.op__i { font-family: var(--font-display); font-style: normal; color: var(--num); font-size: 0.95em; }
.op dd { color: var(--fg-muted); font-size: 0.95rem; }

/* ───────────── Journey (horizontal) ───────────── */
.journey { padding: var(--section) 0; overflow: hidden; }
.journey__head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: var(--gap); padding-bottom: clamp(32px, 5vh, 64px); }
.journey__head .eyebrow { grid-column: 1 / -1; margin-bottom: 28px; }
.journey__heading { font-size: var(--fs-1); }
.journey__hint { font-size: var(--fs-micro); letter-spacing: 0.22em; text-transform: uppercase; color: var(--fg-muted); padding-bottom: 0.6em; }
[dir="rtl"] .journey__hint { letter-spacing: 0; font-size: 0.8rem; }
.journey__marquee { position: relative; overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); }
.journey__track { position: relative; display: flex; align-items: flex-start; gap: 0; padding: 0 var(--pad) 8px; width: max-content; will-change: transform; }
.journey__line { position: absolute; left: 0; right: 0; top: 96px; height: 1px; background: var(--rule); z-index: 1; }
.milestone { position: relative; flex: none; width: clamp(220px, 20vw, 300px); padding-top: 120px; padding-inline-end: 32px; }
.milestone__diamond { position: absolute; top: 90px; inset-inline-start: 0; width: 13px; height: 13px; background: var(--teal); transform: rotate(45deg); }
.milestone__year { display: block; font-family: var(--font-display); font-size: clamp(1.3rem, 1.8vw, 1.8rem); color: var(--teal); line-height: 1; margin-bottom: 28px; }
.milestone__logo { height: clamp(56px, 6vw, 84px); display: flex; align-items: center; margin-bottom: 20px; color: var(--paper); }
.milestone__logo-mask { height: 100%; max-width: 100%; }
.milestone--next .milestone__logo { height: clamp(72px, 8vw, 110px); color: var(--sv-blush, #c8b4a6); }
[dir="rtl"] .milestone__year { font-style: normal; }
.milestone__name { display: block; font-size: var(--fs-small); letter-spacing: 0.04em; color: var(--fg-muted); line-height: 1.3; }
.milestone__alt { display: block; margin-top: 6px; color: var(--fg-muted); font-size: 0.9rem; }
[dir="ltr"] .milestone__alt { font-family: var(--font-ar); }
[dir="rtl"] .milestone__alt { font-family: var(--font-display); font-style: normal; }
.milestone--next { width: clamp(300px, 32vw, 460px); padding-inline-start: clamp(24px, 3vw, 48px); margin-inline-start: clamp(24px, 3vw, 48px); border-inline-start: 1px solid var(--rule); }
.milestone--next .milestone__diamond { inset-inline-start: clamp(24px, 3vw, 48px); background: var(--sv-blush, #c8b4a6); }
.milestone--next .milestone__year { color: var(--sv-blush, #c8b4a6); }
.milestone--next .milestone__name { font-size: var(--fs-4); color: var(--fg); }
[dir="rtl"] .milestone--next .milestone__name { font-family: var(--font-ar); font-weight: 300; }

/* ───────────── Reach ───────────── */
.reach { padding: 0 0 var(--section); border-top: 1px solid var(--rule); }
.reach .wrap { padding-top: var(--section); }
.reach__heading { font-size: var(--fs-1); }
.reach__regions { grid-column: 6 / 13; }
.region { padding-top: 18px; border-top: 1px solid var(--rule); }
.region__head { display: flex; justify-content: space-between; font-size: var(--fs-micro); letter-spacing: 0.2em; text-transform: uppercase; color: var(--fg-muted); margin-bottom: 14px; }
[dir="rtl"] .region__head { letter-spacing: 0; font-size: 0.8rem; }
.region__num { display: flex; align-items: baseline; gap: 14px; font-size: clamp(2.2rem, 3.8vw, 4.2rem); }
.region__num small { font-family: var(--font-sans); font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--fg-muted); }
[dir="rtl"] .region__num small { font-family: var(--font-ar); letter-spacing: 0; }
.region__bar { height: 1px; background: var(--rule); margin-top: 16px; overflow: hidden; }
.region__bar span { display: block; height: 100%; width: var(--w); background: var(--teal); transform: scaleX(0); transform-origin: left; transition: transform 1.6s var(--ease) 0.3s; }
[dir="rtl"] .region__bar span { transform-origin: right; }
.in-view .region__bar span { transform: none; }
.region--total .region__num { color: var(--fg); }
.region--total .num { color: var(--fg); }

/* ───────────── Partners ───────────── */
.partners { padding: var(--section) 0; }
.partners::before { content: ''; position: absolute; inset: 0; background: url('/assets/img/texture-paper-600.webp') center / cover; opacity: 0.2; pointer-events: none; }
.partners .wrap { position: relative; }
.partners__heading { font-size: var(--fs-2); max-width: 26ch; }
.partners__tally { grid-column: 9 / 13; align-self: end; display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-items: baseline; padding-bottom: 6px; border-bottom: 1px solid var(--rule); }
.partners__tally-num { font-family: var(--font-display); font-weight: 300; font-size: var(--fs-num); line-height: 1; color: var(--num); grid-row: 1 / 3; }
.partners__tally-label { font-size: var(--fs-micro); letter-spacing: 0.22em; text-transform: uppercase; color: var(--fg-muted); }
.partners__tally-split { font-size: var(--fs-small); color: var(--fg-muted); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.partners__tally-split b { font-weight: 400; color: var(--fg); }
.partners__tally-split i { width: 1px; height: 12px; background: var(--rule); display: inline-block; }
[dir="rtl"] .partners__tally-label { letter-spacing: 0; font-size: 0.8rem; }
.partners__group { margin-top: clamp(40px, 5vw, 72px); }
.partners__label { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-bottom: 14px; margin-bottom: clamp(16px, 2vw, 24px); border-bottom: 1px solid var(--rule); font-size: var(--fs-micro); letter-spacing: 0.22em; text-transform: uppercase; color: var(--fg-muted); }
[dir="rtl"] .partners__label { letter-spacing: 0; font-size: 0.8rem; }
.partners__count { font-family: var(--font-display); font-size: 1.1rem; letter-spacing: 0; color: var(--num); }

/* shared plate surface */
.plate, .tile { position: relative; background: var(--paper-2); transition: background-color 0.5s var(--ease), box-shadow 0.5s var(--ease); }
.plate::after, .tile::after { content: ''; position: absolute; inset: 8px; border: 1px solid var(--hair); opacity: 0.55; pointer-events: none; transition: opacity 0.5s; }
.plate:hover, .tile:hover { background: #f3f1eb; box-shadow: 0 18px 40px -24px rgba(46, 58, 56, 0.35); }
.plate:hover::after, .tile:hover::after { opacity: 1; }
.plate__logo img, .tile__logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; filter: grayscale(1) contrast(1.05); opacity: 0.78; transition: filter 0.6s var(--ease), opacity 0.6s var(--ease), transform 0.8s var(--ease); }
.plate:hover img, .tile:hover img { filter: none; opacity: 1; transform: scale(1.04); }
@media (hover: none) { .plate__logo img, .tile__logo img { filter: none; opacity: 1; } }
.plate__name, .tile__name { display: block; font-family: var(--font-display); font-weight: 400; line-height: 1.25; color: var(--fg); }
.plate__kind, .tile__kind { display: block; margin-top: 8px; font-size: var(--fs-micro); letter-spacing: 0.2em; text-transform: uppercase; color: var(--fg-muted); }
[dir="rtl"] .plate__kind, [dir="rtl"] .tile__kind { letter-spacing: 0; font-size: 0.78rem; }

/* public bodies: large horizontal plates */
.plates { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 18px); }
.plate { display: grid; grid-template-columns: clamp(96px, 9vw, 132px) 1fr; column-gap: clamp(18px, 2vw, 30px); align-items: center; padding: clamp(22px, 2.4vw, 34px); min-height: clamp(140px, 12vw, 176px); }
.plate__logo { height: clamp(64px, 6.5vw, 92px); display: flex; align-items: center; justify-content: center; }
.plate__name { font-size: var(--fs-3); }

/* private sector: compact vertical tiles */
.tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 18px); }
.tile { display: flex; flex-direction: column; align-items: center; text-align: center; padding: clamp(24px, 2.6vw, 36px) clamp(16px, 1.6vw, 24px) clamp(20px, 2vw, 28px); }
.tile__logo { height: clamp(48px, 4.6vw, 64px); width: 100%; display: flex; align-items: center; justify-content: center; }
.tile__logo img { max-width: min(100%, 150px); }
.tile__text { margin-top: 20px; }
.tile__name { font-size: var(--fs-4); }
.tile__kind { margin-top: 6px; }

/* ───────────── Strategy ───────────── */
.strategy { padding: var(--section) 0; }
.strategy::before { content: ''; position: absolute; inset: 0; background: url('/assets/img/texture-paper-600.webp') center / cover; opacity: 0.3; pointer-events: none; }
.strategy .wrap { position: relative; }
.strategy__core { display: grid; grid-template-columns: 1.6fr 1fr 0.8fr; gap: clamp(24px, 4vw, 64px); }
.core__text { font-family: var(--font-display); font-size: var(--fs-3); line-height: 1.2; }
.core__text--lg { font-size: clamp(1.8rem, 3.2vw, 3.4rem); }
[dir="rtl"] .core__text { font-family: var(--font-ar); font-weight: 300; line-height: 1.5; }
.core__values li { font-family: var(--font-display); font-size: var(--fs-3); line-height: 1.25; }
[dir="rtl"] .core__values li { font-family: var(--font-ar); font-weight: 300; }
.strategy__pillars { margin-top: clamp(48px, 8vw, 128px); }
.strategy__pillars-head { display: grid; grid-template-columns: 1fr 1.5fr; gap: var(--gap); align-items: start; margin-bottom: clamp(32px, 4vw, 64px); }
.strategy__intro { color: var(--fg-muted); max-width: 60ch; }
.pillars { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--rule); border-inline-start: 1px solid var(--rule); }
.pillar { padding: clamp(24px, 2.6vw, 40px); border-inline-end: 1px solid var(--rule); border-bottom: 1px solid var(--rule); display: flex; flex-direction: column; gap: 14px; min-height: 240px; transition: background-color 0.5s var(--ease); }
.pillar:hover { background: rgba(237, 235, 229, 0.5); }
.pillar__i { font-family: var(--font-display); font-style: normal; color: var(--num); }
.pillar__title { font-size: var(--fs-4); font-weight: 400; }
.pillar__text { color: var(--fg-muted); font-size: 0.92rem; margin-top: auto; }

/* ───────────── Contact / Footer ───────────── */
.contact { padding: var(--section) 0 40px; overflow: hidden; min-height: 100svh; display: flex; align-items: flex-end; }
.contact__art { position: absolute; inset: 0; opacity: 0.5; }
.contact__art img { width: 100%; height: 100%; object-fit: cover; }
.contact::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, var(--slate) 0%, rgba(43, 54, 52, 0.4) 40%, var(--slate) 100%); }
.contact .wrap { position: relative; z-index: 1; width: 100%; }
.contact__heading { font-size: clamp(1.8rem, 3.6vw, 3.8rem); line-height: 1.1; }
.contact__alt { margin-top: 18px; font-size: var(--fs-3); color: var(--fg-muted); }
[dir="ltr"] .contact__alt { font-family: var(--font-ar); font-weight: 300; }
[dir="rtl"] .contact__alt { font-family: var(--font-display); font-style: normal; }
.contact__body { font-size: var(--fs-body); max-width: 40ch; margin-bottom: 30px; }
.contact__details { grid-column: 8 / 13; }
.details__row { display: grid; grid-template-columns: 1fr 2fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--rule); font-size: 0.95rem; }
.details__row dt { color: var(--fg-muted); }
.details__row--pending dd { color: var(--fg-muted); letter-spacing: 0.2em; }
.details dd a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color 0.3s; }
.details dd a:hover { border-color: currentColor; }
.contact__note { margin-top: 16px; font-size: var(--fs-micro); color: var(--fg-muted); letter-spacing: 0.04em; }
.contact__foot { display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: auto auto; gap: 28px var(--gap); align-items: center; margin-top: clamp(48px, 8vw, 120px); padding-top: 28px; border-top: 1px solid var(--rule); }
.contact__logo { font-size: 40px; }
.contact__nav { display: flex; flex-wrap: wrap; gap: 8px 26px; font-size: var(--fs-micro); letter-spacing: 0.2em; text-transform: uppercase; }
.contact__nav a:hover, .contact__social a:hover, .contact__legal a:hover { color: var(--teal); }
[dir="rtl"] .contact__nav, [dir="rtl"] .contact__social, [dir="rtl"] .contact__legal { letter-spacing: 0; font-size: 0.8rem; }
.contact__social { display: flex; gap: 22px; align-items: baseline; font-size: var(--fs-micro); letter-spacing: 0.2em; text-transform: uppercase; }
.contact__social .list__label { border: 0; padding: 0; margin: 0; }
.contact__legal { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 26px; font-size: var(--fs-micro); letter-spacing: 0.12em; color: var(--fg-muted); padding-top: 18px; border-top: 1px solid var(--rule); }
.contact__legal span { margin-inline-end: auto; }


/* ───────────── Stats grid (single, managed form for every figure on the site) ───────────── */
.stats { display: grid; border-top: 1px solid var(--rule); border-inline-start: 1px solid var(--rule); }
.stats--4 { grid-template-columns: repeat(4, 1fr); }
.stats--3 { grid-template-columns: repeat(3, 1fr); }
.stats--2 { grid-template-columns: repeat(2, 1fr); }
.stat { padding: clamp(18px, 2vw, 30px) clamp(16px, 1.8vw, 28px); border-inline-end: 1px solid var(--rule); border-bottom: 1px solid var(--rule); min-width: 0; }
.stat__num { font-size: var(--fs-num); line-height: 1; }
.stat__num .num { white-space: normal; }
.stat__label { margin-top: 10px; font-size: var(--fs-micro); letter-spacing: 0.16em; text-transform: uppercase; color: var(--fg-muted); line-height: 1.4; }
[dir="rtl"] .stat__label { letter-spacing: 0; font-size: 0.78rem; }
.stats--sub { border-top: 0; }
.stats--sub .stat__num { font-size: clamp(1.3rem, 1.8vw, 1.9rem); }
.stats__note { font-size: var(--fs-micro); letter-spacing: 0.16em; text-transform: uppercase; color: var(--fg-muted); margin-top: -12px; }
[dir="rtl"] .stats__note { letter-spacing: 0; font-size: 0.78rem; }
.figures .grid { row-gap: clamp(20px, 2.4vw, 36px); }

/* ───────────── Leadership — single-portrait stage, auto-advancing ───────────── */

/* ───────────── Manifesto refinements ───────────── */
.manifesto__copy { grid-column: 1 / 8; }
.manifesto__statement { max-width: 26ch; }
.manifesto__body { margin-top: clamp(24px, 3vw, 40px); max-width: 44ch; padding-inline-start: clamp(20px, 3vw, 48px); border-inline-start: 1px solid var(--rule); }
.manifesto__figure { grid-column: 9 / 13; margin-top: 0; align-self: start; }
.manifesto__frame { position: relative; aspect-ratio: 4 / 5; overflow: hidden; }
.manifesto__frame::after { content: ''; position: absolute; inset: 12px; border: 1px solid rgba(237, 235, 229, 0.5); pointer-events: none; }
.manifesto__figure img { aspect-ratio: auto; width: 100%; height: 100%; object-fit: cover; }
.manifesto__figure figcaption { display: flex; justify-content: space-between; align-items: baseline; }
.manifesto__year { font-family: var(--font-display); font-size: var(--fs-2); letter-spacing: 0; text-transform: none; color: var(--num); }

/* ---------- Leadership — ceremonial single-portrait composition ---------- */
.lead { --gilt: #cdb88f; --gilt-soft: rgba(205, 184, 143, 0.42); --gilt-faint: rgba(205, 184, 143, 0.16); padding: clamp(80px, 10vw, 150px) 0; overflow: hidden; background: linear-gradient(180deg, #27302f 0%, var(--ink) 50%, #27302f 100%); }
.lead__grain { position: absolute; inset: 0; background: url('/assets/img/texture-paper-600.webp') center / cover; opacity: 0.05; pointer-events: none; }
.lead__glow { position: absolute; left: 50%; top: 52%; width: min(90vw, 1100px); aspect-ratio: 1; transform: translate(-50%, -50%); background: radial-gradient(closest-side, rgba(205, 184, 143, 0.13), rgba(205, 184, 143, 0.04) 45%, transparent 72%); pointer-events: none; }
.lead .wrap { position: relative; }
.lead .eyebrow { justify-content: center; }
.lead .eyebrow__index { color: var(--gilt); }
.lead__crest { display: flex; flex-direction: column; align-items: center; text-align: center; margin-top: clamp(40px, 5vw, 72px); }
.lead__portrait { position: relative; width: clamp(180px, 20vw, 280px); }
.lead__frame { position: relative; aspect-ratio: 1; background: var(--slate); padding: 14px; }
.lead__frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; filter: grayscale(1) contrast(1.05); }
.lead__frame::before { content: ''; position: absolute; inset: 0; border: 1px solid var(--gilt-soft); pointer-events: none; }
.lead__frame::after { content: ''; position: absolute; inset: 14px; border: 1px solid rgba(237, 235, 229, 0.22); pointer-events: none; }
.lead__ring { position: absolute; inset: -22px; border: 1px solid var(--gilt-faint); pointer-events: none; }
.lead__corner { position: absolute; width: 18px; height: 18px; border-color: var(--gilt); border-style: solid; border-width: 0; pointer-events: none; }
.lead__corner--tl { top: -1px; left: -1px; border-top-width: 1px; border-left-width: 1px; }
.lead__corner--tr { top: -1px; right: -1px; border-top-width: 1px; border-right-width: 1px; }
.lead__corner--bl { bottom: -1px; left: -1px; border-bottom-width: 1px; border-left-width: 1px; }
.lead__corner--br { bottom: -1px; right: -1px; border-bottom-width: 1px; border-right-width: 1px; }
.lead__text { margin-top: clamp(32px, 4vw, 56px); max-width: 48ch; }
.lead__role { font-size: var(--fs-micro); letter-spacing: 0.34em; text-transform: uppercase; color: var(--gilt); }
[dir="rtl"] .lead__role { letter-spacing: 0; font-size: 0.86rem; }
.lead__name { margin-top: 18px; font-family: var(--font-display); font-weight: 300; font-size: clamp(1.9rem, 3.2vw, 3.4rem); line-height: 1.1; letter-spacing: 0.01em; color: var(--paper); }
[dir="rtl"] .lead__name { line-height: 1.4; letter-spacing: 0; }
.lead__orn { display: flex; align-items: center; justify-content: center; gap: 12px; margin: clamp(22px, 2.6vw, 34px) auto 0; width: min(100%, 260px); }
.lead__orn i { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--gilt-soft)); }
.lead__orn i:last-child { background: linear-gradient(90deg, var(--gilt-soft), transparent); }
.lead__orn b { width: 7px; height: 7px; border: 1px solid var(--gilt); transform: rotate(45deg); }
.lead__signature { margin-top: clamp(18px, 2vw, 26px); font-family: var(--font-display); font-size: var(--fs-4); letter-spacing: 0.06em; color: var(--fg-muted); }
[dir="rtl"] .lead__signature { letter-spacing: 0; }


/* 40-shamview.css */
/* ───────────── Sham View chapter & page (sub-brand skin) ───────────── */
.sv { background: var(--bg); color: var(--fg); position: relative; }
.sv { background: radial-gradient(120% 60% at 20% 0%, rgba(89, 50, 41, 0.55), transparent 60%), var(--bg); }
.sv > * { position: relative; }
.sv-label { font-size: var(--fs-micro); letter-spacing: 0.24em; text-transform: uppercase; color: var(--sv-blush); margin-bottom: 22px; display: flex; align-items: center; gap: 14px; }
.sv-label::before { content: ''; width: 28px; height: 1px; background: currentColor; opacity: 0.7; }
[dir="rtl"] .sv-label { letter-spacing: 0; font-size: 0.82rem; }
.sv h2, .sv h3, .sv-community__closing, .sv-open__chapter { font-family: var(--font-display); font-weight: 300; letter-spacing: 0; line-height: 1.12; }
[dir="rtl"] .sv h2, [dir="rtl"] .sv h3, [dir="rtl"] .sv-community__closing, [dir="rtl"] .sv-open__chapter { font-family: var(--font-display); line-height: 1.4; }

/* opener */
.sv-open { position: relative; height: 100svh; min-height: 640px; overflow: hidden; display: flex; }
.sv-open__media { position: absolute; inset: -10% 0; }
.sv-open__media img { width: 100%; height: 100%; object-fit: cover; }
.sv-open__scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(47, 26, 21, 0.92) 0%, rgba(47, 26, 21, 0.35) 45%, rgba(47, 26, 21, 0.45) 100%); }
.sv-open__content { position: relative; width: 100%; display: grid; grid-template-rows: auto 1fr auto; padding: calc(var(--nav-h) + 3vh) var(--pad) 6vh; }
.sv-open__top { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; }
.sv-open__top .eyebrow { color: rgba(232, 221, 213, 0.75); }
.sv-open__chapter { font-size: var(--fs-3); }
.sv-open__logo { align-self: center; justify-self: start; font-size: clamp(80px, 12vw, 160px); color: var(--sv-blush); }
[dir="rtl"] .sv-open__logo { justify-self: start; }
.sv-open__logo-mask { display: block; }
.sv-open__bottom { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--gap); align-items: end; padding-top: 24px; border-top: 1px solid rgba(232, 221, 213, 0.18); }
.sv-open__place { font-size: var(--fs-micro); letter-spacing: 0.24em; text-transform: uppercase; color: var(--sv-blush); }
[dir="rtl"] .sv-open__place { letter-spacing: 0; font-size: 0.82rem; }
.sv-open__intro { font-size: var(--fs-4); max-width: 44ch; justify-self: end; color: rgba(232, 221, 213, 0.85); }
[dir="rtl"] .sv-open__intro { justify-self: end; }

/* story */
.sv-story { padding: var(--section) 0; }
.sv-story__seed { grid-column: 1 / 5; }
.sv-story__seed img { aspect-ratio: 3 / 4; object-fit: cover; width: 100%; }
.sv-story__text { grid-column: 6 / 13; padding-top: 6vw; }
.sv-story__line { font-size: var(--fs-1); max-width: 20ch; }
.sv-story__body { margin-top: 32px; max-width: 48ch; font-size: var(--fs-4); color: rgba(232, 221, 213, 0.8); }
.sv-story__tag { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--rule); font-family: var(--font-display); font-weight: 300; font-size: var(--fs-3); color: var(--sv-blush); }

/* chapters */
.sv-chapters { display: flex; flex-direction: column; gap: clamp(64px, 10vw, 160px); padding-bottom: var(--section); }
.sv-chapter { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); align-items: center; padding-inline: var(--pad); }
.sv-chapter__media { grid-column: 1 / 8; grid-row: 1; }
.sv-chapter__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.sv-chapter__text { grid-column: 8 / 13; grid-row: 1; }
.sv-chapter--flip .sv-chapter__media { grid-column: 6 / 13; order: 2; }
.sv-chapter--flip .sv-chapter__text { grid-column: 1 / 5; order: 1; }
.sv-chapter__line { font-size: var(--fs-3); }
.sv-chapter__body { margin-top: 26px; color: rgba(232, 221, 213, 0.78); }

/* residences */
.sv-res { padding: var(--section) 0; border-top: 1px solid var(--rule); }
.sv-res__head { display: grid; grid-template-columns: 1fr 2fr; gap: var(--gap); align-items: end; margin-bottom: clamp(32px, 4vw, 64px); }
.sv-res__line { font-size: var(--fs-2); }
.sv-res__link { display: grid; grid-template-columns: 4rem 1.2fr 1fr auto; align-items: baseline; gap: var(--gap); padding: clamp(24px, 3vw, 44px) 0; border-top: 1px solid var(--rule); transition: padding-inline-start 0.6s var(--ease); }
.sv-res__item:last-child .sv-res__link { border-bottom: 1px solid var(--rule); }
.sv-res__link:hover { padding-inline-start: 16px; }
.sv-res__index { font-family: var(--font-display); font-style: normal; color: var(--sv-blush); }
.sv-res__name { font-family: var(--font-display); font-weight: 300; font-size: clamp(1.4rem, 2.2vw, 2.3rem); line-height: 1.1; }
.sv-res__spec { color: rgba(232, 221, 213, 0.7); font-size: var(--fs-small); letter-spacing: 0.04em; }
.sv-res__arrow { width: 44px; height: 44px; border: 1px solid var(--rule); border-radius: 50%; display: grid; place-items: center; transition: background-color 0.5s var(--ease), color 0.5s; }
.sv-res__link:hover .sv-res__arrow { background: var(--sv-blush); color: var(--sv-cedar-deep); border-color: var(--sv-blush); }

/* community + stats */
.sv-community { padding: 0 0 var(--section); }
.sv-community__line { font-size: var(--fs-2); }
.sv-community__amenities { margin-top: 36px; display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--gap); }
.sv-community__amenities li { padding: 12px 0; border-bottom: 1px solid var(--rule); font-size: var(--fs-4); }
.sv-community__cta { grid-column: 8 / 13; align-self: end; display: flex; flex-direction: column; align-items: flex-start; gap: 28px; padding-top: 10px; }
.sv-community__closing { font-size: var(--fs-2); }
.sv-community__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.sv-community__media { grid-column: 7 / 13; }
.sv-community__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.sv-stat__num { font-size: clamp(2rem, 3.2vw, 3.4rem); }
.sv-stat__num .num { font-style: normal; }
.sv-stat__label { margin-top: 8px; font-size: var(--fs-micro); letter-spacing: 0.18em; text-transform: uppercase; color: rgba(232, 221, 213, 0.65); }
[dir="rtl"] .sv-stat__label { letter-spacing: 0; font-size: 0.82rem; }

/* horizontal gallery */

/* Sham View page extras */
.sv-location { padding-bottom: var(--section); }
.sv-location__media img { width: 100%; height: 80svh; object-fit: cover; }
.sv-location__text { padding-top: clamp(40px, 6vw, 96px); align-items: end; }
.sv-location__line { font-size: var(--fs-1); }
.sv-location__body { margin-top: 24px; max-width: 46ch; color: rgba(232, 221, 213, 0.78); font-size: var(--fs-4); }
.sv-location__dist { grid-column: 9 / 13; display: flex; flex-direction: column; }
.sv-location__num { font-family: var(--font-display); font-style: normal; font-size: clamp(5rem, 12vw, 13rem); line-height: 0.85; color: var(--sv-blush); }
.sv-location__num small { font-size: 0.25em; font-style: normal; margin-inline-start: 0.2em; }
.sv-location__label { margin-top: 14px; font-size: var(--fs-micro); letter-spacing: 0.2em; text-transform: uppercase; color: rgba(232, 221, 213, 0.65); }
[dir="rtl"] .sv-location__label { letter-spacing: 0; font-size: 0.82rem; }
.sv-glance { padding-bottom: var(--section); }
.sv-glance__head { display: grid; grid-template-columns: 1fr 2fr; gap: var(--gap); align-items: end; margin-bottom: clamp(32px, 4vw, 64px); }
.sv-glance__line { font-size: var(--fs-2); }
.sv-glance__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: clamp(32px, 4vw, 64px) var(--gap); border-top: 1px solid var(--rule); padding-top: clamp(24px, 3vw, 48px); }
.sv-values { padding-bottom: var(--section); }
.sv-value { display: flex; flex-direction: column; gap: 16px; padding-top: 22px; border-top: 1px solid var(--rule); }
.sv-value__i { font-family: var(--font-display); font-style: normal; color: var(--sv-blush); }
.sv-value__label { font-size: var(--fs-3); }
.sv-value__text { color: rgba(232, 221, 213, 0.78); }
.sv-values__words { display: flex; flex-wrap: wrap; gap: 12px 40px; padding-top: 28px; border-top: 1px solid var(--rule); font-family: var(--font-display); font-weight: 300; font-size: var(--fs-3); color: var(--sv-blush); }
.sv-register { padding: var(--section) 0 40px; border-top: 1px solid var(--rule); }
.sv-register__heading { font-size: var(--fs-1); }
.sv-register__body { margin-top: 24px; max-width: 40ch; color: rgba(232, 221, 213, 0.78); }
.sv-register__dev { margin-top: 48px; }
.sv-register__logo { font-size: 44px; color: var(--sv-off); }
.sv-register__foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; margin-top: var(--section); padding-top: 24px; border-top: 1px solid var(--rule); font-size: var(--fs-micro); letter-spacing: 0.12em; color: rgba(232, 221, 213, 0.6); }
[dir="rtl"] .sv-register__foot { letter-spacing: 0; font-size: 0.8rem; }

/* form */
.form { grid-column: 7 / 13; display: flex; flex-direction: column; gap: 28px; }
.field { position: relative; }
.field input, .field textarea { width: 100%; background: transparent; border: 0; border-bottom: 1px solid var(--rule); padding: 22px 0 12px; color: var(--fg); font: inherit; font-size: var(--fs-4); outline: 0; transition: border-color 0.4s; resize: vertical; }
.field input:focus, .field textarea:focus { border-color: var(--sv-blush); }
.field > label { position: absolute; top: 22px; inset-inline-start: 0; color: rgba(232, 221, 213, 0.55); pointer-events: none; transition: transform 0.4s var(--ease), font-size 0.4s, color 0.4s; transform-origin: top left; }
[dir="rtl"] .field > label { transform-origin: top right; }
.field input:focus + label, .field input:not(:placeholder-shown) + label, .field textarea:focus + label, .field textarea:not(:placeholder-shown) + label { transform: translateY(-20px); font-size: var(--fs-micro); letter-spacing: 0.18em; text-transform: uppercase; color: var(--sv-blush); }
[dir="rtl"] .field input:focus + label, [dir="rtl"] .field input:not(:placeholder-shown) + label, [dir="rtl"] .field textarea:focus + label, [dir="rtl"] .field textarea:not(:placeholder-shown) + label { letter-spacing: 0; font-size: 0.78rem; }
.field--choices { border: 0; padding-top: 6px; min-width: 0; }
.choices { display: flex; flex-wrap: wrap; gap: 10px; }
.field--choices legend { font-size: var(--fs-micro); letter-spacing: 0.18em; text-transform: uppercase; color: var(--sv-blush); margin-bottom: 14px; }
[dir="rtl"] .field--choices legend { letter-spacing: 0; font-size: 0.78rem; }
.choice { position: relative; }
.choice input { position: absolute; inset: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.choice span { display: inline-block; padding: 10px 18px; border: 1px solid var(--rule); border-radius: 999px; font-size: 0.85rem; transition: background-color 0.4s, color 0.4s, border-color 0.4s; }
.choice input:checked + span { background: var(--sv-blush); color: var(--sv-cedar-deep); border-color: var(--sv-blush); }
.choice input:focus-visible + span { outline: 1.5px solid var(--sv-blush); outline-offset: 3px; }
.form__consent { font-size: var(--fs-micro); color: rgba(232, 221, 213, 0.55); letter-spacing: 0.04em; }
.form .btn { align-self: flex-start; }
.form__success { color: var(--sv-blush); font-size: var(--fs-4); }
.field.is-invalid input { border-color: #d98b7a; }


/* 90-responsive.css */
/* ───────────── Tablet ───────────── */
@media (max-width: 1100px) {
  .stats--4 { grid-template-columns: repeat(2, 1fr); }
  .strategy__core { grid-template-columns: 1fr 1fr; }
  .pillars { grid-template-columns: 1fr 1fr; }
  .sv-glance__grid { grid-template-columns: repeat(3, 1fr); }
  .plates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .proj--flagship .proj__metrics { grid-column: 1 / 13; grid-row: auto; }
  .proj--flagship .proj__name { grid-column: 1 / 13; }
  .proj--flagship .proj__alt { grid-column: 1 / 13; }
}

/* ───────────── Mobile ───────────── */
@media (max-width: 860px) {
  :root { --nav-h: 72px; --section: clamp(80px, 18vw, 140px); }
  .grid { row-gap: clamp(28px, 6vw, 48px); }
  .col-4, .col-5, .col-6, .col-7, .col-8, .col-9 { grid-column: 1 / -1; }
  .nav__cta { display: none; }
  .menu__inner { grid-template-columns: 1fr; align-items: start; padding-top: calc(var(--nav-h) + 6vh); }
  .menu__link { font-size: clamp(2.2rem, 9vw, 3.4rem); }
  .menu__aside { align-self: end; }

  .hero { min-height: 560px; }
  .hero__title { font-size: clamp(1.8rem, 7vw, 2.6rem); max-width: 14ch; }
  [dir="rtl"] .hero__title { font-size: clamp(1.6rem, 6vw, 2.3rem); }
  .hero__foot { flex-direction: column; align-items: flex-start; gap: 28px; }
  .hero__next { grid-template-columns: 1fr auto; width: 100%; text-align: start; }
  .hero__next-arrow { grid-row: 1 / 4; justify-self: end; }
  .hero__svlogo { font-size: clamp(56px, 22vw, 110px); }

  .manifesto__figure { grid-column: 1 / -1; margin-top: 0; }
  .manifesto__figure img { aspect-ratio: 4 / 3; }
  .manifesto__lists { grid-template-columns: 1fr; }
  .list__items--wrap { grid-template-columns: 1fr; }
  .manifesto__statement { max-width: none; }

  .stats--3 { grid-template-columns: repeat(2, 1fr); }
  .manifesto__copy, .manifesto__figure { grid-column: 1 / -1; }
  .manifesto__figure { width: 70%; }

  .sv-open__top { flex-direction: column; gap: 12px; }
  .sv-open__bottom { grid-template-columns: 1fr; }
  .sv-open__intro { justify-self: start; }
  .sv-open__logo { font-size: clamp(60px, 22vw, 120px); max-width: 100%; }
  .sv-open__intro { max-width: 100%; }
  .sv-story__seed { grid-column: 1 / 8; }
  .sv-story__text { padding-top: 0; }
  .sv-chapter { row-gap: 32px; }
  .sv-chapter__media, .sv-chapter__text, .sv-chapter--flip .sv-chapter__media, .sv-chapter--flip .sv-chapter__text { grid-column: 1 / -1; order: initial; }
  .sv-res__head, .sv-glance__head { grid-template-columns: 1fr; }
  .sv-res__link { grid-template-columns: 2.4rem 1fr auto; grid-template-rows: auto auto; row-gap: 10px; }
  .sv-res__index { grid-column: 1; grid-row: 1; }
  .sv-res__name { grid-column: 2; grid-row: 1; }
  .sv-res__spec { grid-column: 2; grid-row: 2; }
  .sv-res__arrow { grid-column: 3; grid-row: 1 / 3; align-self: center; }
  .sv-glance__grid { grid-template-columns: 1fr 1fr; }
  .sv-location__media img { height: 60svh; }
  .sv-location__dist { grid-column: 1 / -1; }

  .dev__hint { grid-column: 1 / -1; text-align: start; }
  .card { width: 74vw; }
  .proj, .proj--flip { padding-inline: var(--pad); row-gap: 28px; }
  .proj__media, .proj__text, .proj--flip .proj__media, .proj--flip .proj__text, .proj--masterplan .proj__media, .proj--masterplan .proj__text { grid-column: 1 / -1; order: initial; }
  .proj__detail { display: none; }
  .proj--flagship { padding-inline: 0; }
  .proj--flagship .proj__img img { aspect-ratio: 4 / 3; }
  .proj--flagship .proj__text { display: block; padding-inline: var(--pad); }
  .proj--flagship .proj__name { font-size: clamp(1.6rem, 6vw, 2.2rem); }
  .completed__table thead { display: none; }
  .completed__row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px 12px; padding: 18px 0; border-bottom: 1px solid var(--rule); }
  .completed__row th, .completed__row td { border: 0; padding: 0; }
  .completed__row th { grid-column: 1 / -1; flex-wrap: wrap; gap: 10px 16px; }
  .completed__num { text-align: start !important; width: auto; font-size: 1.2rem; }
  .completed__num::before { content: attr(data-l); display: block; font-family: var(--font-sans); font-style: normal; font-size: var(--fs-micro); letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-muted); margin-bottom: 4px; }
  [dir="rtl"] .completed__num::before { font-family: var(--font-ar); letter-spacing: 0; }

  .journey__head { grid-template-columns: 1fr; }
  .milestone { width: 64vw; }
  .milestone--next { width: 80vw; }
  .reach__regions { grid-column: 1 / -1; }
  .partners__list { columns: 1; }
  .strategy__core { grid-template-columns: 1fr; }
  .strategy__pillars-head { grid-template-columns: 1fr; }
  .pillars { grid-template-columns: 1fr; }
  .pillar { min-height: 0; }
  .contact { min-height: 0; }
  .contact__heading { font-size: clamp(1.6rem, 6vw, 2.4rem); }
  .contact__details { grid-column: 1 / -1; }
  .contact__foot { grid-template-columns: 1fr; }
  .contact__legal span { margin-inline-end: 0; flex-basis: 100%; }
  .form { gap: 22px; }
}

@media (max-width: 480px) {
  .stats--3, .stats--4 { grid-template-columns: 1fr 1fr; }
  .sv-community__amenities { grid-template-columns: 1fr; }
  .sv-community__cta { grid-column: 1 / -1; margin-top: 40px; }
  .partners__tally { grid-column: 1 / -1; margin-top: 28px; }
  .plates { grid-template-columns: 1fr; }
  .plate { grid-template-columns: 84px 1fr; min-height: 0; padding: 20px; }
  .plate__logo { height: 60px; }
  .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lead__portrait { width: clamp(170px, 56vw, 240px); }
  .sv-glance__grid { grid-template-columns: 1fr 1fr; }
  .completed__row { grid-template-columns: 1fr 1fr; }
}
