/*
Theme Name: Atese
Theme URI: https://happyonline.gr/
Author: Happyonline
Author URI: https://happyonline.gr/
Description: Happyonline Theme
Version: 1.0.0
Tested up to: 6.9
Requires PHP: 8.3
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: st

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.



/* ============================================================
   ATESE-SYSTEM.CSS
   ============================================================ */
/* shared chrome: skip link (present in every page's markup) */
.skip-link{position:absolute;left:-9999px;top:0;z-index:400;background:var(--accent);color:#fff;padding:12px 20px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.skip-link:focus{left:0}

/* ============ RESET ============ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; border-radius: 0 !important; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  overflow-x: hidden;
  font-family: 'Geologica', 'Helvetica Neue', Arial, sans-serif;
  font-feature-settings: 'tnum';
  background: #FFFFFF;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  min-width: 320px;
  overflow-x: hidden;
}
/* fluid from mobile to ultrawide — no fixed canvas */
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }

/* ============ TOKENS ============ */
:root {
  --black: #000000;
  --c1: #0E24F7;
  --c2: #38BDA8;
  --accent: #0E24F7;            /* solid fallback for borders/outlines */
  --grad: linear-gradient(315deg, #0E24F7 0%, #38BDA8 100%);
  --grad-rev: linear-gradient(135deg, #0E24F7 0%, #38BDA8 100%);
  --gray: #A0B1B3;
  --light: #E4EAEA;
  --white: #FFFFFF;
  --nav-h: 80px;

  /* --- semantic colour aliases (map onto the palette above) --- */
  --color-primary: #0E24F7;          /* royal blue  (= --c1 / --accent) */
  --color-secondary: #38BDA8;        /* teal        (= --c2) */
  --color-ink: #000000;              /* body text / dark grounds */
  --color-surface: #FFFFFF;          /* default page ground */
  --color-surface-alt: #E4EAEA;      /* light section ground (= --light) */
  --color-muted: #A0B1B3;            /* meta / secondary text (= --gray) */
  --color-body: #26302F;             /* long-form prose ink */
  --color-rule: rgba(0,0,0,.12);     /* hairline dividers on light */
  --color-rule-dark: rgba(255,255,255,.18); /* hairline dividers on dark */
  --gradient-brand: linear-gradient(315deg, #0E24F7 0%, #38BDA8 100%); /* = --grad */

  /* --- type scale (fluid; clamp min → max) --- */
  --font-display: 'Geologica', 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, Menlo, monospace;
  --fs-display: clamp(40px, 7vw, 128px);   /* hero / 404 numeral */
  --fs-h1: clamp(32px, 5vw, 84px);
  --fs-h2: clamp(26px, 3.4vw, 56px);
  --fs-h3: clamp(17px, 1.5vw, 22px);
  --fs-body: clamp(15px, 1.15vw, 17px);
  --fs-lead: clamp(17px, 1.5vw, 21px);
  --fs-small: 14px;
  --fs-meta: 12px;                          /* eyebrow / badge / mono meta */
  --fs-micro: 11px;

  /* --- spacing scale --- */
  --space-xs: 6px;
  --space-sm: 14px;
  --space-md: 24px;
  --space-lg: 32px;
  --space-xl: 48px;
  --space-2xl: 72px;
  --space-section: clamp(48px, 6vw, 88px);       /* standard section padding */
  --space-section-sm: clamp(32px, 6vw, 72px);    /* tightened section padding */
  --space-gutter: clamp(20px, 5vw, 80px);        /* container side gutter */

  /* --- geometry --- */
  --radius: 0;                     /* the system is strictly zero-radius */
  --hairline: 1px;
  --wrap-max: 1680px;              /* centred container max width */
}



/* ============ TYPE UTILS ============ */
.eyebrow {
  font-size: 12px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 12px;
}
.eyebrow::before { content: ""; display: inline-block; width: 32px; height: 1px; background: currentColor; }
.tabular { font-variant-numeric: tabular-nums; font-feature-settings: 'tnum'; }
.mono { font-family: 'JetBrains Mono', ui-monospace, Menlo, monospace; }
/* masked arrow icon — single → (provided asset), inherits currentColor: white on dark, black on light */
.arr {
  display: inline-block; flex-shrink: 0;
  width: 1.1em; height: 1.1em; font-size: inherit;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M5.00006%2013.0002H17.2501L12.0001%207.75024L12.6601%207.00024L19.1601%2013.5002L12.6601%2020.0002L12.0001%2019.2502L17.2501%2014.0002H5.00006V13.0002Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M5.00006%2013.0002H17.2501L12.0001%207.75024L12.6601%207.00024L19.1601%2013.5002L12.6601%2020.0002L12.0001%2019.2502L17.2501%2014.0002H5.00006V13.0002Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
  vertical-align: -0.16em;
}
.btn .arr, .nav__cta .arr { width: 24px; height: 24px; }
/* larger link arrows in What-we-do / The-group / News sections */
.pillar__btn .arr, .group__links a .arr, .card__foot a .arr,
.projects__foot a .arr, .statement__link .arr, .coops__link .arr { width: 24px; height: 24px; }
.arr.gt { background-color: transparent; background-image: var(--grad);
  -webkit-background-clip: border-box; background-clip: border-box; }

/* Headline scale */
.h-display, .h1, .h2, .h3, .cta__head,
.hero__head, .pillar__num, .pillar__title, .pillar__kpi,
.growth__num, .growth__year, .growth__sidekpi .kpi__num,
.metric__num, .tile__name, .mega__num, .mega__title {
  font-family: 'Geologica', 'Helvetica Neue', Arial, sans-serif;
}
.h-display { font-size: 128px; font-weight: 700; letter-spacing: -0.03em; line-height: 0.94; text-transform: uppercase; }
.h1        { font-size: 92px;  font-weight: 700; letter-spacing: -0.025em; line-height: 1.0; text-transform: uppercase; }
.h2        { font-size: 58px;  font-weight: 600; letter-spacing: -0.02em; line-height: 1.04; text-transform: uppercase; }
.h3        { font-size: 27px;  font-weight: 600; line-height: 1.2; letter-spacing: -0.01em; }
.body-lg   { font-size: 20px;  font-weight: 400; line-height: 1.4; }
.body      { font-size: 16px;  font-weight: 400; line-height: 1.5; }

/* ============ NAV ============ */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  height: 80px; background: var(--white); color: var(--black);
  display: grid; grid-template-columns: 280px 1fr auto; align-items: center;
  border-bottom: 1px solid rgba(0,0,0,0.12);
}
.nav__logo { padding: 0 32px; display: flex; align-items: center; }
.nav__logo img { height: 40px; width: auto; color: var(--white); }
.nav__items { display: flex; justify-content: center; gap: 40px; }
.nav__items a {
  font-size: 14px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase;
  position: relative; padding: 6px 0;
  white-space: nowrap; flex-shrink: 0;
}
.nav__items a:hover { color: var(--accent); }
.nav__items a.has-mega::after { content: " ▾"; opacity: 0.6; transition: opacity 150ms linear; }
.nav__items a.has-mega:hover::after { content: " ▴"; opacity: 0.6; }
.nav__item-wrap { display: contents; }
.nav__caret { display: none; }
.nav__sub { display: none; }
.nav__right { display: flex; align-items: stretch; height: 80px; }
.nav__lang { display: flex; align-items: center; gap: 12px; padding: 0 24px;
  font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase;
  border-left: 1px solid rgba(0,0,0,0.14); }
.nav__lang span.active { color: var(--black); text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.nav__lang span { color: #7a8688; cursor: pointer; }
.nav__search {
  width: 80px; height: 80px;
  border-left: 1px solid rgba(0,0,0,0.14);
  display: grid; place-items: center;
}
.nav__search svg { width: 16px; height: 16px; }
.nav__cta {
  background: var(--grad); color: var(--white);
  padding: 0 32px; height: 80px;
  font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
  display: flex; align-items: center; gap: 12px;
  transition: background 150ms linear;
}
.nav__cta:hover { background: var(--grad-rev); }
.nav__cta .arrow { font-size: 16px; }

/* mega menu */
.mega {
  position: fixed; top: 80px; left: 0; right: 0;
  background: var(--black); color: var(--white);
  border-bottom: 1px solid var(--gray);
  z-index: 99;
  display: none;
}
.mega.open { display: block; }
.mega__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.mega__collink { margin-top: auto; padding-top: 20px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 10px; color: var(--white); }
.mega__collink .arr { width: 18px; height: 18px; }
.mega__collink:hover { background-image: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.mega__collink:hover .arr { background-color: transparent; background-image: var(--grad); }
.mega__col { display: flex; flex-direction: column; }
.mega__foot { border-top: 1px solid var(--gray); padding: 24px 40px; display: flex; justify-content: flex-end; }
.mega__cta { height: 56px; }
.mega--group .mega__grid { grid-template-columns: repeat(4, 1fr) 1.5fr; }
.mega--people .mega__grid { grid-template-columns: auto 260px 1px auto 260px; justify-content: start; column-gap: 44px; align-items: center; padding-left: 40px; }
.mega--people .mega__col { border-right: 0; display: flex; flex-direction: column; justify-content: center; }
.mega--people .mega__pdivider { background: var(--white); width: 1px; align-self: stretch; margin: 32px 0; }
.mega__col--photo { padding: 0; width: 260px; aspect-ratio: 4 / 3; height: auto; background-size: cover; background-position: center; align-self: center; filter: grayscale(1); }
.mega--people .mega__col--photo:last-child { border-right: 0; }
/* Group mega — News & Insights preview column */
.mega__col--news { background: #0a0a0a; }
.mega__newsgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 4px; }
.mega__news { display: block; }
.mega__news-thumb {
  width: 100%; aspect-ratio: 16 / 11;
  background-size: cover; background-position: center; filter: grayscale(1);
  transition: filter 150ms linear;
}
.mega__news:hover .mega__news-thumb { filter: grayscale(0); }
.mega__news-date { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--gray); margin-top: 8px; letter-spacing: 0.08em; }
.mega__news-title { font-size: 12px; line-height: 1.3; color: var(--white); margin-top: 4px; }
.mega__news:hover .mega__news-title { color: var(--accent); }
.mega__col {
  padding: 56px 40px;
  border-right: 1px solid var(--gray);
}
.mega__col:last-child { border-right: 0; }
.mega__num { font-size: 56px; font-weight: 600; letter-spacing: -0.02em; margin-bottom: 24px; }
.mega__title { font-size: 20px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 16px; }
.mega__list { padding-left: 0; margin-left: 0; list-style: none; }
.mega__list li { list-style: none; font-size: 14px; padding: 8px 0; color: var(--gray); border-bottom: 1px solid #1a1a1a;}
.mega__list li:hover { color: var(--white); }

/* ============ HERO (Sec 1) ============ */
.hero { position: relative; height: clamp(720px, 56.25vw, 1080px); padding-top: 80px; background: var(--black); overflow: hidden; }
.hero__photo {
  position: absolute; inset: 80px 0 0 0;
  overflow: hidden;
  background: #0c0c0c;
}
.hero__reel {
  position: absolute; inset: -6% 0;
  width: 100%; height: 112%;
  will-change: transform;
}
.hero__video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0;
}
.hero__photo::after {
  content: none;
}
/* hard slab vignette over the video */
.hero__photo::before {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.0) 35%, rgba(0,0,0,0.0) 60%, rgba(0,0,0,0.65) 100%),
    linear-gradient(90deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.0) 40%);
}
.hero__crane {
  position: absolute; top: 80px; right: 8%; width: 800px; height: 700px;
  background:
    /* crane mast */
    linear-gradient(90deg, transparent 49%, #3a3a3a 49%, #3a3a3a 51%, transparent 51%),
    /* horizontal jib */
    linear-gradient(180deg, transparent 22%, #3a3a3a 22%, #3a3a3a 23%, transparent 23%);
  opacity: 0.55;
  pointer-events: none;
}
.hero__buildings {
  position: absolute; bottom: 0; left: 0; right: 0; height: 380px;
  background:
    linear-gradient(90deg,
      transparent 0%, transparent 35%,
      #1a1a1a 35%, #1a1a1a 48%,
      #222 48%, #222 62%,
      #181818 62%, #181818 78%,
      transparent 78%, transparent 100%);
  opacity: 0.7;
}
.hero__scroll {
  position: absolute; top: 50%; right: 32px; transform: translateY(-50%) rotate(-90deg); transform-origin: right;
  color: var(--white); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 500;
  display: flex; align-items: center; gap: 12px;
}
.hero__slab {
  position: absolute; left: 0; bottom: 0;
  width: clamp(440px, 56vw, 1040px);
  padding: clamp(28px, 2.6vw, 44px) clamp(28px, 3vw, 52px) clamp(32px, 3vw, 48px);
  background: rgba(0,0,0,0.12);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  color: var(--white);
  z-index: 5;
}
.hero__metrics, .hero__scroll, .hero__corner-tag { z-index: 5; }
.hero__eyebrow { color: var(--white); margin-bottom: clamp(20px, 2.4vw, 32px); }
.hero__head { white-space: nowrap; margin-bottom: 24px; font-size: clamp(44px, 4.8vw, 88px); }
.hero__head .line { display: block; }
.hero__rule { width: 100%; height: 1px; background: rgba(255,255,255,0.4); margin: 22px 0; }
.hero__sub { max-width: 480px; color: var(--white); margin-bottom: 28px; }
.hero__ctas { display: flex; gap: 0; }
.btn__play {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  border: 1px solid currentColor; flex-shrink: 0;
}
.btn__play::before {
  content: ""; width: 0; height: 0; margin-left: 2px;
  border-left: 7px solid currentColor;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}
.btn {
  height: 64px; padding: 0 32px;
  font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 16px;
  transition: background 150ms linear, color 150ms linear;
}
.btn--primary { background: var(--grad); color: var(--white); }
.btn--primary:hover { background: var(--grad-rev); color: var(--white); }
.btn--ghost { background: transparent; color: var(--white); border: 1px solid var(--white); }
.btn--ghost:hover { background: var(--white); color: var(--black); }
.btn .arr { font-family: 'JetBrains Mono', monospace; }

/* metrics — Spaciaz cards butted into the photo */
.hero__metrics {
  position: absolute; right: 0; bottom: 0;
  width: clamp(420px, 45vw, 840px);
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
}
.metric {
  background: var(--light); color: var(--black);
  padding: clamp(20px, 2vw, 32px);
  height: clamp(150px, 10.4vw, 200px);
  border-left: 1px solid var(--black);
  border-bottom: 1px solid var(--black);
  display: flex; flex-direction: column; justify-content: space-between;
}
.metric__num { font-size: clamp(32px, 2.9vw, 56px); font-weight: 600; letter-spacing: -0.02em; line-height: 1; }
.metric__num em { font-style: normal; color: var(--accent); }
.metric__label { font-size: 12px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; }
.metric:first-child { border-left: 1px solid var(--black); }

/* small label top-strip on slab */
.hero__corner-tag {
  display: none;
}

/* ============ SEC 2 — Highlight statement ============ */
.statement {
  background: var(--light); padding: clamp(72px, 9vw, 160px) clamp(20px, 6.25vw, 120px);
}
.statement__eyebrow { color: var(--black); margin-bottom: 64px; }
.statement__text {
  max-width: 1400px; font-size: clamp(28px, 3.4vw, 56px); font-weight: 500; letter-spacing: -0.01em; line-height: 1.2;
  color: var(--black);
}
.hl {
  background-image: var(--grad);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0% 100%;
  color: var(--black);
  padding: 0 12px;
  display: inline-block;
  font-weight: 600;
  white-space: nowrap;
  transition: background-size 0.7s cubic-bezier(0.65, 0, 0.2, 1), color 0.45s linear 0.12s;
}
.hl.reveal { background-size: 100% 100%; color: var(--white); }
.statement.in-view .hl:nth-of-type(1) { transition-delay: 0s, 0.12s; }
.statement.in-view .hl:nth-of-type(2) { transition-delay: 0.16s, 0.28s; }
.statement.in-view .hl:nth-of-type(3) { transition-delay: 0.32s, 0.44s; }
.statement.in-view .hl:nth-of-type(4) { transition-delay: 0.48s, 0.60s; }
.statement__rule { height: 1px; background: var(--black); margin-top: 80px; }
.statement__link {
  margin-top: 32px;
  font-size: 14px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 500;
  display: inline-flex; align-items: center; gap: 16px;
}
.statement__link:hover { color: var(--accent); }

/* ============ SEC 3 — Four pillars ============ */
.pillars { background: var(--black); color: var(--white); padding: 160px 0 0 0; }
.pillars__head { padding: 0 80px 64px; display: grid; grid-template-columns: 1fr; align-items: end; gap: 80px; }
.pillars__head .eyebrow { color: var(--white); margin-bottom: 32px; }
.pillars__intro { max-width: 1100px; margin-top: 32px; color: var(--white); font-size: clamp(28px, 3vw, 48px); font-weight: 500; letter-spacing: -0.01em; line-height: 1.2; }
.pillars__rule { height: 1px; background: var(--white); margin: 0; }
.pillars__row { display: grid; grid-template-columns: repeat(4, 1fr); }
.pillar { border-right: 1px solid var(--white); padding: 56px 40px 0; display: flex; flex-direction: column; }
.pillar:last-child { border-right: 0; }
.pillar__num { font-size: 200px; font-weight: 600; letter-spacing: -0.04em; line-height: 0.85; font-variant-numeric: tabular-nums; margin-bottom: 32px; }
.pillar__title { font-size: 28px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.02em; margin-bottom: 16px; line-height: 1.1; min-height: calc(3 * 1.1 * 28px); }
.pillars__row .pillar:nth-child(3) .pillar__title { font-size: 23px; letter-spacing: 0; }
.pillar__tags { font-size: 12px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray); margin-bottom: 32px; line-height: 1.6; min-height: calc(2 * 1.6 * 12px); }
.pillar__img {
  width: 100%; height: 360px;
  background-color: #1a1a1a;
  background-size: cover;
  background-position: center;
  position: relative;
  filter: contrast(1.02);
  margin-bottom: 32px;
}
.pillar__img.placeholder {
  background:
    linear-gradient(180deg, rgba(0,0,0,0.2), rgba(0,0,0,0.5)),
    repeating-linear-gradient(45deg, #2a2a2a 0 6px, #1f1f1f 6px 12px);
}
.pillar__img::after {
  content: none;
}
.pillar:nth-child(4) .pillar__img { filter: contrast(1.02); }
.pillar__desc { font-size: 16px; color: var(--light); line-height: 1.5; margin-bottom: 32px; flex: 1 0 auto; }
.pillar__kpi { font-size: 28px; font-weight: 500; color: var(--white); margin-bottom: 32px; letter-spacing: -0.01em; }
.pillar__kpi small { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray); display: block; margin-bottom: 8px; font-weight: 500; }
.pillar__btn {
  margin-top: auto;
  border-top: 1px solid var(--white);
  height: 64px; display: flex; align-items: center; justify-content: space-between;
  padding: 0 8px;
  font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--white);
  transition: background 150ms linear, color 150ms linear, padding 150ms linear;
  margin-left: -40px; margin-right: -40px; padding: 0 40px;
}
.pillar__btn:hover { background: var(--grad); color: var(--white); }

/* ============ SEC 4 — Growth band ============ */
.growth { background: var(--light); padding: 120px 80px 96px; }
.growth__head { display: grid; grid-template-columns: 1fr; align-items: end; margin-bottom: 64px; gap: 40px; }
.growth__rule { height: 1px; background: var(--black); margin-bottom: 64px; }
.growth__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); align-items: stretch; }
.growth__row--second { margin-top: clamp(2.5rem, 5vw, 4.5rem); padding-top: clamp(2.5rem, 5vw, 4.5rem); border-top: 1px solid rgba(0,0,0,0.16); }
/* first stats row (3 / 2 / 345+) — larger numerals, tighter spread */
.growth__row:not(.growth__row--second) { grid-template-columns: repeat(3, auto); justify-content: start; gap: clamp(3rem, 9vw, 9rem); }
.growth__row:not(.growth__row--second) .growth__num { font-size: clamp(3rem, 8vw, 8rem); }
.growth__block { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.growth__year { font-size: 28px; font-weight: 500; letter-spacing: -0.01em; }
.growth__num { font-size: clamp(1.6rem, 4.2vw, 5.5rem); font-weight: 700; letter-spacing: -0.045em; line-height: 1; font-variant-numeric: tabular-nums; white-space: nowrap; }
.growth__num.purple { color: var(--accent); }
.growth__caption { font-size: clamp(0.6rem, 1.2vw, 0.75rem); font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--black); }
.growth__divider { background: var(--black); width: 2px; }
.growth__sidekpi { display: flex; flex-direction: column; justify-content: center; gap: 32px; padding-left: 40px; min-width: 0; }
.growth__sidekpi .kpi__num { font-size: 80px; font-weight: 600; letter-spacing: -0.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.growth__sidekpi .kpi__lbl { font-size: 12px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; margin-top: 8px; }
.growth__sidekpi .kpi { border-top: 1px solid var(--black); padding-top: 24px; }
.growth__sidekpi .kpi:first-child { border-top: 0; padding-top: 0; }
.growth__caption-foot { margin-top: 64px; font-size: 12px; color: #5a6669; letter-spacing: 0.04em; }

/* ============ SEC 5 — Selected projects ============ */
.projects { background: var(--white); color: var(--black); padding: 160px 0; }
.projects__head { padding: 0 80px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 40px; margin-bottom: 64px; }
.projects__head .eyebrow { color: var(--black); margin-bottom: 32px; }
.chips { display: flex; gap: 0; }
.chip {
  padding: 14px 20px; border: 1px solid var(--black);
  font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--black); margin-left: -1px;
  transition: background 150ms linear, color 150ms linear;
}
.chip:hover { background: var(--black); color: var(--white); }
.chip.active { background: var(--grad); border-color: transparent; color: var(--white); }
.projects__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 360px 360px;
  gap: 2px;
  background: rgba(0,0,0,0.14);
  padding: 0 0 0 0;
}
.tile { position: relative; overflow: hidden; background: #161616; }
.tile.lg { grid-column: 1 / span 2; grid-row: 1 / span 2; }
.tile.md1 { grid-column: 3 / span 2; grid-row: 1; }
.tile.sm1 { grid-column: 3; grid-row: 2; }
.tile.sm2 { grid-column: 4; grid-row: 2; }
.tile__img {
  position: absolute; inset: 0;
  background-color: #161616;
  background-size: cover;
  background-position: center;
  filter: grayscale(1) contrast(1.02);
  transition: transform 400ms cubic-bezier(.2,.6,.2,1), filter 200ms linear;
}
.tile:hover .tile__img { transform: scale(1.04); filter: grayscale(0) contrast(1.04) saturate(1.05); }
.tile__img::after {
  content: none;
}
.tile__pill {
  position: absolute; top: 16px; right: 16px;
  padding: 6px 10px; background: var(--grad); color: var(--white);
  font-size: 10px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase;
}
.tile__slab {
  position: absolute; left: 0; right: 0; bottom: 0;
  background: var(--black); color: var(--white);
  border-top: 1px solid var(--white);
  padding: 24px 24px;
  display: flex; align-items: center; justify-content: space-between;
  height: 96px;
  transition: height 200ms linear;
}
.tile__name { font-size: 20px; font-weight: 500; letter-spacing: -0.01em; }
.tile__hover { display: none; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; }
.tile:hover .tile__slab { height: 50%; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 16px; padding: 32px; }
.tile:hover .tile__hover { display: inline-flex; align-items: center; gap: 12px; color: var(--accent); }
.projects__foot {
  margin-top: 64px; padding: 0 80px;
  display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 24px;
}
.projects__foot a {
  font-size: 28px; font-weight: 500;
  display: inline-flex; align-items: center; gap: 16px;
}
.projects__foot a:hover { color: var(--accent); }
.projects__foot__rule { height: 1px; background: var(--black); }

/* ============ SEC 6 — Group / STRON style split ============ */
.group { background: var(--light); color: var(--black); display: grid; grid-template-columns: 1fr 1fr; min-height: 720px; }
.group__photo {
  background-color: #0c0c0c;
  background-image: url('assets/img/group_worker.jpg');
  background-size: cover;
  background-position: center;
  position: relative;
}
.group__photo::after {
  content: "";
}
.group__photo__overlay {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 30% 60%, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.5) 80%),
    linear-gradient(90deg, rgba(0,0,0,0.2), transparent 30%, transparent 70%, rgba(0,0,0,0.3));
}
.group__photo__figures {
  position: absolute; left: 12%; bottom: 0; width: 60%; height: 70%;
  background:
    /* two figures silhouette */
    radial-gradient(circle at 30% 25%, #2c2c2c 0 36px, transparent 36px),
    radial-gradient(circle at 65% 25%, #2c2c2c 0 38px, transparent 38px),
    linear-gradient(180deg, transparent 30%, #2c2c2c 30%, #2c2c2c 100%);
  clip-path: polygon(8% 100%, 8% 35%, 22% 18%, 38% 12%, 50% 18%, 56% 28%, 65% 22%, 75% 16%, 88% 22%, 92% 32%, 92% 100%);
  opacity: 0.6;
}
.group__body { padding: 96px; display: flex; flex-direction: column; }
.group__body .eyebrow { margin-bottom: 48px; color: var(--black); }
.group__body h2 { margin-bottom: 40px; max-width: 720px; }
.group__body p { font-size: 20px; line-height: 1.4; max-width: 720px; margin-bottom: 24px; color: var(--black); }
.group__links { margin-top: 48px; }
.group__links a {
  display: flex; align-items: center; justify-content: space-between;
  height: 64px; padding: 0 8px;
  font-size: 14px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase;
  border-top: 1px solid var(--black);
  transition: background 150ms linear, color 150ms linear, padding 150ms linear;
}
.group__links a:last-child { border-bottom: 1px solid var(--black); }
.group__links a:hover { background: var(--grad); color: var(--white); padding-left: 24px; }
.group__links a .arr { font-family: 'JetBrains Mono', monospace; }

/* ============ SEC 7 — Certifications ============ */
.certs { background: var(--white); padding: 64px clamp(20px, 5vw, 80px); }
.certs .eyebrow { color: var(--black); margin-bottom: 32px; }
.certs__row { display: flex; flex-wrap: wrap; overflow: hidden; }
.cert {
  flex: 1 1 160px; min-width: 140px; min-height: 96px;
  border-left: 1px solid var(--black); margin-left: -1px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
  font-size: 14px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--black);
  padding: 20px 16px;
  text-align: center;
}
.cert small { display: block; font-size: 10px; letter-spacing: 0.12em; font-weight: 500; color: #5a6669; margin: 0; }
.cert--cta {
  background: var(--grad); color: var(--white);
  gap: 10px; text-decoration: none;
  transition: filter 150ms linear;
}
.cert--cta:hover { filter: brightness(1.12); }
.cert--cta .arr { background-color: var(--white); }

/* ============ SEC 8 — Industry cooperations ============ */
.coops { background: var(--light); color: var(--black); display: grid; grid-template-columns: 1fr 2px 1fr; }
.coops__col { padding: clamp(48px, 6vw, 96px) clamp(1.5rem, 5vw, 4rem); }
.coops__divider { background: rgba(0,0,0,0.16); }
.coops .eyebrow { color: var(--black); margin-bottom: 32px; }
.coops h2 { margin-bottom: 24px; }
.coops p { font-size: 20px; line-height: 1.4; margin-bottom: 48px; max-width: 520px; color: #5a6669; }
.coops__logos { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 0; margin-bottom: 48px; }
.coop-logo {
  height: 80px; border: 1px solid rgba(0,0,0,0.2); margin-left: -1px; margin-top: -1px;
  display: flex; align-items: center; justify-content: center; text-align: center;
  padding: 0 10px;
  font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--black); letter-spacing: 0.08em;
}
.coops__link { font-size: 14px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 16px; }
.coops__link:hover { color: var(--accent); }

/* ============ SEC 9 — News ============ */
.news { background: var(--white); padding: clamp(64px, 9vw, 160px) clamp(20px, 5vw, 80px); }
.news__head { display: grid; grid-template-columns: 1fr auto; align-items: start; margin-bottom: 64px; gap: 40px; }
.news__viewall-wrap { align-self: start; }
.news__viewall {
  font-size: 14px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 10px; color: var(--black);
}
.news__viewall::before { content: "+"; font-weight: 400; }
.news__viewall:hover {
  background-image: var(--grad); -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.news__head .eyebrow { color: var(--black); margin-bottom: 32px; }
.news__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--black); }
.card {
  border-left: 1px solid var(--black);
  padding: 0;
  min-width: 0;
  display: flex; flex-direction: column;
  background: var(--white); color: var(--black);
  transition: background 150ms linear, color 150ms linear;
}
.card:first-child { border-left: 0; }
.card__thumb {
  aspect-ratio: 16 / 9; width: 100%;
  background-color: #c8c9cb;
  background-size: cover;
  background-position: center;
  position: relative;
}
.card__thumb.placeholder {
  background:
    linear-gradient(180deg, rgba(0,0,0,0.05), rgba(0,0,0,0.25)),
    repeating-linear-gradient(45deg, #c8c9cb 0 8px, #b8b9bb 8px 16px);
}
.card__thumb::after {
  content: none;
}
.card__body { padding: clamp(20px, 2vw, 32px); display: flex; flex-direction: column; flex: 1; }
.card__meta { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.card__date { font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: 0.08em; }
.card__chip { background: var(--grad); color: var(--white); padding: 6px 10px; font-size: 10px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; }
.card h3 { margin-bottom: 20px; max-width: 420px; }
.card__foot { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px; margin-top: 8px; }
.card__foot a { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.card__foot__rule { height: 1px; background: currentColor; }
.card:hover { background: var(--black); color: var(--white); }
.card:hover .card__thumb { filter: brightness(0.6); }
.news__foot { margin-top: 64px; display: flex; justify-content: flex-end; }
.news__dots { display: none; }
.news__foot a { font-size: 14px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 16px; }
.news__foot a:hover { color: var(--accent); }

/* ============ SEC 10 — CTA ============ */
.cta { background: var(--grad); color: var(--white); padding: 96px 80px; min-height: 480px; position: relative; overflow: hidden; }
.cta .eyebrow { color: var(--white); margin-bottom: 64px; }
.cta__head { font-size: 100px; font-weight: 700; letter-spacing: -0.03em; line-height: 0.98; white-space: normal; max-width: 1200px; margin-bottom: 32px; margin-left: -4px; }
.cta__sub { font-size: 20px; max-width: 640px; margin-bottom: 48px; }
.cta__ctas { display: flex; gap: 0; }
.btn--white { background: var(--white); }
.btn--white .gt { font-weight: inherit; }
.btn--white:hover { background: var(--black); color: var(--white); }
.btn--white:hover .gt { -webkit-text-fill-color: var(--white); color: var(--white); background: none; }

/* ============ SEC 11 — Footer ============ */
.footer { background: var(--black); color: var(--white); padding: 96px 80px 48px; }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr; gap: 0; }
.footer__col { padding: 0 32px; border-left: 1px solid #303030; }
.footer__col:first-child { border-left: 0; padding-left: 0; }
.footer__logo { height: 32px; width: auto; margin-bottom: 32px; }
.footer__col h4 { font-size: 12px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray); margin-bottom: 24px; }
.footer__col ul { list-style: none; }
.footer__col li { margin-bottom: 12px; font-size: 14px; }
.footer__col li a:hover { color: var(--accent); }
.footer__col p { font-size: 14px; line-height: 1.6; color: var(--gray); margin-bottom: 16px; }
.footer__col .li-icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid var(--white); margin-top: 16px; }
.footer__bottom {
  margin-top: 80px; padding-top: 24px; border-top: 1px solid var(--gray);
  display: flex; justify-content: space-between; align-items: center;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray);
}
.footer__bottom__links { display: flex; gap: 32px; }
.footer__espa {
  margin-top: 24px; padding: 16px 0; border-top: 1px solid #303030;
  font-family: 'JetBrains Mono', monospace; font-size: 10px; color: #777; letter-spacing: 0.08em;
}

/* ============ Modal ============ */
.modal {
  position: fixed; inset: 0; background: var(--black); z-index: 200;
  display: none; align-items: center; justify-content: center; padding: 80px;
}
.modal.open { display: flex; }
.modal__close {
  position: absolute; top: 24px; right: 24px;
  width: 56px; height: 56px; border: 1px solid var(--white); color: var(--white);
  display: grid; place-items: center; font-size: 18px;
}
.modal__close:hover { background: var(--white); color: var(--black); }
.modal__player {
  width: 100%; max-width: 1280px; aspect-ratio: 16/9;
  border: 1px solid var(--white);
  background:
    repeating-linear-gradient(45deg, #161616 0 12px, #0c0c0c 12px 24px);
  display: grid; place-items: center;
  position: relative;
  color: var(--white);
}
.modal__player::before {
  content: ""; width: 0; height: 0;
  border-left: 32px solid var(--white);
  border-top: 22px solid transparent;
  border-bottom: 22px solid transparent;
}
.modal__caption { position: absolute; bottom: -40px; left: 0; font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--gray); letter-spacing: 0.08em; }

/* ============ SEARCH OVERLAY ============ */
.nav__search.is-active { background: var(--grad); }
.search {
  position: fixed; inset: 0; z-index: 300;
  background: #000000;
  display: none; flex-direction: column;
}
.search.open { display: flex; }
.search__bar {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center;
  height: 160px; border-bottom: 1px solid var(--gray);
  padding: 0 80px; gap: 32px;
}
.search__icon { width: 36px; height: 36px; color: var(--white); }
.search__input {
  background: transparent; border: 0; outline: 0;
  color: var(--white);
  font-family: 'Geologica', sans-serif;
  font-size: 36px; font-weight: 500; letter-spacing: -0.01em;
  width: 100%; text-transform: none;
}
.search__input::placeholder { color: #3a3a3a; }
.search__close {
  width: 64px; height: 64px; border: 1px solid var(--white); color: var(--white);
  display: grid; place-items: center; font-size: 22px; flex-shrink: 0;
  transition: background 150ms linear, color 150ms linear;
}
.search__close:hover { background: var(--white); color: var(--black); }
.search__body { flex: 1; overflow-y: auto; padding: 48px 80px 80px; }
.search__hint {
  font-size: 12px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gray); margin-bottom: 40px;
}
.search__count { color: var(--white); }
.search__results { display: grid; grid-template-columns: 1fr; }
.search__item {
  display: grid; grid-template-columns: 200px 1fr auto; align-items: center; gap: 40px;
  padding: 28px 8px; border-top: 1px solid #1f1f1f; width: 100%; text-align: left;
  color: var(--white); transition: padding 150ms linear, background 150ms linear;
}
.search__item:last-child { border-bottom: 1px solid #1f1f1f; }
.search__item:hover, .search__item.sel { background: #0c0c0c; padding-left: 24px; }
.search__cat {
  font-family: 'JetBrains Mono', monospace; font-size: 12px;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--gray);
}
.search__title { font-size: 28px; font-weight: 600; letter-spacing: -0.01em; }
.search__title mark { background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.search__go { display: inline-block; width: 22px; height: 22px; background-color: var(--gray);
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M5.00006%2013.0002H17.2501L12.0001%207.75024L12.6601%207.00024L19.1601%2013.5002L12.6601%2020.0002L12.0001%2019.2502L17.2501%2014.0002H5.00006V13.0002Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M5.00006%2013.0002H17.2501L12.0001%207.75024L12.6601%207.00024L19.1601%2013.5002L12.6601%2020.0002L12.0001%2019.2502L17.2501%2014.0002H5.00006V13.0002Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain; }
.search__item:hover .search__go, .search__item.sel .search__go { background-color: var(--white); }
.search__empty { font-size: 24px; color: var(--gray); font-weight: 500; }
.search__empty b { color: var(--white); font-weight: 600; }
@media (max-width: 1023px) {
  .search__bar { height: 72px; padding: 0 16px; gap: 12px; }
  .search__icon { width: 20px; height: 20px; }
  .search__input { font-size: 17px; height: 40px; }
  .search__close { width: 40px; height: 40px; font-size: 16px; }
  .search__body { padding: 28px 16px 48px; }
  .search__hint { margin-bottom: 24px; }
  .search__item { grid-template-columns: 1fr auto; gap: 12px; padding: 20px 4px; }
  .search__cat { grid-column: 1 / -1; margin-bottom: 4px; }
  .search__title { font-size: 19px; }
  .search__item:hover, .search__item.sel { padding-left: 4px; }
}

/* ============ HISTORY / TIMELINE — full-viewport interactive (group-structure.html) ============ */
.hist3{position:relative;height:auto;min-height:0;max-height:none;background:var(--light);color:var(--black);overflow:hidden;display:flex;flex-direction:column;padding:clamp(80px,10vw,150px) clamp(20px,5vw,80px)}
.hist3__head{flex-shrink:0;margin:0 auto 12px}
.hist3__head .eyebrow{color:var(--black)}
.hist3__stage{flex:1;display:grid;grid-template-columns:52% 48%;align-items:center;min-height:0;margin-top:clamp(32px,4vw,56px)}
.hist3__text{padding:0;max-width:560px}
.hist3__label{display:block;font-family:'Geologica',sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);opacity:0;transition:opacity 250ms ease}
.hist3__year{font-family:'Geologica',sans-serif;font-weight:700;font-size:clamp(56px,9vw,110px);line-height:1;letter-spacing:-.02em;margin-top:18px;opacity:0;transition:opacity 250ms ease;font-variant-numeric:tabular-nums;background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.hist3__desc{margin-top:22px;font-size:clamp(15px,1.2vw,17px);line-height:1.6;color:#3a4446;max-width:38ch;opacity:0;transition:opacity 250ms ease}
.hist3__text.is-ready .hist3__label,.hist3__text.is-ready .hist3__year,.hist3__text.is-ready .hist3__desc{opacity:1}
.hist3__media{height:min(72vh,680px);width:100%;max-width:660px;justify-self:center;align-self:center;background-size:contain;background-repeat:no-repeat;background-position:center;filter:none}
.hist3__strip{
  flex-shrink:0;display:flex;align-items:stretch;justify-content:space-between;
  margin-top:clamp(32px,4vw,56px);
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.hist3__strip::-webkit-scrollbar{display:none}
.hist3__yr{
  flex:1 1 auto;min-width:56px;padding:48px 6px 16px;background:none;border:0;cursor:pointer;
  font-family:'Geologica',sans-serif;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--gray);
  position:relative;transition:color .2s linear;color:#5b6667;
}
.hist3__yr::after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:3px;background:rgba(0,0,0,.12);transition:background .2s linear}
.hist3__yr:hover{color:var(--black)}
.hist3__yr[aria-selected="true"]{color:var(--black)}
.hist3__yr[aria-selected="true"]::after{background:var(--accent)}
.hist3__yr:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:1023px){
  .hist3{padding:clamp(48px,7vw,72px) clamp(20px,5vw,80px)}
  .hist3__head{padding:0}
  .hist3__head #hist-title{white-space:nowrap;padding-bottom:16px}
  .hist3__stage{grid-template-columns:1fr;grid-template-rows:auto auto;margin-top:24px}
  .hist3__media{height:clamp(220px,40vh,360px);order:-1}
  .hist3__text{padding:clamp(24px,5vw,36px) 0 0}
  .hist3__year{font-size:clamp(42px,14vw,72px)}
  .hist3__strip{justify-content:flex-start;gap:4px;margin-top:24px}
  .hist3__yr{flex:0 0 auto;padding:14px 12px 14px}
}
@media (prefers-reduced-motion:reduce){
  .hist3__label,.hist3__year,.hist3__desc{transition:none}
}

/* ============ FOCUS ============ */
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hl { transition: none; background-size: 100% 100%; color: var(--white); }
  .hero__reel { transform: none !important; }
  [data-parallax] { transform: none !important; }
}

/* ============ GRADIENT TEXT (blue accents → brand gradient) ============ */
.nav__items a:hover,
.mega__num,
.metric__num em,
.statement__link:hover,
.pillar__num,
.growth__num,
.tile:hover .tile__hover,
.projects__foot a:hover,
.coops__link:hover,
.footer__col li a:hover,
.gt {
  background-image: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
/* masked arrows inside gradient-text contexts: paint the arrow with the gradient */
.tile:hover .tile__hover .arr,
.projects__foot a:hover .arr {
  background-color: transparent;
  background-image: var(--grad);
}

/* ============ RESPONSIVE — TABLET ≤1279 ============ */
@media (max-width: 1279px) {
  .h-display { font-size: 96px; }
  .h1 { font-size: 64px; }
  .pillars__head .h1 { font-size: 44px; }
  .h2 { font-size: 44px; }
  .nav { grid-template-columns: 200px 1fr auto; }
  .nav__items { gap: 24px; }
  .pillars__row { grid-template-columns: repeat(2, 1fr); }
  .pillar:nth-child(2) { border-right: 0; }
  .pillar:nth-child(1), .pillar:nth-child(2) { border-bottom: 1px solid var(--white); }
  .projects__grid { grid-template-rows: 320px 320px; }
  .coops__logos { grid-template-columns: repeat(3, 1fr); }
  .coops__logos { grid-template-columns: repeat(3, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr 1fr; gap: 48px 0; }
  .footer__col:nth-child(4), .footer__col:nth-child(5) { border-left: 1px solid #303030; }
  .footer__col:nth-child(4) { padding-left: 0; border-left: 0; }
  .cta__head { font-size: 96px; }
  .pillar__num { font-size: 120px; }
}

/* ============ RESPONSIVE — TABLET / SMALL-LAPTOP HERO ≤1023 ============ */
@media (max-width: 1023px) {
  /* hero stops being an absolute overlay and stacks: photo → slab → metrics */
  .hero { height: auto; min-height: 0; padding-top: 80px; }
  .hero__photo { position: relative; inset: auto; width: 100%; height: clamp(300px, 40vw, 460px); }
  .hero__scroll { display: none; }
  .hero__corner-tag { top: 96px; }
  .hero__slab {
    position: relative; left: auto; bottom: auto; width: 100%;
    padding: clamp(40px, 6vw, 64px) clamp(32px, 5vw, 64px);
  }
  .hero__head { white-space: normal; font-size: clamp(48px, 8vw, 88px); }
  .hero__sub { max-width: 680px; }
  .hero__metrics {
    position: relative; right: auto; bottom: auto; width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .metric { height: auto; min-height: 150px; }
  .metric:first-child { border-left: 1px solid var(--black); }
}

/* ============ COOPS STACK \u2264899 ============ */
@media (max-width: 899px) {
  .coops { grid-template-columns: 1fr; }
  .coops__divider { display: none; }
  .coops__col + .coops__col { border-top: 2px solid rgba(0,0,0,0.16); }
}

/* ============ RESPONSIVE — MOBILE ≤767 ============ */
@media (max-width: 1023px) {
  /* Type compresses */
  .h-display { font-size: clamp(26px, 10.2vw, 48px); line-height: 0.98; letter-spacing: -0.015em; }
  .h1        { font-size: 40px; }
  .h2        { font-size: 30px; }
  .h3        { font-size: 20px; }
  .body-lg   { font-size: 16px; }
  .body      { font-size: 14px; }
  .eyebrow   { font-size: 11px; }
  .eyebrow::before { width: 20px; }

  /* NAV — compact mobile bar with drawer toggle */
  :root { --nav-h: 60px; }
  .nav { height: 60px; grid-template-columns: 1fr auto; }
  .nav__logo { padding: 0 16px; }
  .nav__logo img { height: 30px; }
  .nav__items { display: none; position: fixed; top: 60px; left: 0; right: 0; bottom: 0;
    background: var(--black); color: var(--white); flex-direction: column; gap: 0; padding: 8px 0 0;
    z-index: 99; overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .nav__items.open { display: flex; }
  .nav__items a { width: 100%; padding: 22px 24px; border-bottom: 1px solid #1a1a1a;
    font-size: 16px; display: flex; align-items: center; }
  .nav__right { height: 60px; }
  .nav__lang { padding: 0 14px; gap: 8px; }
  .nav__search { width: 60px; height: 60px; }
  .nav__cta { display: none; }
  .nav__burger {
    display: grid !important; place-items: center;
    width: 60px; height: 60px; border-left: 1px solid rgba(0,0,0,0.14);
    color: var(--black);
  }
  .nav__burger span { display: block; width: 22px; height: 1px; background: var(--black); position: relative; }
  .nav__burger span::before, .nav__burger span::after {
    content: ""; position: absolute; left: 0; width: 22px; height: 1px; background: var(--black);
  }
  .nav__burger span::before { top: -7px; }
  .nav__burger span::after  { top:  7px; }
  .mega { display: none !important; }

  /* mobile drop-downs: label navigates, caret toggles submenu */
  .nav__item-wrap { display: block; position: relative; }
  .nav__items a.has-mega::after { display: none; }
  .nav__items a.has-mega { padding-right: 76px; }
  .nav__caret {
    display: grid; place-items: center;
    position: absolute; top: 0; right: 0;
    width: 64px; height: 100%;
    background: transparent; border: 0; border-left: 1px solid #1a1a1a;
    color: var(--white); cursor: pointer;
  }
  .nav__caret::before { content: "▾"; font-size: 13px; transition: transform 220ms ease; }
  .nav__caret.open::before { transform: rotate(180deg); }
  .nav__caret:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
  .nav__sub {
    display: flex; flex-direction: column;
    background: #0a0a0a;
    max-height: 0; overflow: hidden;
    transition: max-height 300ms ease;
  }
  .nav__sub.open { max-height: 640px; }
  .nav__items .nav__sub a {
    width: 100%; padding: 16px 24px 16px 40px;
    font-size: 14px; font-weight: 400; text-transform: none; letter-spacing: 0.01em;
    color: var(--gray); border-bottom: 1px solid #161616;
  }
  .nav__items .nav__sub a.nav__sub-cta {
    background: var(--grad); color: var(--white);
    padding: 20px 24px; font-size: 12px; font-weight: 600;
    letter-spacing: 0.12em; text-transform: uppercase; border-bottom: 0;
    display: flex; align-items: center; justify-content: center; gap: 12px;
  }
  .nav__items .nav__sub a.nav__sub-cta .arr { background-color: var(--white); width: 20px; height: 20px; }
  .nav__items .nav__sub a:hover { color: var(--white); }

  /* HERO — stacked (inherits relative layout from ≤1023 block) */
  .hero { padding-top: 60px; }
  .hero__photo { height: 300px; }
  .hero__photo::after { font-size: 9px; top: 12px; right: 12px; }
  .hero__corner-tag { top: 76px; right: 12px; font-size: 9px; }
  .hero__slab { padding: 32px 20px; }
  .hero__eyebrow { margin-bottom: 24px; }
  .hero__head { font-size: 40px; white-space: normal; }
  .hero__head .line { display: block; }
  .hero__rule { margin: 20px 0; }
  .hero__sub { font-size: 15px; margin-bottom: 24px; max-width: none; }
  .hero__ctas { flex-direction: column; align-items: stretch; }
  .btn { height: 56px; padding: 0 20px; font-size: 11px; justify-content: space-between; }
  .hero__metrics {
    grid-template-columns: 1fr; width: 100%;
  }
  .metric { height: auto; padding: 14px 20px; border-left: 0; border-bottom: 0; border-top: 1px solid var(--black); justify-content: flex-start; gap: 4px; }
  .metric:first-child { border-top: 0; border-left: 0; }
  .hero__metrics .metric:last-child { border-bottom: 1px solid var(--black); }
  .metric__num { font-size: 40px; }

  /* STATEMENT */
  .statement { padding: 64px 20px; }
  .statement__text { font-size: 22px; line-height: 1.3; }
  .hl { padding: 0 6px; }
  .statement__rule { margin-top: 40px; }

  /* PILLARS */
  .pillars { padding: 64px 0 0; }
  .pillars__head { padding: 0 20px 32px; grid-template-columns: 1fr; gap: 24px; }
  .pillars__intro { font-size: 20px; max-width: none; margin-top: 16px; }
  .pillars__row { grid-template-columns: 1fr; }
  .pillar { padding: 40px 20px 0; border-right: 0; border-bottom: 1px solid var(--white); }
  .pillar:last-child { border-bottom: 0; }
  .pillar__num { font-size: 88px; margin-bottom: 16px; }
  .pillar__title { font-size: 22px; min-height: 0; }
  .pillar__tags { font-size: 11px; min-height: 0; }
  .pillar__img { height: 220px; margin-bottom: 24px; }
  .pillar__desc { min-height: 0; font-size: 14px; margin-bottom: 24px; flex: 0 0 auto; }
  .pillar__kpi { font-size: 22px; margin-bottom: 24px; }
  .pillar__btn { margin-left: -20px; margin-right: -20px; padding: 0 20px; height: 56px; }

  /* GROWTH */
  .growth { padding: 64px 20px; }
  .growth__head { grid-template-columns: 1fr; gap: 16px; margin-bottom: 32px; }
  .growth__rule { margin-bottom: 32px; }
  .growth__caption-foot { margin-top: 32px; font-size: 10px; }

  /* PROJECTS */
  .projects { padding: 64px 0; }
  .projects__head { padding: 0 20px; grid-template-columns: 1fr; gap: 24px; margin-bottom: 32px; }
  .chips { flex-wrap: wrap; }
  .chip { padding: 10px 14px; font-size: 10px; }
  .projects__grid {
    display: flex; flex-direction: column;
    grid-template-columns: none;
    grid-template-rows: none;
    gap: 2px;
  }
  .tile.lg, .tile.md1, .tile.sm1, .tile.sm2 {
    grid-column: auto; grid-row: auto;
    height: 280px;
  }
  .tile__slab { height: 80px; padding: 16px 20px; }
  .tile__name { font-size: 16px; }
  .projects__foot { margin-top: 32px; padding: 0 20px; grid-template-columns: 1fr; }
  .projects__foot a { font-size: 18px; }
  /* show only first 2 projects on mobile to cut page height */
  .tile.sm1, .tile.sm2 { display: none; }

  /* GROUP */
  .group { grid-template-columns: 1fr; min-height: 0; }
  .group__photo { height: 320px; }
  .group__body { padding: 48px 20px; }
  .group__body p { font-size: 15px; }
  .group__links a { height: 56px; font-size: 12px; }

  /* CERTS */
  .certs { padding: 40px 20px; }
  .certs__row { display: block; }
  .cert {
    flex: none; width: 100%; min-height: 0;
    flex-direction: row; justify-content: space-between; gap: 12px;
    border-left: 0; margin-left: 0;
    border-top: 1px solid rgba(0,0,0,0.18);
    padding: 14px 4px; font-size: 12px;
  }
  .cert:first-child { border-top: 0; }
  .cert small { margin: 0; }
  .cert--cta { justify-content: center; gap: 10px; padding: 16px; margin-top: 4px; }

  /* COOPS */
  .coops__col { padding: 48px 20px; }
  .coops p { font-size: 15px; max-width: none; margin-bottom: 24px; }
  .coops__logos { margin-bottom: 24px; }
  .coop-logo { height: 64px; font-size: 9px; }

  /* NEWS — horizontal scroll-snap carousel (saves vertical height) */
  .news__head { grid-template-columns: 1fr; gap: 16px; margin-bottom: 32px; }
  .news__row {
    display: flex; grid-template-columns: none; border-top: 0;
    overflow-x: auto; scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
    gap: 16px; margin: 0 -20px; padding: 0 20px;
  }
  .news__row::-webkit-scrollbar { display: none; }
  .card {
    border-left: 0; border-top: 0;
    flex: 0 0 82%; scroll-snap-align: start;
    border: 1px solid rgba(0,0,0,0.12);
  }
  .card:first-child { border-top: 1px solid rgba(0,0,0,0.12); }
  .card__body { padding: 20px; }
  .news__dots { display: flex; justify-content: center; gap: 8px; margin-top: 24px; }
  .news__dot { width: 7px; height: 7px; background: rgba(0,0,0,0.25); transition: background 150ms linear, transform 150ms linear; }
  .news__dot.active { background: var(--accent); transform: scale(1.3); }

  /* CTA */
  .cta { padding: 64px 20px; min-height: 0; }
  .cta__head { font-size: 44px; white-space: normal; line-height: 1.0; margin-left: 0; }
  .cta__sub { font-size: 15px; margin-bottom: 32px; }
  .cta__ctas { flex-direction: column; align-items: stretch; }

  /* FOOTER */
  .footer { padding: 40px 20px 24px; }
  .footer__grid { grid-template-columns: 1fr; gap: 0; }
  .footer__col { padding: 0; border-left: 0 !important; border-top: 1px solid #303030; }
  .footer__col:first-child { border-top: 0; padding-bottom: 8px; }
  /* accordion: any column with an h4 toggle */
  .footer__col h4 {
    margin-bottom: 0; padding: 20px 0; cursor: pointer;
    display: flex; align-items: center; justify-content: space-between;
    color: var(--white); font-size: 13px;
    -webkit-user-select: none; user-select: none;
  }
  .footer__col h4::after {
    content: ""; width: 12px; height: 12px; flex-shrink: 0;
    background:
      linear-gradient(var(--white),var(--white)) center/12px 1.5px no-repeat,
      linear-gradient(var(--white),var(--white)) center/1.5px 12px no-repeat;
    transition: transform 200ms ease, opacity 200ms ease;
  }
  .footer__col.open h4::after { transform: rotate(90deg); opacity: 0.6; background:
      linear-gradient(var(--white),var(--white)) center/12px 1.5px no-repeat; }
  .footer__panel {
    max-height: 0; overflow: hidden;
    transition: max-height 300ms ease, padding 300ms ease;
  }
  .footer__col.open .footer__panel { max-height: 360px; padding-bottom: 24px; }
  .footer__col .li-icon { margin-top: 4px; }
  .footer__bottom { flex-direction: column; align-items: flex-start; gap: 12px; font-size: 10px; margin-top: 32px; }
  .footer__bottom__links { flex-wrap: wrap; gap: 16px; }
  .footer__espa { font-size: 9px; }

  /* MODAL */
  .modal { padding: 24px; }
  .modal__close { width: 40px; height: 40px; top: 12px; right: 12px; }
}

/* burger only shows on mobile */
.nav__burger { display: none; }
/* pending contact values in the shared footer */
.ct-tbd { font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: 0.06em; color: #6b7678; }
.footer .ct-tbd { color: var(--gray); }


/* ============================================================
   ABOUT.CSS
   ============================================================ */
/* ============================================================
   ABOUT US / PROFILE — page layer
   Loaded AFTER css/atese-system.css + css/scope.css (shared
   hero, breadcrumb, section shell, facts). Adds only the
   group-structure grid, history + leadership teasers.
   ============================================================ */

/* ---------- 3. GROUP AT A GLANCE — 5 stats in one desktop row ---------- */
@media (min-width:1024px){
  .facts__row{grid-template-columns:repeat(5,minmax(0,1fr))}
  .facts__row .fact{border-right:1px solid var(--white)}
  .facts__row .fact:last-child{border-right:0}
  .facts__row .fact__num{font-size:clamp(1.8rem,3vw,3.2rem)}
}

/* ---------- 4. GROUP STRUCTURE (corporate companies — centrepiece) ---------- */
.gs__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--white)}
.gs{border-right:1px solid var(--white);border-bottom:1px solid var(--white);padding:clamp(28px,2.8vw,44px) clamp(22px,2.2vw,36px);display:flex;flex-direction:column;min-width:0}
.gs:nth-child(4n){border-right:0}
.gs__num{font-size:12px;font-weight:600;letter-spacing:.12em;margin-bottom:18px;background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.gs__name{font-family:'Geologica',sans-serif;font-size:clamp(17px,1.35vw,21px);font-weight:500;text-transform:uppercase;letter-spacing:.02em;line-height:1.15;margin-bottom:14px}
.gs__role{font-size:14px;line-height:1.5;color:var(--light)}
.gs--spv .gs__num{background:none;-webkit-text-fill-color:initial;color:var(--gray)}

@media (max-width:1023px){
  .gs__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gs:nth-child(4n){border-right:1px solid var(--white)}
  .gs:nth-child(2n){border-right:0}
}
@media (max-width:600px){
  .gs__row{grid-template-columns:1fr}
  .gs,.gs:nth-child(4n),.gs:nth-child(2n){border-right:0}
}

/* ---------- 5. HISTORY TEASER ---------- */
.ab-teaser__head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,56px)}
.ab-link{font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px}
.ab-link:hover{color:var(--accent)}
.ab-link:hover .arr{background-color:transparent;background-image:var(--grad)}
.ms__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(0,0,0,.16)}
.ms{border-right:1px solid rgba(0,0,0,.16);padding:clamp(26px,2.6vw,40px) clamp(20px,2vw,32px);display:flex;flex-direction:column;gap:14px;min-width:0}
.ms:last-child{border-right:0}
.ms__year{font-family:'Geologica',sans-serif;font-weight:700;letter-spacing:-.03em;line-height:.95;font-size:clamp(1.9rem,3.2vw,3rem);background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.ms__text{font-size:14px;line-height:1.5;color:#3a4446}
@media (max-width:1023px){
  .ms__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms:nth-child(2n){border-right:0}
  .ms:nth-child(-n+2){border-bottom:1px solid rgba(0,0,0,.16)}
}
@media (max-width:600px){
  .ms__row{grid-template-columns:1fr}
  .ms{border-right:0;border-bottom:1px solid rgba(0,0,0,.16)}
  .ms:last-child{border-bottom:0}
}

/* ---------- 6. LEADERSHIP TEASER ---------- */
.ld__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,80px);align-items:center}
.ld__title{margin-top:20px;margin-bottom:18px;max-width:14ch}
.ld__text{font-size:clamp(16px,1.6vw,22px);line-height:1.55;font-weight:300;max-width:640px}
.ld__cta{margin-top:26px}
.ld__photo{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.03);align-self:center;margin-top:clamp(24px,4vw,56px)}
@media (max-width:900px){.ld__grid{grid-template-columns:1fr;gap:28px}}


/* ============================================================
   ARTICLE.CSS
   ============================================================ */
/* ============================================================
   ARTICLE / NEWS detail — reusable template layer
   Loaded AFTER css/atese-system.css + css/scope.css + css/news.css.
   Layout: split header (text | image) → byline strip →
   narrow centred prose ↔ full-bleed media → share → related.
   Optional blocks are omitted in markup (never rendered empty).
   ============================================================ */

/* ---------- 1. ARTICLE HEADER — split: text left, image right ---------- */
.ar-hero{position:relative;background:var(--black);color:var(--white);overflow:hidden;padding-top:80px}
.ar-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:0}
.ar-hero__text{padding:clamp(20px,2.2vw,36px) clamp(24px,4vw,64px) clamp(24px,3vw,44px) clamp(20px,5vw,80px);display:flex;flex-direction:column;justify-content:flex-start}
.ar-hero__media{position:relative;min-height:clamp(220px,26vw,400px);background-size:cover;background-position:center;filter:grayscale(1) contrast(1.05)}
.ar-hero__media::before{content:"";position:absolute;inset:0;background:var(--grad);mix-blend-mode:multiply;opacity:.22}

.ar-kicker{display:flex;align-items:center;gap:12px;margin:0 0 clamp(14px,1.6vw,24px);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.ar-kicker__cat{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.ar-kicker__dash{color:var(--gray);font-weight:400}
.ar-kicker__date{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--gray);text-transform:none;font-weight:400}
.ar-title{font-family:'Geologica',sans-serif;font-size:clamp(28px,3.6vw,58px);font-weight:700;text-transform:uppercase;letter-spacing:-.03em;line-height:1.04;margin:0;max-width:20ch}

@media (max-width:900px){
  .ar-hero__grid{grid-template-columns:1fr}
  .ar-hero__media{order:-1;min-height:0;aspect-ratio:16/9}
  .ar-hero__text{padding:clamp(24px,4vw,40px) clamp(20px,5vw,40px) clamp(28px,4vw,44px)}
}

/* ---------- sticky vertical share rail (sits alongside the article text) ---------- */
/* left offset matches .ar-hero__text padding-left so it aligns with the H1 */
.ar-rail{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  transition:opacity .3s linear,visibility .3s linear;
}
.ar-rail.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
@media (min-width:1280px){
  /* rail pinned to the body's padding edge (aligns with the H1); prose stays centred */
  .ar-body{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:clamp(28px,4vw,88px)}
  .ar-body>.ar-rail{grid-column:1;position:sticky;top:calc(80px + 28px);align-self:start;z-index:60}
  .ar-body>.ar-prose{grid-column:2;max-width:60ch;margin:0 auto}
}
.ar-rail__label{font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#5a6669;writing-mode:horizontal-tb}
.ar-rail .ar-share__row{flex-direction:column;gap:2px}
.ar-rail .ar-share__btn{width:44px;height:44px;background:var(--white)}
.ar-rail .ar-share__btn:hover{background:var(--black);color:var(--white)}
.ar-rail .ar-share__btn svg{width:16px;height:16px}
.ar-rail .ar-share__toast{
  position:absolute;left:calc(100% + 12px);top:0;
  white-space:nowrap;background:var(--black);color:var(--white);padding:8px 12px;font-size:11px;letter-spacing:.06em;
}
@media (max-width:1279px){
  .ar-rail.is-hidden{opacity:1;visibility:visible;pointer-events:auto}
  .ar-rail{
    flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;
    margin-bottom:clamp(28px,3.4vw,44px);padding-bottom:clamp(20px,2.4vw,30px);
    border-bottom:1px solid rgba(0,0,0,.14);
  }
  .ar-rail .ar-share__row{flex-direction:row}
  .ar-rail .ar-share__toast{position:static;background:none;color:var(--accent);padding:0}
}

/* ---------- 2. BODY — narrow centred reading measure ---------- */
.ar-body{background:var(--white);color:var(--black);padding:clamp(44px,5.5vw,88px) clamp(20px,5vw,80px)}
.ar-body--tight{padding-top:clamp(32px,4vw,56px)}
.ar-prose{max-width:60ch;margin:0 auto}
.ar-prose>*+*{margin-top:1.3em}
.ar-prose p{font-size:clamp(15px,1.15vw,17px);line-height:1.7;font-weight:400;color:#26302f}
.ar-prose .ar-standfirst{font-size:clamp(17px,1.5vw,21px);line-height:1.5;font-weight:300;color:var(--black)}
.ar-prose h2{font-family:'Geologica',sans-serif;font-size:clamp(22px,2.4vw,34px);font-weight:600;letter-spacing:-.02em;line-height:1.14;margin-top:2.1em}
.ar-prose h3{font-family:'Geologica',sans-serif;font-size:clamp(18px,1.7vw,24px);font-weight:600;letter-spacing:-.015em;line-height:1.22;margin-top:1.9em}
.ar-prose ul,.ar-prose ol{padding-left:1.35em}
.ar-prose li{font-size:clamp(14px,1.1vw,16px);line-height:1.65;margin-top:.5em;color:#26302f}
.ar-prose li::marker{color:var(--accent)}
.ar-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.ar-prose a:hover{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.ar-prose blockquote{margin:2em 0;padding:0 0 0 clamp(18px,2vw,32px);border-left:2px solid var(--black)}
.ar-prose blockquote p{font-family:'Geologica',sans-serif;font-size:clamp(18px,1.8vw,25px);font-weight:500;line-height:1.3;letter-spacing:-.015em;color:var(--black)}
.ar-prose blockquote cite{display:block;margin-top:14px;font-family:'JetBrains Mono',monospace;font-size:12px;font-style:normal;letter-spacing:.06em;color:#5a6669}
.ar-note{margin-top:2.5em;padding:clamp(18px,2vw,26px);border:1px solid rgba(0,0,0,.2);font-family:'JetBrains Mono',monospace;font-size:12px;line-height:1.6;letter-spacing:.04em;color:#5a6669}

/* ---------- 3. MEDIA ---------- */
/* inline figure (inside the reading measure) */
.ar-figure{margin:2.5em 0 0}
.ar-figure__img{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center}
.ar-figure figcaption{margin-top:12px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:#5a6669}
.ar-video{position:relative;width:100%;aspect-ratio:16/9;background:#0c0c0c;display:grid;place-items:center;overflow:hidden}
.ar-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ar-video__load{display:inline-flex;align-items:center;gap:12px;height:56px;padding:0 26px;background:var(--grad);color:#fff;border:0;cursor:pointer;font-family:'Geologica',sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.ar-video__load:disabled{background:none;background-color:#2b2f31;color:var(--gray);cursor:default}
.ar-video__load:focus-visible{outline:2px solid var(--white);outline-offset:3px}

/* Introduction two-column layout with video placeholder (project detail pages) */
.pd-intro__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.pd-intro__col{max-width:640px}
.pd-intro__media{margin:0}
.pd-intro__ig{display:flex;justify-content:center}
.pd-intro__ig .instagram-media{margin:0 !important}
@media (max-width:991px){
  .pd-intro__grid{grid-template-columns:1fr;gap:32px}
  .pd-intro__col{max-width:none}
}

/* ---------- 4. SHARE ---------- */
.ar-share{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.ar-share__label{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#5a6669;padding-top:12px}
.ar-share__row{display:flex;gap:2px}
.ar-share__btn{
  width:44px;height:44px;display:grid;place-items:center;
  border:1px solid var(--black);background:transparent;color:var(--black);cursor:pointer;
  transition:background .15s linear,color .15s linear;
}
.ar-share__btn:hover{background:var(--black);color:var(--white)}
.ar-share__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ar-share__btn svg{width:17px;height:17px}
.ar-share__toast{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--accent);padding-top:14px}
.ar-share__toast:empty{display:none}

/* ---------- 5. RELATED ---------- */
.ar-rel{background:var(--white);color:var(--black);padding:0 clamp(20px,5vw,80px) clamp(56px,7vw,110px)}
.ar-rel__head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(20px,2.4vw,32px)}
.ar-rel__title{margin:0}
.ar-rel__viewall{font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;color:var(--black)}
.ar-rel__viewall:hover{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.ar-rel__viewall:hover .arr{background-color:transparent;background-image:var(--grad)}

/* ---------- reveals ---------- */
/* mobile: related posts become a swipeable carousel */
@media (max-width:767px){
  .ar-rel .nw-grid-clip{overflow:visible}
  .ar-rel .nw-grid{
    display:flex;grid-template-columns:none;margin-left:0;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;scroll-behavior:smooth;gap:16px;
  }
  .ar-rel .nw-grid::-webkit-scrollbar{display:none}
  .ar-rel .nw-grid .card{
    flex:0 0 84%;scroll-snap-align:start;
    border:1px solid rgba(0,0,0,.14);
  }
}
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.2,.6,.2,1),transform .65s cubic-bezier(.2,.6,.2,1)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}


/* ============================================================
   CMS.CSS
   ============================================================ */
/* ============================================================
   SIMPLE CMS / CONTENT page — reusable long-form template
   Loaded AFTER css/atese-system.css + css/scope.css.
   Generic: body is one rich-text field; anchor nav auto-built
   from rendered h2s (absent when <3). CTA optional.
   ============================================================ */

/* ---------- 1. PAGE HEADER (type-led) ---------- */
.cms-hero{background:var(--black);color:var(--white);padding:calc(80px + clamp(28px,3vw,48px)) clamp(20px,5vw,80px) clamp(32px,4vw,56px)}
.cms-hero__title{max-width:24ch}
.cms-hero__sub{margin:clamp(18px,2vw,26px) 0 0;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--gray)}

/* ---------- 2. CONTENT BODY ---------- */
.cms-main{background:var(--white);color:var(--black);padding:clamp(44px,5.5vw,88px) clamp(20px,5vw,80px)}
/* desktop: sticky anchor sidebar | reading column */
@media (min-width:1024px){
  .cms-main--withnav{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);column-gap:clamp(32px,5vw,96px);align-items:start}
  .cms-main--withnav .cms-toc{grid-column:1;position:sticky;top:calc(80px + 28px)}
  .cms-main--withnav .cms-prose{grid-column:2;max-width:72ch;margin:0}
}
.cms-prose{max-width:72ch;margin:0 auto}
.cms-prose>*+*{margin-top:1.3em}
.cms-prose p{font-size:clamp(15px,1.15vw,17px);line-height:1.7;color:#26302f}
.cms-prose .cms-standfirst{font-size:clamp(17px,1.5vw,21px);line-height:1.5;font-weight:300;color:var(--black)}
.cms-prose h2{
  font-family:'Geologica',sans-serif;font-size:clamp(22px,2.4vw,34px);font-weight:600;
  letter-spacing:-.02em;line-height:1.14;margin-top:2.2em;padding-top:1em;
  border-top:1px solid rgba(0,0,0,.16);scroll-margin-top:calc(80px + 32px);
}
.cms-prose h2:first-child{margin-top:0;padding-top:0;border-top:0}
.cms-prose h3{font-family:'Geologica',sans-serif;font-size:clamp(18px,1.7vw,24px);font-weight:600;letter-spacing:-.015em;line-height:1.22;margin-top:1.9em;scroll-margin-top:calc(80px + 32px)}
.cms-prose ul,.cms-prose ol{padding-left:1.35em}
.cms-prose li{font-size:clamp(14px,1.1vw,16px);line-height:1.7;margin-top:.55em;color:#26302f}
.cms-prose li::marker{color:var(--accent)}
.cms-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.cms-prose a:hover{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.cms-prose strong{font-weight:600}
.cms-prose blockquote{margin:2em 0;padding:0 0 0 clamp(18px,2vw,32px);border-left:2px solid var(--black)}
.cms-prose blockquote p{font-family:'Geologica',sans-serif;font-size:clamp(18px,1.8vw,25px);font-weight:500;line-height:1.3;letter-spacing:-.015em;color:var(--black)}
.cms-prose blockquote cite{display:block;margin-top:14px;font-family:'JetBrains Mono',monospace;font-size:12px;font-style:normal;letter-spacing:.06em;color:#5a6669}

/* tables */
.cms-tablewrap{overflow-x:auto}
.cms-prose table{width:100%;border-collapse:collapse;font-size:clamp(14px,1.05vw,16px)}
.cms-prose caption{text-align:left;padding-bottom:12px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:#5a6669}
.cms-prose th{
  text-align:left;padding:14px 18px 14px 0;border-bottom:1px solid var(--black);
  font-family:'Geologica',sans-serif;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#5a6669;
}
.cms-prose td{padding:16px 18px 16px 0;border-bottom:1px solid rgba(0,0,0,.16);color:#26302f;vertical-align:top}
.cms-prose th:last-child,.cms-prose td:last-child{padding-right:0}

/* editorial placeholder marker (client copy pending) */
.cms-pending{
  display:block;padding:clamp(16px,1.8vw,24px);border:1px dashed rgba(0,0,0,.3);
  font-family:'JetBrains Mono',monospace;font-size:12px;line-height:1.6;letter-spacing:.04em;color:#5a6669;
}

/* ---------- 3. ANCHOR NAV ---------- */
.cms-toc{margin:0 0 clamp(32px,4vw,52px)}
.cms-toc[hidden]{display:none}
.cms-toc__label{
  margin:0 0 18px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--black);
}
.cms-toc__list{list-style:none;padding:0;margin:0;border-top:1px solid var(--black)}
.cms-toc__list li{border-bottom:1px solid var(--black)}
.cms-toc__list a{
  display:block;padding:17px 0;font-family:'Geologica',sans-serif;
  font-size:clamp(15px,1.2vw,17px);font-weight:500;line-height:1.3;letter-spacing:-.01em;color:#3a4446;
  transition:color .15s linear,padding-left .15s linear;
}
.cms-toc__list a:hover{color:var(--black);padding-left:6px}
.cms-toc__list a[aria-current="true"]{
  color:var(--black);font-weight:600;
  background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.cms-toc__list a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* mobile: collapse to a "Contents" disclosure */
.cms-toc__toggle{
  display:none;width:100%;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 0;background:none;border:0;border-top:1px solid var(--black);border-bottom:1px solid var(--black);
  font-family:'Geologica',sans-serif;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--black);cursor:pointer;
}
.cms-toc__toggle::after{content:"▾";font-size:12px;transition:transform .22s ease}
.cms-toc__toggle[aria-expanded="true"]::after{transform:rotate(180deg)}
.cms-toc__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media (max-width:1023px){
  .cms-toc__toggle{display:flex}
  .cms-toc__label{display:none}
  .cms-toc__panel{max-height:0;overflow:hidden;transition:max-height .3s ease}
  .cms-toc.is-open .cms-toc__panel{max-height:60vh;overflow-y:auto}
  .cms-toc__list{border-top:0}
}

/* ---------- reveals ---------- */
.js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.6,.2,1),transform .6s cubic-bezier(.2,.6,.2,1)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  .cms-toc__panel{transition:none}
}


/* ============================================================
   CONTACT.CSS
   ============================================================ */
/* ============================================================
   CONTACT — page layer
   Loaded AFTER css/atese-system.css + css/scope.css.
   ============================================================ */

/* section / form-title utilities (kept out of the markup — no inline CSS) */
.scope-sec--tight{padding-top:clamp(32px,4vw,64px)}
.ct-form__title{font-size:clamp(24px,2.6vw,38px);margin-bottom:clamp(24px,2.6vw,36px)}

/* ---------- 2. MAIN CONTACT (two-column) ---------- */
.ct-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:0;border-top:1px solid var(--black)}
.ct-col{padding:clamp(32px,3.4vw,56px) clamp(24px,2.6vw,48px);min-width:0}
.ct-col--form{border-right:1px solid var(--black);padding-left:0}
.ct-col--info{background:var(--light)}
@media (max-width:1023px){
  .ct-grid{grid-template-columns:1fr}
  .ct-col--form{border-right:0;border-bottom:1px solid var(--black);padding-left:0}
  .ct-col--info{padding-left:0;padding-right:0;background:transparent;border-bottom:1px solid var(--black)}
}

/* form */
.ct-form{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2vw,28px)}
.ct-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.ct-field--full{grid-column:1 / -1}
@media (max-width:639px){.ct-form{grid-template-columns:1fr}}
.ct-label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--black)}
.ct-label .req{color:var(--accent)}
.ct-input,.ct-select,.ct-textarea{
  width:100%;padding:14px 16px;font-family:'Geologica',sans-serif;font-size:15px;color:var(--black);
  background:var(--white);border:1px solid var(--black);appearance:none;
  transition:border-color .15s linear,box-shadow .15s linear;
}
.ct-textarea{min-height:150px;resize:vertical}
.ct-select{background-image:linear-gradient(45deg,transparent 50%,var(--black) 50%),linear-gradient(135deg,var(--black) 50%,transparent 50%);background-position:calc(100% - 20px) 51%,calc(100% - 14px) 51%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px;cursor:pointer}
.ct-input:focus,.ct-select:focus,.ct-textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px rgba(14,36,247,.25)}
.ct-input[aria-invalid="true"],.ct-textarea[aria-invalid="true"],.ct-select[aria-invalid="true"]{border-color:#b3261e;box-shadow:0 0 0 2px rgba(179,38,30,.18)}
.ct-err{font-size:12px;font-weight:500;letter-spacing:.04em;color:#b3261e;min-height:0}
.ct-err:empty{display:none}
.ct-err--full{grid-column:1 / -1}

/* consent */
.ct-consent{display:flex;align-items:flex-start;gap:12px;grid-column:1 / -1}
.ct-check{width:20px;height:20px;flex:0 0 auto;margin-top:2px;accent-color:var(--accent);border:1px solid var(--black)}
.ct-check:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ct-consent__text{font-size:14px;line-height:1.5;color:#3a4446}
.ct-consent__text a{text-decoration:underline;text-underline-offset:3px}
.ct-consent__text a:hover{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}

.ct-submit{grid-column:1 / -1;display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:4px}
.ct-status{font-size:14px;font-weight:500;line-height:1.4}
.ct-status--ok{color:#0f6d4d}
.ct-status--bad{color:#b3261e}
.ct-status:empty{display:none}

/* primary details */
.ct-info__eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#5a6669;margin-bottom:clamp(20px,2vw,28px)}
.ct-dl{margin:0;border-top:1px solid rgba(0,0,0,.18)}
.ct-dl__row{padding:18px 0;border-bottom:1px solid rgba(0,0,0,.18)}
.ct-dl__k{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#5a6669;margin:0 0 6px}
.ct-dl__v{margin:0;font-size:clamp(15px,1.3vw,18px);line-height:1.45;font-weight:500}
.ct-dl__v a:hover{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.ct-tbd{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;color:#6b7678}
/* pending-value marker inside the dark footer */
.footer .ct-tbd{color:var(--gray)}

/* ---------- 3. OFFICES ---------- */
.of-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-left:1px solid var(--white);border-top:1px solid var(--white)}
.of-card{border-right:1px solid var(--white);border-bottom:1px solid var(--white);padding:clamp(26px,2.6vw,40px);display:flex;flex-direction:column;gap:12px;min-width:0;transition:background .2s linear,color .2s linear}
.of-card:hover{background:var(--grad)}
.of-card__city{font-family:'Geologica',sans-serif;font-size:clamp(18px,1.6vw,24px);font-weight:600;text-transform:uppercase;letter-spacing:-.01em;line-height:1.12;margin:0}
.of-card__addr{font-size:15px;line-height:1.5;color:var(--light);margin:0}
.of-card:hover .of-card__addr{color:rgba(255,255,255,.92)}
.of-card__phone{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--gray);margin-top:auto;padding-top:10px}
.of-card:hover .of-card__phone{color:rgba(255,255,255,.85)}
@media (max-width:1023px){.of-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.of-grid{grid-template-columns:1fr}}

/* manufacturing units sub-group */
.mu-row{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--white);border-left:1px solid var(--white);margin-top:clamp(40px,5vw,72px)}
.mu{flex:1 1 220px;border-right:1px solid var(--white);border-bottom:1px solid var(--white);padding:clamp(22px,2.2vw,32px);min-width:0}
.mu__label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin:0 0 8px}
.mu__name{font-family:'Geologica',sans-serif;font-size:clamp(16px,1.4vw,20px);font-weight:600;text-transform:uppercase;letter-spacing:-.01em;margin:0}

/* ---------- 5. MAP (lazy) ---------- */
.map{border-top:1px solid var(--black)}
.map__frame{position:relative;width:100%;aspect-ratio:21/9;background:var(--light);display:grid;place-items:center;min-height:280px}
.map__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05)}
.map__load{
  display:inline-flex;align-items:center;gap:14px;padding:0 30px;height:58px;
  background:var(--grad);color:var(--white);border:0;cursor:pointer;
  font-family:'Geologica',sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
}
.map__load:focus-visible{outline:2px solid var(--black);outline-offset:3px}
.map__note{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:#5a6669}

/* ---------- reveals ---------- */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.2,.6,.2,1),transform .65s cubic-bezier(.2,.6,.2,1)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}


/* ============================================================
   ERROR.CSS
   ============================================================ */
/* ============================================================
   404 ERROR page — layer
   Loaded AFTER css/atese-system.css. Single-screen centred
   error state between the shared header and footer.
   ============================================================ */

.err{
  background:var(--black);color:var(--white);
  min-height:calc(100svh - 80px);
  display:grid;place-items:center;
  padding:calc(80px + clamp(40px,6vw,88px)) clamp(20px,5vw,80px) clamp(40px,6vw,88px);
}
.err__inner{max-width:960px;width:100%;text-align:center}

/* oversized numeral — the single accent moment */
.err__num{
  font-family:'Geologica',sans-serif;font-weight:700;
  font-size:clamp(96px,26vw,340px);line-height:.82;letter-spacing:-.05em;
  margin:0;
  background-image:var(--grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.err__rule{height:1px;background:rgba(255,255,255,.24);margin:clamp(28px,3.4vw,48px) auto}

.err__title{
  font-family:'Geologica',sans-serif;font-size:clamp(24px,3.2vw,48px);font-weight:700;
  text-transform:uppercase;letter-spacing:-.025em;line-height:1.05;margin:0;
}
.err__text{
  margin:clamp(16px,1.8vw,24px) auto 0;max-width:56ch;
  font-size:clamp(15px,1.3vw,18px);font-weight:300;line-height:1.55;color:var(--light);
}

/* quick actions */
.err__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin-top:clamp(28px,3.4vw,44px)}
.err__actions .btn{min-width:220px;justify-content:center}
@media (max-width:520px){
  .err__actions{flex-direction:column;align-items:stretch}
  .err__actions .btn{min-width:0;justify-content:space-between}
}

/* suggested links */
.err__suggest{margin-top:clamp(32px,4vw,56px);padding-top:clamp(20px,2.4vw,32px);border-top:1px solid rgba(255,255,255,.24)}
.err__suggest__label{margin:0 0 16px;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gray)}
.err__links{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:0}
.err__links li{border-left:1px solid rgba(255,255,255,.24)}
.err__links li:first-child{border-left:0}
.err__links a{
  display:block;padding:8px clamp(14px,1.6vw,24px);
  font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--white);
}
.err__links a:hover{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.err__links a:focus-visible{outline:2px solid var(--white);outline-offset:2px}
@media (max-width:600px){
  .err__links{flex-direction:column;gap:0}
  .err__links li{border-left:0;border-top:1px solid rgba(255,255,255,.24);width:100%}
  .err__links li:first-child{border-top:0}
  .err__links a{padding:14px 0}
}

/* nav is 60px at ≤1023px — track the same breakpoint */
@media (max-width:1023px){
  .err{
    min-height:calc(100svh - 60px);
    padding-top:calc(60px + clamp(40px,6vw,88px));
  }
}


/* ============================================================
   FINANCIALS.CSS
   ============================================================ */
/* ============================================================
   FINANCIAL INFORMATION — page layer
   Loaded AFTER css/atese-system.css + css/scope.css.
   ============================================================ */

/* ---------- shared download-arrow icon (also defined in licenses.css) ---------- */
.arr--dl{
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20319.92%20303.98'%3E%3Cpath%20d='M170.89%2C235.66c-5.97%2C5.97-15.9%2C5.92-21.64.18l-81.63-81.69c-5.95-5.95-4.37-16.05.83-21.35%2C5.85-5.97%2C14.99-6.65%2C21.75-1.25l53.74%2C53.74.08-170c0-9.18%2C8.16-15.49%2C16.28-15.29%2C8.58.2%2C15.64%2C6.87%2C15.64%2C16.06l.05%2C169.25%2C53.75-53.75c6.69-5.4%2C15.95-4.71%2C21.71%2C1.21%2C5.49%2C5.63%2C6.63%2C15.69.53%2C21.79l-81.09%2C81.11Z'%20fill='%23000'/%3E%3Cpath%20d='M304.24%2C303.96l-288.15.02C6.74%2C303.98-.02%2C296.53%2C0%2C287.86s6.8-15.9%2C16.13-15.9h287.68c9.07%2C0%2C15.72%2C6.92%2C16.1%2C15.2s-5.9%2C16.79-15.67%2C16.8Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
  mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20319.92%20303.98'%3E%3Cpath%20d='M170.89%2C235.66c-5.97%2C5.97-15.9%2C5.92-21.64.18l-81.63-81.69c-5.95-5.95-4.37-16.05.83-21.35%2C5.85-5.97%2C14.99-6.65%2C21.75-1.25l53.74%2C53.74.08-170c0-9.18%2C8.16-15.49%2C16.28-15.29%2C8.58.2%2C15.64%2C6.87%2C15.64%2C16.06l.05%2C169.25%2C53.75-53.75c6.69-5.4%2C15.95-4.71%2C21.71%2C1.21%2C5.49%2C5.63%2C6.63%2C15.69.53%2C21.79l-81.09%2C81.11Z'%20fill='%23000'/%3E%3Cpath%20d='M304.24%2C303.96l-288.15.02C6.74%2C303.98-.02%2C296.53%2C0%2C287.86s6.8-15.9%2C16.13-15.9h287.68c9.07%2C0%2C15.72%2C6.92%2C16.1%2C15.2s-5.9%2C16.79-15.67%2C16.8Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
  width:1em;height:1em;vertical-align:-0.12em;
}

/* ---------- 3 highlight stats: fill the full desktop row (no stranded track) ---------- */
@media (min-width:1024px){
  .facts__row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .facts__row .fact{border-right:1px solid var(--white)}
  .facts__row .fact:last-child{border-right:0}
  /* group-structure: 5 stats stay on one desktop row */
  .group-structure-page .facts__row{grid-template-columns:repeat(5,minmax(0,1fr))}
  .group-structure-page .facts__row .fact__num{font-size:clamp(1.6rem,2.6vw,2.9rem)}
}

/* ---------- category filter (reuses licenses tab language) ---------- */
.fin-tabs{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--black);border-bottom:1px solid var(--black);margin-bottom:clamp(40px,5vw,72px)}
@media (max-width:767px){
  .fin-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .fin-tabs::-webkit-scrollbar{display:none}
  .fin-tab{flex:0 0 auto;white-space:nowrap;padding:14px 18px;font-size:11px}
}
.fin-tab{
  padding:clamp(16px,1.6vw,22px) clamp(16px,2vw,28px);
  background:none;border:0;border-right:1px solid var(--black);
  font-family:'Geologica',sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:#5a6669;cursor:pointer;transition:background .15s linear,color .15s linear;
}
.fin-tab:last-child{border-right:0}
.fin-tab:hover{color:var(--black)}
.fin-tab[aria-selected="true"]{background:var(--grad);color:var(--white)}
.fin-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.fin-tab:disabled{opacity:.32;cursor:not-allowed}
.fin-tab:disabled:hover{color:#5a6669}

/* ---------- year group ---------- */
.fin-year{margin-bottom:clamp(48px,6vw,88px)}
.fin-year:last-child{margin-bottom:0}
.fin-year[hidden]{display:none}
.fin-year__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--black)}
.fin-year__title{font-family:'Geologica',sans-serif;font-size:clamp(28px,3.4vw,52px);font-weight:700;letter-spacing:-.03em;line-height:1;margin:0;background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.fin-year__count{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;color:#5a6669}

/* ---------- desktop table listing ---------- */
.fin-table{width:100%;border-collapse:collapse}
.fin-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fin-table th{
  text-align:left;padding:16px 20px 16px 16px;border-bottom:1px solid rgba(0,0,0,.3);
  font-family:'Geologica',sans-serif;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#5a6669;
}
.fin-table th:first-child,.fin-table td:first-child{padding-left:16px}
.fin-table th:last-child,.fin-table td:last-child{padding-right:16px;text-align:right}
.fin-table td{padding:22px 20px 22px 16px;border-bottom:1px solid rgba(0,0,0,.16);vertical-align:middle}
.fin-row{transition:background .15s linear,color .15s linear}
.fin-row:hover{background:var(--grad);color:var(--white)}
.fin-row:hover .fin-meta,.fin-row:hover .fin-size{color:rgba(255,255,255,.82)}
.fin-row:hover .fin-badge{background:var(--white);color:var(--black)}
.fin-row:hover .fin-link{color:var(--white);border-bottom-color:var(--white)}
.fin-row:hover .fin-link .arr--dl{background-color:var(--white)}
.fin-row:hover .fin-soon{color:rgba(255,255,255,.85)}
.fin-row:hover .fin-soon::before{background:rgba(255,255,255,.6)}
.fin-row:hover td{border-bottom-color:transparent}
.fin-row[hidden]{display:none}
.fin-doc{font-family:'Geologica',sans-serif;font-size:clamp(16px,1.4vw,20px);font-weight:500;letter-spacing:-.01em;line-height:1.25;margin:0}
.fin-meta{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:#5a6669;margin-top:6px}
.fin-badge{display:inline-block;padding:6px 10px;background:var(--black);color:var(--white);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.fin-size{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;color:#3a4446;white-space:nowrap}
.fin-link{
  display:inline-flex;align-items:center;gap:12px;white-space:nowrap;
  font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--black);
  border-bottom:1px solid rgba(0,0,0,.28);padding-bottom:6px;
}
.fin-link:hover{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;border-bottom-color:var(--c2)}
/* inside a gradient-hovered row the link stays solid white */
.fin-row:hover .fin-link:hover{background-image:none;-webkit-text-fill-color:var(--white);color:var(--white)}
.fin-link:hover .arr--dl{background-color:transparent;background-image:var(--grad)}
.fin-row:hover .fin-link:hover .arr--dl{background-image:none;background-color:var(--white)}
.fin-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.fin-soon{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#8b9698;white-space:nowrap}
.fin-soon::before{content:"";width:12px;height:1.6px;background:#c3cccd}

/* ---------- mobile: compact two-column rows (use width, not height) ---------- */
@media (max-width:767px){
  .fin-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .fin-table,.fin-table tbody{display:block;width:100%}
  .fin-row{
    display:grid;grid-template-columns:minmax(0,1fr) auto;
    align-items:start;column-gap:16px;row-gap:10px;
    border-bottom:1px solid var(--black);padding:16px 4px;width:100%;
  }
  .fin-row:hover{background:none}
  .fin-link:hover{background-image:none;-webkit-text-fill-color:currentColor;color:var(--black);border-bottom-color:rgba(0,0,0,.28)}
  .fin-link:hover .arr-dl{background-color:currentColor;background-image:none}
  .fin-table td{display:block;border:0;padding:0}
  .fin-table td[data-label]::before{content:none}
  /* title left, action right, then a full-width meta strip underneath */
  .fin-table td:first-child{grid-column:1;grid-row:1;padding-left:0}
  .fin-table td:last-child{grid-column:2;grid-row:1;text-align:right;padding-right:0}
  .fin-doc{font-size:15px;line-height:1.3}
  .fin-meta{margin-top:4px}
  /* year · type · size share one visible row across the full width */
  .fin-cell--year,.fin-cell--type,.fin-cell--size{
    grid-row:2;display:inline-flex;align-items:center;width:auto;margin:0;
  }
  .fin-cell--year{grid-column:1;justify-self:start}
  .fin-cell--type{grid-column:1;justify-self:center}
  .fin-cell--size{grid-column:2;justify-self:end;text-align:right}
  .fin-badge{padding:4px 8px;font-size:9px}
  .fin-link,.fin-soon{font-size:11px;gap:8px;padding-bottom:4px}
}

/* ---------- empty state (filter with no matching documents) ---------- */
.fin-empty{color:#5a6669;font-size:clamp(17px,1.6vw,21px);font-weight:300;padding:44px 0;margin:0}
.fin-empty[hidden]{display:none}
.fin-empty b{color:var(--black);font-weight:600}

/* ---------- reveals ---------- */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.2,.6,.2,1),transform .65s cubic-bezier(.2,.6,.2,1)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}


/* ============================================================
   LICENSES.CSS
   ============================================================ */
/* ============================================================
   LICENSES & CERTIFICATES / ISO — page layer
   Loaded AFTER css/atese-system.css + css/scope.css.
   ============================================================ */

/* ---------- filter / tab row ---------- */
.lc-tabs{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--black);border-bottom:1px solid var(--black);margin-bottom:clamp(40px,5vw,72px)}
.lc-tab{
  padding:clamp(16px,1.6vw,22px) clamp(16px,2vw,28px);
  background:none;border:0;border-right:1px solid var(--black);
  font-family:'Geologica',sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--black);cursor:pointer;transition:background .15s linear,color .15s linear;
}
.lc-tab:last-child{border-right:0}
.lc-tab:hover{background:var(--light)}
.lc-tab[aria-pressed="true"]{background:var(--grad);color:var(--white)}
.lc-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media (max-width:767px){
  .lc-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .lc-tabs::-webkit-scrollbar{display:none}
  .lc-tab{flex:0 0 auto;white-space:nowrap}
}

/* ---------- category group ---------- */
.lc-group{margin-bottom:clamp(56px,7vw,104px)}
.lc-group:last-child{margin-bottom:0}
.lc-group[hidden]{display:none}
.lc-group__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--black);margin-bottom:0}
.lc-badge{display:inline-block;margin-bottom:18px;padding:7px 12px;background:var(--grad);color:#fff;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.lc-group__title{font-family:'Geologica',sans-serif;font-size:clamp(21px,2.4vw,34px);font-weight:600;text-transform:uppercase;letter-spacing:-.015em;line-height:1.1;margin:0}
.lc-group__count{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;color:#5a6669}

/* ---------- certificate cards ---------- */
/* hairlines drawn on the cards themselves — no track background to bleed
   through empty grid cells */
.lc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-left:1px solid var(--black)}
.lc-card{background:var(--white);border-right:1px solid var(--black);border-bottom:1px solid var(--black);padding:clamp(26px,2.6vw,40px);display:flex;flex-direction:column;gap:14px;min-width:0;transition:background .2s linear,color .2s linear}
.lc-card:hover{background:var(--grad);color:var(--white)}
.lc-card:hover .lc-card__code{background-image:none;-webkit-text-fill-color:var(--white);color:var(--white)}
.lc-card:hover .lc-card__desc{color:rgba(255,255,255,.9)}
.lc-card:hover .lc-card__seal{filter:brightness(0) invert(1);opacity:1}
.lc-card:hover .lc-link{color:var(--white);border-bottom-color:var(--white)}
.lc-card:hover .lc-link .arr{background-color:var(--white)}
.lc-card:hover .lc-soon{color:rgba(255,255,255,.85)}
.lc-card:hover .lc-soon::before{background:rgba(255,255,255,.6)}
@media (max-width:1023px){.lc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.lc-grid{grid-template-columns:1fr}}
.lc-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.lc-card__seal{width:clamp(40px,3.4vw,52px);height:auto;flex:0 0 auto;opacity:.92}
.lc-card__code{font-family:'JetBrains Mono',monospace;font-size:clamp(17px,1.5vw,22px);font-weight:500;letter-spacing:.02em;background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.lc-card__title{font-family:'Geologica',sans-serif;font-size:clamp(17px,1.5vw,22px);font-weight:600;text-transform:uppercase;letter-spacing:-.01em;line-height:1.15;margin:0}
.lc-card__desc{font-size:15px;line-height:1.5;color:#3a4446;margin:0}
.lc-card__action{margin-top:auto;padding-top:20px}
.lc-link{
  display:inline-flex;align-items:center;gap:12px;
  font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--black);
  border-bottom:1px solid var(--black);padding-bottom:6px;
}
.lc-card:hover .lc-link:hover{background-image:none;-webkit-text-fill-color:var(--white);color:var(--white)}
.lc-link:hover{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;border-bottom-color:var(--c2)}
.lc-link:hover .arr{background-color:transparent;background-image:var(--grad)}
.lc-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
/* download-arrow icon (replaces the right-arrow on download actions) */
.arr--dl{
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20319.92%20303.98'%3E%3Cpath%20d='M170.89%2C235.66c-5.97%2C5.97-15.9%2C5.92-21.64.18l-81.63-81.69c-5.95-5.95-4.37-16.05.83-21.35%2C5.85-5.97%2C14.99-6.65%2C21.75-1.25l53.74%2C53.74.08-170c0-9.18%2C8.16-15.49%2C16.28-15.29%2C8.58.2%2C15.64%2C6.87%2C15.64%2C16.06l.05%2C169.25%2C53.75-53.75c6.69-5.4%2C15.95-4.71%2C21.71%2C1.21%2C5.49%2C5.63%2C6.63%2C15.69.53%2C21.79l-81.09%2C81.11Z'%20fill='%23000'/%3E%3Cpath%20d='M304.24%2C303.96l-288.15.02C6.74%2C303.98-.02%2C296.53%2C0%2C287.86s6.8-15.9%2C16.13-15.9h287.68c9.07%2C0%2C15.72%2C6.92%2C16.1%2C15.2s-5.9%2C16.79-15.67%2C16.8Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
  mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20319.92%20303.98'%3E%3Cpath%20d='M170.89%2C235.66c-5.97%2C5.97-15.9%2C5.92-21.64.18l-81.63-81.69c-5.95-5.95-4.37-16.05.83-21.35%2C5.85-5.97%2C14.99-6.65%2C21.75-1.25l53.74%2C53.74.08-170c0-9.18%2C8.16-15.49%2C16.28-15.29%2C8.58.2%2C15.64%2C6.87%2C15.64%2C16.06l.05%2C169.25%2C53.75-53.75c6.69-5.4%2C15.95-4.71%2C21.71%2C1.21%2C5.49%2C5.63%2C6.63%2C15.69.53%2C21.79l-81.09%2C81.11Z'%20fill='%23000'/%3E%3Cpath%20d='M304.24%2C303.96l-288.15.02C6.74%2C303.98-.02%2C296.53%2C0%2C287.86s6.8-15.9%2C16.13-15.9h287.68c9.07%2C0%2C15.72%2C6.92%2C16.1%2C15.2s-5.9%2C16.79-15.67%2C16.8Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
  width:1em;height:1em;vertical-align:-0.12em;
}
.lc-soon{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#5a6669;
}
.lc-soon::before{content:"";width:12px;height:1.6px;background:#8b9698}

/* ---------- reveals ---------- */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.2,.6,.2,1),transform .65s cubic-bezier(.2,.6,.2,1)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}


/* ============================================================
   NEWS.CSS
   ============================================================ */
/* ============================================================
   NEWS & INSIGHTS listing — page layer
   Loaded AFTER css/atese-system.css + css/scope.css.
   Reuses the homepage .card article treatment.
   ============================================================ */

/* ---------- 1. HERO — gradient band ---------- */
.news-page .scope-hero{background:var(--grad)}
.news-page .breadcrumb{color:rgba(255,255,255,.75)}
.news-page .breadcrumb a{color:rgba(255,255,255,.75)}
.group-structure-page .scope-hero{background:var(--grad)}
.group-structure-page .scope-hero__media--tint::before{opacity:.55}
.group-structure-page .scope-hero__media{filter:none}
.group-structure-page .scope-hero__media::after{background:var(--grad);opacity:.85}
.news-page .breadcrumb a:hover{color:var(--white)}
.news-page .breadcrumb span[aria-current]{color:var(--white)}
.news-page .scope-hero__lead{color:rgba(255,255,255,.92)}

/* section headings (no eyebrow, no rule) */
.nw-secheading{margin:0 0 clamp(14px,1.6vw,22px)}

/* ---------- 2. FEATURED POST — horizontal editorial row ---------- */
.nw-sec--flush{padding-bottom:0}
.nw-feat{display:block;border-top:1px solid var(--black);padding:clamp(24px,2.6vw,40px) 0;color:var(--black)}
.nw-feat__grid{display:grid;grid-template-columns:minmax(0,clamp(480px,56vw,900px)) minmax(0,1fr) auto;gap:clamp(24px,3.5vw,64px);align-items:start}
.nw-feat__img{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.03);transition:filter .25s linear}
.nw-feat:hover .nw-feat__img{filter:grayscale(0) contrast(1.04)}
.nw-feat__title{font-family:'Geologica',sans-serif;font-size:clamp(24px,3.4vw,52px);font-weight:600;text-transform:uppercase;letter-spacing:-.025em;line-height:1.06;margin:0}
.nw-feat:hover .nw-feat__title{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.nw-feat__meta{display:flex;align-items:center;gap:16px;margin-top:clamp(28px,4vw,64px)}
.nw-feat__cat{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.nw-feat__date{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;color:#5a6669}
.nw-feat__arrow{display:grid;place-items:center;width:clamp(34px,3vw,44px);height:clamp(34px,3vw,44px);flex:0 0 auto}
.nw-feat__arrow .arr{width:100%;height:100%;background-color:var(--black)}
.nw-feat:hover .nw-feat__arrow .arr{background-color:transparent;background-image:var(--grad)}
.nw-feat:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media (max-width:767px){
  .nw-feat__grid{grid-template-columns:minmax(0,1fr) auto;gap:20px}
  .nw-feat__img{grid-column:1 / -1;aspect-ratio:16/9}
  .nw-feat__meta{margin-top:20px}
}

/* ---------- shared excerpt style ---------- */
.card__excerpt{font-size:15px;line-height:1.55;color:#3a4446;margin:0 0 20px}
.card:hover .card__excerpt{color:var(--light)}
/* homepage article hover: invert card to black */
.nw-grid .card:hover{background:var(--black);color:var(--white)}
.nw-grid .card:hover .card__thumb{filter:brightness(.6)}

/* ---------- 3. CATEGORY FILTER ---------- */
.nw-filters{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--black);border-bottom:1px solid var(--black);padding:clamp(18px,2vw,26px) 0;margin-bottom:clamp(36px,4.5vw,64px)}
.nw-chips{display:flex;flex-wrap:wrap}
.nw-count{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;color:#5a6669}
@media (max-width:767px){
  .nw-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%}
  .nw-chips::-webkit-scrollbar{display:none}
  .nw-chips .chip{flex:0 0 auto;white-space:nowrap}
}

/* ---------- 4. ARTICLE GRID ---------- */
/* hairlines: every card carries a left border; the grid is shifted -1px inside an
   overflow-clip wrapper so each row's first card's border falls outside the clip.
   Filter-proof — no :nth-child position arithmetic. */
.nw-grid-clip{overflow:hidden}
.nw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--black);margin-left:-1px}
@media (max-width:1023px){.nw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.nw-grid{grid-template-columns:1fr}}
.nw-grid .card{border-left:1px solid var(--black);border-bottom:1px solid var(--black);min-width:0;background:var(--white)}
@media (max-width:639px){.nw-grid{margin-left:0}.nw-grid .card{border-left:0}}
.nw-grid .card[hidden]{display:none}
.nw-grid .card:focus-within{outline:2px solid var(--accent);outline-offset:-2px}
.nw-empty{color:#5a6669;font-size:20px;font-weight:300;padding:48px 0}

/* ---------- 5. LOAD MORE ---------- */
.nw-more{display:flex;justify-content:center;margin-top:clamp(40px,5vw,64px)}
.nw-more[hidden]{display:none}
.nw-more .btn .arr{
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M11.25%205h1.5v6.25H19v1.5h-6.25V19h-1.5v-6.25H5v-1.5h6.25V5Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
  mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M11.25%205h1.5v6.25H19v1.5h-6.25V19h-1.5v-6.25H5v-1.5h6.25V5Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ---------- reveals ---------- */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.2,.6,.2,1),transform .65s cubic-bezier(.2,.6,.2,1)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}


/* ============================================================
   PROJECT.CSS
   ============================================================ */
/* ============================================================
   PROJECT DETAIL — reusable template layer
   Loaded AFTER css/atese-system.css. Reuses homepage tokens,
   nav, footer, CTA, chip/tile treatments. Optional blocks are
   omitted in markup (never rendered empty).
   ============================================================ */

.skip-link{position:absolute;left:-9999px;top:0;z-index:400;background:var(--accent);color:#fff;padding:12px 20px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.skip-link:focus{left:0}
.wrap{width:100%}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- 1. HERO (full-bleed; collapses to type-only) ---------- */
.pd-hero{position:relative;background:var(--black);color:var(--white);overflow:hidden;padding:calc(80px + clamp(28px,3vw,48px)) clamp(20px,5vw,80px) clamp(40px,5vw,72px)}
.pd-hero--plain{padding-top:calc(80px + clamp(28px,3vw,48px))}
.pd-hero__media{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.05)}
.pd-hero__media::before{content:"";position:absolute;inset:0;background:var(--grad);mix-blend-mode:multiply;opacity:.26}
.pd-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.3) 42%,rgba(0,0,0,.85) 100%)}
.pd-hero__inner{position:relative;z-index:2}
.breadcrumb{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-size:12px;letter-spacing:.08em;color:var(--gray);margin-bottom:clamp(20px,2.4vw,32px);display:flex;flex-wrap:wrap;align-items:center;gap:10px;line-height:1.4}
.breadcrumb a{color:var(--gray)}
.breadcrumb a:hover{color:var(--white)}
.breadcrumb span[aria-current]{color:var(--white)}
.pd-badge{display:inline-block;padding:7px 12px;background:var(--grad);color:#fff;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin-bottom:clamp(18px,2vw,28px)}
.pd-hero__h1{max-width:16ch}

/* ---------- section shell ---------- */
.pd-sec{padding:clamp(56px,7vw,120px) clamp(20px,5vw,80px)}
.pd-sec--light{background:var(--white);color:var(--black)}
.pd-sec--dark{background:var(--black);color:var(--white)}
.pd-sec__head{margin-bottom:clamp(32px,4vw,56px)}
.pd-sec--dark .pd-sec__head .eyebrow{color:var(--white)}
.pd-sec__title{margin-top:22px}

/* ---------- 2. INTRODUCTION ---------- */
.pd-copy{max-width:960px}
.pd-copy p{font-size:clamp(16px,1.6vw,22px);line-height:1.55;font-weight:300}
.pd-copy p+p{margin-top:22px}

/* ---------- 3. KEY FACTS (adapts 3–6 items) ---------- */
.pd-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid var(--white);border-bottom:1px solid var(--white)}
.pd-fact{border-right:1px solid var(--white);padding:clamp(28px,3vw,44px) clamp(18px,2vw,34px);display:flex;flex-direction:column;gap:14px;min-width:0}
.pd-fact:last-child{border-right:0}
@media (max-width:639px){
  .pd-facts{grid-template-columns:1fr}
  .pd-fact{border-right:0;border-bottom:1px solid var(--white)}
  .pd-fact:last-child{border-bottom:0}
}
.pd-fact__num{font-family:'Geologica',sans-serif;font-weight:700;letter-spacing:-.03em;line-height:.95;font-size:clamp(2rem,3.8vw,3.6rem);background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.pd-fact__label{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gray)}

/* ---------- 4. PROJECT DETAILS (definition list) ---------- */
.pd-dl{margin:0;border-top:1px solid rgba(0,0,0,.16);max-width:1100px}
.pd-dl__row{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:clamp(16px,3vw,48px);padding:20px 0;border-bottom:1px solid rgba(0,0,0,.16)}
.pd-dl__k{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#5a6669;margin:0}
.pd-dl__v{margin:0;font-size:clamp(15px,1.25vw,17px);line-height:1.5}
@media (max-width:639px){.pd-dl__row{grid-template-columns:1fr;gap:6px}}

/* ---------- 5. GALLERY ---------- */
.pd-gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
@media (max-width:1023px){.pd-gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pd-gal__btn{position:relative;display:block;padding:0;border:0;background:#161616;cursor:pointer;width:100%;overflow:hidden}
.pd-gal__img{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.03);transition:transform .4s cubic-bezier(.2,.6,.2,1),filter .2s linear}
.pd-gal__btn:hover .pd-gal__img,.pd-gal__btn:focus-visible .pd-gal__img{transform:scale(1.04);filter:grayscale(0) contrast(1.04)}
.pd-gal__btn:focus-visible{outline:2px solid var(--white);outline-offset:-2px}
.pd-gal__cap{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.85));color:var(--white);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;text-align:left}
@media (max-width:639px){
  .pd-gal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth}
  .pd-gal::-webkit-scrollbar{display:none}
  .pd-gal__btn{flex:0 0 84%;scroll-snap-align:start}
}

/* lightbox */
.lb{position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.97);display:none;flex-direction:column}
.lb.open{display:flex}
.lb__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(16px,3vw,32px);border-bottom:1px solid rgba(255,255,255,.2)}
.lb__count{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;color:var(--gray)}
.lb__btn{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--white);background:transparent;color:var(--white);cursor:pointer;transition:background .15s,color .15s}
.lb__btn:hover{background:var(--white);color:var(--black)}
.lb__nav{display:flex;gap:2px}
.lb__stage{flex:1;display:grid;place-items:center;padding:clamp(16px,3vw,40px);min-height:0;touch-action:pan-y;cursor:grab}
.lb__stage:active{cursor:grabbing}
.lb__img{max-width:100%;max-height:100%;width:min(1400px,100%);aspect-ratio:4/3;background-size:contain;background-position:center;background-repeat:no-repeat}
.lb__video{max-width:100%;max-height:100%;width:min(1400px,100%);background:#000}
.lb__cap{padding:0 clamp(16px,3vw,32px) 16px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--gray);text-align:center}
.lb__dots{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 clamp(16px,3vw,32px) clamp(20px,3vw,32px);flex-wrap:wrap}
.lb__dot{width:22px;height:3px;padding:0;border:0;background:rgba(255,255,255,.3);cursor:pointer;transition:background .18s linear,width .18s linear}
.lb__dot:hover{background:rgba(255,255,255,.6)}
.lb__dot.active{background:var(--white);width:34px}
.lb__dot:focus-visible{outline:2px solid var(--white);outline-offset:3px}

/* ---------- 5. GALLERY — auto-scrolling full-colour media strip ---------- */
.pd-strip{position:relative;padding:clamp(48px,6vw,96px) clamp(20px,5vw,80px);background:var(--black);border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
.pd-strip__head{margin-bottom:clamp(28px,3.5vw,48px)}
.pd-strip__head .eyebrow{color:var(--white)}
.pd-strip__viewport{position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);padding:clamp(18px,2vw,28px) 0;margin:0 calc(-1 * clamp(20px,5vw,80px))}
.pd-strip__track{display:flex;gap:clamp(12px,1.4vw,22px);width:max-content;will-change:transform}
.pd-strip__track.is-paused{animation-play-state:paused}
.pd-strip__item{position:relative;flex:0 0 auto;height:clamp(200px,22vw,340px);background:#111;padding:0;border:0;cursor:pointer;overflow:hidden;display:block}
/* full ORIGINAL colour — no duotone/grayscale here (deliberate) */
.pd-strip__item img,.pd-strip__item video{display:block;height:100%;width:auto;max-width:none;object-fit:cover;filter:none;transition:transform .45s cubic-bezier(.2,.6,.2,1)}
.pd-strip__item:hover img,.pd-strip__item:hover video,.pd-strip__item:focus-visible img,.pd-strip__item:focus-visible video{transform:scale(1.035)}
.pd-strip__item:focus-visible{outline:2px solid var(--white);outline-offset:-2px}
.pd-strip__cap{position:absolute;left:0;right:0;bottom:0;padding:22px 16px 12px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.8));color:var(--white);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;text-align:left;opacity:0;transition:opacity .2s linear}
.pd-strip__item:hover .pd-strip__cap,.pd-strip__item:focus-visible .pd-strip__cap{opacity:1}
.pd-strip__tag{position:absolute;top:12px;left:12px;padding:5px 9px;background:rgba(0,0,0,.62);color:#fff;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
@keyframes pdMarquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - (clamp(12px,1.4vw,22px) / 2)),0,0)}}
.pd-strip__track--anim{animation:pdMarquee var(--dur,60s) linear infinite}
.pd-strip__pause{position:absolute;right:clamp(20px,5vw,80px);top:calc(100% + 18px);display:inline-flex;align-items:center;gap:10px;background:transparent;border:1px solid rgba(255,255,255,.5);color:var(--white);padding:9px 16px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s}
.pd-strip__pause:hover{background:var(--white);color:var(--black)}
.pd-strip__foot{position:relative;height:52px}
.pd-strip__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:48px;height:48px;display:grid;place-items:center;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.35);color:var(--white);cursor:pointer;transition:background .18s linear,border-color .18s linear}
.pd-strip__nav:hover{background:var(--black);border-color:var(--white)}
.pd-strip__nav:focus-visible{outline:2px solid var(--white);outline-offset:2px}
.pd-strip__nav .arr{width:18px;height:18px;background-color:var(--white)}
.pd-strip__nav--prev{left:clamp(12px,2vw,24px)}
.pd-strip__nav--prev .arr{transform:scaleX(-1)}
.pd-strip__nav--next{right:clamp(12px,2vw,24px)}
@media (max-width:767px){.pd-strip__nav{width:40px;height:40px}.pd-strip__nav .arr{width:15px;height:15px}}
@media (prefers-reduced-motion:reduce){
  .pd-strip__track--anim{animation:none}
  .pd-strip__viewport{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .pd-strip__item{scroll-snap-align:start}
}

/* ---------- 6. RELATED ---------- */
.pd-rel__head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,3.5vw,48px)}
.pd-rel__viewall{font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;color:var(--white)}
.pd-rel__viewall:hover{color:var(--accent)}
.pd-rel__viewall:hover .arr{background-color:transparent;background-image:var(--grad)}
.pd-rel__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2px}
.pd-card{position:relative;display:block;height:clamp(300px,24vw,380px);overflow:hidden;background:#161616;color:var(--white)}
.pd-card__img{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.02);transition:transform .4s cubic-bezier(.2,.6,.2,1),filter .2s linear}
.pd-card:hover .pd-card__img,.pd-card:focus-visible .pd-card__img{transform:scale(1.04);filter:grayscale(0) contrast(1.04)}
.pd-card__badge{position:absolute;top:16px;right:16px;z-index:3;padding:6px 10px;background:var(--grad);color:#fff;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.pd-card__slab{position:absolute;left:0;right:0;bottom:0;z-index:2;background:var(--black);border-top:1px solid var(--white);padding:20px 22px}
.pd-card__name{font-family:'Geologica',sans-serif;font-size:clamp(16px,1.3vw,20px);font-weight:500;letter-spacing:-.01em;line-height:1.15}
.pd-card__meta{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:var(--gray);margin-top:8px}
.pd-card:focus-visible{outline:2px solid var(--white);outline-offset:-2px}

/* ---------- STICKY IN-PAGE ANCHOR NAV ---------- */
.pd-anchor{
  position:sticky;top:var(--nav-h,80px);z-index:60;
  background:var(--black);color:var(--white);
  border-bottom:1px solid rgba(255,255,255,.2);
  opacity:0;transform:translateY(-100%);pointer-events:none;
  transition:opacity .28s ease,transform .28s ease;
}
.pd-anchor.is-visible{opacity:1;transform:none;pointer-events:auto}
.pd-anchor__inner{padding:0 clamp(20px,5vw,80px)}
.pd-anchor__list{
  display:flex;align-items:stretch;gap:clamp(20px,3vw,44px);
  list-style:none;margin:0;padding:0;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.pd-anchor__list::-webkit-scrollbar{display:none}
.pd-anchor__list a{
  display:flex;align-items:center;white-space:nowrap;
  height:56px;padding:0 2px;
  font-family:'Geologica',sans-serif;font-size:12px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:var(--gray);
  border-bottom:2px solid transparent;
  transition:color .15s linear,border-color .15s linear;
}
.pd-anchor__list a:hover{color:var(--white)}
.pd-anchor__list a[aria-current="true"]{color:var(--white);border-bottom-color:var(--c2)}
.pd-anchor__list a:focus-visible{outline:2px solid var(--white);outline-offset:-2px}
/* headings clear the two stacked bars */
#sec-intro,#sec-facts,#sec-details,#sec-gallery,#sec-related{scroll-margin-top:calc(var(--nav-h,80px) + var(--anchor-h,56px))}
@media (max-width:1023px){
  :root{--anchor-h:57px}
  .pd-anchor__list a{height:57px}
}
@media (max-width:767px){
  :root{--anchor-h:48px}
  .pd-anchor__inner{padding:0 16px}
  .pd-anchor__list{gap:24px}
  .pd-anchor__list a{height:48px;font-size:11px}
}
@media (prefers-reduced-motion:reduce){
  .pd-anchor{transition:none}
}

/* ---------- reveals ---------- */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.2,.6,.2,1),transform .65s cubic-bezier(.2,.6,.2,1)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.pd-gal{scroll-behavior:auto}}


