
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img,svg{max-width:100%}
button,input,select,textarea{font:inherit}
button{color:inherit}


:root {
  --navy: #1e3152;
  --navy-deep: #10203a;
  --turquoise: #60c0bd;
  --turquoise-light: #e5f5f4;
  --canvas: #f6f9f8;
  --paper: #ffffff;
  --line: rgba(30, 49, 82, 0.16);
  --muted: #667386;
}

* { box-sizing: border-box; }
html { max-width:100%; overflow-x:hidden; scroll-behavior: smooth; background: var(--canvas); }
body {
  margin: 0;
  max-width:100%;
  overflow-x:hidden;
  background: var(--canvas);
  color: var(--navy-deep);
  font-family: "Manrope", "Inter", Arial, sans-serif;
  font-synthesis: none;
}
html.menu-open,
body.menu-open { overflow:hidden; overscroll-behavior:none; }
a { color: inherit; text-decoration: none; }
button, a, summary { -webkit-tap-highlight-color: transparent; }

.site-header {
  position: relative;
  z-index: 20;
  min-height: 88px;
  padding: 0 clamp(24px, 5vw, 84px);
  display: grid;
  grid-template-columns: minmax(190px, 1fr) auto minmax(190px, 1fr);
  align-items: center;
  gap: 36px;
  border-bottom: 1px solid var(--line);
  background: rgba(246, 249, 248, 0.92);
  backdrop-filter: blur(18px);
}
.brand { display: inline-flex; align-items: center; width: fit-content; }
.brand img { display: block; width: clamp(170px, 13vw, 220px); height: auto; }
.desktop-nav {
  display: flex;
  gap: clamp(24px, 2.7vw, 48px);
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
}
.desktop-nav > a,
.desktop-nav-services > a { position: relative; padding: 8px 0; }
.desktop-nav > a::after,
.desktop-nav-services > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 2px;
  height: 1px;
  background: var(--turquoise);
  transition: right 220ms ease;
}
.desktop-nav > a:hover::after,
.desktop-nav-services > a:hover::after,
.desktop-nav-services:focus-within > a::after { right: 0; }
.desktop-nav-services { position:relative; }
.desktop-nav-services > a { display:flex; align-items:center; gap:6px; }
.desktop-nav-services > a svg { color:var(--turquoise); transition:transform .22s ease; }
.desktop-services-menu {
  position:absolute;
  top:calc(100% + 20px);
  left:50%;
  z-index:130;
  width:min(440px,44vw);
  padding:10px;
  display:grid;
  background:rgba(16,32,58,.98);
  color:white;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 28px 70px rgba(5,17,35,.25);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,10px);
  transition:opacity .22s ease,transform .22s ease,visibility .22s;
}
.desktop-services-menu::before { content:""; position:absolute; left:0; right:0; top:-22px; height:22px; }
.desktop-services-menu a { min-height:48px; padding:11px 13px; display:flex; justify-content:space-between; align-items:center; gap:24px; border-bottom:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.84); font-size:12px; font-weight:560; line-height:1.35; transition:background .18s ease,color .18s ease,padding-left .18s ease; }
.desktop-services-menu a:last-child { border-bottom:0; }
.desktop-services-menu a:hover,.desktop-services-menu a:focus-visible { padding-left:18px; background:rgba(96,192,189,.1); color:white; outline:none; }
.desktop-services-menu small { color:var(--turquoise); font:600 8px/1 "IBM Plex Mono",ui-monospace,monospace; letter-spacing:.1em; }
.desktop-nav-services:hover .desktop-services-menu,
.desktop-nav-services:focus-within .desktop-services-menu { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
.desktop-nav-services:hover > a svg,
.desktop-nav-services:focus-within > a svg { transform:rotate(180deg); }
.header-contact {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 700;
}
.header-contact svg { color: var(--turquoise); }
.mobile-menu { display: none; justify-self: end; }
.mobile-menu > button { padding:10px 0 10px 18px; display:flex; align-items:center; gap:10px; border:0; background:transparent; color:var(--navy); font:600 12px/1 "Manrope",sans-serif; cursor:pointer; }
.mobile-menu-backdrop { position:fixed; inset:88px 0 0; z-index:98; border:0; background:rgba(5,17,35,.54); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .3s ease,visibility .3s; }
.mobile-menu-backdrop.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.mobile-menu-panel {
  position: fixed;
  top: 88px;
  left: auto;
  right: 0;
  bottom:auto;
  z-index:99;
  width:min(88vw,520px);
  height:calc(100dvh - 88px);
  padding:clamp(32px,5vw,58px) clamp(22px,5vw,48px);
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto 1fr;
  align-content:stretch;
  gap:22px;
  overflow:hidden;
  overscroll-behavior:contain;
  background:var(--navy-deep);
  color:white;
  visibility:hidden;
  transform:translateX(100%);
  box-shadow:-34px 0 80px rgba(5,17,35,.22);
  transition:transform .32s cubic-bezier(.22,.9,.28,1),visibility .32s;
}
.mobile-menu-panel.is-open { visibility:visible; transform:translateX(0); }
.mobile-menu-panel nav { position:relative; z-index:2; display:grid; align-content:start; border-top:1px solid rgba(255,255,255,.18); }
.mobile-menu-panel nav a { min-height:64px; padding:14px 0; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(255,255,255,.18); font-size:clamp(22px,3.2vw,32px); font-weight:470; letter-spacing:-.045em; }
.mobile-menu-panel nav a svg { color:var(--turquoise); }
.mobile-menu-contact { position:relative; z-index:2; align-self:end; display:grid; gap:10px; padding-bottom:0; }
.mobile-menu-contact p { max-width:440px; margin:0 0 14px; color:rgba(255,255,255,.58); font-size:14px; line-height:1.7; }
.mobile-menu-contact a { display:flex; align-items:center; gap:11px; font-size:14px; }
.mobile-menu-contact a svg { color:var(--turquoise); }
.mobile-menu-contact .mobile-menu-cta { width:fit-content; margin-top:8px; padding:15px 18px; background:var(--turquoise); color:var(--navy); font-weight:700; }
.mobile-menu-contact .mobile-menu-cta svg { color:var(--navy); }
.mobile-menu-sygnet { position:absolute; right:-110px; bottom:-90px; width:min(72vw,460px); height:auto; opacity:.055; filter:drop-shadow(0 0 90px rgba(96,192,189,.8)); }

.back-to-top {
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:80;
  width:42px;
  height:42px;
  padding:0;
  display:none;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(16,32,58,.92);
  color:var(--turquoise);
  box-shadow:0 14px 34px rgba(5,17,35,.2);
  backdrop-filter:blur(12px);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .22s ease,transform .22s ease,visibility .22s,background .22s ease;
}
.back-to-top:hover { background:var(--turquoise); color:var(--navy); }
.back-to-top.is-visible { opacity:1; visibility:visible; transform:none; }

.eu-funding-banner {
  min-height: 94px;
  padding: 15px clamp(24px, 5vw, 84px);
  display: grid;
  grid-template-columns: minmax(410px, .88fr) minmax(0, 1.12fr);
  gap: clamp(24px, 3vw, 44px);
  align-items: center;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.eu-funding-banner-logos { display:block; min-width:0; }
.eu-funding-banner-logos img { width:100%; max-width:535px; height:auto; display:block; }
.eu-funding-banner > div { padding-left:clamp(20px,3vw,42px); border-left:1px solid var(--line); }
.eu-funding-banner span { color:#338d89; font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; font-weight:700; letter-spacing:.12em; }
.eu-funding-banner p { max-width:800px; margin:6px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }

.hero {
  position: relative;
  min-height: calc(100vh - 88px);
  padding: clamp(62px, 8vh, 108px) clamp(24px, 5vw, 84px) 78px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(440px, 0.92fr);
  align-items: center;
  gap: clamp(48px, 6vw, 110px);
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  width: 430px;
  height: 430px;
  left: -290px;
  top: 18%;
  border: 1px solid rgba(96, 192, 189, 0.24);
  border-radius: 50%;
  box-shadow: 0 0 0 60px rgba(96, 192, 189, 0.035), 0 0 0 122px rgba(96, 192, 189, 0.025);
}
.hero-copy { position: relative; z-index: 2; max-width: 840px; }
.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
  color: var(--navy);
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.eyebrow svg { color: var(--turquoise); }
.hero h1 {
  margin: 0;
  max-width: 850px;
  color: var(--navy);
  font-size: clamp(57px, 6.6vw, 116px);
  font-weight: 530;
  letter-spacing: -0.075em;
  line-height: 0.91;
}
.hero h1 span { display: block; color: var(--turquoise); font-weight: 410; }
.hero-lead {
  max-width: 650px;
  margin: clamp(30px, 4vh, 48px) 0 0;
  color: #536176;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.65;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
.button {
  min-height: 54px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  border: 1px solid transparent;
  font-size: 13px;
  font-weight: 700;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--navy); color: white; }
.button-primary:hover { background: var(--navy-deep); }
.button-ghost { border-color: var(--line); background: rgba(255, 255, 255, 0.3); color: var(--navy); }
.button-ghost:hover { border-color: var(--turquoise); background: var(--paper); }
.hero-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 34px;
  color: #667386;
  font-size: 12px;
  font-weight: 600;
}
.hero-contact a { display: inline-flex; align-items: center; gap: 8px; }
.hero-contact svg { color: var(--turquoise); stroke-width: 1.7; }
.hero-visual { position: relative; width: min(100%, 650px); justify-self: end; }
.survey-graphic {
  position: relative;
  aspect-ratio: 0.94;
  overflow: hidden;
  isolation:isolate;
  border:1px solid rgba(96,192,189,.24);
  background: var(--navy);
  color: rgba(255, 255, 255, 0.12);
  box-shadow:0 42px 90px rgba(30,49,82,.24),inset 0 0 90px rgba(96,192,189,.08);
}
.survey-graphic::before {
  content:"";
  position:absolute;
  inset:-20%;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(circle at 68% 30%,rgba(96,192,189,.2),transparent 23%),linear-gradient(112deg,transparent 39%,rgba(255,255,255,.07) 49%,transparent 59%);
  transform:translateX(-42%);
  animation:survey-scan 8s ease-in-out infinite;
}
.survey-graphic::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  pointer-events: none;
}
@keyframes survey-scan { 0%,18% { transform:translateX(-42%); opacity:.35; } 58%,100% { transform:translateX(42%); opacity:.85; } }
.survey-map { width: 100%; height: 100%; }
.map-grid { opacity: 0.58; }
.contour {
  fill: none;
  stroke: rgba(96, 192, 189, 0.38);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1200;
  stroke-dashoffset: 1200;
  animation: draw-line 2.2s cubic-bezier(.22,.9,.28,1) forwards;
}
.contour-b { animation-delay: 100ms; }
.contour-c { animation-delay: 180ms; }
.contour-d { animation-delay: 260ms; }
.contour-e { animation-delay: 340ms; }
.contour-f { animation-delay: 420ms; }
.parcel { fill: none; stroke: #ffffff; stroke-width: 2.2; stroke-dasharray: 12 11; opacity: 0.64; }
.measurement, .axis-line { fill: none; stroke: rgba(255, 255, 255, 0.44); stroke-width: 1.2; stroke-dasharray: 6 8; }
.axis-line { stroke: rgba(96, 192, 189, 0.74); }
.point-ring {
  fill: rgba(96, 192, 189, 0.08);
  stroke: #60c0bd;
  stroke-width: 1.5;
  transform-box: fill-box;
  transform-origin: center;
  animation: point-pulse 3s ease-in-out infinite;
}
.point-core { fill: white; }
.point-1 .point-ring { animation-delay: .5s; }
.point-2 .point-ring { animation-delay: 1s; }
.point-3 .point-ring { animation-delay: 1.5s; }
.target {
  stroke: rgba(255, 255, 255, 0.38);
  stroke-width: 1;
  fill: none;
  transform-box: fill-box;
  transform-origin: center;
  animation: target-turn 28s linear infinite;
}
.survey-label, .survey-index, .survey-scale {
  position: absolute;
  z-index: 2;
  color: rgba(255, 255, 255, 0.76);
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: 9px;
  letter-spacing: 0.11em;
}
.survey-label-top { left: 22px; right: 22px; top: 20px; display: flex; justify-content: space-between; }
.survey-index { right: 22px; bottom: 23px; display: grid; justify-items: end; gap: 5px; }
.survey-index strong { color: white; font-size: 16px; font-weight: 500; }
.survey-scale { left: 22px; bottom: 27px; display: flex; align-items: center; gap: 8px; }
.survey-scale i { width: 74px; height: 7px; border: solid rgba(255, 255, 255, 0.74); border-width: 0 1px 1px; }
.experience-card {
  position: absolute;
  left: -62px;
  bottom: 54px;
  width: 170px;
  padding: 22px 24px;
  display: grid;
  background: var(--turquoise);
  color: var(--navy);
  box-shadow: 0 18px 40px rgba(30, 49, 82, 0.14);
}
.experience-card span, .experience-card small { font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.experience-card strong { margin: 6px 0 2px; font-size: 32px; font-weight: 520; letter-spacing: -0.05em; }
.scroll-note {
  position: absolute;
  left: clamp(24px, 5vw, 84px);
  bottom: 24px;
  display: flex;
  align-items: center;
  gap: 18px;
  color: #728092;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.scroll-note i { width: 65px; height: 1px; background: var(--turquoise); }

.proof-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 0; border-bottom: 1px solid var(--line); background: var(--paper); }
.proof-strip > div { min-height: 124px; padding: 27px clamp(22px, 3vw, 52px); display: grid; align-content: center; gap: 5px; border-right: 1px solid var(--line); }
.proof-strip > div:last-child { border-right: 0; }
.proof-strip strong { color: var(--navy); font-size: clamp(23px, 2.1vw, 36px); font-weight: 520; letter-spacing: -0.045em; }
.proof-strip span { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }

.services-section { padding: clamp(90px, 12vw, 180px) clamp(24px, 5vw, 84px); }
.section-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: end; margin-bottom: 68px; }
.section-index { display: none; }
.section-heading h2 { margin: 0; color: var(--navy); font-size: clamp(43px, 5vw, 78px); font-weight: 500; letter-spacing: -.065em; line-height: 1.03; }
.section-heading > p { max-width: 520px; margin: 0 0 7px; color: var(--muted); font-size: 16px; line-height: 1.75; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-card {
  min-height: 430px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.34);
  transition: background 220ms ease, transform 220ms ease;
}
.service-card:hover { z-index: 1; background: var(--paper); transform: translateY(-6px); box-shadow: 0 24px 50px rgba(30,49,82,.08); }
.service-card-top { display: flex; justify-content: space-between; color: var(--turquoise); font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 11px; }
.service-card small { color: var(--turquoise); font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 9px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.service-card h3 { max-width: 320px; margin: 14px 0 16px; color: var(--navy); font-size: clamp(24px, 2.2vw, 34px); font-weight: 520; letter-spacing: -.05em; line-height: 1.12; }
.service-card p { max-width: 360px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.service-card > a { display: flex; align-items: center; justify-content: space-between; padding-top: 18px; border-top: 1px solid var(--line); color: var(--navy); font-size: 12px; font-weight: 700; }
.service-card > a svg { color: var(--turquoise); }

.contact-teaser { min-height: 350px; padding: clamp(70px, 8vw, 120px) clamp(24px, 7vw, 110px); display: flex; align-items: center; justify-content: space-between; gap: 40px; background: var(--navy); color: white; }
.contact-teaser span { color: var(--turquoise); font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.contact-teaser h2 { margin: 14px 0 0; font-size: clamp(42px, 5vw, 76px); font-weight: 470; letter-spacing: -.06em; }
.button-light { flex: 0 0 auto; background: white; color: var(--navy); }

.audience-section { padding: clamp(90px, 11vw, 170px) clamp(24px, 5vw, 84px); background: var(--paper); }
.audience-intro { display: grid; grid-template-columns: .35fr 1fr; align-items: start; margin-bottom: 60px; }
.audience-intro h2 { margin: 0; color: var(--navy); font-size: clamp(43px, 5vw, 78px); font-weight: 500; letter-spacing: -.065em; line-height: 1.03; }
.audience-grid { display: grid; grid-template-columns: 1.08fr .92fr; }
.audience-card { min-height: 630px; padding: clamp(28px, 4vw, 58px); display: flex; flex-direction: column; position: relative; }
.audience-card-primary { background: var(--navy); color: white; }
.audience-card-secondary { background: var(--turquoise-light); color: var(--navy); }
.audience-number { position: absolute; top: 34px; right: 38px; font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 10px; opacity: .5; }
.audience-card > svg { margin-bottom: auto; color: var(--turquoise); }
.audience-card-secondary > svg { color: var(--navy); }
.audience-card small { display: block; margin-bottom: 15px; color: var(--turquoise); font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.audience-card-secondary small { color: #338d89; }
.audience-card h3 { max-width: 560px; margin: 0 0 20px; font-size: clamp(31px, 3vw, 52px); font-weight: 470; letter-spacing: -.055em; line-height: 1.04; }
.audience-card p { max-width: 590px; margin: 0; color: rgba(255,255,255,.68); font-size: 15px; line-height: 1.75; }
.audience-card-secondary p { color: #536176; }
.audience-card ul { display: grid; gap: 12px; margin: 32px 0; padding: 0; list-style: none; color: rgba(255,255,255,.76); font-size: 13px; }
.audience-card-secondary ul { color: #536176; }
.audience-card li { display: flex; align-items: center; gap: 10px; }
.audience-card li svg { flex: 0 0 auto; color: var(--turquoise); stroke-width: 1.5; }
.audience-card-secondary li svg { color: #338d89; }
.audience-card > a { display: flex; align-items: center; justify-content: space-between; padding-top: 19px; border-top: 1px solid rgba(255,255,255,.18); font-size: 12px; font-weight: 700; }
.audience-card-secondary > a { border-color: rgba(30,49,82,.16); }

.expertise-section { display: grid; grid-template-columns: 1.04fr .96fr; background: #edf3f2; }
.expertise-copy { padding: clamp(88px, 10vw, 160px) clamp(24px, 7vw, 120px); }
.expertise-copy h2 { max-width: 680px; margin: 0; color: var(--navy); font-size: clamp(46px, 5.5vw, 88px); font-weight: 480; letter-spacing: -.07em; line-height: .98; }
.expertise-lead { max-width: 650px; margin: 34px 0 42px; color: var(--muted); font-size: 16px; line-height: 1.8; }
.credentials { display: grid; border-top: 1px solid var(--line); }
.credentials > div { padding: 19px 0; display: flex; gap: 15px; align-items: flex-start; border-bottom: 1px solid var(--line); }
.credentials svg { flex: 0 0 auto; color: var(--turquoise); }
.credentials span { display: grid; gap: 4px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.credentials strong { color: var(--navy); font-size: 14px; }
.text-link { margin-top: 34px; display: inline-flex; align-items: center; gap: 14px; color: var(--navy); font-size: 12px; font-weight: 700; }
.text-link svg { color: var(--turquoise); }
.equipment-panel { position: relative; min-height: 780px; overflow: hidden; background: var(--navy); color: white; }
.equipment-grid { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px); background-size: 48px 48px; }
.equipment-crosshair { position: absolute; top: 50%; left: 50%; width: 310px; height: 310px; display: grid; place-items: center; transform: translate(-50%,-50%); border: 1px solid rgba(96,192,189,.45); border-radius: 50%; box-shadow: 0 0 0 52px rgba(96,192,189,.04), 0 0 0 104px rgba(96,192,189,.025); color: var(--turquoise); }
.equipment-crosshair::before, .equipment-crosshair::after { content:""; position:absolute; background: rgba(96,192,189,.38); }
.equipment-crosshair::before { width: 1px; height: 520px; }
.equipment-crosshair::after { width: 520px; height: 1px; }
.equipment-title { position: absolute; left: clamp(30px, 5vw, 72px); top: clamp(34px, 6vw, 82px); display: grid; gap: 18px; }
.equipment-title span, .equipment-coordinates { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 9px; letter-spacing: .12em; color: var(--turquoise); }
.equipment-title strong { font-size: clamp(36px, 4vw, 62px); font-weight: 460; letter-spacing: -.06em; line-height: 1; }
.equipment-tags { position: absolute; left: clamp(30px, 5vw, 72px); right: clamp(30px, 5vw, 72px); bottom: 54px; display: flex; flex-wrap: wrap; gap: 8px; }
.equipment-tags span { padding: 9px 11px; border: 1px solid rgba(255,255,255,.2); font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 8px; letter-spacing: .08em; }
.equipment-coordinates { position: absolute; right: clamp(30px, 5vw, 72px); top: clamp(38px, 6vw, 86px); text-align: right; line-height: 1.8; color: rgba(255,255,255,.6); }
.field-gallery-section { padding:clamp(90px,11vw,170px) clamp(24px,5vw,84px); background:var(--paper); }
.field-gallery-heading { display:grid; grid-template-columns:.45fr 1.05fr .6fr; gap:50px; align-items:end; margin-bottom:58px; }
.field-gallery-heading h2 { margin:0; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.field-gallery-heading > p { margin:0; color:var(--muted); font-size:13px; line-height:1.75; }
.field-gallery-grid { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:1fr 1fr; gap:12px; min-height:850px; }
.field-gallery-grid figure { position:relative; min-width:0; margin:0; overflow:hidden; background:var(--navy); }
.field-gallery-grid figure.field-gallery-main { grid-row:1/3; }
.field-gallery-grid img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; transition:transform .7s cubic-bezier(.22,.9,.28,1); }
.field-gallery-grid figure:hover img { transform:scale(1.025); }
.field-gallery-grid figcaption { position:absolute; left:0; right:0; bottom:0; padding:24px 28px; display:grid; gap:7px; background:linear-gradient(transparent,rgba(7,18,34,.86)); color:white; }
.field-gallery-grid figcaption span { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.12em; }
.field-gallery-grid figcaption strong { font-size:clamp(21px,2vw,32px); font-weight:500; letter-spacing:-.04em; }
.field-gallery-grid figcaption p { max-width:480px; margin:0; color:rgba(255,255,255,.62); font-size:11px; line-height:1.55; }

.process-section { padding: clamp(95px, 12vw, 180px) clamp(24px, 5vw, 84px); display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(50px, 8vw, 130px); }
.process-heading { position: sticky; top: 50px; align-self: start; }
.process-heading h2 { margin: 0; color: var(--navy); font-size: clamp(43px, 5vw, 76px); font-weight: 490; letter-spacing: -.065em; line-height: 1; }
.process-heading p { max-width: 410px; margin-top: 26px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.process-list { border-top: 1px solid var(--line); }
.process-list article { min-height: 165px; padding: 30px 8px; display: grid; grid-template-columns: 54px minmax(160px,.75fr) 1.25fr 24px; gap: 24px; align-items: start; border-bottom: 1px solid var(--line); }
.process-list article > span { color: var(--turquoise); font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 10px; }
.process-list h3 { margin: 0; color: var(--navy); font-size: 21px; font-weight: 550; letter-spacing: -.035em; }
.process-list p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.process-list svg { color: var(--turquoise); }

.area-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 700px; background: var(--paper); }
.area-map { position: relative; overflow: hidden; background: #dff1ef; }
.area-map::before { content:""; position:absolute; inset:0; opacity:.32; background-image: linear-gradient(rgba(30,49,82,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(30,49,82,.18) 1px, transparent 1px); background-size: 42px 42px; }
.area-rings { position: absolute; width: 450px; height: 450px; top: 50%; left: 48%; transform: translate(-50%,-50%); }
.area-rings i { position:absolute; inset:0; border: 1px solid rgba(30,49,82,.2); border-radius:50%; }
.area-rings i:nth-child(2) { inset: 72px; }
.area-rings i:nth-child(3) { inset: 144px; background: rgba(96,192,189,.3); }
.area-point { position:absolute; width: 11px; height: 11px; border: 2px solid var(--navy); border-radius: 50%; background: var(--turquoise); box-shadow: 0 0 0 7px rgba(96,192,189,.22); }
.area-point span { position:absolute; top: 16px; left: 0; white-space:nowrap; color:var(--navy); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; font-weight:700; letter-spacing:.05em; }
.point-main { top: 51%; left: 47%; }
.point-main span { font-size: 11px; }
.point-bielsko { top: 69%; left: 55%; }
.point-pszczyna { top: 32%; left: 37%; }
.point-tychy { top: 21%; left: 62%; }
.area-code { position:absolute; left:30px; bottom:28px; color:rgba(30,49,82,.48); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; letter-spacing:.12em; }
.area-copy { padding: clamp(90px, 10vw, 150px) clamp(35px, 8vw, 125px); display:flex; flex-direction:column; justify-content:center; }
.area-copy h2 { margin:0; color:var(--navy); font-size:clamp(42px,4.6vw,72px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.area-copy > p { max-width:620px; margin:30px 0; color:var(--muted); font-size:15px; line-height:1.8; }
.area-address { display:flex; gap:14px; padding-top:25px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; line-height:1.6; }
.area-address svg { flex:0 0 auto; color:var(--turquoise); }
.area-address span { display:grid; }
.area-address strong { color:var(--navy); font-size:14px; }

.knowledge-section { padding:clamp(95px,12vw,180px) clamp(24px,5vw,84px); background:var(--navy); color:white; }
.knowledge-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:80px; align-items:end; margin-bottom:60px; }
.knowledge-heading h2 { max-width:860px; margin:0; font-size:clamp(46px,5.5vw,86px); font-weight:460; letter-spacing:-.07em; line-height:.98; }
.knowledge-heading > p { max-width:500px; margin:0 0 6px; color:rgba(255,255,255,.62); font-size:15px; line-height:1.75; }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.article-grid > a { min-height:390px; padding:30px; display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); transition:background 180ms ease; }
.article-grid > a:hover { background:rgba(96,192,189,.1); }
.article-meta { display:flex; justify-content:space-between; color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.article-grid h3 { margin:auto 0 40px; font-size:clamp(24px,2.2vw,35px); font-weight:460; letter-spacing:-.045em; line-height:1.16; }
.article-footer { padding-top:18px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.58); font-size:10px; }
.article-footer span { display:flex; align-items:center; gap:7px; }
.article-footer > svg { color:var(--turquoise); }

.faq-section { padding:clamp(90px,11vw,170px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,9vw,150px); }
.faq-heading h2 { margin:0; color:var(--navy); font-size:clamp(43px,4.8vw,74px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item > button { width:100%; min-height:92px; padding:0; display:flex; align-items:center; justify-content:space-between; gap:22px; border:0; background:transparent; cursor:pointer; color:var(--navy); font:inherit; font-size:17px; font-weight:600; text-align:left; }
.faq-item > button svg { flex:0 0 auto; color:var(--turquoise); transition:transform 180ms ease; }
.faq-item.is-open > button svg { transform:rotate(180deg); }
.faq-answer p { max-width:720px; margin:0; padding:0 46px 30px 0; color:var(--muted); font-size:14px; line-height:1.75; }

.contact-section { padding:clamp(90px,10vw,150px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(55px,9vw,150px); background:#edf3f2; }
.contact-copy h2 { margin:0; color:var(--navy); font-size:clamp(48px,5.8vw,90px); font-weight:480; letter-spacing:-.07em; line-height:.94; }
.contact-copy > p { max-width:520px; margin:30px 0 42px; color:var(--muted); font-size:15px; line-height:1.75; }
.contact-methods { display:grid; border-top:1px solid var(--line); }
.contact-methods a { padding:18px 0; display:flex; align-items:center; gap:14px; border-bottom:1px solid var(--line); }
.contact-methods svg { color:var(--turquoise); }
.contact-methods span { display:grid; gap:3px; }
.contact-methods small { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.contact-methods strong { color:var(--navy); font-size:13px; }
.contact-form { padding:clamp(28px,4vw,58px); display:grid; gap:22px; background:var(--paper); box-shadow:0 28px 70px rgba(30,49,82,.08); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact-form label { display:grid; gap:8px; color:var(--navy); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.contact-form input, .contact-form select, .contact-form textarea { width:100%; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:11px 0; outline:none; background:transparent; color:var(--navy); font:inherit; font-size:14px; font-weight:500; letter-spacing:normal; text-transform:none; }
.contact-form textarea { resize:vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color:var(--turquoise); }
.form-consent { display:flex !important; grid-template-columns:auto 1fr; align-items:start; gap:10px !important; color:var(--muted) !important; font-size:10px !important; font-weight:500 !important; letter-spacing:normal !important; text-transform:none !important; }
.form-consent input { width:15px; height:15px; margin:0; accent-color:var(--turquoise); }
.contact-form .button { justify-self:start; border:0; cursor:pointer; }
.contact-form .button:disabled { cursor:wait; opacity:.62; }
.form-trap { position:absolute !important; width:1px !important; height:1px !important; margin:-1px !important; padding:0 !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important; white-space:nowrap !important; border:0 !important; }
.form-status { min-height:22px; display:flex; align-items:center; gap:9px; color:var(--muted); font-size:12px; line-height:1.55; }
.form-status:empty { display:none; }
.form-status-success { color:#176b57; }
.form-status-error { color:#a33333; }
.form-status svg { flex:0 0 auto; }
.form-spinner { animation:form-spin .8s linear infinite; }
@keyframes form-spin { to { transform:rotate(360deg); } }

.site-footer { padding:70px clamp(24px,5vw,84px) 28px; display:grid; grid-template-columns:1.4fr .7fr .9fr; gap:60px; background:#0d1b31; color:rgba(255,255,255,.68); }
.footer-brand img { width:min(310px,100%); filter:brightness(0) invert(1); opacity:.9; }
.site-footer > div:not(.footer-brand):not(.footer-bottom) { display:grid; align-content:start; gap:10px; font-size:12px; line-height:1.6; }
.site-footer small { margin-bottom:8px; color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.12em; }
.site-footer a:hover { color:white; }
.footer-bottom { grid-column:1/-1; margin-top:45px; padding-top:20px; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.12); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }

/* Shared subpage system */
.breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:10px; font-weight:650; letter-spacing:.04em; }
.breadcrumbs span { display:inline-flex; align-items:center; gap:8px; }
.breadcrumbs b { color:var(--navy); font-weight:650; }
.subpage-hero { position:relative; min-height:650px; padding:34px clamp(24px,5vw,84px) 92px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; border-bottom:1px solid var(--line); }
.subpage-hero-grid { position:relative; z-index:2; margin-top:auto; padding-top:110px; display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(48px,8vw,130px); align-items:end; }
.subpage-hero h1 { max-width:930px; margin:0; color:var(--navy); font-size:clamp(58px,7.2vw,112px); font-weight:500; letter-spacing:-.075em; line-height:.91; }
.subpage-hero h1 span { display:block; color:var(--turquoise); font-weight:410; }
.subpage-hero-aside { padding-bottom:7px; }
.subpage-hero-aside > p { max-width:600px; margin:0; color:var(--muted); font-size:clamp(16px,1.25vw,20px); line-height:1.72; }
.technical-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:28px; }
.technical-tags span { padding:8px 10px; border:1px solid var(--line); color:var(--navy); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; background:rgba(255,255,255,.35); }
.subpage-graphic { position:absolute; width:440px; height:440px; right:-85px; top:-48px; opacity:.72; border-radius:50%; isolation:isolate; pointer-events:none; }
.subpage-graphic::before { content:""; position:absolute; inset:0; border:1px solid rgba(96,192,189,.3); border-radius:50%; background-image:linear-gradient(rgba(30,49,82,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(30,49,82,.08) 1px,transparent 1px); background-size:30px 30px; clip-path:circle(50%); }
.subpage-sygnet-glow { position:absolute; width:260px; height:260px; right:26px; top:28px; z-index:-1; opacity:.17; filter:blur(12px) drop-shadow(0 0 36px rgba(96,192,189,.75)); transform:rotate(-11deg); }
.subpage-topic-svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; color:var(--navy); }
.topic-ring,.topic-ring-inner,.topic-axis,.topic-line,.topic-polygon,.topic-node,.topic-drill { vector-effect:non-scaling-stroke; stroke:currentColor; stroke-width:1.25; }
.topic-ring { opacity:.18; stroke:var(--turquoise); }
.topic-ring-inner { opacity:.28; }
.topic-axis { opacity:.11; }
.topic-line,.topic-polygon,.topic-drill { stroke:var(--turquoise); stroke-dasharray:1000; stroke-dashoffset:1000; animation:topic-draw 2.8s cubic-bezier(.2,.75,.25,1) forwards; }
.topic-line.line-b { animation-delay:.22s; }
.topic-line.line-c { animation-delay:.44s; }
.topic-polygon { stroke:var(--navy); animation-delay:.35s; }
.topic-node { fill:rgba(96,192,189,.16); opacity:.8; }
.topic-point { fill:var(--turquoise); transform-box:fill-box; transform-origin:center; animation:topic-pulse 2.6s ease-in-out infinite; }
.topic-drill { stroke-width:2; }
@keyframes topic-draw { to { stroke-dashoffset:0; } }
@keyframes topic-pulse { 0%,100% { opacity:.45; transform:scale(.75); } 50% { opacity:1; transform:scale(1.25); } }
.global-contact-band { position:relative; isolation:isolate; overflow:hidden; padding:clamp(70px,8vw,120px) clamp(24px,7vw,110px); display:grid; grid-template-columns:1fr .8fr; gap:clamp(50px,8vw,120px); align-items:center; background:var(--navy); color:white; }
.global-contact-band::before { content:""; position:absolute; width:430px; height:430px; left:-150px; bottom:-250px; z-index:-1; background:url('/brand/sygnet.svg') center/contain no-repeat; opacity:.1; filter:blur(8px) drop-shadow(0 0 55px rgba(96,192,189,.75)); transform:rotate(14deg); }
.global-contact-band > div:first-child > span { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.global-contact-band h2 { margin:14px 0 18px; font-size:clamp(43px,5vw,76px); font-weight:470; letter-spacing:-.065em; line-height:.98; }
.global-contact-band p { max-width:650px; margin:0; color:rgba(255,255,255,.62); font-size:14px; line-height:1.7; }
.global-contact-actions { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.global-contact-actions a { min-height:112px; padding:20px; display:flex; align-items:center; justify-content:center; gap:12px; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.75); text-align:left; }
.global-contact-actions a > span { min-width:0; display:grid; gap:4px; }
.global-contact-actions a small { color:rgba(255,255,255,.5); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:7px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.global-contact-actions a strong { overflow-wrap:anywhere; color:white; font-size:10px; line-height:1.4; }
.global-contact-actions a:hover { background:rgba(96,192,189,.12); color:white; }
.global-contact-actions svg { color:var(--turquoise); }
.global-contact-actions .global-contact-primary { grid-column:1/-1; min-height:62px; display:flex; flex-direction:row; justify-content:space-between; background:var(--turquoise); color:var(--navy); font-size:12px; }
.global-contact-actions .global-contact-primary svg { color:var(--navy); }

/* Service pages and catalogue */
.service-intro-section,.business-promise-section,.individual-intro-section,.about-story-section { padding:clamp(90px,11vw,170px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(50px,9vw,150px); }
.service-intro-section h2,.business-promise-section h2,.individual-intro-section h2,.about-story-section h2 { max-width:750px; margin:0; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.service-intro-copy p,.business-promise-section > div:last-child > p,.individual-intro-section > p,.about-story-section > div:last-child p { margin:0; color:var(--muted); font-size:16px; line-height:1.85; }
.service-intro-copy .text-link { margin-top:32px; }
.service-benefits-section { padding:clamp(90px,10vw,150px) clamp(24px,5vw,84px); background:#edf3f2; }
.service-benefits-heading { display:grid; grid-template-columns:.7fr 1.3fr; margin-bottom:55px; }
.service-benefits-heading h2 { margin:0; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1; }
.service-benefits-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-benefits-grid article { min-height:330px; padding:30px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.28); }
.service-benefits-grid article > span { align-self:flex-end; color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:10px; }
.service-benefits-grid svg { margin-top:auto; color:var(--turquoise); }
.service-benefits-grid h3 { margin:22px 0 12px; color:var(--navy); font-size:25px; font-weight:530; letter-spacing:-.045em; }
.service-benefits-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.service-context-section { display:grid; grid-template-columns:1fr 1fr; }
.service-context-panel { min-height:600px; padding:clamp(58px,7vw,105px); }
.service-context-panel h2 { margin:0 0 50px; font-size:clamp(39px,4vw,62px); font-weight:480; letter-spacing:-.06em; }
.service-context-panel ul { margin:0; padding:0; display:grid; list-style:none; border-top:1px solid currentColor; }
.service-context-panel li { padding:18px 0; display:flex; gap:13px; align-items:flex-start; border-bottom:1px solid currentColor; font-size:13px; line-height:1.55; }
.service-context-panel li svg { flex:0 0 auto; }
.service-context-dark { background:var(--navy); color:rgba(255,255,255,.72); }
.service-context-dark h2 { color:white; }
.service-context-dark ul,.service-context-dark li { border-color:rgba(255,255,255,.18); }
.service-context-dark svg { color:var(--turquoise); }
.service-context-light { background:var(--turquoise-light); color:#536176; }
.service-context-light h2 { color:var(--navy); }
.service-context-light ul,.service-context-light li { border-color:var(--line); }
.service-context-light svg { color:#338d89; }
.service-process-section { padding:clamp(95px,12vw,180px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(55px,9vw,150px); }
.service-process-heading { align-self:start; position:sticky; top:40px; }
.service-process-heading h2 { margin:0; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1; }
.service-process-heading p { max-width:420px; color:var(--muted); font-size:14px; line-height:1.75; }
.service-process-list { border-top:1px solid var(--line); }
.service-process-list article { min-height:138px; padding:27px 5px; display:grid; grid-template-columns:48px 1fr 24px; gap:24px; align-items:start; border-bottom:1px solid var(--line); }
.service-process-list article > span { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:10px; }
.service-process-list h3 { margin:0 0 9px; color:var(--navy); font-size:22px; font-weight:540; letter-spacing:-.035em; }
.service-process-list p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.service-process-list svg { color:var(--turquoise); }
.service-faq-section { padding:clamp(90px,11vw,170px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,9vw,150px); background:var(--paper); }
.service-faq-section > div:first-child h2 { margin:0; color:var(--navy); font-size:clamp(43px,4.8vw,74px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.services-catalog-section { padding:clamp(90px,11vw,170px) clamp(24px,5vw,84px); }
.services-visual-intro { display:grid; grid-template-columns:1.18fr .82fr; min-height:800px; background:var(--navy); color:white; }
.services-visual-intro figure { position:relative; min-width:0; margin:0; overflow:hidden; }
.services-visual-intro figure img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; }
.services-visual-intro figcaption { position:absolute; left:18px; bottom:18px; padding:11px 13px; background:var(--navy); color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.11em; }
.services-visual-intro > div { padding:clamp(60px,7vw,105px); display:flex; flex-direction:column; }
.services-visual-intro > div h2 { margin:0; font-size:clamp(41px,4.6vw,70px); font-weight:470; letter-spacing:-.064em; line-height:1.02; }
.services-visual-intro > div > p { margin:27px 0 40px; color:rgba(255,255,255,.6); font-size:13px; line-height:1.78; }
.services-visual-intro > div figure { min-height:270px; margin-top:auto; }
.catalog-heading { display:grid; grid-template-columns:.6fr 1.4fr; margin-bottom:60px; }
.catalog-heading h2,.complementary-heading h2,.business-services-heading h2,.about-values-heading h2,.knowledge-index-heading h2 { margin:0; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.services-catalog-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.services-catalog-grid > a { min-height:465px; padding:30px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:transform 180ms ease,background 180ms ease; }
.services-catalog-grid > a:hover { z-index:1; transform:translateY(-5px); background:var(--paper); box-shadow:0 24px 50px rgba(30,49,82,.08); }
.services-catalog-grid > a > div { display:flex; justify-content:space-between; color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:10px; }
.services-catalog-grid small { margin-top:auto; color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.1em; }
.services-catalog-grid h3 { margin:13px 0; color:var(--navy); font-size:28px; font-weight:520; letter-spacing:-.05em; line-height:1.1; }
.services-catalog-grid p { margin:0 0 26px; color:var(--muted); font-size:13px; line-height:1.7; }
.services-catalog-grid b { padding-top:17px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); font-size:11px; }
.services-catalog-grid b svg { color:var(--turquoise); }
.complementary-section { padding:clamp(90px,10vw,150px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,8vw,125px); background:#edf3f2; }
.complementary-heading p { max-width:500px; color:var(--muted); font-size:14px; line-height:1.75; }
.complementary-list { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.complementary-list article { min-height:260px; padding:24px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.complementary-list article > span { align-self:flex-end; color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; }
.complementary-list svg { margin-top:auto; color:var(--turquoise); }
.complementary-list h3 { margin:17px 0 9px; color:var(--navy); font-size:19px; font-weight:550; letter-spacing:-.03em; }
.complementary-list p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.offer-routing-section { display:grid; grid-template-columns:1.08fr .92fr; }
.offer-routing-section a { min-height:570px; padding:clamp(35px,5vw,75px); display:flex; flex-direction:column; background:var(--navy); color:white; }
.offer-routing-section a:last-child { background:var(--turquoise-light); color:var(--navy); }
.offer-routing-section span { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.offer-routing-section a:last-child span { color:#338d89; }
.offer-routing-section a > div { margin:auto 0 0; }
.offer-routing-section h2 { max-width:650px; margin:0 0 22px; font-size:clamp(34px,4vw,59px); font-weight:470; letter-spacing:-.06em; line-height:1.03; }
.offer-routing-section p { max-width:650px; margin:0; color:rgba(255,255,255,.63); font-size:13px; line-height:1.75; }
.offer-routing-section a:last-child p { color:#536176; }
.offer-routing-section ul { margin:30px 0 32px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 24px; list-style:none; border-top:1px solid rgba(255,255,255,.16); }
.offer-routing-section a:last-child ul { border-color:rgba(30,49,82,.14); }
.offer-routing-section li { padding:12px 0; border-bottom:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.75); font-size:10px; font-weight:650; }
.offer-routing-section a:last-child li { border-color:rgba(30,49,82,.14); color:#536176; }
.offer-routing-section a > strong { display:flex; align-items:center; justify-content:space-between; color:white; font-size:12px; }
.offer-routing-section a:last-child > strong { color:var(--navy); }
.offer-routing-section svg { color:var(--turquoise); }
.offer-routing-section a:last-child svg { color:var(--navy); }

/* Audience pages */
.business-values-grid,.individual-moments-grid,.about-values-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.business-values-grid article,.individual-moments-grid article,.about-values-grid article { min-height:360px; padding:30px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.3); }
.business-values-grid svg,.about-values-grid svg { color:var(--turquoise); }
.business-values-grid article > span,.about-values-grid article > span { margin-left:auto; color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; }
.business-values-grid h3,.individual-moments-grid h3,.about-values-grid h3 { margin:auto 0 13px; color:var(--navy); font-size:24px; font-weight:530; letter-spacing:-.04em; }
.business-values-grid p,.individual-moments-grid p,.about-values-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.business-services-section { padding:clamp(95px,12vw,180px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(50px,8vw,125px); background:var(--paper); }
.business-service-stack { border-top:1px solid var(--line); }
.business-service-stack a { min-height:190px; padding:29px 6px; display:grid; grid-template-columns:45px 1fr 28px; gap:20px; align-items:start; border-bottom:1px solid var(--line); }
.business-service-stack a > span,.business-service-stack small { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; }
.business-service-stack h3 { margin:11px 0; color:var(--navy); font-size:28px; font-weight:520; letter-spacing:-.045em; line-height:1.1; }
.business-service-stack p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.business-service-stack svg { color:var(--turquoise); }
.partners-section,.individual-checklist-section,.about-credentials-section,.contact-preparation-section,.coverage-services-section { padding:clamp(85px,10vw,150px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,8vw,125px); }
.partners-section h2,.individual-checklist-section h2,.about-credentials-section h2,.contact-preparation-section h2,.coverage-services-section h2 { margin:0; color:var(--navy); font-size:clamp(40px,4.6vw,70px); font-weight:490; letter-spacing:-.06em; line-height:1.02; }
.partners-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.partners-grid span { min-height:70px; padding:16px 0; display:flex; gap:12px; align-items:center; border-bottom:1px solid var(--line); color:var(--navy); font-size:13px; font-weight:600; }
.partners-grid span:nth-child(odd) { padding-right:20px; }
.partners-grid svg { color:var(--turquoise); }
.business-final-section { padding:clamp(90px,10vw,150px) clamp(24px,12vw,210px); display:grid; justify-items:center; text-align:center; background:#edf3f2; }
.business-final-section > svg { color:var(--turquoise); }
.business-final-section h2 { max-width:950px; margin:28px 0 20px; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.business-final-section p { max-width:700px; margin:0 0 32px; color:var(--muted); font-size:14px; line-height:1.75; }
.business-image-story { display:grid; grid-template-columns:1.2fr .8fr; min-height:830px; background:var(--navy); color:white; }
.business-image-story > figure { position:relative; min-width:0; margin:0; overflow:hidden; }
.business-image-story > figure > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.business-image-story > figure figcaption { position:absolute; left:0; right:0; bottom:0; padding:28px clamp(24px,5vw,70px); display:flex; justify-content:space-between; align-items:end; gap:30px; background:linear-gradient(transparent,rgba(8,18,34,.85)); }
.business-image-story figcaption span,.business-image-story small { font-family:"IBM Plex Mono",ui-monospace,monospace; color:var(--turquoise); font-size:8px; letter-spacing:.12em; }
.business-image-story figcaption p { max-width:400px; margin:0; color:rgba(255,255,255,.72); font-size:12px; line-height:1.6; }
.business-image-story > div { padding:clamp(60px,7vw,105px); display:flex; flex-direction:column; }
.business-image-story > div > h2 { margin:0; font-size:clamp(42px,4.7vw,72px); font-weight:470; letter-spacing:-.065em; line-height:1; }
.business-image-story > div > p { margin:26px 0 40px; color:rgba(255,255,255,.62); font-size:14px; line-height:1.78; }
.business-image-story > div > div { position:relative; min-height:280px; margin-top:auto; overflow:hidden; }
.business-image-story > div > div img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; }
.business-image-story > div > div small { position:absolute; left:17px; bottom:16px; padding:10px 12px; background:var(--navy); }
.business-collaboration-section { padding:clamp(90px,11vw,170px) clamp(24px,5vw,84px); background:#edf3f2; }
.business-collaboration-heading { display:grid; grid-template-columns:.45fr 1fr .65fr; gap:50px; align-items:end; margin-bottom:60px; }
.business-collaboration-heading h2 { margin:0; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.business-collaboration-heading > p { margin:0; color:var(--muted); font-size:13px; line-height:1.75; }
.business-collaboration-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.business-collaboration-grid article { min-height:420px; padding:28px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.28); }
.business-collaboration-grid svg { color:var(--turquoise); }
.business-collaboration-grid article > span { margin:-20px 0 0 auto; color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; }
.business-collaboration-grid h3 { margin:auto 0 13px; color:var(--navy); font-size:25px; font-weight:520; letter-spacing:-.045em; }
.business-collaboration-grid p { margin:0 0 25px; color:var(--muted); font-size:12px; line-height:1.7; }
.business-collaboration-grid b { padding-top:16px; border-top:1px solid var(--line); color:var(--navy); font-size:9px; line-height:1.5; }
.business-brief-section { padding:0 clamp(24px,7vw,110px); display:grid; grid-template-columns:.65fr 1.35fr; background:var(--navy); color:white; }
.business-brief-section > div:first-child { min-height:360px; padding:55px 45px 55px 0; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid rgba(255,255,255,.18); }
.business-brief-section > div:first-child span { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.12em; }
.business-brief-section h2 { margin:0; font-size:clamp(37px,4vw,61px); font-weight:470; letter-spacing:-.06em; line-height:1.02; }
.business-brief-section > div:last-child { display:grid; grid-template-columns:1fr 1fr; }
.business-brief-section > div:last-child span { min-height:180px; padding:30px 0 30px 38px; display:grid; align-content:center; gap:7px; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.56); font-size:11px; line-height:1.55; }
.business-brief-section > div:last-child b { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; }
.business-brief-section > div:last-child strong { color:white; font-size:15px; }
.individual-moments-grid article > div { display:flex; justify-content:space-between; color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; }
.individual-services-section { padding:clamp(95px,12vw,180px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(55px,9vw,150px); background:var(--paper); }
.individual-services-copy h2 { margin:0; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.individual-services-copy p { color:var(--muted); font-size:14px; line-height:1.75; }
.individual-services-list { border-top:1px solid var(--line); }
.individual-services-list a { min-height:87px; padding:20px 4px; display:grid; grid-template-columns:45px 1fr 22px; gap:18px; align-items:center; border-bottom:1px solid var(--line); color:var(--navy); font-size:19px; font-weight:560; }
.individual-services-list a span { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; }
.individual-services-list svg { color:var(--turquoise); }
.individual-checklist-section { background:var(--turquoise-light); }
.individual-checklist-section ul { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.individual-checklist-section li { padding:20px 0; display:flex; align-items:center; gap:13px; border-bottom:1px solid var(--line); color:#536176; font-size:13px; }
.individual-checklist-section svg { color:#338d89; }
.individual-photo-section { display:grid; grid-template-columns:1.15fr .85fr; gap:12px; padding:0 clamp(24px,5vw,84px) clamp(90px,10vw,150px); background:var(--canvas); }
.individual-photo-section figure { position:relative; min-width:0; min-height:620px; margin:0; overflow:hidden; }
.individual-photo-section figure:last-child { margin-top:110px; }
.individual-photo-section img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; }
.individual-photo-section figcaption { position:absolute; left:18px; right:18px; bottom:18px; padding:18px; display:grid; gap:8px; background:rgba(16,32,58,.92); color:white; }
.individual-photo-section figcaption span { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.11em; }
.individual-photo-section figcaption strong { font-size:17px; font-weight:520; line-height:1.4; }
.individual-decision-section { padding:clamp(90px,11vw,170px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(55px,9vw,145px); background:var(--navy); color:white; }
.individual-decision-section > div:first-child h2 { margin:0; font-size:clamp(43px,5vw,76px); font-weight:470; letter-spacing:-.065em; line-height:1.02; }
.individual-decision-section > div:last-child { border-top:1px solid rgba(255,255,255,.18); }
.individual-decision-section article { padding:30px 3px; border-bottom:1px solid rgba(255,255,255,.18); }
.individual-decision-section article > span { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.1em; }
.individual-decision-section h3 { margin:12px 0 9px; font-size:27px; font-weight:500; letter-spacing:-.04em; }
.individual-decision-section p { max-width:650px; margin:0; color:rgba(255,255,255,.58); font-size:13px; line-height:1.7; }

/* Company, coverage and contact */
.about-lead { margin-bottom:26px !important; color:var(--navy) !important; font-size:22px !important; line-height:1.55 !important; letter-spacing:-.02em; }
.about-numbers-section { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--paper); }
.about-numbers-section > div { min-height:170px; padding:30px clamp(20px,3vw,48px); display:flex; flex-direction:column; justify-content:center; border-right:1px solid var(--line); }
.about-numbers-section > div:last-child { border-right:0; }
.about-numbers-section strong { color:var(--navy); font-size:clamp(31px,3vw,52px); font-weight:490; letter-spacing:-.055em; }
.about-numbers-section span { margin-top:7px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.about-values-section { padding:clamp(90px,11vw,170px) clamp(24px,5vw,84px); }
.about-values-heading { display:grid; grid-template-columns:.65fr 1.35fr; margin-bottom:60px; }
.about-tech-section { display:grid; grid-template-columns:1fr 1fr; min-height:780px; background:var(--navy); color:white; }
.about-tech-visual { position:relative; display:grid; place-items:center; overflow:hidden; color:var(--turquoise); border-right:1px solid rgba(255,255,255,.15); }
.about-tech-visual > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.72; }
.about-tech-visual .equipment-grid { z-index:1; opacity:.18; }
.about-tech-visual > span { position:absolute; left:40px; bottom:36px; font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; letter-spacing:.12em; }
.about-tech-copy { padding:clamp(70px,8vw,120px); display:flex; flex-direction:column; justify-content:center; }
.about-tech-copy h2 { margin:0; font-size:clamp(43px,5vw,76px); font-weight:470; letter-spacing:-.065em; line-height:1; }
.about-tech-copy > p { color:rgba(255,255,255,.62); font-size:14px; line-height:1.75; }
.about-tech-copy ul { margin:30px 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.18); }
.about-tech-copy li { padding:19px 0; display:flex; gap:15px; border-bottom:1px solid rgba(255,255,255,.18); }
.about-tech-copy li > svg { flex:0 0 auto; color:var(--turquoise); }
.about-tech-copy li span { display:grid; gap:5px; color:rgba(255,255,255,.56); font-size:12px; line-height:1.55; }
.about-tech-copy li strong { color:white; font-size:14px; }
.credentials-large-list { border-top:1px solid var(--line); }
.credentials-large-list > span,.contact-preparation-section > div:last-child > span { min-height:78px; padding:20px 3px; display:flex; align-items:center; gap:25px; border-bottom:1px solid var(--line); color:var(--navy); font-size:14px; font-weight:600; }
.credentials-large-list b,.contact-preparation-section b { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; }
.about-founder-section { padding:clamp(90px,11vw,170px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(55px,9vw,145px); align-items:center; background:#edf3f2; }
.about-founder-portrait { position:relative; min-height:680px; overflow:hidden; }
.about-founder-portrait img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; object-position:50% center; }
.about-founder-portrait > span { position:absolute; left:20px; bottom:20px; padding:12px 14px; background:var(--navy); color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.1em; }
.about-founder-section > div:last-child h2 { margin:0 0 32px; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.about-founder-section > div:last-child > p:not(.about-lead) { color:var(--muted); font-size:14px; line-height:1.85; }
.about-founder-section blockquote { min-height:145px; margin:38px 0 0; padding:12px 0 12px 30px; display:flex; align-items:center; border-top:0; border-left:3px solid var(--turquoise); color:var(--navy); font-size:18px; font-weight:530; line-height:1.6; letter-spacing:-.02em; }
.about-workflow-gallery { padding:clamp(90px,11vw,170px) clamp(24px,5vw,84px); display:grid; grid-template-columns:.75fr 1fr 1fr; gap:12px; background:var(--paper); }
.about-workflow-gallery > div { padding:clamp(35px,4vw,65px); display:flex; flex-direction:column; justify-content:center; background:var(--turquoise-light); }
.about-workflow-gallery h2 { margin:0; color:var(--navy); font-size:clamp(36px,4vw,61px); font-weight:490; letter-spacing:-.06em; line-height:1.02; }
.about-workflow-gallery > div > p { color:var(--muted); font-size:13px; line-height:1.75; }
.about-workflow-gallery figure { position:relative; min-width:0; min-height:620px; margin:0; overflow:hidden; }
.about-workflow-gallery figure img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; }
.about-workflow-gallery figcaption { position:absolute; left:18px; bottom:18px; padding:11px 13px; background:var(--navy); color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.1em; }
.coverage-section { display:grid; grid-template-columns:1fr 1fr; min-height:760px; background:var(--paper); }
.coverage-map { position:relative; overflow:hidden; background:var(--navy); }
.coverage-circle { position:absolute; border:1px solid rgba(96,192,189,.36); border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); }
.coverage-circle-a { width:570px; height:570px; }
.coverage-circle-b { width:380px; height:380px; }
.coverage-circle-c { width:180px; height:180px; background:rgba(96,192,189,.09); }
.coverage-marker { position:absolute; z-index:2; color:white; font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.06em; }
.coverage-marker i { display:block; width:9px; height:9px; margin-bottom:8px; border:2px solid white; border-radius:50%; background:var(--turquoise); box-shadow:0 0 0 6px rgba(96,192,189,.22); }
.marker-home { left:48%; top:48%; font-size:10px; }
.marker-bielsko { left:58%; top:67%; }
.marker-pszczyna { left:35%; top:31%; }
.marker-tychy { left:64%; top:20%; }
.coverage-map > b { position:absolute; left:32px; bottom:30px; color:rgba(255,255,255,.48); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; letter-spacing:.12em; }
.coverage-copy { padding:clamp(70px,8vw,120px); display:flex; flex-direction:column; justify-content:center; }
.coverage-copy h2 { margin:0; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.coverage-copy > p { margin:28px 0; color:var(--muted); font-size:14px; line-height:1.78; }
.coverage-types { display:grid; border-top:1px solid var(--line); }
.coverage-types > div { padding:18px 0; display:flex; gap:15px; border-bottom:1px solid var(--line); }
.coverage-types svg { flex:0 0 auto; color:var(--turquoise); }
.coverage-types span { display:grid; gap:5px; color:var(--muted); font-size:12px; line-height:1.55; }
.coverage-types strong { color:var(--navy); font-size:14px; }
.cities-section { padding:clamp(90px,11vw,170px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(55px,9vw,145px); }
.cities-section h2 { margin:0; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.cities-section p { max-width:470px; color:var(--muted); font-size:14px; line-height:1.75; }
.cities-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.cities-grid span { min-height:72px; padding:17px 4px; display:flex; align-items:center; gap:17px; border-bottom:1px solid var(--line); color:var(--navy); font-size:13px; font-weight:600; }
.cities-grid b { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; }
.coverage-services-section { background:#edf3f2; }
.coverage-services-section > div:last-child { border-top:1px solid var(--line); }
.coverage-services-section a { min-height:76px; padding:18px 3px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); color:var(--navy); font-size:15px; font-weight:600; }
.coverage-services-section svg { color:var(--turquoise); }
.contact-page-section { padding:clamp(90px,11vw,170px) clamp(24px,7vw,110px); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,8vw,120px); background:#edf3f2; }
.contact-page-details h2 { margin:0; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.contact-page-details > p { max-width:520px; margin:27px 0 38px; color:var(--muted); font-size:14px; line-height:1.75; }
.contact-page-methods { border-top:1px solid var(--line); }
.contact-page-methods > a,.contact-page-methods > div { min-height:88px; padding:17px 2px; display:grid; grid-template-columns:28px 1fr 20px; gap:16px; align-items:center; border-bottom:1px solid var(--line); }
.contact-page-methods > div { grid-template-columns:28px 1fr; }
.contact-page-methods > .company-data-row { grid-template-columns:1fr; padding-left:44px; }
.contact-page-methods svg { color:var(--turquoise); }
.contact-page-methods span { display:grid; gap:4px; }
.contact-page-methods small { color:var(--muted); font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.contact-page-methods strong { color:var(--navy); font-size:13px; line-height:1.5; }
.contact-page-form { align-self:start; }
.form-heading > span { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; letter-spacing:.12em; }
.form-heading h2 { margin:10px 0; color:var(--navy); font-size:37px; font-weight:510; letter-spacing:-.05em; }
.form-heading p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
.form-note { color:var(--muted); font-size:9px; line-height:1.5; }

/* Knowledge and article reading experience */
.knowledge-index-section { padding:clamp(90px,11vw,170px) clamp(24px,5vw,84px); background:var(--navy); color:white; }
.knowledge-index-heading { display:grid; grid-template-columns:.65fr 1.1fr .75fr; gap:50px; align-items:end; margin-bottom:60px; }
.knowledge-index-heading h2 { color:white; }
.knowledge-index-heading > p { margin:0; color:rgba(255,255,255,.62); font-size:14px; line-height:1.75; }
.knowledge-index-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.knowledge-index-grid > a { min-height:430px; padding:32px; display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.knowledge-index-grid > a:hover { background:rgba(96,192,189,.1); }
.knowledge-index-grid h2 { max-width:650px; margin:auto 0 18px; font-size:clamp(28px,3vw,47px); font-weight:460; letter-spacing:-.055em; line-height:1.08; }
.knowledge-index-grid > a > p { margin:0 0 28px; color:rgba(255,255,255,.58); font-size:13px; line-height:1.7; }
.knowledge-index-grid .article-footer b { display:flex; align-items:center; gap:10px; color:white; font-size:10px; }
.expert-author-section { padding:clamp(90px,10vw,150px) clamp(24px,12vw,210px); display:grid; grid-template-columns:.45fr 1.55fr; gap:clamp(40px,8vw,120px); align-items:center; }
.expert-author-section > div:first-child { aspect-ratio:1; max-width:250px; display:flex; flex-direction:column; justify-content:space-between; padding:24px; background:var(--turquoise); color:var(--navy); }
.expert-author-section > div:first-child span { font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; }
.expert-author-section > div:first-child strong { font-size:82px; font-weight:470; letter-spacing:-.08em; }
.expert-author-section h2 { margin:0; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.expert-author-section p { max-width:730px; color:var(--muted); font-size:14px; line-height:1.8; }
.article-page { background:var(--paper); }
.article-page-header { padding:34px clamp(24px,10vw,170px) clamp(75px,9vw,135px); border-bottom:1px solid var(--line); }
.article-page-header .section-index { margin-top:clamp(80px,10vw,145px); }
.article-page-header h1 { max-width:1200px; margin:0; color:var(--navy); font-size:clamp(50px,6.5vw,102px); font-weight:490; letter-spacing:-.073em; line-height:.95; }
.article-page-header > p { max-width:820px; margin:34px 0; color:var(--muted); font-size:17px; line-height:1.75; }
.article-author-row { display:flex; flex-wrap:wrap; gap:10px 28px; padding-top:21px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; font-weight:600; }
.article-author-row span { display:flex; align-items:center; gap:8px; }
.article-author-row svg { color:var(--turquoise); }
.article-layout { max-width:1450px; margin:0 auto; padding:clamp(75px,9vw,135px) clamp(24px,6vw,95px); display:grid; grid-template-columns:260px minmax(0,820px); justify-content:center; gap:clamp(55px,8vw,125px); }
.article-toc { position:sticky; top:32px; align-self:start; display:grid; border-top:1px solid var(--line); }
.article-toc > span { padding:17px 0; color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.1em; }
.article-toc a { padding:13px 0; border-top:1px solid var(--line); color:var(--muted); font-size:10px; line-height:1.5; }
.article-toc a:hover { color:var(--navy); }
.article-content { min-width:0; }
.direct-answer { margin-bottom:80px; padding:35px; border-left:4px solid var(--turquoise); background:var(--turquoise-light); }
.direct-answer span,.article-service-cta > span { color:#338d89; font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; font-weight:700; letter-spacing:.1em; }
.direct-answer p { margin:13px 0 0; color:var(--navy); font-size:20px; font-weight:530; line-height:1.65; letter-spacing:-.02em; }
.article-content > section:not(.direct-answer):not(.article-service-cta) { position:relative; margin-bottom:75px; padding-top:5px; }
.article-section-number { position:absolute; left:-52px; top:17px; color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; }
.article-content h2 { margin:0 0 25px; color:var(--navy); font-size:clamp(32px,3.5vw,52px); font-weight:510; letter-spacing:-.055em; line-height:1.08; }
.article-content p { color:#526073; font-size:16px; line-height:1.9; }
.article-content ul { margin:27px 0; padding:0; display:grid; list-style:none; border-top:1px solid var(--line); }
.article-content li { padding:17px 0; display:flex; gap:13px; align-items:flex-start; border-bottom:1px solid var(--line); color:#526073; font-size:14px; line-height:1.65; }
.article-content li svg { flex:0 0 auto; color:var(--turquoise); }
.article-service-cta { margin-top:95px; padding:45px; background:var(--navy); color:white; }
.article-service-cta h2 { margin:15px 0 35px; color:white; }
.article-service-cta a { padding-top:20px; display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(255,255,255,.18); font-size:12px; font-weight:700; }
.article-service-cta svg { color:var(--turquoise); }
.legal-page { max-width:1050px; margin:0 auto; padding:35px 24px clamp(90px,11vw,170px); }
.legal-page > .section-index { margin-top:clamp(80px,10vw,140px); }
.legal-page h1 { margin:0 0 35px; color:var(--navy); font-size:clamp(53px,7vw,100px); font-weight:490; letter-spacing:-.07em; line-height:.95; }
.legal-intro { padding:25px; border-left:4px solid var(--turquoise); background:var(--turquoise-light); color:var(--navy) !important; font-weight:600; }
.legal-page section { padding:42px 0; border-bottom:1px solid var(--line); }
.legal-page h2 { margin:0 0 15px; color:var(--navy); font-size:29px; font-weight:540; letter-spacing:-.04em; }
.legal-page p { color:var(--muted); font-size:14px; line-height:1.85; }

/* Expanded service storytelling */
.service-photo-opening { display:grid; grid-template-columns:1.5fr .5fr; min-height:720px; background:var(--paper); }
.service-photo-primary,.service-photo-secondary { position:relative; min-width:0; min-height:620px; margin:0; overflow:hidden; isolation:isolate; }
.service-photo-primary img,.service-photo-secondary img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; }
.service-photo-primary figcaption { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:68px clamp(24px,4vw,58px) 26px; display:flex; justify-content:flex-end; gap:35px; align-items:flex-end; background:linear-gradient(transparent,rgba(7,18,34,.8)); color:white; }
.service-photo-primary figcaption span,.service-photo-secondary figcaption { font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.12em; }
.service-photo-primary figcaption p { max-width:610px; margin:0; color:rgba(255,255,255,.84); font-size:12px; line-height:1.55; }
.service-opening-note { padding:clamp(48px,6vw,90px) clamp(30px,4vw,64px); display:flex; flex-direction:column; justify-content:flex-end; background:var(--navy); color:white; }
.service-opening-note > strong { margin:auto 0 26px; font-size:clamp(30px,3vw,48px); font-weight:480; line-height:1.04; letter-spacing:-.055em; }
.service-opening-note > p { margin:0 0 30px; color:rgba(255,255,255,.62); font-size:13px; line-height:1.7; }
.service-opening-note > a { padding-top:20px; display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(255,255,255,.2); font-size:11px; font-weight:700; }
.service-opening-note svg { color:var(--turquoise); }
.service-intro-expanded .service-intro-copy > p { font-size:clamp(18px,1.5vw,23px); line-height:1.75; color:var(--navy); letter-spacing:-.015em; }
.service-intro-audience { margin-top:38px; padding-top:20px; border-top:1px solid var(--line); }
.service-intro-audience > span { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.11em; }
.service-intro-audience > div { margin-top:13px; display:flex; flex-wrap:wrap; gap:7px; }
.service-intro-audience b { padding:8px 10px; border:1px solid var(--line); color:var(--muted); font-size:9px; font-weight:650; }
.service-deep-dive { padding:clamp(90px,10vw,150px) clamp(24px,7vw,110px); display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(55px,8vw,125px); align-items:center; background:#edf3f2; }
.service-deep-copy h2 { max-width:760px; margin:0 0 34px; color:var(--navy); font-size:clamp(40px,4.6vw,70px); font-weight:490; letter-spacing:-.063em; line-height:1.03; }
.service-deep-copy p { max-width:720px; margin:0 0 19px; color:var(--muted); font-size:14px; line-height:1.88; }
.service-photo-secondary { min-height:650px; box-shadow:0 32px 70px rgba(30,49,82,.13); }
.service-photo-secondary figcaption { position:absolute; left:20px; bottom:20px; z-index:2; padding:12px 14px; display:flex; align-items:center; gap:9px; background:var(--paper); color:var(--navy); }
.service-photo-secondary figcaption svg { color:var(--turquoise); }
.service-deliverables-section { padding:clamp(90px,11vw,170px) clamp(24px,5vw,84px); display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(50px,8vw,125px); background:var(--navy); color:white; }
.service-deliverables-heading h2 { margin:0; font-size:clamp(42px,4.8vw,74px); font-weight:470; letter-spacing:-.065em; line-height:1; }
.service-deliverables-heading > p { max-width:490px; margin:28px 0 0; color:rgba(255,255,255,.58); font-size:13px; line-height:1.75; }
.service-deliverables-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.service-deliverables-grid article { min-height:310px; padding:26px; display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.service-deliverables-grid article > div { display:flex; justify-content:space-between; color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; }
.service-deliverables-grid h3 { margin:auto 0 13px; font-size:24px; font-weight:500; letter-spacing:-.04em; }
.service-deliverables-grid p { margin:0; color:rgba(255,255,255,.58); font-size:12px; line-height:1.7; }
.service-benefits-expanded { background:var(--paper); }
.service-applications-section { padding:clamp(90px,11vw,170px) clamp(24px,7vw,110px); background:#edf3f2; }
.service-applications-heading { display:grid; grid-template-columns:.65fr 1.35fr; margin-bottom:58px; }
.service-applications-heading h2 { max-width:980px; margin:0; color:var(--navy); font-size:clamp(43px,5vw,76px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.service-applications-grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; grid-template-rows:1fr 1fr; min-height:650px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-applications-grid article { padding:30px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.28); }
.service-applications-grid article.featured { grid-row:1/3; background:var(--turquoise-light); }
.service-applications-grid article > span { align-self:flex-end; color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; }
.service-applications-grid svg { margin-top:auto; color:var(--turquoise); }
.service-applications-grid h3 { margin:20px 0 11px; color:var(--navy); font-size:clamp(23px,2.2vw,35px); font-weight:510; letter-spacing:-.045em; }
.service-applications-grid p { max-width:480px; margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.service-applications-grid .featured h3 { font-size:clamp(31px,3.3vw,52px); }
.service-quality-band { padding:0 clamp(24px,5vw,84px); display:grid; grid-template-columns:.55fr 1.45fr; background:var(--turquoise); color:var(--navy); }
.service-quality-band > div:first-child { min-height:260px; padding:42px 45px 42px 0; display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(30,49,82,.22); }
.service-quality-band > div:first-child > span { font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; letter-spacing:.12em; }
.service-quality-band h2 { margin:0; font-size:clamp(32px,3.5vw,53px); font-weight:490; letter-spacing:-.055em; line-height:1.02; }
.service-quality-band > div:last-child { display:grid; grid-template-columns:1fr 1fr; }
.service-quality-band > div:last-child span { min-height:130px; padding:25px 0 25px 36px; display:flex; gap:18px; align-items:center; border-right:1px solid rgba(30,49,82,.22); border-bottom:1px solid rgba(30,49,82,.22); font-size:12px; font-weight:650; }
.service-quality-band b { font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; }

/* Deliberately different page rhythms */
.service-page-v2 .service-photo-opening { grid-template-columns:.48fr 1.52fr; }
.service-page-v2 .service-photo-primary { grid-column:2; grid-row:1; }
.service-page-v2 .service-opening-note { grid-column:1; grid-row:1; background:var(--turquoise); color:var(--navy); }
.service-page-v2 .service-opening-note > p { color:rgba(30,49,82,.68); }
.service-page-v2 .service-opening-note > a { border-color:rgba(30,49,82,.2); }
.service-page-v2 .service-opening-note svg { color:var(--navy); }
.service-page-v2 .service-deep-copy { order:2; }
.service-page-v2 .service-photo-secondary { order:1; }
.service-page-v2 .service-applications-grid { grid-template-columns:repeat(4,1fr); grid-template-rows:1fr; min-height:440px; }
.service-page-v2 .service-applications-grid article.featured { grid-row:auto; background:var(--navy); color:white; }
.service-page-v2 .service-applications-grid .featured h3 { color:white; font-size:clamp(23px,2.2vw,35px); }
.service-page-v2 .service-applications-grid .featured p { color:rgba(255,255,255,.6); }
.service-page-v0 .service-photo-opening { padding:clamp(35px,5vw,80px); grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:0; background:var(--navy); }
.service-page-v0 .service-photo-primary { min-height:700px; }
.service-page-v0 .service-opening-note { width:auto; min-height:700px; margin:0; z-index:2; background:var(--turquoise); color:var(--navy); box-shadow:none; }
.service-page-v0 .service-opening-note > p { color:rgba(30,49,82,.68); }
.service-page-v0 .service-opening-note > a { border-color:rgba(30,49,82,.2); }
.service-page-v0 .service-deep-dive { grid-template-columns:.88fr 1.12fr; background:var(--paper); }
.service-page-v0 .service-photo-secondary { min-height:540px; }
.service-page-v0 .service-deliverables-section { background:#edf3f2; color:var(--navy); }
.service-page-v0 .service-deliverables-heading > p,.service-page-v0 .service-deliverables-grid p { color:var(--muted); }
.service-page-v0 .service-deliverables-grid { border-color:var(--line); }
.service-page-v0 .service-deliverables-grid article { border-color:var(--line); }
.service-page-v0 .service-applications-grid { grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; }
.service-page-v0 .service-applications-grid article.featured { grid-row:auto; }
.service-page-v0 .service-applications-grid .featured h3 { font-size:clamp(23px,2.2vw,35px); }

/* Denser editorial rhythm */
.field-gallery-section,.process-section,.services-section,.services-catalog-section,.about-values-section,.knowledge-index-section,.business-collaboration-section,.service-benefits-section,.service-applications-section { padding-top:clamp(66px,7vw,105px); padding-bottom:clamp(66px,7vw,105px); }
.service-intro-section,.service-deep-dive,.service-deliverables-section,.service-process-section,.service-faq-section,.complementary-section,.business-services-section,.individual-services-section,.individual-checklist-section,.about-story-section,.about-credentials-section { padding-top:clamp(66px,7vw,108px); padding-bottom:clamp(66px,7vw,108px); }
.subpage-hero { min-height:560px; }
.subpage-hero-grid { padding-top:clamp(72px,8vw,115px); }
.subpage-hero h1 { max-width:1020px; font-size:clamp(50px,6vw,88px); }
.field-gallery-heading,.business-collaboration-heading,.knowledge-index-heading { grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr); gap:clamp(32px,6vw,92px); align-items:end; }
.field-gallery-heading h2,.business-collaboration-heading h2,.knowledge-index-heading h2 { grid-column:1; max-width:850px; font-size:clamp(42px,4.7vw,68px); }
.field-gallery-heading > p,.business-collaboration-heading > p,.knowledge-index-heading > p { grid-column:2; }
.catalog-heading,.about-values-heading,.service-applications-heading,.business-services-heading { display:block; max-width:1040px; margin-bottom:46px; }
.catalog-heading h2,.about-values-heading h2,.service-applications-heading h2,.business-services-heading h2 { max-width:1040px; font-size:clamp(42px,4.7vw,68px); }
.complementary-section,.service-process-section,.service-faq-section,.individual-services-section,.service-deliverables-section,.business-services-section { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(42px,6vw,92px); }
.complementary-heading h2,.service-process-heading h2,.service-faq-section > div:first-child h2,.service-deliverables-heading h2 { max-width:680px; font-size:clamp(40px,4.2vw,62px); }
.service-photo-opening { min-height:620px; }
.service-photo-primary { min-height:620px; }
.service-deep-dive { gap:clamp(42px,6vw,90px); }
.service-photo-secondary { min-height:530px; }
.service-applications-grid { min-height:560px; }
.service-deliverables-grid article { min-height:270px; }
.service-benefits-grid article { min-height:285px; }
.services-catalog-grid > a { min-height:420px; }
.field-gallery-grid { min-height:680px; }
.about-workflow-gallery figure { min-height:520px; }
.business-values-grid article,.individual-moments-grid article,.about-values-grid article { min-height:320px; }

/* Coherent photographic treatment */
.field-gallery-grid figure,.service-photo-primary,.service-photo-secondary,.business-image-story > figure,.business-image-story > div > div,.about-founder-portrait,.about-tech-visual,.about-workflow-gallery figure,.individual-photo-section figure,.services-visual-intro figure { isolation:isolate; background:var(--navy); box-shadow:0 26px 64px rgba(20,39,69,.18); }
.field-gallery-grid figure::after,.service-photo-primary::after,.service-photo-secondary::after,.business-image-story > figure::after,.business-image-story > div > div::after,.about-founder-portrait::after,.about-tech-visual::after,.about-workflow-gallery figure::after,.individual-photo-section figure::after,.services-visual-intro figure::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(145deg,rgba(16,32,58,.22) 0%,rgba(30,49,82,.035) 44%,rgba(96,192,189,.17) 100%),linear-gradient(0deg,rgba(8,18,34,.12),transparent 52%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.15); }
.field-gallery-grid img,.service-photo-primary img,.service-photo-secondary img,.business-image-story img,.about-founder-portrait img,.about-tech-visual > img,.about-workflow-gallery img,.individual-photo-section img,.services-visual-intro img { filter:saturate(.82) contrast(1.08) brightness(.98); }
.field-gallery-grid figcaption,.service-photo-primary figcaption,.service-photo-secondary figcaption,.business-image-story figcaption,.business-image-story small,.about-founder-portrait span,.about-tech-visual > span,.about-workflow-gallery figcaption,.individual-photo-section figcaption,.services-visual-intro figcaption { z-index:2; }

/* Crop points selected after reviewing the full photographic set */
.field-gallery-main img,.services-visual-main img,.service-page-01 .service-photo-primary img { object-position:center 48%; }
.service-page-02 .service-photo-primary img { object-position:center 58%; }
.service-page-03 .service-photo-primary img { object-position:center 52%; }
.service-page-04 .service-photo-primary img { object-position:center 44%; }
.service-page-05 .service-photo-primary img { object-position:center 54%; }
.service-page-06 .service-photo-primary img { object-position:center 56%; }
.service-page-07 .service-photo-primary img { object-position:center 58%; }
.service-page-04 .service-photo-secondary img,.service-page-06 .service-photo-secondary img { object-position:center 58%; }
.about-founder-portrait img { object-position:center 58%; }
.about-workflow-gallery figure:first-child img { object-position:center 48%; }
.individual-photo-section figure:first-child img { object-position:center 46%; }
.individual-photo-section figure:last-child img { object-position:center 58%; }

@media (min-width:1121px) {
  .back-to-top { display:grid; }
}

/* Certificates */
.certificates-section { position:relative; padding:clamp(68px,7vw,110px) clamp(24px,5vw,84px); overflow:hidden; background:var(--paper); }
.certificates-heading { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:clamp(40px,7vw,105px); align-items:end; margin-bottom:48px; }
.certificates-heading > div { position:relative; }
.certificates-heading h2 { position:relative; z-index:1; max-width:780px; margin:0; color:var(--navy); font-size:clamp(43px,5vw,72px); font-weight:490; letter-spacing:-.065em; line-height:1.02; }
.certificates-heading > p { margin:0; color:var(--muted); font-size:14px; line-height:1.78; }
.certificates-sygnet { position:absolute; width:180px; height:auto; left:-52px; top:-70px; opacity:.1; filter:drop-shadow(0 0 45px rgba(96,192,189,.7)); }
.certificates-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:18px; align-items:stretch; }
.certificates-grid article { min-width:0; grid-column:span 6; display:grid; grid-template-rows:auto 1fr; background:#edf3f2; border:1px solid rgba(30,49,82,.09); overflow:hidden; transition:transform .25s ease,box-shadow .25s ease; }
.certificates-grid .certificate-landscape-featured { grid-column:span 8; }
.certificates-grid .certificate-portrait { grid-column:span 4; }
.certificates-grid article:hover { transform:translateY(-4px); box-shadow:0 24px 54px rgba(30,49,82,.12); }
.certificates-grid figure { min-width:0; margin:0; padding:clamp(12px,1.5vw,22px); display:grid; place-items:center; overflow:hidden; background:white; }
.certificates-grid figure img { width:100%; height:auto; display:block; object-fit:contain; }
.certificates-grid .certificate-landscape figure { aspect-ratio:1.415 / 1; }
.certificates-grid .certificate-portrait figure { aspect-ratio:.706 / 1; }
.certificates-grid article > div { min-height:175px; padding:26px 28px 28px; display:flex; flex-direction:column; }
.certificates-grid small { color:#338d89; font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; font-weight:700; letter-spacing:.11em; }
.certificates-grid h3 { margin:20px 0 12px; color:var(--navy); font-size:24px; font-weight:540; letter-spacing:-.04em; line-height:1.08; }
.certificates-grid p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }

/* Brand mark used as a quiet spatial layer */
.field-gallery-section { position:relative; overflow:hidden; }
.field-gallery-section::before { content:""; position:absolute; width:440px; height:440px; right:-175px; top:25px; opacity:.035; background:url('/brand/sygnet.svg') center/contain no-repeat; filter:drop-shadow(0 0 65px rgba(96,192,189,.9)); }
.field-gallery-section > * { position:relative; z-index:1; }

/* Lightweight scroll movement */
.motion-ready .scroll-reveal { opacity:0; transform:translateY(20px); transition:opacity .65s cubic-bezier(.22,.9,.28,1),transform .65s cubic-bezier(.22,.9,.28,1); transition-delay:var(--reveal-delay,0ms); }
.motion-ready .scroll-reveal.is-visible { opacity:1; transform:none; }

.funding-details-section { display:grid; grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr); background:#edf3f2; }
.funding-details-brand { min-height:460px; padding:clamp(42px,5vw,72px) clamp(28px,5vw,68px); display:flex; flex-direction:column; justify-content:center; gap:24px; background:var(--navy); }
.funding-details-brand img { width:100%; max-width:630px; height:auto; display:block; padding:clamp(20px,2.4vw,32px); background:white; box-shadow:0 28px 70px rgba(5,17,35,.22); }
.funding-details-brand span { color:var(--turquoise); font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:11px; font-weight:700; letter-spacing:.12em; }
.funding-details-copy { padding:clamp(58px,6vw,92px) clamp(34px,6vw,100px); }
.funding-details-copy > span { color:#338d89; font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:9px; font-weight:700; letter-spacing:.12em; }
.funding-details-copy h2 { max-width:850px; margin:18px 0 24px; color:var(--navy); font-size:clamp(36px,4vw,58px); font-weight:490; letter-spacing:-.06em; line-height:1.04; }
.funding-details-lead { max-width:780px; margin:0 0 38px; color:var(--muted); font-size:15px; line-height:1.82; }
.funding-details-copy dl { max-width:850px; margin:0; border-top:1px solid var(--line); }
.funding-details-copy dl > div { padding:18px 0; display:grid; grid-template-columns:minmax(150px,.42fr) minmax(0,1.58fr); gap:25px; border-bottom:1px solid var(--line); }
.funding-details-copy dt { color:#338d89; font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.funding-details-copy dd { margin:0; color:var(--navy); font-size:13px; line-height:1.65; }
.funding-details-copy > a { width:fit-content; margin-top:34px; display:inline-flex; align-items:center; gap:13px; color:var(--navy); font-size:12px; font-weight:750; }
.funding-details-copy > a svg { color:var(--turquoise); }

.reveal-item { opacity: 0; transform: translateY(18px); animation: reveal .72s cubic-bezier(.22,.9,.28,1) forwards; }
.hero-copy .reveal-item:nth-child(2) { animation-delay: 70ms; }
.hero-copy .reveal-item:nth-child(3) { animation-delay: 140ms; }
.hero-copy .reveal-item:nth-child(4) { animation-delay: 210ms; }
.hero-copy .reveal-item:nth-child(5) { animation-delay: 280ms; }
.hero-visual.reveal-item { animation-delay: 150ms; }
@keyframes reveal { to { opacity: 1; transform: translateY(0); } }
@keyframes draw-line { to { stroke-dashoffset: 0; } }
@keyframes point-pulse { 0%, 100% { transform: scale(.8); opacity: .55; } 50% { transform: scale(1.3); opacity: 1; } }
@keyframes target-turn { to { transform: rotate(360deg); } }

@media (max-width: 1120px) {
  body { padding-top:88px; }
  .site-header { position:fixed; top:0; left:0; right:0; z-index:120; width:100%; grid-template-columns: 1fr auto; }
  .desktop-nav, .header-contact { display: none; }
  .mobile-menu { display: block; }
  .hero { grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr); gap: 48px; }
  .hero h1 { font-size: clamp(58px, 7.4vw, 82px); }
  .experience-card { left: -34px; }
  .services-catalog-grid { grid-template-columns:repeat(2,1fr); }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .business-values-grid,.individual-moments-grid,.about-values-grid { grid-template-columns:repeat(2,1fr); }
  .subpage-hero-grid { grid-template-columns:1fr .7fr; gap:55px; }
  .service-photo-opening,.service-page-v2 .service-photo-opening { grid-template-columns:1.25fr .75fr; }
  .service-deliverables-section { grid-template-columns:1fr; }
  .service-page-v2 .service-applications-grid { grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; }
  .business-collaboration-grid { grid-template-columns:1fr 1fr; }
  .eu-funding-banner { grid-template-columns:minmax(370px,.95fr) minmax(0,1.05fr); gap:28px; }
}

@media (max-width: 840px) {
  body { padding-top:76px; }
  .site-header { min-height: 76px; padding: 0 22px; }
  .mobile-menu-backdrop { inset:76px 0 0; }
  .mobile-menu-panel { top:76px; width:min(90vw,440px); height:calc(100dvh - 76px); grid-template-columns:1fr; gap:18px; }
  .mobile-menu-panel nav a { min-height:52px; font-size:clamp(22px,5.3vw,30px); }
  .mobile-menu-contact { align-self:end; padding-bottom:0; }
  .hero { min-height: auto; padding: 66px 22px 72px; grid-template-columns: 1fr; gap: 52px; }
  .hero-copy, .hero-visual { width: 100%; max-width: none; }
  .hero h1 { font-size: clamp(56px, 14vw, 88px); }
  .hero-lead { max-width: 620px; }
  .hero-visual { padding-left:0; display:grid; }
  .experience-card { position:relative; left:auto; bottom:auto; width:calc(100% - 28px); margin:-1px auto 0; padding:18px 22px; grid-template-columns:1fr auto; grid-template-rows:auto auto; align-items:center; box-shadow:0 22px 48px rgba(30,49,82,.16); }
  .experience-card span,.experience-card small { grid-column:1; }
  .experience-card strong { grid-column:2; grid-row:1/3; margin:0; font-size:30px; }
  .scroll-note { display: none; }
  .proof-strip { grid-template-columns: repeat(2, 1fr); }
  .proof-strip > div:nth-child(2) { border-right: 0; }
  .proof-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .section-heading { grid-template-columns: 1fr; gap: 28px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 360px; }
  .contact-teaser { align-items: flex-start; flex-direction: column; }
  .audience-intro,
  .expertise-section,
  .process-section,
  .area-section,
  .knowledge-heading,
  .faq-section,
  .contact-section { grid-template-columns: 1fr; }
  .audience-intro { gap: 24px; }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-card { min-height: 590px; }
  .equipment-panel { min-height: 650px; }
  .process-heading { position: static; }
  .process-list article { grid-template-columns: 42px 1fr 24px; }
  .process-list article p { grid-column: 2 / 4; }
  .area-map { min-height: 560px; }
  .article-grid { grid-template-columns: 1fr; }
  .article-grid > a { min-height: 300px; }
  .faq-section,
  .contact-section { gap: 55px; }
  .site-footer { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .subpage-hero { min-height:610px; padding-left:22px; padding-right:22px; }
  .subpage-hero-grid,.global-contact-band,.service-intro-section,.business-promise-section,.individual-intro-section,.about-story-section,.service-benefits-heading,.service-process-section,.service-faq-section,.catalog-heading,.complementary-section,.business-services-section,.partners-section,.individual-services-section,.individual-checklist-section,.about-credentials-section,.contact-preparation-section,.coverage-services-section,.cities-section,.contact-page-section,.knowledge-index-heading,.expert-author-section { grid-template-columns:1fr; }
  .subpage-hero-grid { padding-top:80px; align-items:start; }
  .subpage-graphic { width:330px; height:330px; }
  .global-contact-actions { max-width:650px; }
  .service-process-heading,.article-toc { position:static; }
  .service-benefits-grid,.services-catalog-grid { grid-template-columns:1fr; }
  .service-context-section,.offer-routing-section,.about-tech-section,.coverage-section { grid-template-columns:1fr; }
  .service-context-panel { min-height:auto; }
  .services-catalog-grid > a { min-height:390px; }
  .complementary-list,.partners-grid,.cities-grid,.knowledge-index-grid { grid-template-columns:1fr; }
  .about-tech-visual,.coverage-map { min-height:560px; }
  .article-layout { grid-template-columns:1fr; }
  .article-toc { display:none; }
  .article-section-number { position:static; display:block; margin-bottom:10px; }
  .service-photo-opening,.service-page-v2 .service-photo-opening { grid-template-columns:1fr; }
  .service-page-v0 .service-photo-opening { padding:22px; grid-template-columns:1fr; }
  .service-page-v0 .service-opening-note { min-height:360px; }
  .service-page-v2 .service-photo-primary,.service-page-v2 .service-opening-note { grid-column:auto; grid-row:auto; }
  .service-opening-note { min-height:360px; }
  .service-deep-dive { grid-template-columns:1fr; }
  .service-page-v0 .service-deep-dive { grid-template-columns:1fr; }
  .service-deep-copy,.service-photo-secondary { min-width:0; width:100%; }
  .service-page-v2 .service-deep-copy,.service-page-v2 .service-photo-secondary { order:initial; }
  .service-photo-secondary { min-height:540px; }
  .service-applications-heading { grid-template-columns:1fr; gap:25px; }
  .service-applications-grid,.service-page-v2 .service-applications-grid,.service-page-v0 .service-applications-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; min-height:auto; }
  .service-applications-grid article,.service-applications-grid article.featured { min-height:320px; grid-row:auto; }
  .service-quality-band { grid-template-columns:1fr; }
  .service-quality-band > div:first-child { border-right:0; border-bottom:1px solid rgba(30,49,82,.22); }
  .business-image-story { grid-template-columns:1fr; }
  .business-image-story > figure { min-height:650px; }
  .business-collaboration-heading,.business-brief-section { grid-template-columns:1fr; }
  .business-brief-section > div:first-child { border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
  .field-gallery-heading { grid-template-columns:1fr; gap:24px; }
  .field-gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:1.3fr .7fr; min-height:760px; }
  .field-gallery-grid figure.field-gallery-main { grid-column:1/3; grid-row:auto; }
  .about-founder-section { grid-template-columns:1fr; }
  .about-workflow-gallery { grid-template-columns:1fr 1fr; }
  .about-workflow-gallery > div { grid-column:1/3; }
  .services-visual-intro { grid-template-columns:1fr; }
  .services-visual-main { min-height:620px; }
  .individual-decision-section { grid-template-columns:1fr; }
  .certificates-heading { grid-template-columns:1fr; gap:24px; }
  .certificates-grid { grid-template-columns:1fr; }
  .certificates-grid article,
  .certificates-grid .certificate-landscape-featured,
  .certificates-grid .certificate-portrait { grid-column:1; }
  .eu-funding-banner { padding-top:24px; padding-bottom:24px; grid-template-columns:1fr; gap:20px; }
  .eu-funding-banner-logos img { max-width:620px; }
  .eu-funding-banner > div { padding:19px 0 0; border-left:0; border-top:1px solid var(--line); }
  .home-with-funding .hero { min-height:auto; }
  .funding-details-section { grid-template-columns:1fr; }
  .funding-details-brand { min-height:390px; }
}

@media (max-width: 520px) {
  .brand img { width: 158px; }
  .mobile-menu > button span { display:none; }
  .mobile-menu-panel { width:90vw; max-width:100vw; padding:20px 20px calc(20px + env(safe-area-inset-bottom)); }
  .mobile-menu-panel nav a { min-height:48px; padding:10px 0; font-size:22px; }
  .mobile-menu-contact p { display:none; }
  .mobile-menu-contact a { font-size:12px; }
  .mobile-menu-contact .mobile-menu-cta { width:100%; margin-top:4px; padding:13px 15px; justify-content:space-between; }
  .hero { padding-top: 50px; }
  .eyebrow { font-size: 9px; }
  .hero h1 { font-size: clamp(50px, 15.8vw, 72px); }
  .hero-actions, .hero-actions .button { width: 100%; }
  .hero-contact { display: grid; gap: 12px; }
  .hero-visual { padding-left:0; }
  .experience-card { width:calc(100% - 20px); padding:16px 18px; }
  .experience-card strong { font-size:27px; }
  .proof-strip > div { min-height: 108px; padding: 22px 18px; }
  .proof-strip strong { font-size: 23px; }
  .proof-strip span { font-size: 8px; }
  .services-section { padding-left: 20px; padding-right: 20px; }
  .service-card { padding: 24px; }
  .audience-card { min-height: 560px; padding: 28px 24px; }
  .expertise-copy { padding-left: 22px; padding-right: 22px; }
  .equipment-panel { min-height: 570px; }
  .equipment-crosshair { width: 230px; height: 230px; }
  .equipment-crosshair::before { height: 420px; }
  .equipment-crosshair::after { width: 420px; }
  .process-section { padding-left: 20px; padding-right: 20px; }
  .process-list article { min-height: 190px; grid-template-columns: 32px 1fr 20px; gap: 14px; }
  .area-map { min-height: 470px; }
  .area-rings { width: 350px; height: 350px; }
  .area-copy { padding-left: 22px; padding-right: 22px; }
  .knowledge-section { padding-left: 20px; padding-right: 20px; }
  .article-grid > a { min-height: 280px; padding: 24px; }
  .faq-section,
  .contact-section { padding-left: 20px; padding-right: 20px; }
  .form-row { grid-template-columns: 1fr; }
  .contact-form { padding: 28px 22px; }
  .contact-form .button { width: 100%; }
  .site-footer { grid-template-columns: 1fr; gap: 36px; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { grid-column: auto; display: grid; gap: 8px; }
  .subpage-hero { min-height:560px; padding-top:24px; padding-bottom:62px; }
  .subpage-hero h1 { font-size:clamp(49px,14vw,70px); }
  .subpage-hero-grid { gap:32px; padding-top:55px; }
  .subpage-graphic { width:260px; height:260px; right:-110px; }
  .technical-tags { margin-top:20px; }
  .global-contact-actions { grid-template-columns:1fr; }
  .global-contact-actions a { min-height:88px; justify-content:flex-start; padding:18px 22px; }
  .global-contact-actions a strong { font-size:11px; }
  .global-contact-actions .global-contact-primary { grid-column:auto; }
  .service-intro-section,.business-promise-section,.individual-intro-section,.about-story-section,.service-process-section,.service-faq-section,.complementary-section,.business-services-section,.partners-section,.individual-services-section,.individual-checklist-section,.about-credentials-section,.contact-preparation-section,.coverage-services-section,.cities-section,.contact-page-section { padding-left:20px; padding-right:20px; }
  .service-benefits-section,.services-catalog-section,.about-values-section,.knowledge-index-section { padding-left:20px; padding-right:20px; }
  .service-benefits-grid article { min-height:290px; padding:24px; }
  .service-context-panel { padding:60px 22px; }
  .service-process-list article { grid-template-columns:34px 1fr 20px; gap:14px; }
  .services-catalog-grid > a { min-height:370px; padding:24px; }
  .complementary-list article { min-height:240px; }
  .business-values-grid,.individual-moments-grid,.about-values-grid,.about-numbers-section { grid-template-columns:1fr; }
  .business-values-grid article,.individual-moments-grid article,.about-values-grid article { min-height:310px; padding:24px; }
  .about-numbers-section > div { min-height:130px; border-right:0; border-bottom:1px solid var(--line); }
  .about-tech-visual,.coverage-map { min-height:440px; }
  .about-tech-copy,.coverage-copy { padding:70px 22px; }
  .coverage-circle-a { width:390px; height:390px; }
  .coverage-circle-b { width:270px; height:270px; }
  .knowledge-index-grid > a { min-height:370px; padding:24px; }
  .expert-author-section { padding-left:20px; padding-right:20px; }
  .expert-author-section > div:first-child { width:180px; }
  .expert-author-section > div:first-child strong { font-size:58px; }
  .article-page-header { padding-left:20px; padding-right:20px; }
  .article-page-header h1 { font-size:clamp(45px,13vw,68px); }
  .article-layout { padding-left:20px; padding-right:20px; }
  .direct-answer,.article-service-cta { padding:26px 22px; }
  .direct-answer p { font-size:17px; }
  .article-content p { font-size:15px; }
  .service-photo-opening { min-height:auto; }
  .service-photo-primary { min-height:440px; }
  .service-photo-primary figcaption { padding:20px; display:grid; }
  .service-page-v0 .service-photo-opening { padding:20px; }
  .service-page-v0 .service-photo-primary { min-height:430px; }
  .service-page-v0 .service-opening-note { width:calc(100% - 20px); min-height:330px; margin:-65px 10px 0; }
  .service-opening-note { min-height:340px; padding:42px 24px; }
  .service-deep-dive,.service-deliverables-section,.service-applications-section { padding-left:20px; padding-right:20px; }
  .service-photo-secondary { min-height:390px; width:100%; max-width:100%; }
  .service-photo-secondary figcaption { left:14px; right:14px; bottom:14px; width:auto; justify-content:center; text-align:center; }
  .service-deliverables-grid,.service-applications-grid,.service-page-v2 .service-applications-grid,.service-page-v0 .service-applications-grid { grid-template-columns:1fr; }
  .service-deliverables-grid article,.service-applications-grid article,.service-applications-grid article.featured { min-height:270px; }
  .service-quality-band { padding:0 20px; }
  .service-quality-band > div:first-child { min-height:220px; padding-right:0; }
  .service-quality-band > div:last-child { grid-template-columns:1fr; }
  .service-quality-band > div:last-child span { min-height:90px; padding-left:0; border-right:0; }
  .business-image-story > figure { min-height:470px; }
  .business-image-story > div { padding:65px 22px; }
  .business-image-story > div > div { min-height:220px; }
  .business-collaboration-section { padding-left:20px; padding-right:20px; }
  .business-collaboration-heading { grid-template-columns:1fr; gap:24px; }
  .business-collaboration-grid { grid-template-columns:1fr; }
  .business-collaboration-grid article { min-height:340px; }
  .business-brief-section { padding:0 20px; }
  .business-brief-section > div:first-child { min-height:300px; padding-right:0; }
  .business-brief-section > div:last-child { grid-template-columns:1fr; }
  .business-brief-section > div:last-child span { min-height:130px; padding-left:0; border-right:0; }
  .field-gallery-section { padding-left:20px; padding-right:20px; }
  .field-gallery-grid { grid-template-columns:1fr; grid-template-rows:auto; min-height:auto; }
  .field-gallery-grid figure.field-gallery-main { grid-column:auto; }
  .field-gallery-grid figure { min-height:300px; }
  .field-gallery-grid figure.field-gallery-main { min-height:450px; }
  .about-founder-section { padding-left:20px; padding-right:20px; }
  .about-founder-portrait { min-height:480px; }
  .about-workflow-gallery { padding-left:20px; padding-right:20px; grid-template-columns:1fr; }
  .about-workflow-gallery > div { grid-column:auto; }
  .about-workflow-gallery figure { min-height:420px; }
  .services-visual-main { min-height:460px; }
  .services-visual-intro > div { padding:65px 22px; }
  .services-visual-intro > div figure { min-height:220px; }
  .individual-photo-section { grid-template-columns:1fr; padding-left:20px; padding-right:20px; }
  .individual-photo-section figure,.individual-photo-section figure:last-child { min-height:450px; margin-top:0; }
  .individual-decision-section { padding-left:20px; padding-right:20px; }
  .certificates-section { padding-left:20px; padding-right:20px; }
  .certificates-grid figure { height:auto; }
  .certificates-grid article > div { min-height:0; padding:24px; }
  .eu-funding-banner { padding-left:20px; padding-right:20px; }
  .eu-funding-banner p { font-size:10px; }
  .funding-details-brand { min-height:300px; padding:46px 20px; }
  .funding-details-brand img { padding:18px; }
  .funding-details-copy { padding:62px 20px; }
  .funding-details-copy dl > div { grid-template-columns:1fr; gap:8px; }
}

@media (max-width: 840px) and (max-height: 680px) {
  .mobile-menu-panel { gap:10px; padding:14px 18px calc(14px + env(safe-area-inset-bottom)); }
  .mobile-menu-panel nav a { min-height:40px; padding:7px 0; font-size:19px; }
  .mobile-menu-contact { gap:0; }
  .mobile-menu-contact > p,
  .mobile-menu-contact > a:not(.mobile-menu-cta) { display:none; }
  .mobile-menu-contact .mobile-menu-cta { width:100%; min-height:42px; margin:0; padding:10px 13px; justify-content:space-between; }
}

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

.cookie-banner {
  position:fixed;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:10000;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  max-width:1120px;
  margin:0 auto;
  padding:22px 24px;
  color:#fff;
  background:rgba(8,31,46,.97);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  box-shadow:0 24px 70px rgba(2,21,33,.3);
  backdrop-filter:blur(16px);
}
.cookie-banner[hidden] { display:none; }
.cookie-banner strong { display:block; margin-bottom:5px; font-size:16px; }
.cookie-banner p { max-width:720px; margin:0; color:rgba(255,255,255,.78); font-size:14px; line-height:1.55; }
.cookie-banner a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.cookie-actions { display:flex; gap:10px; }
.cookie-actions button { min-height:44px; padding:11px 16px; border-radius:999px; font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
.cookie-secondary { color:#fff; background:transparent; border:1px solid rgba(255,255,255,.3); }
.cookie-primary { color:#062330; background:#87e3d0; border:1px solid #87e3d0; }
.cookie-settings-link { padding:0; color:inherit; background:none; border:0; font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }

@media (max-width:720px) {
  .cookie-banner { left:12px; right:12px; bottom:12px; grid-template-columns:1fr; gap:16px; padding:19px; border-radius:15px; }
  .cookie-actions { display:grid; grid-template-columns:1fr 1fr; }
  .cookie-actions button { width:100%; }
}
