*, *::before, *::after { box-sizing: border-box; }

:root {
  --paper: #f7f7f4;
  --white: #ffffff;
  --ink: #252833;
  --muted: #66707c;
  --night: #252833;
  --orange: #ff7100;
  --line: #cfd5da;
  --grid: rgba(55, 78, 99, .08);
  --max: 1440px;
  --gutter: clamp(20px, 4.4vw, 72px);
}

/* One consistent monospace voice for all running copy across inner pages. */
p{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace!important}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family:"Rubik",sans-serif;
}
body.menu-open { overflow: hidden; }
a { color: inherit; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
::selection { background: var(--orange); color: white; }

/* Brand typography */
h1,h2,h3{
  font-family:"Rubik",sans-serif!important;
  font-weight:900!important;
}
:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }

.page-header {
  position: sticky;
  z-index: 30;
  top: 0;
  height: 82px;
  border-bottom: 1px solid var(--line);
  background: rgba(247, 247, 244, .94);
  backdrop-filter: blur(14px);
}
.page-nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
  width: min(100%, var(--max));
  height: 100%;
  margin: auto;
  padding-inline: var(--gutter);
}
.brand {
  display: inline-flex;
  justify-self: start;
  align-items: center;
  gap: 12px;
  direction: ltr;
  text-decoration: none;
}
.brand::before{content:"";display:block;width:clamp(112px,9vw,154px);aspect-ratio:930.03/313.46;background:url("assets/brand-logo.svg") center/contain no-repeat;filter:brightness(0)}
.brand .brand-mark,.brand .brand-name{display:none}
.brand-mark { display: grid; width: 42px; gap: 5px; }
.brand-mark::before, .brand-mark::after, .brand-mark i {
  display: block;
  height: 6px;
  background: var(--orange);
  content: "";
}
.brand-mark::before { width: 72%; margin-left: auto; }
.brand-mark i { width: 86%; margin-left: auto; }
.brand-name { font-size: 21px; font-weight: 700; white-space: nowrap; }
.page-links { display: flex; gap: clamp(22px, 3vw, 48px); margin: 0; padding: 0; list-style: none; }
.page-links a {
  position: relative;
  padding-block: 28px;
  color: #323b45;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}
.page-links a::after {
  position: absolute;
  right: 0;
  bottom: 18px;
  left: 0;
  height: 2px;
  background: var(--orange);
  content: "";
  transform: scaleX(0);
  transition: transform 200ms ease;
}
.page-links a:hover::after, .page-links a[aria-current="page"]::after { transform: scaleX(1); }
.page-action {
  justify-self: end;
  padding: 11px 20px;
  border: 1px solid var(--ink);
  font-weight: 700;
  text-decoration: none;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
}
.page-action:hover { border-color: var(--orange); background: var(--orange); color: white; }
.instagram-link { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; }
.instagram-link svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.instagram-link .instagram-dot { fill: currentColor; stroke: none; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--ink); background: transparent; }
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after {
  position: relative;
  display: block;
  width: 20px;
  height: 2px;
  margin: auto;
  background: currentColor;
  content: "";
}
.menu-toggle span::before { position: absolute; top: -6px; }
.menu-toggle span::after { position: absolute; top: 6px; }

.draft-grid {
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 54px 54px;
}
.page-hero {
  position: relative;
  min-height: min(760px, calc(100svh - 82px));
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.page-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  min-height: inherit;
}
.page-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px var(--gutter);
}
.section-index { display: flex; align-items: center; gap: 14px; color: var(--muted); font-size: 15px; font-weight: 600; }
.section-index span { color: var(--orange); font-family: monospace; }
.section-index i { width: 52px; height: 1px; background: currentColor; }
.page-hero h1 {
  max-width: 720px;
  margin: 34px 0 24px;
  font-size: clamp(58px, 6.2vw, 104px);
  font-weight: 500;
  line-height: .92;
}
.accent { color: var(--orange); }
.page-hero-copy > p {
  max-width: 640px;
  margin: 0;
  color: var(--muted);
  font-size: clamp(20px, 1.7vw, 28px);
  font-weight: 300;
  line-height: 1.55;
}
.hero-cta, .primary-action {
  display: inline-flex;
  width: fit-content;
  min-width: 250px;
  min-height: 60px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 36px;
  padding: 0 24px;
  border: 1px solid var(--orange);
  background: var(--orange);
  color: white;
  font-weight: 700;
  text-decoration: none;
  transition: transform 200ms ease, background 200ms ease;
}
.hero-cta:hover, .primary-action:hover { background: #ff7100; transform: translateY(-3px); }
.page-hero-media { position: relative; min-height: 560px; overflow: hidden; background: var(--night); }
.page-hero-media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.24) saturate(1.08) contrast(1.08); }
.page-hero-media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 50%, rgba(37, 40, 51, .18));
  content: "";
}
.page-hero-media .media-label {
  position: absolute;
  z-index: 2;
  right: 32px;
  bottom: 28px;
  padding: 9px 12px;
  border-right: 3px solid var(--orange);
  background: rgba(37, 40, 51, .7);
  color: white;
  font-family: monospace;
  font-size: 12px;
}

.content-section { padding: clamp(80px, 9vw, 140px) var(--gutter); border-bottom: 1px solid var(--line); }
.content-inner { width: min(100%, var(--max)); margin: auto; }
.section-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 60px; align-items: end; margin-bottom: 64px; }
.section-heading h2 { margin: 0; font-size: clamp(44px, 5vw, 78px); font-weight: 500; line-height: .98; }
.section-heading p { max-width: 560px; margin: 0; color: var(--muted); font-size: 20px; line-height: 1.65; }
.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
.feature-grid article { min-height: 260px; padding: 34px; border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.feature-grid .number { color: var(--orange); font-family: monospace; font-size: 14px; }
.feature-grid h3 { margin: 52px 0 14px; font-size: 29px; font-weight: 600; }
.feature-grid p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.6; }

.split-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 660px; border-bottom: 1px solid var(--line); }
.split-media { min-height: 520px; overflow: hidden; background: var(--night); }
.split-media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.22) saturate(1.06) contrast(1.04); transition: transform 800ms cubic-bezier(.16,1,.3,1); }
.split-section:hover .split-media img { transform: scale(1.025); }
.split-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(50px, 7vw, 110px); }
.split-copy h2 { margin: 26px 0 24px; font-size: clamp(44px, 5vw, 76px); font-weight: 500; line-height: .98; }
.split-copy p { max-width: 590px; margin: 0 0 18px; color: var(--muted); font-size: 19px; line-height: 1.7; }

.spec-list { margin: 30px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.spec-list li { display: grid; grid-template-columns: 46px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.spec-list b { color: var(--orange); font-family: monospace; }
.spec-list span { font-size: 19px; font-weight: 600; }

.contact-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.contact-panel, .contact-form { padding: clamp(32px, 5vw, 70px); background: var(--white); }
.contact-panel { background: var(--night); color: white; }
.contact-panel h2 { margin: 24px 0; font-size: clamp(42px, 5vw, 70px); font-weight: 500; line-height: .98; }
.contact-panel p { color: rgba(255,255,255,.7); font-size: 19px; line-height: 1.6; }
.contact-details { display: grid; gap: 18px; margin-top: 54px; }
.contact-details a { width: fit-content; text-underline-offset: 5px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.field { display: grid; gap: 8px; }
.field-wide { grid-column: 1 / -1; }
.field label { font-weight: 700; }
.field input, .field textarea, .field select {
  width: 100%;
  min-height: 54px;
  padding: 12px 14px;
  border: 1px solid #aeb7bf;
  border-radius: 0;
  background: white;
  color: var(--ink);
}
.field textarea { min-height: 150px; resize: vertical; }
.file-field { padding: 22px; border: 1px dashed #83909c; }
.contact-form button { border: 0; cursor: pointer; }
.form-status { min-height: 24px; margin: 18px 0 0; color: var(--muted); }
.form-status.is-success { color: #18794e; }
.form-status.is-error { color: #b42318; }
.contact-form button:disabled { cursor: wait; opacity: .65; transform: none; }
.form-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.page-footer { padding: 36px var(--gutter); background: var(--night); color: rgba(255,255,255,.68); }
.footer-inner { display: flex; justify-content: space-between; gap: 30px; width: min(100%, var(--max)); margin: auto; }
.footer-inner nav { display: flex; gap: 24px; }
.footer-inner a { color: white; text-underline-offset: 4px; }

/* Inner page system v3 */
.page-hero--about,
.page-hero--technology,
.page-hero--materials,
.page-hero--process,
.page-hero--contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  min-height: min(760px, calc(100svh - 82px));
}
.page-hero--about .page-hero-copy,
.page-hero--technology .page-hero-copy,
.page-hero--materials .page-hero-copy,
.page-hero--process .page-hero-copy,
.page-hero--contact .page-hero-copy { position: relative; z-index: 2; }
.page-hero--about .page-hero-media,
.page-hero--technology .page-hero-media,
.page-hero--materials .page-hero-media,
.page-hero--process .page-hero-media { min-height: inherit; }

.page-hero--about { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); }
.page-hero--about .page-hero-media { grid-column: 2; grid-row: 1; clip-path: polygon(0 0, 100% 0, 100% 100%, 15% 100%, 15% 92%, 9% 92%, 9% 84%, 0 84%); }
.page-hero--about .page-hero-copy { grid-column: 1; grid-row: 1; }
.page-hero--about h1 { font-size: clamp(52px, 5.4vw, 88px); }

.page-hero--technology { min-height: min(800px, calc(100svh - 82px)); background: var(--night); color: white; }
.page-hero--technology .page-hero-copy { grid-column: 1; grid-row: 1; }
.page-hero--technology .page-hero-media { grid-column: 2; grid-row: 1; }
.page-hero--technology .page-hero-media::after { background: rgba(37,40,51,.18); }
.page-hero--technology .page-hero-copy > p { color: rgba(255,255,255,.7); }
.page-hero--technology .section-index { color: rgba(255,255,255,.62); }

.page-hero--materials { grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); }
.page-hero--materials .page-hero-copy { grid-column: 1; grid-row: 1; }
.page-hero--materials .page-hero-media { grid-column: 2; grid-row: 1; margin: clamp(22px, 3vw, 48px) 0 clamp(22px, 3vw, 48px) clamp(22px, 3vw, 48px); }
.page-hero--materials .page-hero-media img { object-position: center; }

.page-hero--process { position: relative; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); }
.page-hero--process .page-hero-copy { grid-column: 1; grid-row: 1; }
.page-hero--process .page-hero-media { grid-column: 2; grid-row: 1; clip-path: polygon(0 0, 100% 0, 100% 86%, 90% 86%, 90% 92%, 80% 92%, 80% 100%, 0 100%); }
.process-rail { position: absolute; z-index: 3; right: var(--gutter); bottom: 26px; display: flex; width: min(34vw, 420px); align-items: center; gap: 12px; color: var(--orange); font: 12px monospace; }
.process-rail i { flex: 1; height: 1px; background: currentColor; }

.page-hero--contact { grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr); background: var(--paper); }
.page-hero--contact .page-hero-copy { min-height: inherit; }
.page-hero--contact .contact-choice { align-self: center; margin: var(--gutter); padding: clamp(34px, 4vw, 64px); border: 1px solid var(--line); background: var(--white); }
.contact-choice__label { display: block; margin-bottom: 34px; color: var(--orange); font: 600 13px monospace; }
.contact-choice > div { display: grid; grid-template-columns: 1fr 36px; gap: 20px; align-items: center; min-height: 92px; border-top: 1px solid var(--line); }
.contact-choice > div i { color: var(--orange); font: normal 13px monospace; }
.contact-choice > div b { font-size: 21px; }
.contact-choice p { margin: 22px 0 0; color: var(--muted); }

.principles-section,
.evidence-section,
.confirmation-copy { padding: clamp(80px, 9vw, 140px) var(--gutter); border-bottom: 1px solid var(--line); }
.principles-layout { display: grid; grid-template-columns: 1fr .75fr; gap: clamp(40px, 8vw, 130px); align-items: end; margin-top: 38px; }
.principles-layout h2,
.evidence-section h2,
.confirmation-copy h2 { margin: 0; font-size: clamp(48px, 6vw, 88px); font-weight: 500; line-height: .95; }
.principles-layout p,
.evidence-copy p,
.confirmation-copy p { margin: 0; color: var(--muted); font-size: 20px; line-height: 1.7; }

.closing-band { padding: clamp(76px, 9vw, 130px) var(--gutter); background: var(--night); color: white; }
.closing-band__inner { width: min(100%, 980px); margin: auto; text-align: center; }
.closing-band .section-index { justify-content: center; color: rgba(255,255,255,.6); }
.closing-band h2 { margin: 30px 0 22px; font-size: clamp(48px, 6vw, 88px); font-weight: 500; line-height: .96; }
.closing-band p { max-width: 720px; margin: auto; color: rgba(255,255,255,.68); font-size: 20px; line-height: 1.7; }
.closing-band .hero-cta { margin-inline: auto; }

.technology-stack { background: var(--night); color: white; }
.technology-panel { display: grid; grid-template-columns: 1fr 1fr; min-height: 640px; border-top: 1px solid rgba(255,255,255,.14); }
.technology-panel--reverse .technology-panel__copy { grid-column: 2; grid-row: 1; }
.technology-panel--reverse figure { grid-column: 1; grid-row: 1; }
.technology-panel__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(46px, 7vw, 110px); }
.technology-panel__copy .number { color: var(--orange); font: 13px monospace; }
.technology-panel h2 { margin: 28px 0 24px; font-size: clamp(46px, 5vw, 78px); font-weight: 500; line-height: .98; }
.technology-panel p { max-width: 620px; margin: 0 0 16px; color: rgba(255,255,255,.68); font-size: 19px; line-height: 1.7; }
.technology-panel a { display: flex; width: fit-content; gap: 40px; margin-top: 24px; padding-bottom: 8px; border-bottom: 1px solid var(--orange); color: white; font-weight: 700; text-decoration: none; }
.technology-panel a span { color: var(--orange); }
.technology-panel figure { min-height: 520px; margin: 0; overflow: hidden; }
.technology-panel figure img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms cubic-bezier(.16,1,.3,1); }
.technology-panel:hover figure img { transform: scale(1.035); }