/* ============================================================
   PROJECTS.CSS
   ============================================================ */
/* ============================================================
   PROJECTS listing — page layer
   Loaded AFTER css/atese-system.css. Reuses homepage tokens,
   nav, footer, CTA, chip + tile treatments.
   ============================================================ */

.skip-link{position:absolute;left:-9999px;top:0;z-index:400;background:var(--accent);color:#fff;padding:12px 20px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.skip-link:focus{left:0}
.wrap{max-width:1720px;margin:0 auto;width:100%}

/* ---------- 1. PAGE HEADER (type-led) ---------- */
.pj-hero{background:var(--white);color:var(--black);padding:calc(80px + clamp(28px,3vw,48px)) clamp(20px,5vw,80px) clamp(32px,4vw,48px)}
.pj-hero__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,clamp(280px,26vw,420px));gap:clamp(24px,5vw,80px);align-items:start}
@media (max-width:767px){.pj-hero__row{grid-template-columns:1fr;gap:20px}}
/* light-hero breadcrumb — .pj-hero is the only white page header */
.pj-hero .breadcrumb{color:#5a6669}
.pj-hero .breadcrumb a{color:#5a6669}
.pj-hero .breadcrumb a:hover{color:var(--black)}
.pj-hero .breadcrumb span[aria-current]{color:var(--black)}
.pj-hero__lead{margin-top:.5em;max-width:420px;font-size:clamp(13px,1.05vw,15px);font-weight:400;line-height:1.55;color:#3a4446}

/* ---------- 2. FILTER BAR ---------- */
.pj-filters{background:var(--white);padding:0 clamp(20px,5vw,80px) clamp(24px,3vw,40px)}
.pj-filters__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid rgba(0,0,0,.16);padding-top:clamp(20px,2.4vw,32px)}
.pj-chips{display:flex;flex-wrap:wrap}
/* light-surface chips (inherits the homepage .chip model) */
.pj-chip{border-color:var(--black);color:var(--black)}
.pj-chip:hover{background:var(--black);color:var(--white)}
.pj-chip.active,.pj-chip.active:hover{background:var(--grad);border-color:transparent;color:var(--white)}
.pj-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pj-count{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;color:#5a6669}

/* ---------- 3. GRID ---------- */
.pj-grid-sec{background:var(--white);padding:0 clamp(20px,5vw,80px) clamp(64px,8vw,120px)}
.pj-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--white)}
@media (max-width:1439px){.pj-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1023px){.pj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.pj-grid{grid-template-columns:1fr}}

.pj-card{position:relative;display:block;height:clamp(320px,26vw,420px);overflow:hidden;background:#161616;color:var(--white)}
.pj-card[hidden]{display:none}
.pj-card__img{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#161616;filter:grayscale(1) contrast(1.02);transition:transform .4s cubic-bezier(.2,.6,.2,1),filter .2s linear}
.pj-card:hover .pj-card__img,.pj-card:focus-visible .pj-card__img{transform:scale(1.04);filter:grayscale(0) contrast(1.04) saturate(1.05)}
.pj-card__badge{position:absolute;top:16px;right:16px;z-index:3;padding:6px 10px;background:var(--grad);color:#fff;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.pj-card__slab{position:absolute;left:0;right:0;bottom:0;z-index:2;background:var(--black);border-top:1px solid var(--white);padding:22px 24px;transition:padding .2s linear}
.pj-card__name{font-family:'Geologica',sans-serif;font-size:clamp(17px,1.4vw,21px);font-weight:500;letter-spacing:-.01em;line-height:1.15}
.pj-card__meta{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:var(--gray);margin-top:8px;line-height:1.5}
.pj-card__go{display:none;align-items:center;gap:10px;margin-top:14px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.pj-card__go .arr{background-image:var(--grad);background-color:transparent}
.pj-card:hover .pj-card__go,.pj-card:focus-visible .pj-card__go{display:inline-flex}
.pj-card:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

/* pipeline status modifier (muted badge, no budget) */
.pj-card--pipeline .pj-card__badge{background:none;background-color:#2b2f31;color:var(--gray)}

/* empty state */
.pj-empty{color:#5a6669;font-size:20px;font-weight:300;padding:48px 0}

/* ---------- 4. LOAD MORE ---------- */
.pj-more{display:flex;justify-content:center;margin-top:clamp(40px,5vw,64px)}
.pj-more[hidden]{display:none}
.pj-plus{display:inline-block;flex-shrink:0;width:1.05em;height:1.05em;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Crect%20x='11'%20y='4'%20width='2'%20height='16'%20fill='%23000'/%3E%3Crect%20x='4'%20y='11'%20width='16'%20height='2'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Crect%20x='11'%20y='4'%20width='2'%20height='16'%20fill='%23000'/%3E%3Crect%20x='4'%20y='11'%20width='16'%20height='2'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center/contain;vertical-align:-.16em}
.btn .pj-plus{width:20px;height:20px}

/* ---------- reveals ---------- */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.2,.6,.2,1),transform .65s cubic-bezier(.2,.6,.2,1)}
[data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}


/* ============================================================
   SCOPE.CSS
   ============================================================ */
/* ============================================================
   SCOPE PAGE — reusable capability template layer
   Loaded AFTER css/atese-system.css. Reuses homepage tokens,
   nav, footer, CTA, tile + stat styles. Adds only the scope
   page structure + tablet/mobile carousel + scroll reveals.
   ============================================================ */

.skip-link{position:absolute;left:-9999px;top:0;z-index:400;background:var(--accent);color:#fff;padding:12px 20px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.skip-link:focus{left:0}

/* container: full-bleed, left-aligned at the section padding (matches homepage) */
.wrap{width:100%}

/* ---------- 1. PAGE HEADER (full-bleed hero, collapses to type-only) ---------- */
.scope-hero{position:relative;background:var(--black);color:var(--white);overflow:hidden;padding:calc(80px + clamp(28px,3vw,48px)) clamp(20px,5vw,80px) clamp(40px,5vw,72px)}
.scope-hero__media{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.05);z-index:0}
.scope-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.35) 40%,rgba(0,0,0,.82) 100%)}
.scope-hero__media--tint::before{content:"";position:absolute;inset:0;background:var(--grad);mix-blend-mode:multiply;opacity:.28}
.scope-hero__inner{position:relative;z-index:2}
/* breadcrumb base is defined once above (dark heroes) */
.scope-hero__sub{margin-top:24px;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gray)}
.scope-hero__lead{margin-top:28px;max-width:760px;font-size:clamp(16px,1.6vw,21px);font-weight:300;line-height:1.5;color:var(--light)}

/* tighter gap between a plain (type-only) hero and the first section */
.scope-hero--plain{padding-bottom:clamp(24px,2.5vw,40px)}
.scope-hero--plain + .scope-sec{padding-top:clamp(32px,3.5vw,56px)}

@media (max-width:767px){
  .scope-hero{padding-top:calc(60px + 16px)}
  .breadcrumb{margin-bottom:40px}
}

/* ---------- section shell ---------- */
.scope-sec{padding:clamp(56px,7vw,120px) clamp(20px,5vw,80px)}
.scope-sec--dark{background:var(--black);color:var(--white)}
.scope-sec--grad{background:var(--grad);color:var(--white)}
.scope-sec--grad .eyebrow{color:var(--white)}
.scope-sec--light{background:var(--white);color:var(--black)}
.scope-sec__head{margin-bottom:clamp(36px,5vw,64px)}
.scope-sec--dark .scope-sec__head .eyebrow{color:var(--white)}
.scope-sec__title{margin-top:24px}

/* ---------- 2. OVERVIEW ---------- */
.scope-copy{max-width:960px}
.scope-copy p{font-size:clamp(17px,1.7vw,23px);line-height:1.55;font-weight:300}
.scope-copy p + p{margin-top:24px}

/* ---------- 3. AREAS OF EXPERTISE (hairline-divider cards) ---------- */
.exp__row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--white)}
.exp{border-right:1px solid var(--white);border-bottom:1px solid var(--white);padding:clamp(32px,3vw,48px) clamp(24px,2.4vw,40px);display:flex;flex-direction:column;min-width:0}
.exp:last-child{border-right:0}
.exp__num{font-family:'Geologica',sans-serif;font-size:14px;font-weight:600;letter-spacing:.12em;color:transparent;background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:20px}
/* on the gradient band the numeral needs a solid fill to stay legible */
.scope-sec--grad .exp__num{background-image:none;-webkit-text-fill-color:var(--white);color:var(--white);opacity:.75}
.exp__title{font-family:'Geologica',sans-serif;font-size:clamp(19px,1.6vw,24px);font-weight:500;text-transform:uppercase;letter-spacing:.02em;line-height:1.12;margin-bottom:16px}
.exp__text{font-size:15px;line-height:1.5;color:var(--light)}

