/* ==========================================================================
   SERŠ TEAM — industrial layer
   Loaded after site.css. Keeps the content, colours and layout; changes the
   form language: hard edges, chamfered buttons, condensed headlines,
   monospace labels, blueprint grid and corner brackets.
   Remove the <link> to this file to go back to the original look.
   ========================================================================== */

:root {
  --radius: 2px;
  --radius-lg: 3px;
  --chamfer: 10px;
  --grid: rgba(255, 255, 255, .035);
  --bracket: rgba(245, 184, 46, .85);
}
:root[data-theme="light"] {
  --grid: rgba(10, 14, 25, .05);
  --bracket: var(--gold-ink);
}

/* ---------- Type: condensed, heavy, uppercase ---------- */
.display, .h2, .page-hero__title, .article__title { font-stretch: 75%; font-weight: 900; letter-spacing: 0; }
.h2 { font-size: clamp(2.6rem, 6.6vw, 5.4rem); line-height: .88; }
.h3, .tl-title, .tl-body h3, .member__name, .partner h3, .way h3, .thanks .h3, .spec__v,
.news-card__title, .showcase figcaption strong { font-stretch: 80%; font-weight: 800; letter-spacing: .01em; }
.member__name, .partner h3, .way h3 { font-size: 1.9rem; }
.stat__n, .tl-year, .news-year__label, .medal__n { font-stretch: 75%; font-weight: 900; }
.stat__n { font-size: clamp(3rem, 6.4vw, 5rem); }
.hero__title { line-height: .86; }
.article__title { font-size: clamp(2.4rem, 6vw, 4.4rem); }

/* Monospace technical labels */
.eyebrow { font-weight: 700; letter-spacing: .18em; }
.nav__links a { font-family: var(--mono); font-size: .76rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }

/* ---------- Section numbering + ruler ---------- */
main { counter-reset: sec; }
.section { counter-increment: sec; }
.section__head .eyebrow::before {
  content: counter(sec, decimal-leading-zero) " //";
  width: auto; height: auto; background: none; color: var(--gold-ink); font-weight: 700;
}
.section__head { position: relative; padding-bottom: 28px; }
.section__head::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 10px;
  background:
    linear-gradient(var(--line-strong), var(--line-strong)) 0 100% / 100% 1px no-repeat,
    repeating-linear-gradient(90deg, var(--line-strong) 0 1px, transparent 1px 12px) 0 100% / 100% 6px no-repeat,
    repeating-linear-gradient(90deg, var(--gold) 0 2px, transparent 2px 120px) 0 100% / 100% 10px no-repeat;
}

/* ---------- Blueprint grid ---------- */
.section, .page-hero, .article {
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 48px 48px;
}
.section--alt { background-color: var(--bg-2); }

/* ---------- Hard edges everywhere ---------- */
.nav__links a, .icon-btn, .lang-switch, .hero__kicker, .hero__kicker b, .chip, .tag, .badge,
.member--champ .member__photo::after, .socials a, .news-years, .news-years__btn,
.slider__btn, .lightbox__btn, .to-top, .slider__thumb, .field input, .field select, .field textarea {
  border-radius: 2px;
}
.nav__links a { padding: .55em .8em; }
.nav__links a:hover, .nav__links a.is-active { background: transparent; box-shadow: inset 0 -2px 0 var(--gold); }

/* ---------- Chamfered buttons ---------- */
.btn {
  border-radius: 0;
  clip-path: polygon(var(--chamfer) 0, 100% 0, 100% calc(100% - var(--chamfer)), calc(100% - var(--chamfer)) 100%, 0 100%, 0 var(--chamfer));
  font-family: var(--mono); font-size: .82rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  padding: 1.05em 1.6em;
}
.btn--sm { font-size: .72rem; padding: .8em 1.15em; --chamfer: 7px; }
.btn--gold { box-shadow: none; }
.btn--gold:hover { box-shadow: none; filter: brightness(1.08); }
.btn--ghost, .btn--light, .btn--outline-dark { background: color-mix(in srgb, currentColor 6%, transparent); }