.requirements-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
.requirements-grid article { min-height: 270px; padding: 30px; border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.requirements-grid article > span { color: var(--orange); font: 13px monospace; }
.requirements-grid h3 { margin: 76px 0 12px; font-size: 25px; }
.requirements-grid p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.6; }
.split-section--materials .split-copy { background: #eef1f2; }
.evidence-section h2 { margin-top: 32px; }
.evidence-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; max-width: 1000px; margin-top: 52px; }

.process-timeline { background: #f1f3f3; }
.process-stage { display: grid; grid-template-columns: minmax(110px, .28fr) 1fr; gap: clamp(26px, 5vw, 80px); padding: clamp(44px, 6vw, 78px) 0; border-top: 1px solid var(--line); }
.process-stage__number { color: var(--orange); font: 500 clamp(60px, 8vw, 116px)/.8 monospace; }
.process-stage h2 { max-width: 850px; margin: 0 0 18px; font-size: clamp(34px, 4vw, 58px); font-weight: 500; line-height: 1.02; }
.process-stage p { max-width: 820px; margin: 0 0 12px; color: var(--muted); font-size: 19px; line-height: 1.7; }

.contact-section .section-heading { align-items: start; }
.contact-panel h3 { margin: 0 0 22px; font-size: clamp(34px, 4vw, 54px); font-weight: 500; line-height: 1; }
.confirmation-copy { background: #eef1f2; }
.confirmation-copy[hidden] { display: none; }
.confirmation-copy h2 { margin-top: 26px; }
.confirmation-copy p { margin-top: 18px; }

.js .reveal { opacity: 0; transform: translateY(28px); }
.js .reveal.is-visible { opacity: 1; transform: none; transition: opacity 700ms ease, transform 700ms cubic-bezier(.16,1,.3,1); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .js .reveal { opacity: 1; transform: none; }
}

@media (max-width: 980px) {
  .page-nav { grid-template-columns: 1fr auto; }
  .page-links {
    position: fixed;
    z-index: 40;
    top: 82px;
    right: 0;
    left: 0;
    display: grid;
    gap: 0;
    padding: 20px var(--gutter) 34px;
    background: var(--night);
    transform: translateY(-140%);
    transition: transform 300ms ease;
  }
  body.menu-open .page-links { transform: none; }
  .page-links a { display: block; padding: 15px 0; color: white; font-size: 18px; }
  .page-links a::after { bottom: 8px; }
  .page-action { display: none; }
  .menu-toggle { display: block; justify-self: end; }
  .page-hero-inner, .split-section { grid-template-columns: 1fr; }
  .page-hero-copy { min-height: 540px; }
  .page-hero-media { min-height: 520px; }
  .section-heading { grid-template-columns: 1fr; gap: 24px; }
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-layout { grid-template-columns: 1fr; }
  .page-hero--about,
  .page-hero--technology,
  .page-hero--materials,
  .page-hero--process,
  .page-hero--contact,
  .technology-panel { grid-template-columns: 1fr; }
  .page-hero--about .page-hero-copy,
  .page-hero--technology .page-hero-copy,
  .page-hero--materials .page-hero-copy,
  .page-hero--process .page-hero-copy,
  .technology-panel--reverse .technology-panel__copy { grid-column: 1; grid-row: 1; }
  .page-hero--about .page-hero-media,
  .page-hero--technology .page-hero-media,
  .page-hero--materials .page-hero-media,
  .page-hero--process .page-hero-media,
  .technology-panel--reverse figure { grid-column: 1; grid-row: 2; }
  .page-hero--materials .page-hero-media { margin: 0; }
  .page-hero--contact .contact-choice { margin-top: 0; }
  .principles-layout, .evidence-copy { grid-template-columns: 1fr; }
  .requirements-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-rail { display: none; }
}

@media (max-width: 620px) {
  .page-header { height: 72px; }
  .page-links { top: 72px; }
  .brand-name { font-size: 18px; }
  .brand-mark { width: 34px; }
  .page-hero-copy { min-height: 500px; padding-block: 74px; }
  .page-hero h1 { font-size: clamp(48px, 15vw, 68px); }
  .page-hero-media { min-height: 430px; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-grid article { min-height: 220px; }
  .form-grid { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .footer-inner, .footer-inner nav { flex-direction: column; }
  .requirements-grid { grid-template-columns: 1fr; }
  .technology-panel { min-height: auto; }
  .technology-panel figure { min-height: 390px; }
  .process-stage { grid-template-columns: 1fr; }
  .process-stage__number { font-size: 60px; }
  .page-hero--contact .contact-choice { min-width: 0; margin-inline: 20px; }
}

/* Technologies page v2: light editorial structure with one focused dark band. */
.page-technologies main { background: #fbfcfa; }

.technology-hero {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  min-height: calc(100svh - 130px);
  border-bottom: 1px solid var(--line);
  background-color: #fbfcfa;
}

.technology-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(62px, 7vw, 112px) var(--gutter);
}

.technology-hero h1 {
  max-width: 760px;
  margin: 30px 0 24px;
  color: #252833;
  font-size: clamp(54px, 5.6vw, 92px);
  font-weight: 500;
  line-height: .94;
}

.technology-hero__copy > p {
  max-width: 680px;
  margin: 0;
  color: #536174;
  font-size: clamp(18px, 1.45vw, 24px);
  font-weight: 300;
  line-height: 1.6;
}

.technology-hero__actions {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 34px;
}

.technology-hero__actions .hero-cta { margin-top: 0; }
.technology-text-link {
  padding-block: 8px;
  border-bottom: 1px solid #252833;
  color: #252833;
  font-weight: 700;
  text-decoration: none;
}

.technology-hero__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: clamp(40px, 5vw, 70px) 0 0;
  border-top: 1px solid var(--line);
}

.technology-hero__facts div { padding: 18px 0 0 16px; }
.technology-hero__facts div + div { border-right: 1px solid var(--line); padding-right: 18px; }
.technology-hero__facts dt { color: var(--orange); font-family: monospace; font-size: 12px; }
.technology-hero__facts dd { margin: 7px 0 0; color: #252833; font-size: 15px; font-weight: 700; }

.technology-hero__media {
  position: relative;
  min-height: 620px;
  margin: 0;
  overflow: hidden;
  background: var(--night);
}

.technology-hero__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 58%, rgba(37, 40, 51, .2));
  content: "";
  pointer-events: none;
}

.technology-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.9) contrast(1.06);
  transition: transform 1.2s cubic-bezier(.16, 1, .3, 1);
}

.technology-hero:hover .technology-hero__media img { transform: scale(1.025); }
.technology-hero__media figcaption {
  position: absolute;
  z-index: 2;
  right: 28px;
  bottom: 28px;
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border-right: 3px solid var(--orange);
  background: rgba(37, 40, 51, .78);
  color: white;
}
.technology-hero__media figcaption span { color: #f7a17f; font-family: monospace; font-size: 10px; }
.technology-hero__media figcaption b { font-size: 14px; }

.technology-overview {
  padding: clamp(84px, 8vw, 132px) var(--gutter);
  background: #252833;
  color: white;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 54px 54px;
}

.technology-overview__heading,
.technology-grid,
.technology-choice,
.technology-cta__inner { width: min(100%, var(--max)); margin-inline: auto; }
.section-index-dark { color: rgba(255,255,255,.62); }
.technology-overview__heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 44px;
  align-items: end;
}
.technology-overview__heading .section-index { grid-column: 1 / -1; }
.technology-overview__heading h2 {
  max-width: 820px;
  margin: 24px 0 0;
  font-size: clamp(48px, 5.2vw, 84px);
  font-weight: 500;
  line-height: .96;
}
.technology-overview__heading > p {
  margin: 0;
  color: #aab7c5;
  font-size: 19px;
  line-height: 1.65;
}