/* ---------- 4. METHODOLOGY ---------- */
.method__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,5vw,80px);align-items:start}
.method__lead{font-size:clamp(17px,1.7vw,22px);line-height:1.55;font-weight:300}
.method__list{list-style:none;padding:0;margin:0;border-top:1px solid rgba(0,0,0,.16)}
.method__item{padding:22px 0;border-bottom:1px solid rgba(0,0,0,.16);display:flex;gap:20px;align-items:baseline}
.method__k{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;color:var(--accent);flex:0 0 34px}
.method__v{font-size:15px;line-height:1.5;font-weight:400}

/* ---------- 5. KEY FACTS (big blue numeral + label) ---------- */
.facts__row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--white);border-bottom:1px solid var(--white)}
.fact{border-right:1px solid var(--white);padding:clamp(32px,3vw,48px) clamp(20px,2vw,36px) clamp(28px,3vw,44px);display:flex;flex-direction:column;gap:16px;min-width:0}
.fact:last-child{border-right:0}
.fact__num{font-family:'Geologica',sans-serif;font-weight:700;letter-spacing:-.03em;line-height:.95;font-size:clamp(2.2rem,4.2vw,4rem);background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.fact__label{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gray)}

/* ---------- 6. SUPPORTING MEDIA (only rendered when assets exist) ---------- */
.media__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2px}
.media__item{position:relative}
.media__img{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.03)}
.media__cap{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:var(--gray);margin-top:12px}