/* ---------- Corner brackets on solid cards ---------- */
.spec, .benefit, .way:not(.way--hot), .partner, .pipeline, .thanks, .form, .pdf-card,
.article-pager__item, .join, .value, .archive a {
  --b: var(--bracket);
  background:
    linear-gradient(var(--b), var(--b)) 0 0 / 14px 2px no-repeat,
    linear-gradient(var(--b), var(--b)) 0 0 / 2px 14px no-repeat,
    linear-gradient(var(--b), var(--b)) 100% 0 / 14px 2px no-repeat,
    linear-gradient(var(--b), var(--b)) 100% 0 / 2px 14px no-repeat,
    linear-gradient(var(--b), var(--b)) 0 100% / 14px 2px no-repeat,
    linear-gradient(var(--b), var(--b)) 0 100% / 2px 14px no-repeat,
    linear-gradient(var(--b), var(--b)) 100% 100% / 14px 2px no-repeat,
    linear-gradient(var(--b), var(--b)) 100% 100% / 2px 14px no-repeat,
    var(--surface);
}
.join { background-color: transparent; }
.section:not(.section--alt) .value { --b: var(--bracket); }
.spec:hover, .partner:hover, .pdf-card:hover, .article-pager__item:hover { transform: none; border-color: var(--gold); }
.spec__icon { border-radius: 2px; background: transparent; border: 1px solid currentColor; }

/* Media: hard frames */
.robot__media, .trophy, .gallery figure, .member, .news-card, .showcase figure, .sponsor-tile,
.mayor__doc, .prose figure img, .prose .news-video, .partner__logo {
  border-radius: 2px;
}
.member, .news-card, .trophy { border-color: var(--line-strong); }
.news-card:hover, .sponsor-tile:hover { transform: none; }
.news-card:hover { border-color: var(--gold); }
.mayor__doc { transform: none; border: 6px solid #fff; }
.mayor__doc:hover { transform: none; }

/* ---------- Ticker + CTA band ---------- */
.ticker__item { font-stretch: 75%; font-weight: 900; font-size: 1.25rem; letter-spacing: .04em; }
.ticker__item::after { content: "■"; font-size: .6rem; }
.cta-band__big { font-stretch: 75%; }

/* ---------- Stats + timeline as instrument readouts ---------- */
.stat { position: relative; }
.stat::before {
  content: ""; position: absolute; top: -1px; left: 0; width: 28px; height: 3px; background: var(--gold);
}
.stat:not(:first-child)::before { left: 24px; }
.stat__l { font-weight: 700; }
.tl-item { border-top-color: var(--line-strong); }
.tl-item::before {
  content: ""; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; background: var(--gold);
}
.tl-year { font-size: clamp(2.8rem, 5.6vw, 4.4rem); }

/* ---------- Hero ---------- */
.hero__kicker { padding: 7px 14px 7px 7px; }
.hero__kicker b { padding: 3px 10px; }
.hero__title .outline { -webkit-text-stroke-width: 2.5px; }

/* ---------- Team ---------- */
.member__photo img { filter: grayscale(1) contrast(1.15); }
.member__photo::before {
  content: ""; position: absolute; inset: 12px; z-index: 1; pointer-events: none;
  background:
    linear-gradient(#fff, #fff) 0 0 / 18px 2px no-repeat, linear-gradient(#fff, #fff) 0 0 / 2px 18px no-repeat,
    linear-gradient(#fff, #fff) 100% 100% / 18px 2px no-repeat, linear-gradient(#fff, #fff) 100% 100% / 2px 18px no-repeat;
  opacity: .7;
}

/* ---------- News ---------- */
.news-years { background-color: color-mix(in srgb, var(--bg) 92%, transparent); }
.news-card__img img { filter: saturate(.85) contrast(1.05); }
.news-card__img--empty span { font-stretch: 75%; font-size: 4rem; }

/* ---------- Footer ---------- */
.footer__word { font-stretch: 75%; font-size: min(17.5vw, 14rem); letter-spacing: 0; }