.technology-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2px;
  margin-top: clamp(46px, 5vw, 72px);
}
.technology-card {
  min-width: 0;
  border: 1px solid rgba(255,255,255,.15);
  background: #252833;
  transition: border-color 240ms ease, background 240ms ease, transform 240ms ease;
}
.technology-card:hover { border-color: rgba(255,113,0,.72); background: #252833; transform: translateY(-5px); }
.technology-card figure { aspect-ratio: 1.28 / 1; margin: 0; overflow: hidden; }
.technology-card figure img { width: 100%; height: 100%; object-fit: cover; transition: transform 650ms cubic-bezier(.16,1,.3,1); }
.technology-card:hover figure img { transform: scale(1.045); }
.technology-card__copy { min-height: 290px; padding: 26px 28px 28px; }
.technology-card__copy > span { color: var(--orange); font-family: monospace; font-size: 11px; }
.technology-card h3 { margin: 18px 0 14px; font-size: clamp(26px, 2.2vw, 35px); font-weight: 600; line-height: 1.12; }
.technology-card p { min-height: 4.8em; margin: 0; color: #aab7c5; font-size: 16px; line-height: 1.6; }
.technology-card a { display: flex; justify-content: space-between; margin-top: 24px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); color: white; font-weight: 700; text-decoration: none; }
.technology-card a b { color: var(--orange); font-size: 24px; }

.technology-choice {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  min-height: 760px;
  padding: clamp(88px, 8vw, 132px) var(--gutter);
  gap: clamp(52px, 7vw, 110px);
  align-items: center;
  background-color: #fbfcfa;
}
.technology-choice__copy h2 {
  max-width: 700px;
  margin: 28px 0 24px;
  color: #252833;
  font-size: clamp(46px, 4.7vw, 76px);
  font-weight: 500;
  line-height: .98;
}
.technology-choice__copy > p { max-width: 680px; margin: 0; color: #5b6877; font-size: 19px; line-height: 1.65; }
.technology-choice ul { margin: 42px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.technology-choice li { display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.technology-choice li > span { color: var(--orange); font-family: monospace; font-size: 12px; }
.technology-choice li div { display: grid; gap: 5px; }
.technology-choice li b { color: #252833; font-size: 18px; }
.technology-choice li small { color: #667384; font-size: 15px; line-height: 1.45; }
.technology-choice__media { position: relative; margin: 0; overflow: hidden; aspect-ratio: .93 / 1; background: #e9eef2; }
.technology-choice__media::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 22%;
  height: 14%;
  background: #fbfcfa;
  content: "";
  clip-path: polygon(0 62%, 38% 62%, 38% 31%, 70% 31%, 70% 0, 100% 0, 100% 100%, 0 100%);
}
.technology-choice__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.04); transition: transform 800ms cubic-bezier(.16,1,.3,1); }
.technology-choice__media:hover img { transform: scale(1.03); }
.technology-choice__media figcaption { position: absolute; z-index: 2; left: 22px; bottom: 20px; color: #43546a; font-family: monospace; font-size: 10px; letter-spacing: .08em; }

.technology-cta { padding: 0 var(--gutter) clamp(48px, 5vw, 78px); background: #fbfcfa; }
.technology-cta__inner {
  display: grid;
  grid-template-columns: 1fr minmax(260px, .7fr) auto;
  gap: clamp(32px, 5vw, 76px);
  align-items: center;
  padding: clamp(36px, 4vw, 58px);
  background: var(--orange);
  color: #252833;
}
.technology-cta__inner > div > span { font-family: monospace; font-size: 11px; font-weight: 700; }
.technology-cta h2 { margin: 10px 0 0; font-size: clamp(38px, 4vw, 62px); font-weight: 600; line-height: 1; }
.technology-cta p { margin: 0; font-size: 17px; line-height: 1.55; }
.technology-cta a { display: inline-flex; min-height: 58px; align-items: center; gap: 36px; padding: 0 24px; background: #252833; color: white; font-weight: 700; text-decoration: none; transition: transform 200ms ease, background 200ms ease; }
.technology-cta a:hover { background: #252833; transform: translateY(-3px); }

@media (max-width: 980px) {
  .technology-hero,
  .technology-choice { grid-template-columns: 1fr; }
  .technology-hero__copy { min-height: 620px; }
  .technology-hero__media { min-height: 520px; }
  .technology-overview__heading { grid-template-columns: 1fr; }
  .technology-grid { grid-template-columns: 1fr; gap: 16px; }
  .technology-card { display: grid; grid-template-columns: minmax(240px, .9fr) minmax(0, 1.1fr); }
  .technology-card figure { height: 100%; aspect-ratio: auto; }
  .technology-card__copy { min-height: 0; }
  .technology-choice { padding-inline: var(--gutter); }
  .technology-choice__media { aspect-ratio: 1.25 / 1; }
  .technology-cta__inner { grid-template-columns: 1fr; }
  .technology-cta a { width: fit-content; }
}

@media (max-width: 620px) {
  .technology-hero { min-height: auto; }
  .technology-hero__copy { min-height: 0; padding-block: 68px; }
  .technology-hero h1 { font-size: clamp(48px, 14vw, 64px); }
  .technology-hero__actions { align-items: flex-start; flex-direction: column; }
  .technology-hero__facts { grid-template-columns: 1fr; }
  .technology-hero__facts div { padding: 14px 0; border-bottom: 1px solid var(--line); }
  .technology-hero__facts div + div { border-right: 0; padding-right: 0; }
  .technology-hero__media { min-height: 420px; }
  .technology-overview { padding-block: 72px; }
  .technology-overview__heading h2 { font-size: 46px; }
  .technology-card { display: block; }
  .technology-card figure { aspect-ratio: 1.25 / 1; }
  .technology-card__copy { min-height: 0; }
  .technology-card p { min-height: 0; }
  .technology-choice { min-height: auto; padding-block: 72px; }
  .technology-choice__copy h2 { font-size: 44px; }
  .technology-choice__media { aspect-ratio: 1 / 1.08; }
  .technology-cta { padding-inline: 20px; }
  .technology-cta__inner { padding: 30px 24px; }
  .technology-cta a { width: 100%; justify-content: space-between; }
}
/* Unified monospace voice for running copy. */
p,
small,
.body-copy,
.section-copy{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace!important;
  font-style:normal;
  font-weight:500;
}

/* Running-copy scale: consistent, compact and readable on every inner page. */
p,
.body-copy,
.section-copy{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace!important;
  font-size:clamp(16px,1.15vw,18px)!important;
  font-weight:500!important;
  line-height:1.6!important;
  letter-spacing:0!important;
}

/* Materials page — homepage visual language */
.page-materials{--mat-orange:#ff7100;--mat-ink:#252833;--mat-line:#d2d0ca;padding-top:78px;background:#fff;color:var(--mat-ink)}
.page-materials h1,.page-materials h2,.page-materials h3{font-family:"Rubik",sans-serif;font-weight:900;letter-spacing:-.025em}
.page-materials .page-header{position:absolute;top:0;right:0;left:0;height:92px;border:0;border-bottom:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;backdrop-filter:none}
.page-materials .brand::before{filter:none}
.page-materials .page-links a{color:#fff}
.page-materials .page-action{border-color:rgba(255,255,255,.62);color:#fff}
.page-materials .page-action:hover{border-color:var(--mat-orange);background:var(--mat-orange);color:#111}
.page-materials .menu-toggle{border-color:#fff;color:#fff}

.materials-hero{position:relative;height:100svh;min-height:720px;overflow:hidden;background:var(--mat-ink);color:#fff}
.materials-hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.01)}
.materials-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(37,40,51,.22),rgba(37,40,51,.56) 55%,rgba(37,40,51,.9))}
.materials-hero__copy{position:absolute;z-index:2;top:50%;right:var(--gutter);width:min(1100px,calc(100% - var(--gutter)*2));transform:translateY(-46%)}
.materials-kicker,.materials-code{display:block;color:var(--mat-orange);font:700 12px/1.2 monospace;letter-spacing:.14em;direction:ltr;text-align:right}
.materials-hero h1{max-width:1050px;margin:34px 0 30px;font-size:clamp(64px,7.2vw,118px);line-height:.88;color:#fff}
.materials-hero h1 em,.materials-section-head h2 em,.materials-fit__copy h2 em,.materials-cta h2 em{display:block;color:var(--mat-orange);font-style:normal}
.materials-hero__copy>p{max-width:620px;margin:0;color:rgba(255,255,255,.86);font-size:clamp(20px,1.55vw,25px);line-height:1.55}
.materials-button{display:inline-flex;min-width:280px;min-height:68px;align-items:center;justify-content:space-between;gap:30px;margin-top:36px;padding:0 28px;background:var(--mat-orange);color:#111;font-weight:800;text-decoration:none;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);transition:transform .25s ease,filter .25s ease}
.materials-button:hover{transform:translateY(-3px);filter:brightness(1.06)}
.materials-button b{font-size:20px}
.materials-hero__index{position:absolute;z-index:2;right:var(--gutter);bottom:30px;left:var(--gutter);display:flex;justify-content:space-between;color:rgba(255,255,255,.72);font:11px monospace;letter-spacing:.13em;direction:ltr}

.materials-criteria,.materials-families{padding:clamp(90px,10vw,150px) var(--gutter);border-bottom:1px solid var(--mat-line)}
.materials-section-head{display:grid;grid-template-columns:1.2fr .7fr;gap:clamp(45px,8vw,130px);align-items:end;width:min(100%,var(--max));margin:0 auto clamp(55px,7vw,95px)}
.materials-section-head h2{margin:26px 0 0;font-size:clamp(52px,6.2vw,96px);line-height:.92}
.materials-section-head>p{max-width:520px;margin:0;color:#646765;font-size:20px;line-height:1.65}
.materials-criteria__grid{display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,var(--max));margin:auto;border-block:1px solid var(--mat-line)}
.materials-criteria__grid article{display:flex;min-height:310px;flex-direction:column;justify-content:flex-end;padding:clamp(28px,3vw,46px);border-left:1px solid var(--mat-line)}
.materials-criteria__grid article:last-child{border-left:0}
.materials-criteria__grid article>span,.family-no{margin-bottom:auto;color:var(--mat-orange);font:700 12px monospace}
.materials-criteria__grid h3{margin:70px 0 14px;font-size:clamp(25px,2.1vw,34px)}
.materials-criteria__grid p{margin:0;color:#686b69;font-size:17px;line-height:1.55}

.materials-families{background:var(--mat-ink);color:#fff}
.materials-families .materials-section-head>p{color:#adb0b2}
.materials-family-list{width:min(100%,var(--max));margin:auto;border-top:1px solid rgba(255,255,255,.2)}
.materials-family-list article{display:grid;grid-template-columns:70px minmax(210px,.7fr) 1fr 80px;gap:28px;align-items:center;min-height:124px;border-bottom:1px solid rgba(255,255,255,.2);transition:padding .25s ease,background .25s ease}
.materials-family-list article:hover{padding-inline:24px;background:rgba(255,255,255,.045)}
.materials-family-list strong{font-size:clamp(27px,2.4vw,40px)}
.materials-family-list p{margin:0;color:#b7b9ba;font-size:18px}
.materials-family-list i{color:var(--mat-orange);font:normal 700 12px monospace;text-align:left}
.materials-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,var(--max));margin:auto;border:1px solid rgba(255,255,255,.16);background:#252833;direction:rtl}
.materials-library__card{position:relative;min-width:0;padding:clamp(110px,9vw,145px) clamp(28px,3vw,48px) 48px;border-left:1px solid rgba(255,255,255,.13)}
.materials-library__card:last-child{border-left:0}
.materials-library__tab{position:absolute;top:0;right:50%;width:min(74%,250px);min-height:76px;padding:18px 22px;border-radius:0 0 18px 18px;background:#fff;color:var(--mat-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:16px;font-weight:500;text-align:center;transform:translateX(50%)}
.materials-library figure{height:clamp(210px,18vw,290px);margin:0 0 42px;overflow:hidden;border-radius:18px;background:#252833}
.materials-library figure img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.16,1,.3,1)}
.materials-library__card:hover figure img{transform:scale(1.035)}
.materials-library h3{margin:0 0 16px;font-size:clamp(25px,2vw,34px);color:#fff}
.materials-library ul{margin:0;padding:0;list-style:none}
.materials-library li{padding:17px 0;border-top:1px solid rgba(255,255,255,.16);color:#f3f2ed;font-size:17px;font-weight:700}

.materials-fit{display:grid;grid-template-columns:1fr 1fr;min-height:100svh;padding:clamp(18px,2vw,30px);border-bottom:1px solid var(--mat-line);background:#fff}
.materials-fit__visual{position:relative;min-height:680px;margin:0;overflow:hidden;background:#fff;clip-path:url(#materials-step)}
.materials-fit__visual img{width:100%;height:100%;object-fit:cover}
.materials-fit__visual figcaption{position:absolute;right:26px;bottom:22px;padding:13px 18px;border-radius:12px;background:var(--mat-orange);color:#111;font:800 11px monospace;letter-spacing:.12em}
.materials-fit__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(55px,7vw,115px)}
.materials-fit__copy h2{margin:28px 0 26px;font-size:clamp(52px,5.6vw,88px);line-height:.93}
.materials-fit__copy>p{max-width:610px;margin:0;color:#646765;font-size:20px;line-height:1.7}
.materials-fit__copy ul{margin:48px 0 0;padding:0;list-style:none;border-top:1px solid var(--mat-line)}
.materials-fit__copy li{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--mat-line);font-size:18px;font-weight:700}
.materials-fit__copy li b{color:var(--mat-orange);font:700 12px monospace}

.materials-cta{display:flex;min-height:78svh;align-items:center;padding:clamp(100px,12vw,180px) var(--gutter);background:var(--mat-orange);color:#111}
.materials-cta>div{width:min(100%,var(--max));margin:auto}
.materials-cta .materials-code{color:#111}
.materials-cta h2{margin:30px 0 28px;font-size:clamp(62px,8vw,126px);line-height:.88}
.materials-cta h2 em{color:#fff}
.materials-cta p{max-width:680px;margin:0;font-size:21px;line-height:1.6}
.materials-button--dark{background:#252833;color:#fff}
.page-materials .page-footer{background:#252833}

@media(max-width:980px){
  .page-materials .page-header{height:76px}
  .page-materials .page-links{background:var(--mat-ink)}
  .materials-hero{min-height:700px}
  .materials-hero__copy{transform:translateY(-42%)}
  .materials-hero h1{font-size:clamp(54px,11vw,84px)}
  .materials-section-head,.materials-fit{grid-template-columns:1fr}
  .materials-section-head>p{margin-top:20px}
  .materials-criteria__grid{grid-template-columns:repeat(2,1fr)}
  .materials-library{grid-template-columns:1fr}
  .materials-library__card{border-left:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .materials-library__card:last-child{border-bottom:0}
  .materials-library figure{height:min(58vw,430px)}
  .materials-criteria__grid article:nth-child(2){border-left:0}
  .materials-fit__visual{min-height:62svh}
  .materials-fit__copy{padding:70px 28px}
}
@media(max-width:620px){
  .materials-hero{min-height:680px}
  .materials-hero__copy{right:22px;width:calc(100% - 44px)}
  .materials-hero h1{font-size:clamp(46px,13vw,66px)}
  .materials-hero__copy>p{font-size:18px}
  .materials-button{min-width:0;width:100%}
  .materials-criteria,.materials-families{padding-inline:22px}
  .materials-section-head h2,.materials-fit__copy h2{font-size:48px}
  .materials-criteria__grid{grid-template-columns:1fr}
  .materials-criteria__grid article{min-height:230px;border-left:0;border-bottom:1px solid var(--mat-line)}
  .materials-family-list article{grid-template-columns:42px 1fr 54px;gap:14px;padding-block:24px}
  .materials-family-list article p{grid-column:2/4;font-size:16px}
  .materials-library__card{padding:105px 22px 36px}
  .materials-library__tab{width:min(82%,260px)}
  .materials-fit{padding:12px}
  .materials-fit__visual{min-height:480px}
  .materials-cta h2{font-size:54px}
}

/* Contact page v36 — homepage proportions, type and separator system */
.page-contact{--pad:clamp(28px,6.35vw,126px);padding-top:78px;background:#fff}
.page-contact .topbar{
  height:78px;padding-inline:var(--pad);background:#fff;color:#252833;
  border-bottom:1px solid #d2d0ca;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)
}
.page-contact .topbar .logo{width:auto;min-width:clamp(154px,13vw,220px);padding-inline:clamp(18px,2.2vw,36px);border-left:1px solid #d2d0ca}
.page-contact .topbar .logo img{width:clamp(118px,9.5vw,154px)}
.page-contact .topbar>nav{gap:0}
.page-contact .topbar>nav a{padding-inline:clamp(20px,2.2vw,38px);border-left:1px solid #d2d0ca;font-size:13px;font-weight:700}
.page-contact .top-actions{left:var(--pad);gap:24px}
.page-contact .language-menu{gap:4px}

.page-contact .page-hero--contact{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:calc(100svh - 78px);min-height:650px;
  overflow:hidden;border-bottom:1px solid #d2d0ca;background:#fff;background-image:none;direction:ltr
}
.page-contact .page-hero-copy{
  grid-column:2;display:flex;min-width:0;height:100%;justify-content:center;padding:clamp(48px,6vw,104px) var(--pad);
  border-left:1px solid #d2d0ca;direction:rtl;text-align:right
}
.page-contact .page-hero-copy .section-index{font-size:13px}
.page-contact .page-hero h1{
  max-width:680px;margin:30px 0 24px;font-family:"Rubik",Arial,sans-serif;font-size:clamp(56px,5.5vw,90px);
  font-weight:900;line-height:.9;letter-spacing:-.055em
}
.page-contact .page-hero-copy>p{max-width:620px;color:#6c6e6d;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:18px;font-weight:500;line-height:1.6}
.page-contact .hero-cta{min-width:290px;min-height:72px;margin-top:34px;padding:0 28px;background:var(--orange);color:#111}
.page-contact .page-hero--contact .contact-choice{
  grid-column:1;display:grid;grid-template-rows:auto 1fr 1fr auto;align-self:stretch;height:100%;margin:0;padding:0;
  border:0;background:#fff;direction:rtl;text-align:right
}
.page-contact .contact-choice__label{display:flex;align-items:center;min-height:112px;margin:0;padding:0 clamp(34px,5vw,78px);border-bottom:1px solid #d2d0ca;color:var(--orange);font:700 12px/1.4 monospace;letter-spacing:.08em}
.page-contact .contact-choice>div{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:0;padding:clamp(30px,4vw,64px) clamp(34px,5vw,78px);border:0;border-bottom:1px solid #d2d0ca}
.page-contact .contact-choice>div b{max-width:520px;font-family:"Rubik",Arial,sans-serif;font-size:clamp(28px,2.8vw,46px);font-weight:900;line-height:1.02;letter-spacing:-.035em}
.page-contact .contact-choice>div i{align-self:start;color:var(--orange);font:700 12px monospace}
.page-contact .contact-choice>p{display:flex;align-items:center;min-height:86px;margin:0;padding:0 clamp(34px,5vw,78px);color:#6c6e6d;font-size:16px}

.page-contact .contact-section .section-heading{min-height:300px;padding:clamp(48px,5vw,78px) var(--pad)}
.page-contact .contact-section .section-heading h2{font-family:"Rubik",Arial,sans-serif;font-weight:900;letter-spacing:-.045em}
.page-contact .contact-layout{grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr)}
.page-contact .contact-panel,.page-contact .contact-form{padding:clamp(38px,5vw,76px)}
.page-contact .contact-panel h3{font-family:"Rubik",sans-serif;font-weight:900}

@media(max-width:900px){
  .page-contact{padding-top:76px}
  .page-contact .topbar{height:76px;padding-inline:20px}
  .page-contact .topbar .logo{min-width:auto;padding-inline:0;border:0}
  .page-contact .topbar>nav{display:none}
  .page-contact .top-actions{left:20px}
  .page-contact .page-hero--contact{height:auto;min-height:0;grid-template-columns:1fr}
  .page-contact .page-hero-copy{grid-column:1;min-height:calc(100svh - 76px);padding:80px 26px;border-left:0;border-bottom:1px solid #d2d0ca}
  .page-contact .page-hero--contact .contact-choice{grid-column:1;min-height:620px}
  .page-contact .contact-layout{grid-template-columns:1fr}
  .page-contact .contact-form{border-top:1px solid #d2d0ca;border-right:0}
}

/* Shared site header + final inner-page art direction */
body{padding-top:92px;background:#fff}
.topbar{
  position:fixed;z-index:100;top:0;right:0;left:0;display:flex;height:92px;
  align-items:stretch;padding:0 var(--gutter);direction:rtl;color:var(--ink);
  background:#fff;border-bottom:1px solid var(--line);transition:background .25s ease,color .25s ease,border-color .25s ease
}
.topbar .logo{display:flex;width:clamp(178px,15vw,252px);align-items:center;padding-inline:0 30px;border-left:1px solid var(--line)}
.topbar .logo img{width:clamp(126px,10vw,164px);height:auto;filter:invert(42%) sepia(99%) saturate(3344%) hue-rotate(359deg) brightness(101%) contrast(106%)}
.topbar>nav{display:flex;align-items:stretch}
.topbar>nav a{display:flex;align-items:center;padding:0 clamp(25px,2.7vw,48px);border-left:1px solid var(--line);font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap}
.topbar>nav a[aria-current="page"]{color:var(--orange)}
.topbar>nav a:hover{color:var(--orange)}
.top-actions{position:absolute;left:var(--gutter);top:0;display:flex;height:100%;align-items:center;gap:28px;direction:ltr}
.top-contact{display:grid;width:34px;height:34px;place-items:center;color:inherit;text-decoration:none}
.top-contact svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}
.language-menu{position:relative;display:flex;width:40px;height:40px;align-items:center;justify-content:center;gap:0;direction:ltr;color:inherit;cursor:pointer}
.language-menu>svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6}
.language-select{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;color:transparent;font-size:16px;opacity:0;cursor:pointer;appearance:auto}
.language-select option{color:#111;background:#fff}
main{background:#fff}

/* About: dense editorial grid with the same stepped image language */
.page-about .page-hero{position:relative;min-height:calc(100svh - 92px);display:grid;grid-template-columns:1fr 1fr;background:#fff;background-image:none}
.page-about .page-hero::after{content:none}
.page-about .page-hero-divider{position:absolute;z-index:20;top:0;bottom:0;left:50%;display:block;width:1px;margin:0;padding:0;background:#d2d0ca;pointer-events:none}
.page-about .page-hero-media{position:relative;height:calc(100svh - 128px);min-height:0;margin:18px;align-self:center;overflow:hidden;border-radius:0;-webkit-clip-path:url(#brand-stepped-rounded);clip-path:url(#brand-stepped-rounded)}
.page-about .page-hero-media img{object-position:center center;filter:saturate(.92) contrast(1.06)}
.page-about .page-hero-media::before{position:absolute;z-index:3;top:24px;right:28px;color:#ff7100;content:"+";font-family:"Rubik",Arial,sans-serif;font-size:30px;font-weight:400;line-height:1}
.page-about .page-hero-media::after{background:linear-gradient(90deg,transparent 62%,rgba(37,40,51,.12))}
.page-about .page-hero-copy{padding:clamp(48px,6vw,96px);border:0}
.page-about .page-hero-copy::after{content:none}
.page-about .page-hero h1{font-family:"Rubik",Arial,sans-serif;font-weight:900;font-size:clamp(52px,5.1vw,84px);letter-spacing:-.045em}
.page-about .page-hero-copy>p{font-size:19px}
.page-about .content-section{padding:0}
.page-about .content-section .content-inner{width:100%;max-width:none}
.page-about .section-heading{min-height:48svh;margin:0;padding:clamp(50px,6vw,92px) var(--gutter);border-bottom:1px solid var(--line)}
.page-about .section-heading h2,.page-about .split-copy h2,.page-about .principles-layout h2,.page-about .closing-band h2{font-family:"Rubik",Arial,sans-serif;font-weight:900;letter-spacing:-.045em}
.page-about .split-section{min-height:72svh}
.page-about .split-media{margin:18px;border-radius:28px;clip-path:polygon(0 0,84% 0,84% 5%,90% 5%,90% 10%,95% 10%,95% 15%,100% 15%,100% 100%,16% 100%,16% 95%,10% 95%,10% 90%,5% 90%,5% 85%,0 85%)}
.page-about .split-copy{border-right:1px solid var(--line)}
.page-about .principles-section{background:#fff;background-image:none;border-bottom:1px solid var(--line)}

/* About: experience and engineering guidance as one compact screen. */
.page-about .about-story{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-areas:"media copy";
  height:calc(100svh - 92px);
  min-height:660px;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:#fff;
  direction:ltr;
}
.page-about .about-story::after{
  position:absolute;
  z-index:4;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  background:var(--line);
  content:"";
  pointer-events:none;
}
.page-about .about-story__media{
  grid-area:media;
  min-width:0;
  min-height:0;
  margin:18px;
  overflow:hidden;
  -webkit-clip-path:url(#brand-stepped-rounded);
  clip-path:url(#brand-stepped-rounded);
}
.page-about .about-story__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.94) contrast(1.04);
  transition:transform 800ms cubic-bezier(.16,1,.3,1);
}
.page-about .about-story:hover .about-story__media img{transform:scale(1.02)}
.page-about .about-story__copy{
  grid-area:copy;
  display:grid;
  grid-template-rows:1fr 1fr;
  min-width:0;
  direction:rtl;
}
.page-about .about-story__copy article{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(30px,3.7vw,66px) clamp(42px,5.5vw,92px);
}
.page-about .about-story__copy article+article{border-top:1px solid var(--line)}
.page-about .about-story__label{
  margin-bottom:clamp(12px,1.3vw,22px);
  color:#252833;
  font-size:14px;
  font-weight:700;
}
.page-about .about-story h2,
.page-about .about-story h3{
  margin:0 0 clamp(14px,1.4vw,22px);
  color:#252833;
  font-family:"Rubik",Arial,sans-serif;
  font-size:clamp(34px,3.15vw,54px);
  font-weight:900;
  line-height:.96;
  letter-spacing:-.045em;
}
.page-about .about-story h3{font-size:clamp(30px,2.75vw,48px)}
.page-about .about-story p{
  max-width:650px;
  margin:0;
  color:#252833!important;
  font-size:15px;
  font-weight:500;
  line-height:1.65;
}

/* Contact: open grid, no floating cards */
.page-contact .page-hero{min-height:calc(100svh - 92px);display:grid;grid-template-columns:1fr 1fr;background:#fff;background-image:none}
.page-contact .page-hero-copy{padding:clamp(48px,7vw,110px);border-left:1px solid var(--line)}
.page-contact .page-hero h1{font-family:"Rubik",Arial,sans-serif;font-weight:900;font-size:clamp(62px,7vw,112px);letter-spacing:-.055em}
.page-contact .page-hero--contact .contact-choice{display:flex;align-self:stretch;flex-direction:column;justify-content:center;margin:0;padding:clamp(48px,7vw,110px);border:0;background:#fff}
.page-contact .contact-choice>div{border-color:var(--line)}
.page-contact .contact-section{padding:0}
.page-contact .contact-section>.content-inner{width:100%;max-width:none}
.page-contact .contact-section .section-heading{min-height:34svh;margin:0;padding:clamp(48px,5vw,78px) var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.page-contact .contact-layout{gap:0;border:0;border-bottom:1px solid var(--line);background:#fff}
.page-contact .contact-panel{background:var(--ink)}
.page-contact .contact-form{border-right:1px solid var(--line)}

@media(max-width:900px){
  body{padding-top:76px}
  .topbar{height:76px;padding:0 20px}
  .topbar .logo{width:148px;padding-left:18px}.topbar .logo img{width:118px}
  .topbar>nav a{padding:0 16px;font-size:13px}
  .top-actions{left:18px;gap:12px}
  .page-about .page-hero,.page-contact .page-hero{min-height:0;grid-template-columns:1fr}
  .page-about .page-hero::after{display:none}
  .page-about .page-hero-divider{display:none}
  .page-about .page-hero-media{height:62svh;grid-row:2}.page-about .page-hero-copy{min-height:600px;border-right:0;border-bottom:1px solid var(--line)}
  .page-about .about-story{height:auto;min-height:0;grid-template-columns:1fr;grid-template-areas:"copy" "media";overflow:visible}
  .page-about .about-story::after{display:none}
  .page-about .about-story__copy article{min-height:360px;padding:48px 28px}
  .page-about .about-story__media{height:66svh;min-height:440px}
  .page-contact .page-hero-copy{min-height:620px;border-left:0;border-bottom:1px solid var(--line)}
}
@media(max-width:680px){
  .topbar{padding:0 14px}.topbar .logo{width:110px;padding-left:12px}.topbar .logo img{width:92px}
  .topbar>nav a{padding:0 9px;font-size:11px}.topbar>nav a:nth-child(2){max-width:none;text-align:start;white-space:normal;line-height:1.1}
  .top-actions{left:10px;gap:3px}.language-menu{gap:2px}.language-menu>svg,.top-contact svg{width:18px;height:18px}
  .page-about .section-heading,.page-about .split-section,.page-contact .contact-layout{grid-template-columns:1fr}
}

/* Materials page — white separator-led revision */
.page-materials,.page-materials main,.page-materials section{background:#fff;color:var(--mat-ink)}
.page-materials .page-header{position:relative;height:92px;border-bottom:1px solid var(--mat-line);background:#fff;color:var(--mat-ink)}
.page-materials .brand::before{filter:brightness(0)}
.page-materials .page-links a{color:var(--mat-ink)}
.page-materials .page-action{border-color:var(--mat-ink);color:var(--mat-ink)}
.page-materials .menu-toggle{border-color:var(--mat-ink);color:var(--mat-ink)}

.page-materials .materials-hero{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"copy visual";height:calc(100svh - 78px);min-height:680px;border-bottom:1px solid var(--mat-line);overflow:hidden;background:#fff}
.page-materials .materials-hero::after{display:none}
.page-materials .materials-hero__media{position:relative;grid-area:visual;inset:auto;width:auto;height:auto;min-width:0;min-height:0;margin:18px;align-self:stretch;justify-self:stretch;object-fit:cover;object-position:center 48%;background:#f2ede6;clip-path:url(#materials-step);transform:none}
.page-materials .materials-hero__overlay{display:none}
.page-materials .materials-hero__copy{position:relative;grid-area:copy;top:auto;right:auto;width:auto;max-width:none;height:100%;padding:clamp(70px,8vw,130px);display:flex;flex-direction:column;justify-content:center;align-self:stretch;border-left:1px solid var(--mat-line);color:var(--mat-ink);transform:none;direction:rtl}
.page-materials .materials-kicker{color:var(--mat-orange)}
.page-materials .materials-hero h1{margin:30px 0 28px;font-size:clamp(58px,5.8vw,94px);line-height:.9;color:var(--mat-ink)}
.page-materials .materials-hero__copy>p{color:#646765}
.page-materials .materials-hero__index{right:calc(50% + clamp(32px,4vw,70px));left:var(--gutter);color:#686b69}

.page-materials .materials-criteria,.page-materials .materials-families{padding:0;border-bottom:1px solid var(--mat-line);background:#fff;color:var(--mat-ink)}
.page-materials .materials-section-head{width:100%;max-width:none;min-height:clamp(360px,38svh,500px);margin:0;padding:clamp(48px,5vw,76px) var(--gutter);border-bottom:1px solid var(--mat-line)}
.page-materials .materials-section-head h2{font-size:clamp(46px,4.6vw,72px)}
.page-materials .materials-section-head>p,.page-materials .materials-families .materials-section-head>p{color:#646765}
.page-materials .materials-criteria__grid{width:100%;max-width:none;min-height:clamp(250px,30svh,360px);border-top:0;border-bottom:0;align-items:stretch}
.page-materials .materials-criteria__grid article{min-height:0;height:100%;padding:clamp(26px,2.6vw,42px);border-color:var(--mat-line)}
.page-materials .materials-criteria__grid h3{margin-top:42px}

.page-materials .materials-library{width:100%;max-width:none;border:0;background:#fff;color:var(--mat-ink)}
.page-materials .materials-library__card{padding-top:132px;border-left:1px solid var(--mat-line);background:#fff;color:var(--mat-ink)}
.page-materials .materials-library__card:last-child{border-left:0}
.page-materials .materials-library__tab{top:0;min-height:86px;border:1px solid var(--mat-line);border-top:0;background:#fff;color:var(--mat-ink)}
.page-materials .materials-library figure{background:#f2f1ed}
.page-materials .materials-library h3{color:var(--mat-ink)}
.page-materials .materials-library li{border-color:var(--mat-line);color:var(--mat-ink)}

@media(min-width:981px){
  .page-materials .materials-families{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-areas:"library heading";
    height:100svh;
    min-height:680px;
    overflow:hidden;
    direction:ltr;
  }
  .page-materials .materials-families .materials-section-head{
    grid-area:heading;
    min-height:0;
    height:100%;
    padding:clamp(48px,5vw,82px);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    gap:34px;
    border-bottom:0;
    border-left:1px solid var(--mat-line);
    direction:rtl;
  }
  .page-materials .materials-families .materials-section-head>div,
  .page-materials .materials-families .materials-section-head>p{width:min(100%,650px);text-align:right}
  .page-materials .materials-families .materials-section-head .materials-code{display:none}
  .page-materials .materials-families .materials-section-head h2{margin:0;font-size:clamp(58px,5.5vw,92px);line-height:.88;letter-spacing:-.05em;text-align:right}
  .page-materials .materials-families .materials-section-head>p{margin:0;font-size:clamp(17px,1.15vw,21px);line-height:1.6}
  .page-materials .materials-library{
    grid-area:library;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:repeat(3,minmax(0,1fr));
    height:100%;
    overflow:hidden;
    direction:rtl;
  }
  .page-materials .materials-library__card,
  .page-materials .materials-library__card:last-child{
    position:relative;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr 1fr;
    column-gap:0;
    align-items:stretch;
    min-height:0;
    padding:0;
    border:0;
    border-bottom:1px solid var(--mat-line);
    direction:ltr;
  }
  .page-materials .materials-library__card::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:50%;
    width:1px;
    background:var(--mat-line);
    pointer-events:none;
  }
  .page-materials .materials-library__card:last-child{border-bottom:0}
  .page-materials .materials-library__tab{
    position:static;
    display:block;
    width:100%;
    min-height:0;
    align-self:center;
    padding:0 clamp(20px,2.2vw,34px);
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--mat-orange);
    font:700 11px/1.3 monospace;
    letter-spacing:.12em;
    text-align:right;
    transform:translateY(-48px);
    grid-column:2;
    grid-row:1;
    direction:rtl;
  }
  .page-materials .materials-library figure{
    display:block;
    grid-column:1;
    grid-row:1/3;
    width:auto;
    height:auto;
    min-height:0;
    margin:clamp(14px,1.7vh,20px) clamp(18px,2.2vw,28px);
    border-radius:0;
    overflow:hidden;
    -webkit-clip-path:url(#materials-step);
    clip-path:url(#materials-step);
  }
  .page-materials .materials-library figure img{width:100%;height:100%;object-fit:cover}
  .page-materials .materials-library h3{
    grid-column:2;
    grid-row:1;
    align-self:center;
    width:100%;
    margin:0;
    padding:18px clamp(20px,2.2vw,34px) 0;
    font-size:clamp(23px,1.9vw,31px);
    line-height:.95;
    letter-spacing:normal;
    text-align:right;
    direction:rtl;
  }
  .page-materials .materials-library h3 em{color:var(--mat-orange);font-style:normal}
  .page-materials .materials-library ul{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:center;gap:4px 0;margin:0;padding:clamp(18px,2vh,28px) clamp(20px,2.2vw,34px);border-top:1px solid var(--mat-line);direction:rtl;text-align:right}
  .page-materials .materials-library li{display:inline;padding:0;border:0;font-size:12px;line-height:1.35;font-weight:500;color:#646765}
  .page-materials .materials-library li:not(:last-child)::after{content:" / ";padding:0 5px;color:var(--mat-orange)}
}

.page-materials .materials-fit{display:block;padding:0;min-height:100svh;border-bottom:1px solid var(--mat-line);background:#fff}
.page-materials .materials-fit__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.78fr);grid-template-rows:auto auto;align-items:end;gap:12px 7vw;min-height:25svh;padding:clamp(34px,4vw,62px) var(--gutter);border-bottom:1px solid var(--mat-line);direction:ltr}
.page-materials .materials-fit__head .materials-code{grid-column:2;grid-row:1;align-self:end;text-align:right;direction:ltr}
.page-materials .materials-fit__head h2{grid-column:2;grid-row:2;margin:0;align-self:start;font-size:clamp(46px,4.8vw,76px);line-height:.9;text-align:right;direction:rtl}
.page-materials .materials-fit__head h2 em{display:block;color:var(--mat-orange);font-style:normal}
.page-materials .materials-fit__head p{grid-column:1;grid-row:1/3;max-width:620px;margin:0;color:#676a68;font-size:18px;line-height:1.65;text-align:right;direction:rtl}
.page-materials .materials-fit__compare{display:grid;grid-template-columns:1fr 1fr;min-height:75svh;direction:ltr}
.page-materials .process-panel{display:grid;grid-template-rows:auto 1fr;min-width:0;background:#fff;direction:rtl}
.page-materials .process-panel+ .process-panel{border-left:1px solid var(--mat-line)}
.page-materials .process-panel>header{display:flex;align-items:center;justify-content:space-between;min-height:92px;padding:20px clamp(28px,4vw,66px);border-bottom:1px solid var(--mat-line);direction:ltr}
.page-materials .process-panel>header span{color:#6e716f;font:700 11px monospace;letter-spacing:.13em}
.page-materials .process-panel>header strong{font-size:clamp(36px,4vw,64px);line-height:1}
.page-materials .process-panel--fdm>header{background:var(--mat-ink);color:#fff}
.page-materials .process-panel--fdm>header span{color:var(--mat-orange)}
.page-materials .process-panel--msla>header{background:var(--mat-orange);color:#111}
.page-materials .process-panel--msla>header span{color:#111}
.page-materials .process-panel__body{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);min-height:0;direction:ltr}
.page-materials .process-panel__image{position:relative;min-width:0;margin:0;overflow:hidden;border-right:1px solid var(--mat-line);background:#fff}
.page-materials .process-panel__image img{position:absolute;inset:10%;width:80%;max-width:none;height:80%;object-fit:contain;object-position:center}
.page-materials .process-panel__content{display:grid;grid-template-rows:auto 1fr;min-width:0;direction:rtl}
.page-materials .process-panel__intro{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,2.6vw,42px);border-bottom:1px solid var(--mat-line)}
.page-materials .process-panel__intro h3{margin:0 0 24px;font-size:clamp(34px,3.2vw,54px);line-height:.92}
.page-materials .process-panel__intro h3 em{color:var(--mat-orange);font-style:normal}
.page-materials .process-panel__intro p{margin:0;color:#6b6e6c;font-size:15px;line-height:1.6}
.page-materials .process-panel dl{display:grid;align-content:stretch;margin:0;padding:0}
.page-materials .process-panel dl>div{display:grid;gap:8px;padding:clamp(20px,2.3vw,34px) clamp(28px,3vw,48px);border-bottom:1px solid var(--mat-line)}
.page-materials .process-panel dl>div:last-child{border-bottom:0}
.page-materials .process-panel dt{color:var(--mat-orange);font:700 10px monospace;letter-spacing:.12em}
.page-materials .process-panel dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:15px;line-height:1.6;font-weight:500}
.page-materials .capability-services{border-bottom:1px solid var(--mat-line);background:#fff}
.page-materials .capability-services__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);grid-template-rows:auto auto;gap:14px 7vw;padding:clamp(72px,8vw,125px) var(--gutter);border-bottom:1px solid var(--mat-line);direction:ltr}
.page-materials .capability-services__head .materials-code{grid-column:2;grid-row:1;text-align:right}
.page-materials .capability-services__head h2{grid-column:2;grid-row:2;margin:0;font-size:clamp(52px,5.5vw,88px);line-height:.9;text-align:right;direction:rtl}
.page-materials .capability-services__head h2 em{display:block;color:var(--mat-orange);font-style:normal}
.page-materials .capability-services__head p{grid-column:1;grid-row:1/3;align-self:end;max-width:610px;margin:0;color:#686b69;font-size:18px;line-height:1.65;text-align:right;direction:rtl}
.page-materials .capability-services__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));direction:rtl}
.page-materials .capability-services__grid article{display:grid;grid-template-rows:minmax(260px,38vh) auto auto 1fr;min-width:0;padding:18px clamp(24px,3vw,44px) 46px;border-left:1px solid var(--mat-line)}
.page-materials .capability-services__grid article:last-child{border-left:0}
.page-materials .capability-services__grid figure{margin:0;overflow:hidden;border-bottom:1px solid var(--mat-line);-webkit-clip-path:none;clip-path:none;background:#fff}
.page-materials .capability-services__grid img{width:100%;height:100%;object-fit:cover}
.page-materials .capability-services__grid span{color:var(--mat-orange);font:700 10px monospace;letter-spacing:.12em}
.page-materials .capability-services__grid h3{margin:18px 0;font-size:clamp(34px,3vw,52px);line-height:.92}
.page-materials .capability-services__grid h3 em{color:var(--mat-orange);font-style:normal}
.page-materials .capability-services__grid p{margin:0;color:#686b69;font-size:15px;line-height:1.65}
.page-materials .materials-compare{isolation:isolate;background:#f1f1ee;clip-path:none}
.page-materials .materials-compare::before{content:"";position:absolute;inset:0;border:1px solid var(--mat-line);pointer-events:none}
.page-materials .materials-compare img{position:absolute;z-index:1;inset:10% 3% 12%;width:94%;height:78%;object-fit:contain;filter:none}
.page-materials .materials-compare__tag{position:absolute;z-index:2;top:clamp(26px,3.2vw,52px);display:grid;gap:6px;color:var(--mat-ink);font-family:monospace;letter-spacing:.12em}
.page-materials .materials-compare__tag::after{content:"";position:absolute;top:10px;width:clamp(54px,6vw,100px);height:1px;background:var(--mat-line)}
.page-materials .materials-compare__tag b{font-size:clamp(19px,1.7vw,28px)}
.page-materials .materials-compare__tag span{color:#777a78;font-size:10px}
.page-materials .materials-compare__tag--fdm{left:clamp(24px,3.2vw,54px);text-align:left}
.page-materials .materials-compare__tag--fdm::after{left:calc(100% + 14px)}
.page-materials .materials-compare__tag--msla{right:clamp(24px,3.2vw,54px);text-align:right}
.page-materials .materials-compare__tag--msla::after{right:calc(100% + 14px)}
.page-materials .materials-compare__plus{position:absolute;z-index:3;top:50%;left:50%;color:var(--mat-orange);font:300 28px/1 monospace;transform:translate(-50%,-50%)}
.page-materials .materials-compare figcaption{z-index:3;right:auto;bottom:22px;left:50%;border:1px solid var(--mat-line);border-radius:0;background:#fff;color:var(--mat-ink);transform:translateX(-50%);white-space:nowrap}
.page-materials .materials-fit__matrix{margin-top:42px;border-top:1px solid var(--mat-line);font-size:14px}
.page-materials .materials-fit__matrix>div{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--mat-line)}
.page-materials .materials-fit__matrix span{color:#727573;font-weight:500}
.page-materials .materials-fit__matrix b{font-weight:700}
.page-materials .materials-fit__matrix-head{color:var(--mat-orange);font:700 11px/1.3 monospace;letter-spacing:.1em;direction:ltr}
.page-materials .materials-cta{min-height:78svh;border-bottom:1px solid var(--mat-line);background:#fff;color:var(--mat-ink)}
.page-materials .materials-cta .materials-code{color:var(--mat-orange)}
.page-materials .materials-cta h2 em{color:var(--mat-orange)}
.page-materials .materials-button--dark{background:var(--mat-orange);color:#111}
.page-materials .page-footer{border-top:0;background:#fff;color:#646765}
.page-materials .footer-inner a{color:var(--mat-ink)}

@media(max-width:980px){
  .page-materials .page-header{height:76px}
  .page-materials .page-links{background:#fff;color:var(--mat-ink)}
  .page-materials .materials-hero{grid-template-columns:1fr;height:auto;min-height:0;grid-template-areas:"copy" "visual"}
  .page-materials .materials-hero::after{display:none}
  .page-materials .materials-hero__copy{min-height:620px;padding:90px var(--gutter)}
  .page-materials .materials-hero__media{width:calc(100% - 28px);height:68svh;min-height:520px;margin:14px}
  .page-materials .materials-hero__index{display:none}
  .page-materials .materials-library__card{border-left:0;border-bottom:1px solid var(--mat-line)}
  .page-materials .materials-families{display:block;height:auto;overflow:visible}
  .page-materials .materials-families .materials-section-head{border-bottom:1px solid var(--mat-line)}
  .page-materials .materials-library{height:auto;overflow:visible}
  .page-materials .materials-fit__head{grid-template-columns:1fr;grid-template-rows:auto;min-height:0;padding:72px var(--gutter)}
  .page-materials .materials-fit__head .materials-code,.page-materials .materials-fit__head h2,.page-materials .materials-fit__head p{grid-column:1;grid-row:auto}
  .page-materials .materials-fit__compare{grid-template-columns:1fr}
  .page-materials .process-panel+ .process-panel{border-top:1px solid var(--mat-line);border-left:0}
  .page-materials .process-panel__body{min-height:420px}
  .page-materials .capability-services__head{grid-template-columns:1fr;grid-template-rows:auto;padding:72px var(--gutter)}
  .page-materials .capability-services__head .materials-code,.page-materials .capability-services__head h2,.page-materials .capability-services__head p{grid-column:1;grid-row:auto}
  .page-materials .capability-services__grid{grid-template-columns:1fr}
  .page-materials .capability-services__grid article{border-bottom:1px solid var(--mat-line);border-left:0}
}
@media(max-width:620px){
  .page-materials .materials-hero__copy{min-height:560px;padding:75px 22px}
  .page-materials .materials-hero h1{font-size:52px}
  .page-materials .materials-hero__media{height:58svh;min-height:430px}
  .page-materials .materials-section-head{min-height:0;padding:64px 22px}
  .page-materials .materials-library ul{grid-template-columns:1fr}
  .page-materials .process-panel__body{grid-template-columns:1fr;min-height:0}
  .page-materials .process-panel__intro{border-bottom:1px solid var(--mat-line);border-left:0}
}

/* Keep the contact layout authoritative after all shared/material overrides. */
body.page-contact{--orange:#ff7100;padding-top:78px}
.page-contact .topbar{height:78px;padding-inline:var(--pad)}
.page-contact .topbar .logo{width:auto;min-width:clamp(154px,13vw,220px);padding-inline:clamp(18px,2.2vw,36px)}
.page-contact .topbar .logo img{width:clamp(118px,9.5vw,154px)}
.page-contact .topbar>nav a{padding-inline:clamp(20px,2.2vw,38px);font-size:13px}
.page-contact .top-actions{left:var(--pad);gap:24px}
.page-contact .page-hero--contact{height:calc(100svh - 78px);min-height:650px;grid-template-columns:1fr 1fr;direction:ltr}
.page-contact .page-hero--contact .page-hero-copy{grid-column:2;grid-row:1;height:100%;padding:clamp(48px,6vw,104px) var(--pad);border-right:0;border-left:1px solid #d2d0ca;direction:rtl}
.page-contact .page-hero--contact .contact-choice{grid-column:1;grid-row:1;display:grid;grid-template-rows:auto 1fr 1fr auto;height:100%;margin:0;padding:0;direction:rtl}
.page-contact .contact-choice__label{min-height:112px;margin:0;padding:0 clamp(34px,5vw,78px)}
.page-contact .contact-choice>div{min-height:0;padding:clamp(30px,4vw,64px) clamp(34px,5vw,78px)}
.page-contact .contact-choice>p{min-height:86px;margin:0;padding:0 clamp(34px,5vw,78px)}
@media(max-width:900px){
  .page-materials{padding-top:76px}
  body.page-contact{padding-top:76px}
  .page-contact .topbar{height:76px;padding-inline:20px}
  .page-contact .topbar .logo{min-width:auto;padding-inline:0}
  .page-contact .top-actions{left:20px}
  .page-contact .page-hero--contact{height:auto;min-height:0;grid-template-columns:1fr}
  .page-contact .page-hero--contact .page-hero-copy{grid-column:1;grid-row:1;min-height:calc(100svh - 76px);padding:80px 26px;border-left:0;border-bottom:1px solid #d2d0ca}
  .page-contact .page-hero--contact .contact-choice{grid-column:1;grid-row:2;min-height:620px}
}

/* Contact form v37 — compact, structural and native to the site grid. */
.page-contact .contact-section{padding:0;background:#fff;border-bottom:1px solid #d2d0ca}
.page-contact .contact-section .contact-layout{
  display:grid;grid-template-columns:1fr 1fr;min-height:min(760px,calc(100svh - 78px));gap:0;border:0;background:#fff;direction:ltr
}
.page-contact .contact-panel{
  grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(52px,6vw,104px) var(--pad);
  border-left:1px solid #d2d0ca;background:#fff;color:var(--ink);direction:rtl;text-align:right
}
.page-contact .contact-panel .section-index{margin-bottom:28px}
.page-contact .contact-panel h2{
  margin:0 0 26px;font-family:"Rubik",Arial,sans-serif;font-size:clamp(52px,5.2vw,84px);font-weight:900;
  line-height:.9;letter-spacing:-.055em
}
.page-contact .contact-panel p{max-width:600px;margin:0;color:#6c6e6d;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:18px;font-weight:500;line-height:1.6}
.page-contact .contact-details{margin-top:38px;padding-top:22px;border-top:1px solid #d2d0ca;color:#6c6e6d;font:700 12px/1.5 monospace;letter-spacing:.04em}
.page-contact .contact-form{grid-column:1;grid-row:1;padding:0;border:0;background:#fff;direction:rtl}
.page-contact .form-grid{display:grid;height:auto;grid-template-columns:1fr 1fr;gap:0;border-top:0;border-right:0}
.page-contact .field{display:grid;align-content:center;min-height:102px;padding:18px clamp(24px,3vw,46px);gap:7px;border-bottom:1px solid #d2d0ca;border-left:1px solid #d2d0ca}
.page-contact .field:nth-child(even){border-left:0}
.page-contact .field-wide{grid-column:1/-1;border-left:0}
.page-contact .field label{color:var(--orange);font:700 11px/1.2 monospace;letter-spacing:.08em}
.page-contact .field input,.page-contact .field textarea{
  min-height:30px;padding:0;border:0;background:transparent;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:17px;font-weight:500;outline:0
}
.page-contact .field input:focus,.page-contact .field textarea:focus{box-shadow:inset 0 -2px var(--orange)}
.page-contact .field-project{min-height:170px}
.page-contact .field-project textarea{min-height:86px;resize:none}
.page-contact .field textarea::placeholder,.page-contact .field input::placeholder{color:#989a99;font-weight:400}
.page-contact .file-field{min-height:96px;padding:18px clamp(24px,3vw,46px);border:0;border-bottom:1px solid #d2d0ca}
.page-contact .file-field input{font-size:13px;font-weight:500}
.page-contact .contact-form .primary-action{width:calc(100% - clamp(48px,6vw,92px));min-height:72px;margin:28px clamp(24px,3vw,46px) 0;padding:0 28px;border:0;background:var(--orange);color:#111}
.page-contact .contact-form .form-status{margin:12px clamp(24px,3vw,46px) 22px}

@media(max-width:900px){
  .page-contact .contact-section .contact-layout{grid-template-columns:1fr;min-height:0}
  .page-contact .contact-panel{grid-column:1;grid-row:1;min-height:560px;padding:72px 26px;border-left:0;border-bottom:1px solid #d2d0ca}
  .page-contact .contact-form{grid-column:1;grid-row:2}
}
@media(max-width:560px){
  .page-contact .form-grid{grid-template-columns:1fr}
  .page-contact .field,.page-contact .field:nth-child(even){grid-column:1;border-left:0}
}

/* Contact v38 — one viewport, one message, one form. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.page-contact .contact-section .contact-layout{height:calc(100svh - 78px);min-height:690px;overflow:hidden}
.page-contact .contact-panel h1{margin:0 0 30px;font-family:"Rubik",Arial,sans-serif;font-size:clamp(56px,5.6vw,92px);font-weight:900;line-height:.88;letter-spacing:-.055em}
.page-contact .contact-panel h1 .accent{display:block}
.page-contact .contact-form{display:grid;grid-template-rows:1fr auto auto;height:100%;min-height:0}
.page-contact .form-grid{grid-template-rows:repeat(2,minmax(104px,1fr)) minmax(150px,1.35fr) minmax(92px,.75fr);min-height:0}
.page-contact .field{place-items:center;align-content:center;min-height:0;padding:20px 32px}
.page-contact .field input,.page-contact .field textarea{width:100%;text-align:center;font-size:clamp(17px,1.25vw,21px);font-weight:600}
.page-contact .field input::placeholder,.page-contact .field textarea::placeholder{color:#22262c;opacity:1;font-weight:700}
.page-contact .field-project{min-height:0}
.page-contact .field-project textarea{display:flex;min-height:70px;padding-top:22px;text-align:center}
.page-contact .file-field{display:grid;grid-template-columns:auto 1fr;place-items:center;gap:24px;min-height:0;padding:16px 32px;color:var(--orange);font:700 11px/1.3 monospace}
.page-contact .file-field input{width:auto;color:#555;text-align:right;font-size:12px}
.page-contact .contact-form .primary-action{width:100%;min-height:82px;margin:0;padding:0 clamp(32px,4vw,64px);border-radius:0;font-size:18px}
.page-contact .contact-form .form-status{min-height:0;margin:0;padding:0 32px}

@media(max-width:900px){
  .page-contact .contact-section .contact-layout{height:auto;min-height:0;overflow:visible}
  .page-contact .contact-panel{min-height:calc(100svh - 76px)}
  .page-contact .contact-form{height:auto}
  .page-contact .form-grid{grid-template-rows:none}
  .page-contact .field{min-height:110px}
  .page-contact .field-project{min-height:170px}
}

/* Contact form polish v39 */
.page-contact .file-field{position:relative;display:block;padding:0;color:var(--ink)}
.page-contact .file-field>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.page-contact .file-field>label{display:flex;width:100%;height:100%;min-height:92px;align-items:center;justify-content:space-between;padding:0 clamp(28px,3vw,48px);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:15px;font-weight:500;letter-spacing:0;cursor:pointer}

/* The only display exception inside the material comparison. */
.page-materials .process-panel>header strong{font-family:"Rubik",Arial,sans-serif!important;font-weight:900!important}

/* One compact running-text system; display headings stay Rubik above. */
p,.page-materials .process-panel dd{
  font-family:"Rubik",sans-serif!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.6!important;
  letter-spacing:normal!important;
  font-kerning:normal;
}
.page-materials .process-panel dt{
  font-family:"Rubik",sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}
.page-materials .process-panel dd{
  color:#252833;
}
.page-contact .file-field>label b{display:grid;width:34px;height:34px;place-items:center;color:var(--orange);font:400 25px/1 monospace;transition:transform .2s ease}
.page-contact .file-field>label:hover b{transform:rotate(90deg)}
.page-contact .file-field:focus-within{box-shadow:inset 0 0 0 2px var(--orange)}
.page-contact .contact-form .primary-action{transition:background .2s ease,color .2s ease}
.page-contact .contact-form .primary-action:hover{background:#252833;color:#fff;transform:none}

/* Six compact horizontal rows */
.page-contact .form-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(70px,1fr)) minmax(100px,1.25fr) minmax(70px,.85fr);height:100%}
.page-contact .field,.page-contact .field:nth-child(even){grid-column:1;min-height:0;padding:14px clamp(28px,4vw,62px);border-left:0;border-bottom:1px solid #d2d0ca}
.page-contact .field input,.page-contact .field textarea{text-align:right;direction:rtl}
.page-contact .field-project{display:grid;place-items:center;min-height:0}
.page-contact .field-project textarea{min-height:54px;padding:15px 0 0;resize:none}
.page-contact .field.file-field{min-height:0;padding:0;border-bottom:1px solid #d2d0ca}
.page-contact .file-field>label{min-height:100%;padding:0 clamp(28px,4vw,62px);direction:rtl;justify-content:space-between;justify-self:stretch;align-self:stretch;gap:12px;text-align:right}
.page-contact .file-field>label span{display:block;flex:0 0 auto;text-align:right}
@media(max-width:560px){.page-contact .form-grid{grid-template-rows:repeat(4,86px) 130px 82px}.page-contact .field-project{grid-template-columns:1fr}}

/* Contact typography follows the same Rubik hierarchy as the rest of the site. */
.page-contact .field label,
.page-contact .field input,
.page-contact .field textarea,
.page-contact .file-field>label,
.page-contact .contact-panel p,
.page-contact .contact-details,
.page-contact .contact-panel .section-index,
.page-contact .primary-action{
  font-family:"Rubik",sans-serif!important;
  letter-spacing:normal!important;
  font-kerning:normal;
}
.page-contact .field label,
.page-contact .field input,
.page-contact .field textarea,
.page-contact .file-field>label{
  font-size:15px!important;
  font-weight:500!important;
}
.page-contact .contact-details,
.page-contact .contact-panel .section-index{
  font-weight:500!important;
}
.page-contact .primary-action{
  font-weight:700!important;
}

/* Compact material copy uses the same readable running face. */
.page-materials .materials-library li{
  font-family:"Rubik",sans-serif!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.45!important;
  letter-spacing:normal!important;
}
.page-materials .materials-library__tab,
.page-materials .materials-kicker,
.page-materials .materials-code{
  font-family:"Rubik",sans-serif!important;
  font-weight:600!important;
  letter-spacing:normal!important;
}

/* No grey typography: navy on light panels and white on dark panels. */
p,dd,.page-materials .materials-library li,
.page-contact .field label,
.page-contact .field input,
.page-contact .field textarea,
.page-contact .file-field>label,
.page-contact .contact-details{
  color:#252833!important;
}
.page-contact input::placeholder,
.page-contact textarea::placeholder{
  color:#252833!important;
  opacity:1;
}
.site-cta p,.site-cta small,.site-cta span{
  color:#fff!important;
}

/* Final contrast pass: body copy never uses grey. */
.section-index,.section-heading p,.feature-grid p,.split-copy p,
.confirmation-copy p,.requirements-grid p,.process-stage p,
.technology-hero__copy>p,.technology-choice__copy>p,
.technology-choice li small,.page-materials .materials-hero__copy>p,
.page-materials .materials-section-head>p,
.page-materials .materials-criteria__grid p,
.page-materials .materials-family-list p,
.page-materials .materials-fit__head p,
.page-materials .process-panel__intro p,
.page-materials .capability-services__head p,
.page-materials .capability-services__grid p,
.page-materials .materials-fit__matrix span,
.page-contact .contact-choice>p,.page-contact .contact-panel p,
.form-status,.page-footer{
  color:#252833!important;
}
.page-hero--technology p,
.page-hero--technology .section-index,.closing-band p,
.closing-band .section-index,.technology-stack p,
.technology-card p,.technology-card small,.site-cta p,.site-cta small,.site-cta span,
.page-footer p,.page-footer span{
  color:#fff!important;
}

/* Replace only former technical/monospace styles; display typography stays intact. */
p,.section-index span,.feature-grid .number,.spec-list b,.process-rail,
.contact-choice__label,.contact-choice>div i,.technology-panel__copy .number,
.requirements-grid article>span,.process-stage__number,
.technology-hero__facts dt,.technology-hero__media figcaption span,
.technology-card__copy>span,.technology-choice li>span,
.technology-choice__media figcaption,.technology-cta__inner>div>span,
.materials-kicker,.materials-code,.materials-hero__index,
.materials-criteria__grid article>span,.family-no,.materials-family-list i,
.materials-library__tab,.materials-fit__visual figcaption,
.materials-fit__copy li b,.page-contact .contact-choice__label,
.page-contact .contact-choice>div i,.page-materials .process-panel>header span,
.page-materials .process-panel dt,.page-materials .process-panel dd,
.page-materials .capability-services__grid span,
.page-materials .materials-compare__tag,
.page-materials .materials-compare__plus,
.page-materials .materials-fit__matrix-head,
.page-contact .contact-panel p,.page-contact .contact-details,
.page-contact .field label,.page-contact .field input,
.page-contact .field textarea,.page-contact .file-field,
.page-contact .file-field>label,.page-contact .file-field>label b{
  font-family:"Rubik",Arial,sans-serif!important;
}

/* Approved display direction: large headlines use the light engineering weight. */
h1,h2{font-weight:300!important}

/* Only the detail rectangle in each material card is inverted. */
.page-materials .materials-families,
.page-materials .materials-library,
.page-materials .materials-library__card,
.page-materials .materials-library__tab,
.page-materials .materials-library figure{
  background:#fff!important;
  color:#252833!important;
}
.page-materials .materials-families .materials-section-head h2,
.page-materials .materials-library h3{
  color:#252833!important;
}
.page-materials .materials-families .materials-section-head{
  border-color:rgba(255,255,255,.18)!important;
  background:#252833!important;
  color:#fff!important;
}
.page-materials .materials-families .materials-section-head h2,
.page-materials .materials-families .materials-section-head>p{
  color:#fff!important;
}
.page-materials .materials-criteria .materials-section-head{
  border-color:#d2d0ca!important;
  background:#fff!important;
  color:#252833!important;
}
.page-materials .materials-criteria .materials-section-head h2,
.page-materials .materials-criteria .materials-section-head>p{
  color:#252833!important;
}
.page-materials .materials-fit__head{
  border-color:#d2d0ca!important;
  background:#fff!important;
  color:#252833!important;
}
.page-materials .materials-fit__head h2,
.page-materials .materials-fit__head p{
  color:#252833!important;
}

/* Services section occupies one complete desktop viewport. */
@media(min-width:901px){
  .page-materials .capability-services{
    display:grid;
    grid-template-rows:minmax(170px,24svh) minmax(0,1fr);
    height:calc(100svh - 92px);
    min-height:620px;
    overflow:hidden;
  }
  .page-materials .capability-services__head{
    min-height:0;
    padding:clamp(34px,4.5vh,60px) var(--gutter);
  }
  .page-materials .capability-services__head h2{
    font-size:clamp(46px,4.6vw,74px);
  }
  .page-materials .capability-services__grid{
    min-height:0;
  }
  .page-materials .capability-services__grid article{
    grid-template-rows:minmax(140px,1fr) auto auto;
    min-height:0;
    padding:14px clamp(22px,2.2vw,36px) clamp(18px,2.4vh,28px);
  }
  .page-materials .capability-services__grid figure{
    min-height:0;
    margin-bottom:clamp(14px,2vh,24px);
  }
.page-materials .capability-services__grid h3{
    margin:8px 0;
    font-size:clamp(28px,2.35vw,42px);
  }
}
.site-cta .site-cta__action span,.site-cta .site-cta__action b{
  color:#252833!important;
}

/* Contact intro panel uses the brand-dark treatment. */
.page-contact .contact-panel{
  border-color:rgba(255,255,255,.18)!important;
  background:#252833!important;
  color:#fff!important;
}
.page-contact .contact-panel h1,
.page-contact .contact-panel p,
.page-contact .contact-panel .section-index,
.page-contact .contact-panel .contact-details,
.page-contact .contact-panel .contact-details span{
  color:#fff!important;
}
.page-contact .contact-panel .contact-details{
  border-color:rgba(255,255,255,.18)!important;
}
.page-materials .materials-library ul{
  border-color:#d2d0ca!important;
  background:#fff!important;
}
.page-materials .materials-library li{
  color:#252833!important;
}

/* Orange actions always use white copy and arrows. */
.page-materials .page-action:hover,
.materials-button,
.materials-button span,
.materials-button b,
.hero-cta,
.hero-cta span,
.primary-action,
.primary-action span,
.page-contact .contact-form .primary-action,
.page-contact .contact-form .primary-action span,
.site-cta .site-cta__action,
.site-cta .site-cta__action span,
.site-cta .site-cta__action b{color:#fff!important}
.materials-button,
.materials-button span,
.hero-cta,
.primary-action,
.site-cta .site-cta__action{font-family:"Rubik",Arial,sans-serif!important;font-weight:400!important}
.materials-button b,
.hero-cta span,
.primary-action span,
.site-cta .site-cta__action b{font-weight:300!important}

/* Running copy follows the approved statement paragraph weight. */
main p,
.feature-grid p,
.split-copy p,
.technology-card p,
.process-stage p,
.page-materials .process-panel dd{
  font-weight:400!important;
}
.page-materials .materials-library li,
.page-materials .materials-fit__matrix span,
.page-materials .materials-fit__matrix b{
  font-weight:400!important;
}

/* One consistent light engineering weight for every visible heading. */
main h1,
main h2,
main h3,
.page-materials h1,
.page-materials h2,
.page-materials h3,
.page-about h1,
.page-about h2,
.page-about h3,
.technology-card h3,
.process-stage h2,
.page-materials .process-panel>header strong{
  font-family:"Rubik",Arial,sans-serif!important;
  font-weight:300!important;
}

/* Clean rectangular media: no stepped masks, images fill their cells. */
.page-materials .materials-hero__media,
.page-about .page-hero-media,
.page-about .split-media,
.page-about .about-story__media,
.page-materials .materials-library figure,
.page-materials .capability-services__grid figure{
  margin:0!important;
  border-radius:0!important;
  -webkit-clip-path:none!important;
  clip-path:none!important;
}
.page-materials .materials-hero__media{
  width:100%!important;
  height:100%!important;
}
.page-about .page-hero-media,
.page-about .about-story__media{
  align-self:stretch!important;
  height:auto!important;
}
.page-about .page-hero-media img,
.page-about .split-media img,
.page-about .about-story__media img,
.page-materials .materials-library figure img,
.page-materials .capability-services__grid figure img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
@media(min-width:901px){
  .page-materials .capability-services__grid article{
    padding:0 0 clamp(18px,2.4vh,28px)!important;
  }
  .page-materials .capability-services__grid figure{
    display:block;
    width:100%;
    height:100%;
    min-height:0;
    border-bottom:1px solid var(--mat-line)!important;
    overflow:hidden;
  }
  .page-materials .capability-services__grid figure img{
    display:block;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .page-materials .capability-services__grid h3,
  .page-materials .capability-services__grid p{
    margin-right:clamp(22px,2.2vw,36px)!important;
    margin-left:clamp(22px,2.2vw,36px)!important;
  }
  .page-materials .materials-library figure{
    width:100%!important;
    height:100%!important;
  }
}

/* Card media keeps an inner gutter; all masks stay rectangular. */
.page-materials .materials-hero__media,
.page-about .page-hero-media,
.page-about .about-story__media{
  width:auto!important;
  height:auto!important;
  margin:18px!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  -webkit-clip-path:none!important;
  clip-path:none!important;
}
.page-materials .materials-library figure{
  width:auto!important;
  height:auto!important;
  margin:18px!important;
  align-self:stretch!important;
  -webkit-clip-path:none!important;
  clip-path:none!important;
}
.page-materials .capability-services__grid article{
  padding:18px clamp(18px,1.6vw,26px) clamp(24px,3vh,38px)!important;
}
.page-materials .capability-services__grid figure{
  width:auto!important;
  height:auto!important;
  margin:0 0 18px!important;
  -webkit-clip-path:none!important;
  clip-path:none!important;
}
.page-materials .capability-services__grid figure img,
.page-materials .materials-library figure img,
.page-about .page-hero-media img,
.page-about .about-story__media img{
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.page-materials .materials-hero__media{object-fit:cover!important}

/* About hero follows the exact same header offset and inner gutter as Materials. */
@media(min-width:901px){
  .page-about .page-hero{
    height:calc(100svh - 92px)!important;
    min-height:calc(100svh - 92px)!important;
    overflow:hidden;
  }
  .page-about .page-hero-media{
    box-sizing:border-box;
    margin:18px!important;
    align-self:stretch!important;
  }
}

/* Full-width divider between every service image and its copy. */
.page-materials .capability-services__grid h3{
  box-sizing:border-box;
  width:100%;
  margin:0!important;
  padding:18px clamp(22px,2.2vw,36px) 0;
  border-top:1px solid var(--mat-line);
}
.page-materials .capability-services__grid p{
  margin:0!important;
  padding:12px clamp(22px,2.2vw,36px) 0;
}
.page-materials .capability-services__grid figure{
  margin-bottom:0!important;
  border-bottom:0!important;
}

/* Final type-weight audit across inner-page display and detail components. */
.page-materials .materials-criteria__grid h3,
.page-materials .materials-family-list strong,
.page-materials .materials-library h3,
.page-materials .process-panel__intro h3,
.page-materials .capability-services__grid h3,
.page-materials .process-panel>header strong,
.page-process .process-stage h2,
.page-about .about-story h2,
.page-about .split-copy h2{
  font-family:"Rubik",Arial,sans-serif!important;
  font-weight:300!important;
}
.page-materials .materials-criteria__grid p,
.page-materials .materials-family-list p,
.page-materials .materials-library li,
.page-materials .process-panel__intro p,
.page-materials .process-panel dd,
.page-materials .capability-services__grid p,
.page-process .process-stage p,
.page-about .about-story p,
.page-about .split-copy p{
  font-family:"Rubik",Arial,sans-serif!important;
  font-weight:400!important;
}

/* English uses the same components and weights, mirrored to left-to-right. */
body.lang-en main,
body.lang-en .page-hero-copy,
body.lang-en .about-story__copy,
body.lang-en .split-copy,
body.lang-en .materials-hero__copy,
body.lang-en .materials-section-head,
body.lang-en .materials-library__card,
body.lang-en .materials-fit__head,
body.lang-en .process-panel__content,
body.lang-en .capability-services__head,
body.lang-en .capability-services__grid article,
body.lang-en .process-stage,
body.lang-en .technology-hero__copy,
body.lang-en .technology-overview__heading,
body.lang-en .technology-card__copy,
body.lang-en .technology-choice__copy,
body.lang-en .technology-cta__inner,
body.lang-en.page-contact .contact-panel h1,
body.lang-en.page-contact .contact-panel p,
body.lang-en.page-contact .contact-details,
body.lang-en.page-contact .contact-details span,
body.lang-en .contact-panel,
body.lang-en .contact-form,
body.lang-en .confirmation-copy{
  direction:ltr!important;
  text-align:left!important;
}
body.lang-en main h1,
body.lang-en main h2,
body.lang-en main h3,
body.lang-en .page-materials .process-panel>header strong{
  font-family:"Rubik",Arial,sans-serif!important;
  font-weight:300!important;
}
body.lang-en main p,
body.lang-en main li,
body.lang-en main dd,
body.lang-en .process-stage p{
  font-family:"Rubik",Arial,sans-serif!important;
  font-weight:400!important;
}
body.lang-en .materials-kicker,
body.lang-en .materials-code,
body.lang-en .materials-library__tab,
body.lang-en .section-index,
body.lang-en .about-story__label{direction:ltr!important;text-align:left!important}
body.lang-en .page-materials .materials-fit__head .materials-code,
body.lang-en .page-materials .capability-services__head h2,
body.lang-en .page-materials .capability-services__head p{grid-column:auto;text-align:left!important;direction:ltr!important}
body.lang-en .page-materials .capability-services__grid h3,
body.lang-en .page-materials .capability-services__grid p{margin-right:0!important;margin-left:0!important}

/* Technologies page — services moved here from Capabilities & Materials. */
.page-technologies{--mat-orange:#ff7100;--mat-ink:#252833;--mat-line:#d2d0ca}
.page-technologies{padding-top:78px;background:#fff;color:var(--mat-ink)}
.page-technologies .technology-page-hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 78px);border-bottom:1px solid var(--mat-line);background:#fff}
.page-technologies .technology-page-hero .page-hero-media{grid-column:2;grid-row:1;height:calc(100svh - 114px);min-height:0;margin:18px;align-self:center;overflow:hidden;background:#fff}
.page-technologies .technology-page-hero .page-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.06)}
.page-technologies .technology-page-hero .page-hero-divider{position:absolute;z-index:3;top:0;bottom:0;left:50%;display:block;width:1px;background:var(--mat-line);pointer-events:none}
.page-technologies .technology-page-hero .page-hero-copy{grid-column:1;grid-row:1;display:flex;min-height:0;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,96px);border:0;background:#fff;color:var(--mat-ink)}
.page-technologies .technology-page-hero h1{margin:0 0 30px;font-family:"Rubik",Arial,sans-serif;font-size:clamp(52px,5.1vw,84px);font-weight:300;line-height:.98;letter-spacing:-.045em}
.page-technologies .technology-page-hero h1 .accent{color:var(--mat-orange)}
.page-technologies .technology-page-hero .page-hero-copy>p{max-width:620px;margin:0;color:#555957;font-size:19px;line-height:1.65}
.page-technologies .technology-services{border-block:1px solid var(--mat-line);background:#fff;color:var(--mat-ink)}
.page-technologies .capability-services__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);grid-template-rows:auto auto;gap:14px 7vw;padding:clamp(72px,8vw,125px) var(--gutter);border-bottom:1px solid var(--mat-line);direction:ltr}
.page-technologies .capability-services__head h2{grid-column:2;grid-row:1/3;margin:0;font-family:"Rubik",Arial,sans-serif;font-size:clamp(52px,5.5vw,88px);font-weight:300;line-height:.9;text-align:right;direction:rtl}
.page-technologies .capability-services__head h2 em{display:block;color:var(--mat-orange);font-style:normal}
.page-technologies .capability-services__head p{grid-column:1;grid-row:1/3;align-self:end;max-width:610px;margin:0;color:#686b69;font-size:18px;line-height:1.65;text-align:right;direction:rtl}
.page-technologies .capability-services__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));direction:rtl}
.page-technologies .capability-services__grid article{display:grid;grid-template-rows:minmax(280px,42vh) auto 1fr;min-width:0;padding:0 0 clamp(28px,3vw,46px);border-left:1px solid var(--mat-line)}
.page-technologies .capability-services__grid article:last-child{border-left:0}
.page-technologies .capability-services__grid figure{width:auto;height:auto;margin:14px;overflow:hidden;background:#fff}
.page-technologies .capability-services__grid img{display:block;width:100%;height:100%;object-fit:cover}
.page-technologies .capability-services__grid h3{box-sizing:border-box;width:100%;margin:0;padding:22px clamp(24px,3vw,44px) 0;border-top:1px solid var(--mat-line);font-family:"Rubik",Arial,sans-serif;font-size:clamp(34px,3vw,52px);font-weight:300;line-height:.92}
.page-technologies .capability-services__grid h3 em{color:var(--mat-orange);font-style:normal}
.page-technologies .capability-services__grid p{margin:0;padding:16px clamp(24px,3vw,44px) 0;color:#686b69;font-size:15px;line-height:1.65}
@media(min-width:981px){
  .page-technologies .technology-services{
    display:grid;
    grid-template-rows:minmax(190px,30svh) minmax(0,1fr);
    height:calc(100svh - 78px);
    min-height:680px;
    overflow:hidden;
  }
  .page-technologies .capability-services__head{
    min-height:0;
    align-items:center;
    padding:clamp(34px,4.8vh,58px) var(--gutter);
  }
  .page-technologies .capability-services__head h2{
    align-self:center;
    font-size:clamp(44px,4.2vw,68px);
    line-height:.96;
  }
  .page-technologies .capability-services__head p{
    align-self:center;
    font-size:16px;
  }
  .page-technologies .capability-services__grid{
    min-height:0;
  }
  .page-technologies .capability-services__grid article{
    grid-template-rows:minmax(0,1fr) auto auto;
    min-height:0;
    padding-bottom:clamp(20px,2.5vh,30px);
  }
  .page-technologies .capability-services__grid figure{
    min-height:0;
    margin:12px 12px 0;
  }
  .page-technologies .capability-services__grid h3{
    padding-top:16px;
    font-size:clamp(28px,2.4vw,40px);
  }
  .page-technologies .capability-services__grid p{
    padding-top:10px;
    font-size:14px;
    line-height:1.5;
  }
}
@media(max-width:980px){
  .page-technologies .technology-page-hero{height:calc(100svh - 78px);min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(0,44fr) minmax(0,56fr);overflow:hidden}
  .page-technologies .technology-page-hero .page-hero-divider{display:none}
  .page-technologies .technology-page-hero .page-hero-media{grid-column:1;grid-row:2;width:calc(100% - 24px);height:calc(100% - 24px);min-height:0;margin:12px;align-self:stretch}
  .page-technologies .technology-page-hero .page-hero-media img{object-position:center 48%}
  .page-technologies .technology-page-hero .page-hero-copy{grid-column:1;grid-row:1;min-height:0;padding:clamp(28px,5vw,48px);border-top:0;border-bottom:1px solid var(--mat-line)}
  .page-technologies .technology-page-hero h1{margin-bottom:18px;font-size:clamp(38px,6vw,54px);line-height:1.01}
  .page-technologies .technology-page-hero .page-hero-copy>p{max-width:680px;font-size:15px;line-height:1.55}
  .page-technologies .capability-services__head{grid-template-columns:1fr;grid-template-rows:auto;gap:20px;padding:64px var(--gutter)}
  .page-technologies .capability-services__head h2,.page-technologies .capability-services__head p{grid-column:1;grid-row:auto}
  .page-technologies .capability-services__grid{grid-template-columns:1fr}
  .page-technologies .capability-services__grid article{border-bottom:1px solid var(--mat-line);border-left:0}
}
@media(max-width:620px){
  .page-technologies .technology-page-hero{grid-template-rows:minmax(0,46fr) minmax(0,54fr)}
  .page-technologies .technology-page-hero .page-hero-media{width:calc(100% - 20px);height:calc(100% - 20px);min-height:0;margin:10px}
  .page-technologies .technology-page-hero .page-hero-copy{min-height:0;padding:22px}
  .page-technologies .technology-page-hero h1{margin-bottom:14px;font-size:clamp(30px,8.6vw,36px);line-height:1.02}
  .page-technologies .technology-page-hero .page-hero-copy>p{font-size:13.5px;line-height:1.5}
  .page-technologies .capability-services__head{padding:40px 22px}
  .page-technologies .capability-services__head h2{font-size:36px;line-height:1.05}
  .page-technologies .capability-services__head p{font-size:14px}
  .page-technologies .capability-services__grid article{grid-template-rows:auto auto auto;padding-bottom:28px}
  .page-technologies .capability-services__grid figure{aspect-ratio:4/3;margin:10px}
  .page-technologies .capability-services__grid h3{padding:20px 22px 0;font-size:28px;line-height:1.05}
  .page-technologies .capability-services__grid p{padding:12px 22px 0;font-size:14px}
}
body.lang-en.page-contact .field input,
body.lang-en.page-contact .field textarea{direction:ltr!important;text-align:left!important}
body.lang-en.page-contact .file-field>label{direction:ltr!important;text-align:left!important}
body.lang-en .site-cta__content,
body.lang-en .site-cta__action{direction:ltr!important;text-align:left!important}
body.lang-en .site-cta h2{font-weight:300!important}