/* ---------- 7. RELATED PROJECTS (reuses tile model) ---------- */
.rel__head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,56px)}
.rel__viewall{font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;color:var(--white)}
.rel__viewall:hover{color:var(--accent)}
.rel__viewall:hover .arr{background-color:transparent;background-image:var(--grad)}
.rel__row{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.rel__row .tile{height:clamp(300px,26vw,420px)}
.rel__controls{display:none}

/* ---------- carousel (tablet / mobile, 4+ cards) ---------- */
@media (max-width:1023px){
  .rel__row{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth}
  .rel__row::-webkit-scrollbar{display:none}
  .rel__row .tile{flex:0 0 82%;max-width:440px;scroll-snap-align:start;height:340px}
  .rel__controls{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:28px}
  .rel__dots{display:flex;gap:8px;flex-wrap:wrap}
  .rel__dot{width:8px;height:8px;background:rgba(255,255,255,.28);border:0;padding:0;cursor:pointer;transition:background .15s,transform .15s}
  .rel__dot.active{background:var(--accent);transform:scale(1.3)}
  .rel__arrows{display:flex;gap:2px}
  .rel__arrow{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--white);background:transparent;color:var(--white);cursor:pointer;transition:background .15s,color .15s}
  .rel__arrow:hover:not(:disabled){background:var(--white);color:var(--black)}
  .rel__arrow:disabled{opacity:.3;cursor:default}
  .rel__arrow svg{width:20px;height:20px}
}

