/*
  Bunntek typography
  Place your licensed font files here:
  assets/fonts/Armegoe.ttf
  assets/fonts/nexarustsans-black.otf
*/
@font-face {
  font-family: "Armegoe";
  src: url("assets/fonts/Armegoe.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nexa Rust Sans";
  src: url("assets/fonts/nexarustsans-black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --blue: #5782BB;
  --blue-deep: #466fA6;
  --grey: #36393F;
  --fur: #CFDDE6;
  --snow: #FFFFFF;
  --ink: #25292E;
  --muted: #727A83;
  --line: #E5E9ED;
  --soft: #F5F7F9;
  --radius: 24px;
  --shadow: 0 24px 70px rgba(30, 40, 52, .11);
  --font-body: "Armegoe", "Segoe UI", Arial, sans-serif;
  --font-display: "Nexa Rust Sans", "Arial Black", Impact, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--snow);
  font-family: var(--font-body);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.shell { width: min(1180px, calc(100% - 44px)); margin: 0 auto; }
.section { padding: 118px 0; }

h1, h2, h3, .brand, .status, .button, .kicker, .pill, .project-meta, .ticker-track, .orbit-label {
  font-family: var(--font-display);
  font-weight: 900;
}

.site-header {
  position: fixed; inset: 16px 0 auto 0; z-index: 100;
  background: transparent;
  border-bottom: 0;
}
.nav-shell {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border: 1px solid rgba(217,223,229,.9);
  border-radius: 26px;
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(18px) saturate(165%);
  box-shadow: 0 22px 60px rgba(33, 44, 58, .12);
}
.brand { display: inline-flex; align-items: center; gap: 12px; font-size: 15px; letter-spacing: .05em; }
.brand img { width: 42px; height: 42px; object-fit: contain; }
.brand-stack { display:flex; flex-direction:column; gap:2px; }
.brand-stack span { font-size:15px; letter-spacing:.08em; }
.brand-stack small { font-family: var(--font-body); font-size:11px; color:#86909A; letter-spacing:.04em; }
.nav {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px;
  border: 1px solid rgba(227,232,237,.95);
  border-radius: 20px;
  background: rgba(249,251,252,.82);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  color: #5D656E;
  font-size: 13px;
}
.nav a {
  min-height: 42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 0 14px;
  border-radius: 14px;
}
.nav a { transition: color .2s ease, transform .2s ease, background .2s ease, box-shadow .2s ease; }
.nav a:hover { color: var(--ink); background:#fff; box-shadow:0 10px 24px rgba(30,40,52,.08); }
.menu-button { display: none; border: 0; background: transparent; padding: 10px; cursor: pointer; }
.menu-button span { display: block; width: 23px; height: 2px; background: var(--grey); margin: 5px 0; }


.site-header {
  transition: inset .22s ease;
}
.nav-shell {
  transition: min-height .22s ease, padding .22s ease, background .22s ease,
              border-color .22s ease, box-shadow .22s ease, border-radius .22s ease;
}
.brand img,
.brand-stack small {
  transition: width .22s ease, height .22s ease, opacity .22s ease, transform .22s ease;
}
.site-header.is-scrolled {
  inset: 8px 0 auto 0;
}
.site-header.is-scrolled .nav-shell {
  min-height: 66px;
  padding-top: 6px;
  padding-bottom: 6px;
  background: rgba(255,255,255,.94);
  border-color: rgba(208,216,224,.98);
  box-shadow: 0 16px 42px rgba(33,44,58,.15);
  border-radius: 22px;
}
.site-header.is-scrolled .brand img {
  width: 36px;
  height: 36px;
}
.site-header.is-scrolled .brand-stack small {
  opacity: 0;
  transform: translateY(-3px);
  height: 0;
  overflow: hidden;
}
.nav a.is-active {
  color: #3F6799;
  background: rgba(87,130,187,.10);
  box-shadow: inset 0 0 0 1px rgba(87,130,187,.13);
}

.hero {
  min-height: auto; padding: 176px 0 104px; position: relative; overflow: hidden;
  background: linear-gradient(180deg,#fff 0%,#FBFCFD 100%);
}
.hero-grid {
  position: absolute; inset: 0; opacity: .46;
  background-image: linear-gradient(#EEF1F4 1px,transparent 1px),linear-gradient(90deg,#EEF1F4 1px,transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom,rgba(0,0,0,.72),transparent 88%);
}
.hero::before {
  content:""; position:absolute; width:620px;height:620px;right:-180px;top:40px;border-radius:50%;
  background: radial-gradient(circle,rgba(87,130,187,.14),rgba(87,130,187,0) 68%);
}
.hero-layout { position: relative; display: grid; grid-template-columns: 1fr; align-items: start; gap: 52px; }
.hero-copy { position: relative; z-index: 4; max-width: 940px; width:100%; margin:0 auto; text-align:center; }
.pill {
  display: inline-flex; align-items:center; gap:9px; padding: 8px 12px; border:1px solid var(--line);
  border-radius:999px; color:#69717A; background:rgba(255,255,255,.78); font-size:10px; letter-spacing:.05em;
  text-transform:uppercase;
}
.pill span { width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(87,130,187,.12); }
.hero h1 {
  margin: 24px 0 22px; font-size: clamp(58px,6.4vw,90px); line-height:.95;
  letter-spacing:-.045em; color:#25292E;
}
.hero h1 em { font-style: normal; color: var(--blue); }
.hero-copy > p:not(.hero-note) { max-width: 720px; margin: 0 auto; color:#69717A; font-size:19px; line-height:1.65; }
.hero-actions { display:flex; justify-content:center; gap:12px; margin-top:34px; }
.button {
  min-height:49px; display:inline-flex; align-items:center; justify-content:center; gap:12px;
  border-radius:12px; padding:0 18px; font-size:13px; border:1px solid transparent; transition:.2s ease; cursor:pointer;
}
.button:hover { transform: translateY(-2px); }
.primary { background:var(--blue); color:white; box-shadow:0 12px 28px rgba(87,130,187,.25); }
.primary:hover { background:var(--blue-deep); }
.ghost { background:rgba(255,255,255,.72); border-color:#DFE4E8; color:#40464D; }
.ghost:hover { border-color:#C7CFD6; background:white; }
.hero-note { margin: 24px 0 0 !important; color:#9AA1A8 !important; font-size:13px !important; line-height:1.4 !important; }

.hero-showcase {
  min-height: 0;
  display:block;
  width:100%;
}
.product-gallery-frame {
  width:100%;
  border:1px solid rgba(217,223,229,.98);
  border-radius:30px;
  padding:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,249,251,.98));
  box-shadow:0 28px 70px rgba(41,53,67,.10), inset 0 1px 0 rgba(255,255,255,.92);
  position:relative;
}
.product-gallery-frame::after {
  content:"";
  position:absolute;
  inset:10px;
  border-radius:22px;
  border:1px solid rgba(235,239,243,.96);
  pointer-events:none;
}
.gallery-topbar {
  position:relative;
  z-index:2;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 6px 16px;
}
.showcase-kicker {
  display:block;
  margin-bottom:7px;
  color:var(--blue);
  font-family:var(--font-display);
  font-size:9px;
  letter-spacing:.16em;
}
.gallery-topbar strong { font-size:18px; line-height:1.4; color:#323942; }
.gallery-badge {
  flex:0 0 auto;
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(87,130,187,.22);
  background:rgba(87,130,187,.08);
  color:#5E7FA8;
  font-size:11px;
  letter-spacing:.04em;
}
.gallery-stage {
  position:relative;
  z-index:2;
}
.gallery-feature-card {
  display:grid;
  grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);
  min-height:490px;
  border:1px solid rgba(218,224,230,.98);
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 20px 48px rgba(44,54,66,.08);
}
.gallery-feature-copy {
  display:flex;
  flex-direction:column;
  border-right:1px solid #E9EDF0;
  background:linear-gradient(145deg,#FFFFFF,#F7F9FB);
}
.showcase-head {
  min-height:52px;
  padding:0 18px;
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid #EDF0F2;
  color:#78828B;
  font-size:9px;
  letter-spacing:.06em;
}
.showcase-head strong {
  color:#3C444D;
  font-size:12px;
  font-family:var(--font-display);
  letter-spacing:.03em;
}
.showcase-head span { margin-left:auto; }
.gallery-feature-text {
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px 34px 38px;
}
.gallery-feature-number {
  display:block;
  margin-bottom:14px;
  color:#91A7C2;
  font-family:var(--font-display);
  font-size:10px;
  letter-spacing:.14em;
}
.gallery-feature-text h3 {
  margin:0 0 15px;
  font-size:clamp(34px,4vw,54px);
  line-height:.98;
  letter-spacing:-.035em;
}
.gallery-feature-text p {
  margin:0;
  color:#6F7881;
  font-size:15px;
  line-height:1.67;
}
.gallery-feature-tags {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:24px;
}
.gallery-feature-tags span {
  padding:7px 10px;
  border:1px solid rgba(87,130,187,.17);
  border-radius:9px;
  background:rgba(87,130,187,.06);
  color:#617D9E;
  font-size:10px;
  letter-spacing:.04em;
}
.gallery-feature-media {
  min-width:0;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    linear-gradient(#EEF2F5 1px,transparent 1px),
    linear-gradient(90deg,#EEF2F5 1px,transparent 1px),
    #F6F8FA;
  background-size:34px 34px;
}
.gallery-feature-media img {
  width:100%;
  height:100%;
  max-height:445px;
  object-fit:contain;
  border-radius:18px;
  background:#EEF2F5;
  box-shadow:0 16px 34px rgba(43,55,67,.10);
  transition:opacity .18s ease, transform .18s ease;
}
.gallery-feature-card.is-changing .gallery-feature-media img {
  opacity:.35;
  transform:scale(.992);
}
.gallery-thumbs {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.gallery-thumb {
  min-width:0;
  display:grid;
  grid-template-columns:58px 1fr;
  gap:10px;
  align-items:center;
  min-height:78px;
  padding:9px;
  border:1px solid #E1E6EA;
  border-radius:16px;
  background:#fff;
  color:#606A74;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.gallery-thumb:hover {
  transform:translateY(-2px);
  border-color:#C9D4DF;
  box-shadow:0 12px 26px rgba(38,50,62,.08);
}
.gallery-thumb.is-active {
  border-color:rgba(87,130,187,.46);
  background:#F4F8FC;
  box-shadow:0 12px 28px rgba(87,130,187,.10);
}
.gallery-thumb img {
  width:58px;
  height:58px;
  object-fit:cover;
  border-radius:11px;
  background:#EEF2F5;
}
.gallery-thumb span { min-width:0; }
.gallery-thumb strong,
.gallery-thumb small {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gallery-thumb strong {
  color:#343B42;
  font-size:11px;
  line-height:1.3;
}
.gallery-thumb small {
  margin-top:5px;
  color:#8B949D;
  font-size:10px;
}

.product-gallery-frame {
  padding: 20px;
  box-shadow: 0 24px 58px rgba(41,53,67,.09);
}
.product-gallery-frame::after {
  display: none;
}
.gallery-feature-card {
  border-color: rgba(225,230,235,.90);
  box-shadow: 0 14px 38px rgba(44,54,66,.07);
}
.gallery-feature-media img {
  box-shadow: 0 10px 24px rgba(43,55,67,.08);
}
.product-rail {
  display: grid;
  grid-template-columns: repeat(6, minmax(165px, 1fr));
  gap: 10px;
  overflow-x: auto;
  padding: 2px 1px 7px;
  scrollbar-width: thin;
  scrollbar-color: #CAD4DD transparent;
}
.product-rail .gallery-thumb {
  min-width: 165px;
  grid-template-columns: 64px 1fr;
  min-height: 86px;
  padding: 10px;
}
.product-rail .gallery-thumb img {
  width: 64px;
  height: 64px;
}
.product-rail .gallery-thumb strong {
  font-size: 12px;
}
.product-rail .gallery-thumb small {
  font-size: 10px;
}

.ticker { padding: 10px 0 0; background:transparent; }
.ticker-shell { display:flex; justify-content:center; }
.ticker-window {
  position:relative;
  width:100%;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,#F8FAFB,#F4F7FA);
  box-shadow:0 14px 34px rgba(36,47,60,.05), inset 0 1px 0 rgba(255,255,255,.82);
}
.ticker-window::before,
.ticker-window::after {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:90px;
  z-index:2;
  pointer-events:none;
}
.ticker-window::before { left:0; background:linear-gradient(90deg,#F8FAFB 10%,rgba(248,250,251,0)); }
.ticker-window::after { right:0; background:linear-gradient(270deg,#F8FAFB 10%,rgba(248,250,251,0)); }
.ticker-track { width:max-content; height:58px; display:flex; align-items:center; gap:34px; padding:0 22px; animation:ticker 24s linear infinite; color:#8C939B; font-size:10px;letter-spacing:.11em; }
.ticker-track b { color:#B9C0C7; font-size:12px; }
@keyframes ticker { from { transform:translateX(0); } to { transform:translateX(-50%); } }

.section-head { display:grid; grid-template-columns: 1fr .8fr; gap:90px; align-items:end; margin-bottom:48px; }
.kicker { display:block; margin-bottom:16px; color:var(--blue); font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.section-head h2, .approach-intro h2, .about h2, .section-head p { margin:0 0 4px; color:#777E86; font-size:16px; line-height:1.72; max-width:530px; }

.projects-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.project { min-width:0; border:1px solid var(--line); border-radius:var(--radius); background:#F6F8FA; overflow:hidden; position:relative; min-height:620px; }
.project-wide { grid-column:1/-1; min-height:560px; display:grid;grid-template-columns:.72fr 1.28fr; }
.project-full { grid-column:1/-1; }
.project-copy { padding:38px; position:relative; z-index:2; }
.compact-copy { padding-bottom:22px; }
.product-topline { display:flex;align-items:center;gap:16px;margin-bottom:34px; }
.project-number { display:block; color:#9DA4AC; font-family:var(--font-display);font-size:10px;letter-spacing:.12em; }
.status { padding:6px 8px;border-radius:7px;font-size:8px;letter-spacing:.08em;white-space:nowrap; }
.status-build { color:#426A9E;background:rgba(87,130,187,.10);border:1px solid rgba(87,130,187,.18); }
.status-concept { color:#6D747C;background:rgba(255,255,255,.55);border:1px solid rgba(67,75,84,.13); }
.status-dark { color:#CBC2B5;background:rgba(164,127,72,.10);border:1px solid rgba(183,145,84,.18); }
.status-hardware { color:#A9D0FF;background:rgba(87,130,187,.12);border:1px solid rgba(87,130,187,.20); }
.project-meta { display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px; }
.project-meta span { padding:6px 8px;border:1px solid rgba(67,75,84,.14);border-radius:7px;font-size:8px;letter-spacing:.07em;color:#6C737C;background:rgba(255,255,255,.56); }
.project h3 { margin:0 0 12px; font-size:clamp(32px,3.5vw,50px); letter-spacing:-.03em; line-height:.98; }
.project p { max-width:500px; margin:0; color:#6F767F; font-size:15px; line-height:1.65; }
.project-link { display:inline-flex; align-items:center;gap:8px;margin-top:26px;color:#4D5966;font-size:13px; }
.project-link b { color:var(--blue); }
.project-image { overflow:hidden; position:relative; }
.project-image img { width:100%;height:100%;object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.project:hover .project-image img { transform:scale(1.018); }
.project-blue { background:linear-gradient(145deg,#EDF4FB,#F7F9FB 48%); }
.project-blue::before { content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:rgba(87,130,187,.10);left:-180px;bottom:-250px; }
.mold-image { margin:52px 0 0; border-radius:18px 0 0 0;box-shadow:-15px 25px 55px rgba(55,75,98,.14); border:1px solid rgba(55,75,98,.11);border-right:0;border-bottom:0; }
.mold-image img { object-position:center; }
.project-dark { background:#2F3338;color:white; }
.project-dark .project-number {color:#8A939E}.project-dark .project-meta span{color:#BAC1C8;border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.04)}.project-dark p{color:#AEB6BF}.project-dark h3{color:white}
.portrait-image { height:390px;margin:0 26px 26px;border-radius:16px; }
.project-dark .portrait-image { box-shadow:0 22px 40px rgba(0,0,0,.23); }
.project-dark .portrait-image img { object-position:50% 67%; }
.project-flight { background:linear-gradient(145deg,#F5F7FF,#EEF2FF); }
.flight-card-image { box-shadow:0 22px 45px rgba(57,72,133,.14);border:1px solid rgba(57,72,133,.08); }
.flight-card-image img { object-position:left center; }


.project-rotary { min-height:760px;background:linear-gradient(145deg,#11161B,#181E25);color:white; }
.project-rotary h3{color:#fff}.project-rotary p{color:#B9C3CE;max-width:640px}.project-rotary .project-meta span{color:#B9D1EC;border-color:rgba(170,195,228,.16);background:rgba(255,255,255,.04)}
.rotary-layout { display:grid;grid-template-columns:1.18fr .82fr;gap:28px;align-items:end; }
.rotary-copy { padding-bottom:24px; }
.rotary-note { padding:40px 38px 38px;color:#C5D3E1;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end; }
.rotary-note small { display:block;font-family:var(--font-display);font-size:8px;letter-spacing:.15em;margin-bottom:12px;color:#87A8CE; }
.rotary-note strong { font-family:var(--font-display);font-size:25px;line-height:1.08;color:#F4F8FC; }
.rotary-highlights { display:flex;gap:10px;flex-wrap:wrap;margin-top:26px; }
.rotary-highlights span { padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);font-size:11px;letter-spacing:.03em;color:#D7E4F2; }
.rotary-visual { margin:0 22px 22px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 58px rgba(0,0,0,.25);background:#0D1115; }
.rotary-visual img { width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center; transition:transform .55s ease; }
.project-rotary:hover .rotary-visual img { transform:scale(1.016); }

.smartboard { background:#F1EFEB;min-height:760px; }
.smartboard-copy { display:grid;grid-template-columns:1.2fr .8fr;gap:35px;align-items:end; }
.smartboard-statement { padding:42px 48px;color:#77736D; }
.smartboard-statement small { display:block;font-family:var(--font-display);font-size:8px;letter-spacing:.14em;margin-bottom:12px; }
.smartboard-statement strong { font-family:var(--font-display);font-size:25px;line-height:1.05;color:#3F4143; }
.smartboard-gallery { display:grid;grid-template-columns:1.55fr .75fr;gap:14px;padding:0 20px 20px;height:480px; }
.smartboard-gallery > div { overflow:hidden;border-radius:16px;background:#E7E2DB; }
.smartboard-gallery img { width:100%;height:100%;object-fit:cover;transition:transform .55s ease; }
.smartboard:hover .smartboard-gallery img { transform:scale(1.016); }
.gallery-large img { object-position:center; }
.gallery-small img { object-position:50% 24%; }

.project-foundry { min-height:690px;background:#181816;color:white; }
.foundry-content { display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:end; }
.project-foundry h3{color:#fff}.project-foundry p{color:#B7B1A7}.project-foundry .project-meta span{color:#CBBB9F;background:rgba(154,119,63,.11);border-color:rgba(182,144,80,.18)}
.foundry-stat { padding:40px;color:#BFB7AA; }.foundry-stat small{display:block;color:#8F8677;font-family:var(--font-display);font-size:8px;letter-spacing:.15em;margin-bottom:12px}.foundry-stat strong{font-family:var(--font-display);font-size:21px;line-height:1.18;color:#DDD5C9}
.foundry-image { height:470px;margin:0 22px 22px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:#0C0C0B; }
.foundry-image img { object-fit:contain; }

.capabilities-section {
  background:#F5F7F9;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.capabilities-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.capability-card {
  min-height:390px;
  padding:28px;
  border:1px solid #DEE4E9;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#F8FAFB);
  box-shadow:0 18px 44px rgba(37,49,61,.06);
  position:relative;
  overflow:hidden;
}
.capability-card::after {
  content:"";
  position:absolute;
  inset:9px;
  border:1px solid rgba(235,239,242,.95);
  border-radius:17px;
  pointer-events:none;
}
.capability-number {
  position:relative;
  z-index:1;
  color:#9AA7B4;
  font-family:var(--font-display);
  font-size:9px;
  letter-spacing:.14em;
}
.capability-icon {
  position:relative;
  z-index:1;
  width:66px;
  height:66px;
  margin:70px 0 28px;
  display:grid;
  place-items:center;
  border:1px solid rgba(87,130,187,.22);
  border-radius:18px;
  background:rgba(87,130,187,.08);
  color:var(--blue);
  font-family:var(--font-display);
  font-size:16px;
}
.capability-card h3 {
  position:relative;
  z-index:1;
  margin:0 0 12px;
  font-size:30px;
  line-height:1.05;
  letter-spacing:-.025em;
}
.capability-card p {
  position:relative;
  z-index:1;
  margin:0;
  color:#747D86;
  font-size:14px;
  line-height:1.65;
}
.capability-products {
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:24px;
}
.capability-products span {
  padding:7px 9px;
  border:1px solid #DEE4E8;
  border-radius:9px;
  background:rgba(255,255,255,.8);
  color:#64717D;
  font-size:10px;
}
.capability-card-dark {
  background:linear-gradient(145deg,#2C3137,#393F46);
  border-color:#2E343A;
  color:#fff;
}
.capability-card-dark::after { border-color:rgba(255,255,255,.06); }
.capability-card-dark .capability-number { color:#8294A8; }
.capability-card-dark .capability-icon {
  border-color:rgba(144,182,225,.20);
  background:rgba(87,130,187,.13);
  color:#A9C7E9;
}
.capability-card-dark h3 { color:#fff; }
.capability-card-dark p { color:#B7C0C9; }
.capability-card-dark .capability-products span {
  border-color:rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:#CBD4DD;
}


.about-copy h2 {
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(34px,4vw,52px);
  line-height: 1;
  letter-spacing: -.03em;
}
.about-copy > .kicker {
  margin-bottom: 16px;
}
.about-copy > p {
  margin-top: 0;
}

.about { padding-top:80px; }
.about-card { min-height:560px;padding:64px;border-radius:32px;background:var(--grey);color:white;display:grid;grid-template-columns:.68fr 1.32fr;gap:48px;align-items:center;position:relative;overflow:hidden; }
.about-card::before { content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(255,255,255,.05);border-radius:50%;left:-250px;top:-150px;box-shadow:0 0 0 80px rgba(255,255,255,.018),0 0 0 160px rgba(255,255,255,.012); }
.about-brand-card { position:relative;z-index:1;border-radius:24px;overflow:hidden;background:#2A2E33;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 55px rgba(0,0,0,.22); }
.about-brand-card img { width:100%;aspect-ratio:2047/1190;object-fit:cover;object-position:center; }
.light-kicker { color:#9BB8DD; }
.about h2 { color:#fff; }.about h2 span{color:#A9C3E3;}
.about-copy { position:relative;z-index:1; }
.about-copy > p { color:#B6BDC6;line-height:1.72;font-size:16px;max-width:760px;margin:25px 0 0; }

.closing {
  padding-top: 30px;
}
.closing-card {
  min-height: 430px;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:32px;
  align-items:center;
  padding:28px;
  border:1px solid var(--line);
  border-radius:30px;
  background:linear-gradient(135deg,#FFFFFF,#F4F7FA);
  box-shadow:0 24px 70px rgba(31,43,57,.07);
  overflow:hidden;
}
.closing-copy {
  padding: 34px 28px 34px 36px;
}
.closing-brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:28px;
  font-family:var(--font-display);
  font-size:12px;
  letter-spacing:.08em;
  color:#4A535D;
}
.closing-brand img {
  width:38px;
  height:38px;
  object-fit:contain;
}
.closing h2 {
  margin:0;
  color:#292D32;
  font-size:clamp(44px,5vw,68px);
  line-height:.98;
  letter-spacing:-.035em;
}
.closing p {
  max-width:520px;
  color:#737B83;
  font-size:16px;
  line-height:1.65;
  margin:22px 0 30px;
}
.closing-banner {
  align-self:stretch;
  min-height:340px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(54,57,63,.12);
  background:#2F3338;
  box-shadow:0 18px 42px rgba(31,41,53,.16);
}
.closing-banner img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}


.contact-section {
  padding-top: 36px;
}
.contact-card {
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:42px;
  padding:34px;
  border:1px solid var(--line);
  border-radius:30px;
  background:linear-gradient(145deg,#F7F9FB,#FFFFFF);
  box-shadow:0 24px 64px rgba(36,48,60,.07);
}
.contact-intro {
  padding:28px 20px 28px 28px;
}
.contact-intro h2 {
  margin:0 0 20px;
  font-size:clamp(42px,5vw,68px);
  line-height:.98;
  letter-spacing:-.035em;
}
.contact-intro > p {
  max-width:520px;
  margin:0;
  color:#727C86;
  font-size:16px;
  line-height:1.7;
}
.contact-intro > p a {
  color:var(--blue);
}
.contact-note {
  margin-top:30px;
  padding:16px 18px;
  border:1px solid #E1E6EA;
  border-radius:16px;
  background:#fff;
  color:#727C86;
  font-size:13px;
  line-height:1.55;
}
.contact-note strong {
  color:#424B54;
}
.contact-form {
  padding:24px;
  border:1px solid #E0E6EB;
  border-radius:24px;
  background:#fff;
  box-shadow:0 15px 38px rgba(36,48,60,.05);
}
.contact-field-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.contact-form label {
  display:block;
  margin-bottom:14px;
}
.contact-form label > span {
  display:block;
  margin:0 0 7px 2px;
  color:#65717C;
  font-size:12px;
}
.contact-form input,
.contact-form textarea {
  width:100%;
  border:1px solid #DDE3E8;
  border-radius:13px;
  background:#F8FAFB;
  color:#2C333A;
  outline:none;
  padding:13px 14px;
  font-family:var(--font-body);
  font-size:14px;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.contact-form textarea {
  resize:vertical;
  min-height:150px;
}
.contact-form input:focus,
.contact-form textarea:focus {
  border-color:rgba(87,130,187,.64);
  background:#fff;
  box-shadow:0 0 0 4px rgba(87,130,187,.10);
}
.contact-form-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:4px;
}
.contact-form-bottom p {
  max-width:390px;
  margin:0;
  color:#89929B;
  font-size:11px;
  line-height:1.5;
}
.contact-form-bottom p a {
  color:#667C96;
  text-decoration:underline;
  text-underline-offset:2px;
}

footer { margin-top:40px;background:#2F3237;color:#ABB2BA; }
.footer-top { min-height:160px;display:grid;grid-template-columns:1fr 1fr auto;gap:35px;align-items:center; }
.footer-brand span { color:#fff; }.footer-top p{font-size:13px;line-height:1.6;margin:0;text-align:center}.footer-links{display:flex;gap:22px;font-size:13px}.footer-links a:hover{color:#fff}
.footer-bottom { min-height:58px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;gap:18px;color:#757D85;font-size:11px; }

.reveal { opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease; }
.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}

@media (max-width: 1040px) {
  .site-header { inset: 10px 0 auto 0; }
  .hero { min-height:auto; }
  .hero-layout { grid-template-columns:1fr;gap:40px; }
  .hero-copy { max-width:860px; }
  .hero-showcase { min-height:auto; }
  .section-head,.project-wide { grid-template-columns:1fr; }
  .mold-image { margin:0 24px 24px;border-radius:16px; }
  .smartboard-copy { grid-template-columns:1fr; }
  .smartboard-statement { padding:0 38px 36px; }
  .rotary-layout { grid-template-columns:1fr; }
  .rotary-note { padding:0 38px 32px; }
  .about-card { grid-template-columns:1fr; }
  .about-brand-card { max-width:520px; }
  .nav { gap:6px; }
}


@media (max-width: 760px) {
  .site-header { inset: 0 0 auto 0; }
  .shell { width:min(100% - 28px,1180px); }
  .section { padding:82px 0; }
  .nav-shell { min-height:68px; padding:10px 12px; border-radius:0 0 20px 20px; }
  .brand-stack small { display:none; }
  .menu-button { display:block; }
  .nav { position:absolute;top:74px;left:14px;right:14px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 45px rgba(30,40,50,.12); }
  .nav.open { display:flex; }
  .nav a { min-height:44px; padding:13px 12px; border-radius:12px; }
  .hero { padding:112px 0 76px; }
  .hero h1 { font-size:clamp(52px,14.5vw,72px); }
  .hero-copy > p:not(.hero-note) { font-size:17px; }
  .hero-actions { flex-direction:column;align-items:stretch; justify-content:center; }.button{width:100%}
  .hero-showcase { min-height:auto; margin-top:20px; }
  .product-gallery-frame { padding:14px; border-radius:24px; }
  .gallery-topbar { align-items:flex-start; flex-direction:column; padding:0 2px 14px; }
  .gallery-badge { min-height:32px; }
  .ticker-window { width:100%; }
  .projects-grid { grid-template-columns:1fr; }
  .project,.project-wide,.project-full { grid-column:auto;min-height:auto; }
  .project-copy { padding:28px; }.product-topline{margin-bottom:28px}.project h3{font-size:38px}.project p{font-size:14px}
  .portrait-image { height:330px;margin:0 18px 18px; }
  .rotary-note { padding:0 28px 28px; }
  .rotary-note strong { font-size:22px; }
  .rotary-visual { margin:0 14px 14px; }
  .rotary-highlights span { font-size:10px; }
  .smartboard-gallery { height:auto;grid-template-columns:1fr;padding:0 14px 14px; }.gallery-large{height:290px}.gallery-small{height:300px}.smartboard-statement{padding:0 28px 28px}.smartboard-statement strong{font-size:22px}
  .foundry-content{grid-template-columns:1fr}.foundry-stat{display:none}.foundry-image{height:260px;margin:0 14px 14px}
  .about-card { padding:36px 26px;border-radius:24px;gap:35px; }.about-brand-card { border-radius:18px; }.about h2,.footer-top { grid-template-columns:1fr;gap:22px;padding:36px 0;text-align:left}.footer-top p{text-align:left}.footer-links{flex-wrap:wrap}.footer-bottom{padding:18px 0;min-height:72px;gap:10px;flex-wrap:wrap}
}


@media (max-width: 1040px) {
  .product-rail {
    grid-template-columns: repeat(6, 175px);
  }
  .closing-card {
    grid-template-columns:1fr;
  }
  .closing-banner {
    min-height:300px;
  }
}

@media (max-width: 760px) {
  .site-header.is-scrolled {
    inset:0 0 auto 0;
  }
  .site-header.is-scrolled .nav-shell {
    min-height:60px;
    border-radius:0 0 18px 18px;
  }
  .product-gallery-frame {
    padding:14px;
  }
  .product-rail {
    grid-template-columns: repeat(6, 160px);
    margin-right:-4px;
  }
  .product-rail .gallery-thumb {
    min-width:160px;
    grid-template-columns:52px 1fr;
  }
  .product-rail .gallery-thumb img {
    width:52px;
    height:52px;
  }
  .closing-card {
    padding:18px;
    border-radius:24px;
  }
  .closing-copy {
    padding:24px 10px 8px;
  }
  .closing-banner {
    min-height:230px;
    border-radius:18px;
  }
}


@media (max-width: 900px) {
  .contact-card {
    grid-template-columns:1fr;
    gap:16px;
  }
  .contact-intro {
    padding:18px 12px 8px;
  }
}

@media (max-width: 760px) {
  .contact-card {
    padding:16px;
    border-radius:24px;
  }
  .contact-form {
    padding:18px;
    border-radius:20px;
  }
  .contact-field-row {
    grid-template-columns:1fr;
    gap:0;
  }
  .contact-form-bottom {
    flex-direction:column;
    align-items:stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .reveal { opacity:1;transform:none; }
}

/* Legal pages + consent manager */
.footer-legal { display:flex; align-items:center; justify-content:flex-end; gap:18px; flex-wrap:wrap; }
.footer-legal a, .footer-cookie-button { color:#8E969F; font-size:11px; transition:color .2s ease; }
.footer-legal a:hover, .footer-cookie-button:hover { color:#fff; }
.footer-cookie-button { border:0; padding:0; background:transparent; font-family:var(--font-body); cursor:pointer; }

.legal-nav { display:flex; align-items:center; gap:26px; color:#68717A; font-size:13px; }
.legal-nav a:hover { color:var(--ink); }
.legal-main { min-height:70vh; }
.legal-hero { padding:150px 0 58px; background:linear-gradient(180deg,#fff,#F8FAFC); border-bottom:1px solid var(--line); }
.legal-shell { width:min(980px, calc(100% - 44px)); }
.legal-hero h1 { margin:0; font-size:clamp(58px,8vw,92px); line-height:.95; letter-spacing:-.04em; }
.legal-lead { margin:20px 0 0; max-width:700px; color:#737C85; font-size:18px; line-height:1.65; }
.legal-content-section { padding:72px 0 120px; }
.legal-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:60px; align-items:start; }
.legal-toc { position:sticky; top:112px; display:flex; flex-direction:column; gap:11px; padding:18px; border:1px solid var(--line); border-radius:16px; background:#FAFBFC; }
.legal-toc strong { font-family:var(--font-display); font-size:12px; margin-bottom:6px; }
.legal-toc a { color:#7A838C; font-size:13px; }
.legal-toc a:hover { color:var(--blue); }
.legal-document { min-width:0; }
.legal-required-box { padding:22px 24px; margin-bottom:30px; border:1px solid rgba(87,130,187,.22); border-radius:18px; background:#F2F7FC; }
.legal-required-box strong { display:block; font-family:var(--font-display); font-size:15px; color:#345F94; }
.legal-required-box p { margin:8px 0 0; color:#637181; line-height:1.6; }
.legal-block { padding:10px 0 36px; margin-bottom:26px; border-bottom:1px solid var(--line); scroll-margin-top:120px; }
.legal-block h2 { margin:0 0 17px; font-size:28px; letter-spacing:-.02em; }
.legal-block p { margin:0 0 15px; color:#606A74; font-size:15px; line-height:1.78; }
.legal-block a { color:var(--blue-deep); text-decoration:underline; text-underline-offset:3px; }
.legal-block mark { padding:2px 5px; border-radius:5px; background:#FFF2C7; color:#5F532B; }
.legal-block code { padding:3px 6px; border-radius:6px; background:#EEF2F5; color:#48525C; }
.legal-version { color:#959DA5; font-size:12px; }
.legal-data-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:22px 0; }
.legal-data-grid > div { padding:16px; border:1px solid var(--line); border-radius:14px; background:#FAFBFC; }
.legal-data-grid span { display:block; color:#929AA2; font-size:10px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }
.legal-data-grid strong { display:block; font-size:13px; line-height:1.4; }
.privacy-status-card { margin:24px 0; padding:22px; border-radius:18px; background:var(--grey); color:#fff; }
.privacy-status-card span { display:block; color:#9DB8D8; font-size:10px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:8px; }
.privacy-status-card strong { display:block; font-family:var(--font-display); font-size:20px; line-height:1.2; }
.privacy-status-card p { margin:10px 0 0; color:#BDC6CF; font-size:13px; }
.inline-cookie-link { border:0; padding:0; background:none; color:var(--blue-deep); text-decoration:underline; text-underline-offset:3px; cursor:pointer; font-family:inherit; font-size:inherit; }
.legal-footer-top { min-height:140px; }

.cookie-layer { position:fixed; inset:0; z-index:1000; pointer-events:none; }
.cookie-backdrop { position:absolute; inset:0; background:rgba(25,29,34,.32); opacity:0; transition:opacity .25s ease; }
.cookie-banner { position:absolute; left:24px; right:24px; bottom:24px; max-width:1060px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; padding:24px; border:1px solid rgba(39,47,55,.12); border-radius:22px; background:rgba(255,255,255,.98); box-shadow:0 28px 80px rgba(24,31,39,.24); opacity:0; transform:translateY(24px); transition:.28s ease; }
.cookie-layer.is-visible { pointer-events:auto; }
.cookie-layer.is-visible .cookie-backdrop, .cookie-layer.modal-open .cookie-backdrop { opacity:1; }
.cookie-layer.is-visible .cookie-banner { opacity:1; transform:none; }
.cookie-copy { min-width:0; }
.cookie-kicker { display:block; margin-bottom:8px; color:var(--blue); font-family:var(--font-display); font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.cookie-copy h2 { margin:0 0 8px; font-size:24px; letter-spacing:-.02em; }
.cookie-copy p { margin:0; max-width:710px; color:#6E7780; font-size:13px; line-height:1.6; }
.cookie-copy a { color:#4E74A7; text-decoration:underline; text-underline-offset:3px; }
.cookie-actions { display:flex; gap:9px; flex-wrap:wrap; justify-content:flex-end; }
.cookie-button { min-height:43px; padding:0 15px; border-radius:11px; border:1px solid #DCE2E7; background:#fff; color:#444C55; font-family:var(--font-display); font-size:10px; cursor:pointer; }
.cookie-button.primary-cookie { color:#fff; border-color:var(--blue); background:var(--blue); }
.cookie-button:hover { transform:translateY(-1px); }

.cookie-modal { position:absolute; inset:50% auto auto 50%; width:min(620px,calc(100% - 32px)); max-height:min(780px,calc(100vh - 40px)); overflow:auto; transform:translate(-50%,-48%) scale(.98); padding:28px; border:1px solid rgba(39,47,55,.12); border-radius:24px; background:#fff; box-shadow:0 30px 90px rgba(20,28,37,.30); opacity:0; visibility:hidden; transition:.22s ease; }
.cookie-layer.modal-open { pointer-events:auto; }
.cookie-layer.modal-open .cookie-banner { opacity:0; visibility:hidden; }
.cookie-layer.modal-open .cookie-modal { opacity:1; visibility:visible; transform:translate(-50%,-50%) scale(1); }
.cookie-modal-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:22px; }
.cookie-modal-head h2 { margin:0; font-size:28px; }
.cookie-modal-head p { margin:8px 0 0; color:#737C85; font-size:13px; line-height:1.55; }
.cookie-close { width:38px; height:38px; border:1px solid var(--line); border-radius:10px; background:#fff; cursor:pointer; font-size:20px; }
.consent-row { display:grid; grid-template-columns:1fr auto; gap:18px; padding:18px 0; border-top:1px solid var(--line); }
.consent-row h3 { margin:0 0 5px; font-size:16px; }
.consent-row p { margin:0; color:#78818A; font-size:12px; line-height:1.55; }
.consent-toggle { position:relative; width:48px; height:28px; }
.consent-toggle input { position:absolute; opacity:0; }
.consent-toggle span { display:block; width:48px; height:28px; border-radius:999px; background:#D7DDE2; transition:.2s ease; position:relative; }
.consent-toggle span::after { content:""; position:absolute; width:22px; height:22px; left:3px; top:3px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.2); transition:.2s ease; }
.consent-toggle input:checked + span { background:var(--blue); }
.consent-toggle input:checked + span::after { transform:translateX(20px); }
.consent-toggle input:disabled + span { opacity:.65; }
.cookie-modal-actions { display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; margin-top:24px; }
.cookie-detail-note { margin-top:18px; padding:14px; border-radius:12px; background:#F6F8FA; color:#778089; font-size:11px; line-height:1.55; }

@media (max-width: 760px) {
  .legal-nav { gap:14px; font-size:12px; }
  .legal-nav a:first-child { display:none; }
  .legal-hero { padding:120px 0 44px; }
  .legal-shell { width:min(100% - 28px,980px); }
  .legal-layout { grid-template-columns:1fr; gap:28px; }
  .legal-toc { position:static; }
  .legal-data-grid { grid-template-columns:1fr; }
  .footer-legal { justify-content:flex-start; gap:14px; }
  .cookie-banner { left:12px; right:12px; bottom:12px; grid-template-columns:1fr; gap:18px; padding:20px; }
  .cookie-actions { justify-content:stretch; }
  .cookie-actions .cookie-button { flex:1 1 140px; }
  .cookie-modal { padding:22px 18px; }
  .cookie-modal-actions .cookie-button { flex:1 1 150px; }
}

.hero-copy .pill { margin-left:auto; margin-right:auto; }

.about-copy > .kicker { margin-bottom:18px; }
.about-copy > p:first-of-type { margin-top:0; }

.about-copy > p {
  max-width:720px;
}
.about-card {
  grid-template-columns:.72fr 1.28fr;
}

@media (max-width: 1040px) {
  .gallery-feature-card {
    grid-template-columns:1fr;
  }
  .gallery-feature-copy {
    border-right:0;
    border-bottom:1px solid #E9EDF0;
  }
  .gallery-feature-text {
    padding:30px;
  }
  .gallery-feature-media {
    min-height:380px;
  }
  .gallery-thumbs {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .capabilities-grid {
    grid-template-columns:1fr;
  }
  .capability-card {
    min-height:320px;
  }
  .capability-icon {
    margin-top:42px;
  }
}

@media (max-width: 760px) {
  .gallery-topbar {
    align-items:flex-start;
    flex-direction:column;
  }
  .gallery-feature-media {
    min-height:270px;
    padding:14px;
  }
  .gallery-feature-media img {
    max-height:300px;
  }
  .gallery-feature-text {
    padding:24px;
  }
  .gallery-thumbs {
    grid-template-columns:1fr 1fr;
  }
  .gallery-thumb {
    grid-template-columns:48px 1fr;
    min-height:68px;
  }
  .gallery-thumb img {
    width:48px;
    height:48px;
  }
  .capability-card {
    padding:24px;
  }
}


/* v16 polish */
.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  transform: translateY(-150%);
  padding: 10px 14px;
  border-radius: 10px;
  background: #20252B;
  color: #fff;
  font-family: var(--font-body);
  font-size: 13px;
  transition: transform .18s ease;
}
.skip-link:focus {
  transform: translateY(0);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(87,130,187,.45);
  outline-offset: 3px;
}

.hero-copy {
  max-width: 840px;
}
.hero-actions {
  margin-top: 30px;
}
.gallery-detail-link {
  margin-top: 26px;
  width: fit-content;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 14px;
  border: 1px solid rgba(87,130,187,.20);
  border-radius: 11px;
  background: rgba(87,130,187,.07);
  color: #55789F;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: .04em;
  transition: background .18s ease, transform .18s ease, border-color .18s ease;
}
.gallery-detail-link:hover {
  transform: translateY(-1px);
  background: rgba(87,130,187,.11);
  border-color: rgba(87,130,187,.32);
}

.project[id],
.capabilities-section,
.about,
.contact-section {
  scroll-margin-top: 104px;
}

.error-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background:
    linear-gradient(#EEF1F4 1px, transparent 1px),
    linear-gradient(90deg, #EEF1F4 1px, transparent 1px),
    #F8FAFC;
  background-size: 52px 52px;
}
.error-main {
  width: min(680px, calc(100% - 34px));
  padding: 54px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 26px 70px rgba(35,47,60,.10);
  text-align: center;
}
.error-brand {
  justify-content: center;
  margin-bottom: 28px;
}
.error-code {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: .16em;
  color: var(--blue);
}
.error-main h1 {
  margin: 18px 0 14px;
  font-size: clamp(40px,7vw,66px);
  line-height: .98;
}
.error-main p {
  margin: 0 auto 28px;
  max-width: 480px;
  color: #74808A;
  line-height: 1.6;
}