/* ---------- responsive: expertise + facts + methodology ---------- */
@media (max-width:1023px){
  .exp__row{grid-template-columns:repeat(2,1fr)}
  .exp:nth-child(2n){border-right:0}
  .facts__row{grid-template-columns:repeat(2,1fr)}
  .fact:nth-child(2n){border-right:0}
  .fact:nth-child(-n+2){border-bottom:1px solid var(--white)}
  .method__grid{grid-template-columns:1fr;gap:32px}
}
@media (max-width:600px){
  .exp__row{grid-template-columns:1fr}
  .exp{border-right:0}
  .facts__row{grid-template-columns:1fr}
  .fact{border-right:0;border-bottom:1px solid var(--white)}
  .fact:last-child{border-bottom:0}
}

/* ---------- reveals ---------- */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal]{transition-delay:calc(var(--i,0) * 80ms)}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  .rel__row{scroll-behavior:auto}
}


/* ============================================================
   STANDARDS.CSS
   ============================================================ */
/* ============================================================
   OPERATING STANDARDS & INDUSTRY COOPERATIONS — page layer
   Loaded AFTER css/atese-system.css + css/scope.css.
   ============================================================ */

/* ---------- 2. HOW WE OPERATE (accordion) ---------- */
.acc{border-top:1px solid rgba(0,0,0,.16);max-width:1200px}
.acc__item{border-bottom:1px solid rgba(0,0,0,.16)}
.acc__btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:clamp(22px,2.4vw,32px) 0;background:none;border:0;cursor:pointer;text-align:left;color:var(--black);
}
.acc__btn:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.acc__k{display:flex;align-items:baseline;gap:clamp(16px,2vw,32px);min-width:0}
.acc__num{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;color:#5a6669;flex:0 0 auto}
.acc__title{font-family:'Geologica',sans-serif;font-size:clamp(19px,2.2vw,32px);font-weight:600;text-transform:uppercase;letter-spacing:-.01em;line-height:1.1}
.acc__icon{position:relative;width:18px;height:18px;flex:0 0 auto}
.acc__icon::before,.acc__icon::after{content:"";position:absolute;left:0;top:50%;width:18px;height:1.6px;background:var(--black);transition:transform .25s ease,opacity .25s ease}
.acc__icon::after{transform:rotate(90deg)}
.acc__btn[aria-expanded="true"] .acc__icon::after{transform:rotate(0);opacity:0}
.acc__panel{overflow:hidden;max-height:0;transition:max-height .32s ease}
.acc__inner{padding:0 0 clamp(24px,3vw,40px);max-width:900px}
.acc__inner p{font-size:clamp(15px,1.35vw,19px);line-height:1.6;font-weight:300}
.acc__list{margin:18px 0 0;padding:0;list-style:none}
.acc__list li{position:relative;padding-left:26px;margin-bottom:10px;font-size:15px;line-height:1.5}
.acc__list li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:1.6px;background:var(--accent)}

/* ---------- 3. ESG FRAMEWORK ---------- */
.esg__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--white)}
.esg{border-right:1px solid var(--white);border-bottom:1px solid var(--white);padding:clamp(28px,2.8vw,44px) clamp(22px,2.2vw,36px);display:flex;flex-direction:column;min-width:0}
.esg:last-child{border-right:0}
.esg__num{font-size:12px;font-weight:600;letter-spacing:.12em;margin-bottom:18px;background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.esg__text{font-size:15px;line-height:1.55;color:var(--light)}
@media (max-width:900px){
  .esg__row{grid-template-columns:1fr}
  .esg{border-right:0}
}

/* ---------- 4. INDUSTRY COOPERATIONS ---------- */
.coop-group+.coop-group{margin-top:clamp(40px,5vw,72px)}
.coop-group__label{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-bottom:20px}
.coop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.coop-tile{
  min-height:clamp(88px,7vw,110px);display:flex;align-items:center;justify-content:center;text-align:center;
  border:1px solid rgba(0,0,0,.16);margin:-1px 0 0 -1px;padding:16px 14px;
  font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.06em;color:var(--black);
  filter:grayscale(1);transition:filter .18s linear,background .18s linear,color .18s linear;
}
.coop-tile:hover,.coop-tile:focus-visible{filter:grayscale(0);background:rgba(0,0,0,.05)}
.coop-tile img{max-width:100%;max-height:44px;width:auto;height:auto;object-fit:contain}
@media (max-width:1023px){.coop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.coop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- 5. CREDIBILITY STRIP ---------- */
.cred{background:var(--black);color:var(--white);padding:clamp(40px,5vw,72px) clamp(20px,5vw,80px);border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
.cred__inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(24px,3.5vw,56px)}
.cred__badge{width:clamp(74px,7vw,104px);height:auto;flex:0 0 auto}
.cred__eyebrow{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-bottom:12px}
.cred__text{font-size:clamp(17px,1.9vw,26px);line-height:1.35;font-weight:500;max-width:900px;margin:0;letter-spacing:-.01em}
.cred__link{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;white-space:nowrap;color:var(--white)}
.cred__link:hover{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.cred__link:hover .arr{background-color:transparent;background-image:var(--grad)}
@media (max-width:1023px){
  .cred__inner{grid-template-columns:auto minmax(0,1fr);row-gap:24px}
  .cred__link{grid-column:1 / -1}
}
@media (max-width:600px){
  .cred__inner{grid-template-columns:1fr}
  .cred__badge{width:68px}
}

@media (prefers-reduced-motion:reduce){
  .acc__panel{transition:none}
  .acc__icon::before,.acc__icon::after{transition:none}
}


/* ============================================================
   WHAT-WE-DO.CSS
   ============================================================ */
/* ============================================================
   WHAT WE DO / CAPABILITIES — page-specific layer
   Loaded AFTER css/atese-system.css. Reuses the approved
   homepage pillar-card system; adds only page structure,
   the tablet/mobile carousel, and scroll-reveal motion.
   ============================================================ */

/* skip link (a11y) */
.skip-link{position:absolute;left:-9999px;top:0;z-index:400;background:var(--accent);color:#fff;padding:12px 20px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.skip-link:focus{left:0}

/* ---- page intro (type-led, reuses .pillars head system) ---- */
.caps__h1{margin-top:28px}
.caps__lead{max-width:820px;margin-top:28px;color:var(--light);font-size:clamp(16px,1.5vw,20px);font-weight:300;line-height:1.5}

/* ---- capabilities grid: desktop keeps the homepage 4-col pillar row ---- */
@media (min-width:1024px){
  .caps__row{grid-template-columns:repeat(4,1fr)!important}
  .caps__row .pillar{border-right:1px solid var(--white)!important;border-bottom:0!important;padding-top:56px!important}
  .caps__row .pillar:last-child{border-right:0!important}
}

/* ---- tablet / mobile carousel (4+ cards) ---- */
.caps__viewport{position:relative}
.caps__controls{display:none}

@media (max-width:1023px){
  .caps__row{
    display:flex;grid-template-columns:none;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;scroll-behavior:smooth;
  }
  .caps__row::-webkit-scrollbar{display:none}
  .caps__row .pillar{
    flex:0 0 82%;max-width:440px;scroll-snap-align:start;
    border-right:1px solid var(--white);border-bottom:0;
    padding:40px 28px 0;
  }
  .caps__row .pillar:last-child{border-right:0}
  .caps__row .pillar__img{height:240px}
  .caps__row .pillar__title,
  .caps__row .pillar__tags{min-height:0}

  .caps__controls{
    display:flex;align-items:center;justify-content:space-between;gap:24px;
    padding:32px 20px 0;
  }
  .caps__dots{display:flex;gap:8px;flex-wrap:wrap}
  .caps__dot{width:8px;height:8px;background:rgba(255,255,255,.28);border:0;padding:0;cursor:pointer;transition:background .15s linear,transform .15s linear}
  .caps__dot.active{background:var(--accent);transform:scale(1.3)}
  .caps__arrows{display:flex;gap:2px}
  .caps__arrow{
    width:52px;height:52px;display:grid;place-items:center;
    border:1px solid var(--white);background:transparent;color:var(--white);cursor:pointer;
    transition:background .15s linear,color .15s linear;
  }
  .caps__arrow:hover:not(:disabled){background:var(--white);color:var(--black)}
  .caps__arrow:disabled{opacity:.3;cursor:default}
  .caps__arrow svg{width:20px;height:20px}
}

/* ---- featured modifier (ACF featured=boolean) — same markup, accent treatment ---- */
.pillar--featured{position:relative}
.pillar--featured::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad)}
.pillar--featured .pillar__num{background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}

/* ---- scroll-reveal motion (native IntersectionObserver) ---- */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
[data-reveal].is-in{opacity:1;transform:none}
.caps__row .pillar[data-reveal]{transition-delay:calc(var(--i,0) * 90ms)}

@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  .caps__row{scroll-behavior:auto}
}

/* ============================================================
   LICENSES & CERTIFICATES — ALTERNATE DESIGN (v2)
   Editorial numbered-list layout in place of the boxed card grid.
   Scoped under .lc2- so the original page (.lc-*) is untouched.
   ============================================================ */
.lc2-stats{background:var(--black);color:var(--white);padding:0 clamp(20px,5vw,80px)}
.lc2-stats__row{display:grid;grid-template-columns:repeat(3,1fr);max-width:1720px;margin:0 auto}
.lc2-stats__item{padding:clamp(28px,4vw,48px) clamp(20px,3vw,32px);border-left:1px solid rgba(255,255,255,.18);text-align:center}
.lc2-stats__item:first-child{border-left:0}
.lc2-stats__num{
  font-family:'Geologica',sans-serif;font-weight:700;font-size:clamp(40px,6vw,84px);line-height:1;letter-spacing:-.02em;
  background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
.lc2-stats__lbl{display:block;margin-top:10px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gray)}
@media (max-width:639px){.lc2-stats__row{grid-template-columns:1fr}.lc2-stats__item{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:24px 12px}.lc2-stats__item:first-child{border-top:0}}

/* sticky in-page sub-nav */
.lc2-subnav{position:sticky;top:80px;z-index:40;background:var(--white);border-bottom:1px solid rgba(0,0,0,.14);padding:0 clamp(20px,5vw,80px)}.lc2-subnav__row{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:1720px;margin:0 auto}
.lc2-subnav__row::-webkit-scrollbar{display:none}
.lc2-subnav a{
  flex:0 0 auto;padding:18px clamp(16px,2vw,26px);font-family:'Geologica',sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:#5a6669;border-bottom:2px solid transparent;white-space:nowrap;
  transition:color .15s linear,border-color .15s linear;
}
.lc2-subnav a:hover,.lc2-subnav a:focus-visible{color:var(--black)}
.lc2-subnav a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media (max-width:1023px){.lc2-subnav{top:60px}#group-iso,#group-licenses,#group-defense{--lc2-anchor-offset:117px}}

/* alternating group bands */
.lc2-group{padding:clamp(56px,7vw,104px) clamp(20px,5vw,80px)}
.lc2-group--dark{background:var(--black);color:var(--white)}
.lc2-group--dark .lc2-row__desc{color:var(--gray)}
.lc2-group--dark .lc2-row{border-color:rgba(255,255,255,.16)}
.lc2-group--dark .lc2-row:first-child{border-top-color:rgba(255,255,255,.16)}
.lc2-group__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,52px)}
.lc2-group__title{margin:0}
.lc2-group__count{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;color:var(--gray)}

/* numbered rows — replaces the uneven card grid */
.lc2-row{
  display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:clamp(20px,3vw,40px);
  padding:clamp(22px,2.4vw,32px) 0;border-top:1px solid rgba(0,0,0,.16);
  transition:background .45s cubic-bezier(.22,.61,.36,1),color .3s ease,padding-left .45s cubic-bezier(.22,.61,.36,1),padding-right .45s cubic-bezier(.22,.61,.36,1);
}
.lc2-row:first-child{border-top-color:rgba(0,0,0,.16)}
.lc2-row:hover{background-image:var(--grad);color:var(--white);padding-left:clamp(16px,2vw,24px);padding-right:clamp(16px,2vw,24px)}
.lc2-row:hover .lc2-row__code,.lc2-row:hover .lc2-row__desc{color:rgba(255,255,255,.85)}
.lc2-row:hover .lc2-row__num{-webkit-text-fill-color:var(--white);color:var(--white)}
.lc2-row:hover .lc2-link{color:var(--white)}
.lc2-row:hover .lc2-link .dl-icon{background-color:var(--white)}
.lc2-row__num{
  font-family:'Geologica',sans-serif;font-weight:700;font-size:clamp(28px,2.6vw,40px);line-height:1;
  background-image:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
.lc2-row__code{display:block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;color:#5a6669;margin-bottom:6px;transition:color .18s linear}
.lc2-row__title{font-family:'Geologica',sans-serif;font-weight:600;font-size:clamp(16px,1.5vw,20px);letter-spacing:-.01em;margin:0}
.lc2-row__desc{margin-top:6px;font-size:14px;line-height:1.5;color:#5a6669;max-width:52ch;transition:color .3s ease}
.lc2-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--black);white-space:nowrap;transition:color .3s ease}
.lc2-link .dl-icon{width:15px;height:15px;background-color:var(--black);transition:background-color .3s ease;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E") no-repeat center/contain}
.lc2-soon{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:var(--gray);white-space:nowrap}
@media (max-width:767px){
  .lc2-row{grid-template-columns:44px 1fr;grid-template-rows:auto auto;row-gap:10px}
  .lc2-row__num{font-size:24px}
  .lc2-row__action{grid-column:1 / -1;padding-left:64px}
  .lc2-row:hover{padding-left:0}
}
@media (prefers-reduced-motion:reduce){.lc2-row{transition:none}}



/* ============ UTILITIES — must stay last in the cascade ============ */
.u-mt-6{margin-top:var(--space-xs)}
.u-mt-14{margin-top:var(--space-sm)}
.u-mt-24{margin-top:var(--space-md)}
.u-mt-32{margin-top:var(--space-lg)}
.u-pt-0{padding-top:0}
.u-pt-sec{padding-top:var(--space-section)}
.u-pt-sec-sm{padding-top:var(--space-section-sm)}
.tile__meta{font-size:var(--fs-micro);color:var(--gray);margin-top:var(--space-xs)}
.card__body--pad{padding:var(--space-md) 20px}
.card__foot a.card__readlink{padding:0;font-size:var(--fs-small)}
.lc2-group{scroll-margin-top:var(--lc2-anchor-offset,137px)}
.coop-logo--display{font-family:var(--font-display)}
/* Bootstrap reboot adds ul{padding-left:2rem}; the * reset can't beat an element selector.
   Keeps the footer lists flush with their column headings on every page (index has no Bootstrap). */
.footer__col ul{padding-left:0;margin-bottom:0;list-style:none}
/* top-align the brand column's copy with the link columns' first row
   (logo is 32px tall; 26px gap lands the paragraph on the same baseline as the first link) */
.footer__col .footer__logo{margin-bottom:26px}
