:root {
  --ink: #07101b;
  --ink-soft: #0d1b2a;
  --blue: #073d78;
  --blue-bright: #0b66bd;
  --solar: #ffae00;
  --solar-soft: #ffd273;
  --paper: #f5f4ef;
  --white: #ffffff;
  --muted: #637080;
  --line: rgba(7, 16, 27, 0.14);
  --line-light: rgba(255, 255, 255, 0.18);
  --radius: 20px;
  --shadow: 0 24px 70px rgba(3, 11, 21, 0.15);
  --shell: min(1380px, calc(100vw - 72px));
}

[hidden] { display: none !important; }

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--ink);
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  overflow-x: hidden;
}

body,
button,
input,
select,
textarea {
  font-family: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

:focus-visible {
  outline: 3px solid var(--solar);
  outline-offset: 4px;
}

.skip-link {
  left: 16px;
  padding: 12px 18px;
  position: fixed;
  top: -100px;
  z-index: 9999;
  background: var(--solar);
  color: var(--ink);
  font-weight: 800;
}

.skip-link:focus {
  top: 16px;
}

.shell {
  margin-inline: auto;
  width: var(--shell);
}

.section {
  padding: clamp(88px, 10vw, 156px) 0;
}

.section--ink {
  background: var(--ink);
  color: var(--white);
}

.eyebrow {
  color: var(--blue-bright);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  line-height: 1.3;
  margin: 0 0 18px;
  text-transform: uppercase;
}

.eyebrow--light {
  color: var(--solar);
}

.display-title,
.section-heading h2,
.contact-cta h2,
.energy-banner h2 {
  font-size: clamp(2.35rem, 5vw, 5.3rem);
  font-weight: 580;
  letter-spacing: -0.055em;
  line-height: 0.98;
  margin: 0;
}

.button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font-size: 0.83rem;
  font-weight: 800;
  gap: 24px;
  justify-content: center;
  letter-spacing: 0.055em;
  min-height: 54px;
  padding: 0 25px;
  text-transform: uppercase;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease,
    border-color 180ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button--primary {
  background: var(--solar);
  color: var(--ink);
}

.button--primary:hover {
  background: var(--solar-soft);
}

.button--dark {
  background: var(--ink);
  color: var(--white);
}

.button--dark:hover {
  background: var(--blue);
}

.button--ghost {
  background: transparent;
  border-color: var(--line);
  color: var(--ink);
}

.button--small {
  min-height: 44px;
  padding-inline: 20px;
}

.text-link {
  align-items: center;
  color: var(--ink);
  display: inline-flex;
  font-size: 0.83rem;
  font-weight: 800;
  gap: 15px;
  letter-spacing: 0.055em;
  padding-bottom: 5px;
  position: relative;
  text-transform: uppercase;
}

.text-link::after {
  background: currentColor;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  transform-origin: right;
  transition: transform 180ms ease;
  width: 100%;
}

.text-link:hover::after {
  transform: scaleX(0.35);
}

.text-link--light {
  color: var(--white);
}

/* Header */
.site-header {
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid rgba(7, 16, 27, 0.08);
  height: 88px;
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: blur(16px);
}

.site-header__inner {
  align-items: center;
  display: grid;
  grid-template-columns: 208px 1fr auto;
  height: 100%;
}

.brand {
  align-items: center;
  display: flex;
  height: 72px;
  overflow: hidden;
  width: 180px;
}

.brand img {
  height: 82px;
  object-fit: contain;
  width: 176px;
}

.main-nav {
  align-items: center;
  display: flex;
  gap: clamp(18px, 2.2vw, 38px);
  justify-content: center;
}

.main-nav a {
  color: #334253;
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.065em;
  position: relative;
  text-transform: uppercase;
}

.main-nav a::after {
  background: var(--solar);
  bottom: -12px;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 180ms ease;
  width: 100%;
}

.main-nav a:hover::after,
.main-nav a.is-active::after {
  transform: scaleX(1);
}

.main-nav__career {
  display: none;
}

.site-header__actions {
  align-items: center;
  display: flex;
  gap: 18px;
}

.header-phone {
  display: flex;
  flex-direction: column;
  font-size: 0.83rem;
  font-weight: 800;
  line-height: 1.15;
  text-align: right;
}

.header-phone span {
  color: var(--muted);
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.11em;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.menu-toggle {
  align-items: center;
  background: var(--ink);
  border: 0;
  border-radius: 50%;
  display: none;
  flex-direction: column;
  gap: 6px;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.menu-toggle span {
  background: var(--white);
  height: 2px;
  transition: transform 180ms ease;
  width: 19px;
}

.menu-toggle.is-open span:first-child {
  transform: translateY(4px) rotate(45deg);
}

.menu-toggle.is-open span:last-child {
  transform: translateY(-4px) rotate(-45deg);
}

/* Hero */
.hero-slider {
  background: var(--ink);
  color: var(--white);
  height: min(840px, calc(100svh - 88px));
  min-height: 650px;
  overflow: hidden;
  position: relative;
}

.hero-slider--compact {
  height: min(640px, 70svh);
  min-height: 540px;
}

.hero-slide {
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: scale(1.04);
  transition: opacity 700ms ease, transform 6s ease;
}

.hero-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
  z-index: 1;
}

.hero-slide__image {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.hero-slide__veil {
  background:
    linear-gradient(90deg, rgba(3, 10, 18, 0.92) 0%, rgba(3, 10, 18, 0.76) 38%, rgba(3, 10, 18, 0.14) 72%, rgba(3, 10, 18, 0.2) 100%),
    linear-gradient(0deg, rgba(3, 10, 18, 0.58) 0%, transparent 48%);
  inset: 0;
  position: absolute;
}

.hero-slide__content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  padding-bottom: 74px;
  position: absolute;
  inset: 0;
  z-index: 2;
}

.hero-slide h1 {
  font-size: clamp(3rem, 6.3vw, 7.2rem);
  font-weight: 560;
  letter-spacing: -0.062em;
  line-height: 0.91;
  margin: 0;
  max-width: 950px;
  text-wrap: balance;
}

.hero-slider--compact .hero-slide h1 {
  font-size: clamp(2.8rem, 5.6vw, 6rem);
  max-width: 1020px;
}

.hero-slide__description {
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1.05rem, 1.5vw, 1.32rem);
  line-height: 1.55;
  margin: 28px 0 0;
  max-width: 700px;
}

.hero-slide__actions {
  align-items: center;
  display: flex;
  gap: 34px;
  margin-top: 38px;
}

.hero-slider__controls {
  align-items: center;
  bottom: 36px;
  display: flex;
  justify-content: space-between;
  left: 0;
  position: absolute;
  right: 0;
  z-index: 4;
}

.hero-slider__controls p {
  align-items: center;
  color: rgba(255, 255, 255, 0.48);
  display: flex;
  font-size: 0.72rem;
  font-weight: 800;
  gap: 12px;
  letter-spacing: 0.1em;
  margin: 0;
}

.hero-slider__controls p span:first-child {
  color: var(--white);
}

.hero-slider__divider {
  background: rgba(255, 255, 255, 0.35);
  height: 1px;
  width: 38px;
}

.hero-slider__dots {
  display: flex;
  gap: 8px;
}

.hero-slider__dots button {
  background: rgba(255, 255, 255, 0.28);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  height: 4px;
  padding: 0;
  transition: width 200ms ease, background 200ms ease;
  width: 28px;
}

.hero-slider__dots button.is-active {
  background: var(--solar);
  width: 64px;
}

/* Proof and manifesto */
.proof-strip {
  background: var(--white);
  border-bottom: 1px solid var(--line);
}

.proof-strip__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.proof-strip__grid > div {
  align-items: center;
  border-right: 1px solid var(--line);
  display: flex;
  gap: 18px;
  min-height: 118px;
  padding: 20px 30px;
}

.proof-strip__grid > div:first-child {
  border-left: 1px solid var(--line);
}

.proof-strip strong {
  color: var(--blue);
  font-size: 2.15rem;
  letter-spacing: -0.05em;
}

.proof-strip span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
  max-width: 145px;
}

.section--manifesto {
  background:
    radial-gradient(circle at 80% 10%, rgba(11, 102, 189, 0.09), transparent 25%),
    var(--paper);
}

.manifesto-grid {
  align-items: start;
  display: grid;
  gap: clamp(55px, 10vw, 160px);
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.7fr);
}

.prose {
  color: #3c4958;
}

.prose--large {
  font-size: clamp(1.08rem, 1.45vw, 1.35rem);
  line-height: 1.72;
  padding-top: 52px;
}

.prose p {
  margin: 0 0 24px;
}

.prose .text-link {
  margin-top: 18px;
}

/* Sections and services */
.section-heading {
  align-items: end;
  display: grid;
  gap: 70px;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr);
  margin-bottom: clamp(50px, 6vw, 90px);
}

.section-heading h2 {
  font-size: clamp(2.5rem, 4.8vw, 4.9rem);
  max-width: 900px;
}

.section-heading > p,
.section-heading > div:last-child > p {
  color: var(--muted);
  font-size: 1.05rem;
  margin: 0 0 12px;
  max-width: 520px;
}

.section-heading--light > p {
  color: rgba(255, 255, 255, 0.6);
}

.services-showcase {
  overflow: hidden;
  position: relative;
}

.services-showcase::before {
  background: radial-gradient(circle, rgba(11, 102, 189, 0.24), transparent 70%);
  content: "";
  height: 720px;
  pointer-events: none;
  position: absolute;
  right: -280px;
  top: -300px;
  width: 720px;
}

.services-grid {
  display: grid;
  gap: 26px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  position: relative;
}

.service-card {
  background: #0d1927;
  border: 1px solid var(--line-light);
  border-radius: var(--radius);
  min-height: 600px;
  overflow: hidden;
  transition: border-color 220ms ease, transform 220ms ease;
}

.service-card:hover {
  border-color: rgba(255, 174, 0, 0.75);
  transform: translateY(-7px);
}

.service-card__image {
  height: 250px;
  overflow: hidden;
  position: relative;
}

.service-card__image::after {
  background: linear-gradient(0deg, rgba(13, 25, 39, 0.75), transparent 60%);
  content: "";
  inset: 0;
  position: absolute;
}

.service-card__image img {
  height: 100%;
  object-fit: cover;
  transition: transform 500ms ease;
  width: 100%;
}

.service-card:hover .service-card__image img {
  transform: scale(1.045);
}

.service-card__image > span {
  bottom: 18px;
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  position: absolute;
  right: 22px;
  z-index: 2;
}

.service-card__body {
  padding: 32px 30px 36px;
}

.service-card h3 {
  font-size: clamp(1.65rem, 2.3vw, 2.4rem);
  font-weight: 590;
  letter-spacing: -0.04em;
  line-height: 1.05;
  margin: 0 0 20px;
}

.service-card__body > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.97rem;
  margin: 0 0 28px;
}

.service-card .text-link {
  color: var(--white);
}

.service-card:last-child {
  grid-column: 2 / 3;
}

/* Process */
.process-section {
  background: var(--white);
}

.process-grid {
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
}

.process-grid li {
  border-right: 1px solid var(--line);
  min-height: 330px;
  padding: 34px 30px 40px;
  position: relative;
}

.process-grid li:first-child {
  border-left: 1px solid var(--line);
}

.process-grid li::after {
  background: var(--solar);
  bottom: 0;
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms ease;
  width: 100%;
}

.process-grid li:hover::after {
  transform: scaleX(1);
}

.process-grid span {
  color: var(--blue-bright);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.process-grid h3 {
  font-size: 1.9rem;
  letter-spacing: -0.04em;
  margin: 84px 0 14px;
}

.process-grid p {
  color: var(--muted);
  font-size: 0.94rem;
  margin: 0;
}

/* Projects */
.section--projects {
  background: #e9e8e2;
}

.project-grid {
  display: grid;
  gap: 20px;
  grid-auto-rows: 430px;
  grid-template-columns: repeat(3, 1fr);
}

.project-card {
  background: var(--ink);
  border-radius: var(--radius);
  margin: 0;
  overflow: hidden;
  position: relative;
}

.project-card--wide {
  grid-column: span 2;
}

.project-card img {
  height: 100%;
  object-fit: cover;
  transition: transform 550ms ease;
  width: 100%;
}

.project-card:hover img {
  transform: scale(1.04);
}

.project-card::after {
  background: linear-gradient(0deg, rgba(3, 10, 18, 0.92), transparent 65%);
  content: "";
  inset: 0;
  position: absolute;
}

.project-card figcaption {
  bottom: 0;
  color: var(--white);
  left: 0;
  padding: 34px;
  position: absolute;
  right: 0;
  z-index: 2;
}

.project-card figcaption span {
  color: var(--solar);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.project-card h3 {
  font-size: clamp(1.5rem, 2.3vw, 2.6rem);
  letter-spacing: -0.04em;
  line-height: 1.05;
  margin: 8px 0 4px;
}

.project-card p {
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.78rem;
  margin: 0;
}

/* Energy */
.energy-banner {
  color: var(--white);
  height: min(820px, 80svh);
  min-height: 620px;
  overflow: hidden;
  position: relative;
}

.energy-banner > img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.energy-banner__overlay {
  background: linear-gradient(90deg, rgba(3, 10, 18, 0.88), rgba(3, 10, 18, 0.24));
  inset: 0;
  position: absolute;
}

.energy-banner__content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  inset: 0;
  justify-content: center;
  position: absolute;
}

.energy-banner h2 {
  max-width: 900px;
}

.energy-banner__content > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.75);
  font-size: 1.2rem;
  margin: 28px 0 34px;
  max-width: 680px;
}

/* Journal */
.journal-preview {
  background: var(--paper);
}

.article-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, 1fr);
}

.article-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.article-card:hover {
  box-shadow: var(--shadow);
  transform: translateY(-6px);
}

.article-card img {
  height: 250px;
  object-fit: cover;
  width: 100%;
}

.article-card a > div {
  padding: 30px 28px 34px;
}

.article-card h3 {
  font-size: 1.55rem;
  letter-spacing: -0.04em;
  line-height: 1.12;
  margin: 0 0 16px;
}

.article-card div > p:not(.eyebrow) {
  color: var(--muted);
  font-size: 0.93rem;
  margin: 0 0 26px;
}

/* Contact CTA */
.contact-cta {
  background: var(--blue);
  color: var(--white);
  padding: clamp(80px, 9vw, 140px) 0;
  position: relative;
  overflow: hidden;
}

.contact-cta::after {
  border: 120px solid rgba(255, 255, 255, 0.04);
  border-radius: 50%;
  content: "";
  height: 600px;
  position: absolute;
  right: -220px;
  top: -310px;
  width: 600px;
}

.contact-cta__inner {
  align-items: start;
  display: grid;
  gap: 90px;
  grid-template-columns: 1.3fr 0.7fr;
  position: relative;
  z-index: 2;
}

.contact-cta h2 {
  font-size: clamp(2.4rem, 4.6vw, 4.8rem);
}

.contact-cta__inner > div:last-child > p {
  color: rgba(255, 255, 255, 0.72);
  font-size: 1.12rem;
  margin: 46px 0 30px;
}

.contact-cta__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
}

/* Forms */
.lead-form {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 30px 90px rgba(3, 11, 21, 0.09);
  display: grid;
  gap: 25px;
  padding: clamp(28px, 4vw, 54px);
}

.form-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lead-form label {
  display: grid;
  gap: 9px;
}

.lead-form label > span:first-child {
  color: #435061;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.lead-form input:not([type="checkbox"]),
.lead-form select,
.lead-form textarea {
  background: #f7f7f4;
  border: 1px solid rgba(7, 16, 27, 0.16);
  border-radius: 10px;
  color: var(--ink);
  min-height: 55px;
  padding: 14px 16px;
  width: 100%;
}

.lead-form textarea {
  min-height: 150px;
  resize: vertical;
}

.lead-form input:focus,
.lead-form select:focus,
.lead-form textarea:focus {
  border-color: var(--blue-bright);
  outline: 3px solid rgba(11, 102, 189, 0.15);
}

.checkbox-field {
  align-items: start;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: 20px 1fr;
}

.checkbox-field input {
  accent-color: var(--blue);
  height: 18px;
  margin-top: 2px;
  width: 18px;
}

.checkbox-field span {
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.5;
  text-transform: none !important;
}

.checkbox-field a {
  color: var(--blue);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.lead-form__footer {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.form-status {
  font-size: 0.88rem;
  font-weight: 700;
  margin: 0;
}

.form-status--success { color: #08703f; }
.form-status--error { color: #b42318; }

/* Footer */
.site-footer {
  background: #050b13;
  color: var(--white);
  padding-top: 100px;
}

.site-footer__top {
  display: grid;
  gap: 100px;
  grid-template-columns: minmax(350px, 0.8fr) minmax(580px, 1.2fr);
  padding-bottom: 85px;
}

.site-footer__statement > img {
  background: var(--white);
  border-radius: 12px;
  height: 92px;
  margin-bottom: 34px;
  object-fit: contain;
  padding: 4px 12px;
  width: 200px;
}

.site-footer__statement h2 {
  font-size: clamp(2rem, 3.3vw, 3.6rem);
  letter-spacing: -0.05em;
  line-height: 1;
  margin: 0;
  max-width: 600px;
}

.site-footer__statement > p {
  color: rgba(255, 255, 255, 0.58);
  margin: 25px 0 32px;
  max-width: 580px;
}

.site-footer__nav {
  display: grid;
  gap: 34px;
  grid-template-columns: repeat(4, 1fr);
  padding-top: 25px;
}

.site-footer__nav > div {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.site-footer__nav h3 {
  color: var(--solar);
  font-size: 0.69rem;
  letter-spacing: 0.16em;
  margin: 0 0 13px;
  text-transform: uppercase;
}

.site-footer__nav a,
.site-footer__nav button {
  background: transparent;
  border: 0;
  color: rgba(255, 255, 255, 0.62);
  cursor: pointer;
  font-size: 0.88rem;
  padding: 0;
  text-align: left;
  transition: color 150ms ease;
}

.site-footer__nav a:hover,
.site-footer__nav button:hover {
  color: var(--white);
}

.site-footer__bottom {
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.42);
  display: flex;
  font-size: 0.72rem;
  justify-content: space-between;
  padding-block: 30px;
}

.site-footer__bottom p { margin: 0; }
.site-footer__bottom > div { display: flex; flex-wrap: wrap; gap: 24px; }
.site-footer__bottom a:hover { color: var(--white); }
.site-footer__fiscal { align-items: flex-start; display: grid !important; gap: 3px !important; max-width: 960px; }
.site-footer__fiscal strong { color: rgba(255,255,255,.7); font-weight: 700; }

/* Cookie */
.cookie-banner {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 18px;
  bottom: 24px;
  box-shadow: 0 28px 80px rgba(2, 10, 20, 0.24);
  left: 24px;
  max-width: 465px;
  padding: 27px;
  position: fixed;
  z-index: 3000;
}

.cookie-banner h2 {
  font-size: 1.65rem;
  letter-spacing: -0.04em;
  line-height: 1.1;
  margin: 0 0 12px;
}

.cookie-banner > p:not(.eyebrow) {
  color: var(--muted);
  font-size: 0.88rem;
  margin: 0;
}

.cookie-banner__actions {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.cookie-banner .button {
  font-size: 0.69rem;
  min-height: 44px;
  padding-inline: 18px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media (max-width: 1180px) {
  :root { --shell: min(100% - 48px, 1120px); }
  .site-header__inner { grid-template-columns: 170px 1fr auto; }
  .brand { width: 155px; }
  .brand img { width: 152px; }
  .header-phone { display: none; }
  .main-nav { gap: 22px; }
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-card:last-child { grid-column: auto; }
  .site-footer__top { grid-template-columns: 1fr; gap: 60px; }
}

@media (max-width: 900px) {
  .site-header { height: 78px; }
  .site-header__inner { grid-template-columns: 1fr auto; }
  .brand { height: 66px; width: 150px; }
  .brand img { height: 72px; width: 148px; }
  .site-header__actions .button { display: none; }
  .menu-toggle { display: flex; }
  .main-nav {
    align-items: stretch;
    background: var(--white);
    border-top: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    gap: 0;
    left: 0;
    opacity: 0;
    padding: 18px 24px 30px;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 78px;
    transform: translateY(-12px);
    transition: opacity 180ms ease, transform 180ms ease;
  }
  .main-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .main-nav a { border-bottom: 1px solid var(--line); font-size: 0.9rem; padding: 17px 0; }
  .main-nav a::after { display: none; }
  .main-nav__career { display: block; }
  .hero-slider { height: calc(100svh - 78px); min-height: 620px; }
  .hero-slider--compact { height: 620px; }
  .hero-slide h1 { max-width: 780px; }
  .proof-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .proof-strip__grid > div:nth-child(3) { border-left: 1px solid var(--line); }
  .proof-strip__grid > div { border-bottom: 1px solid var(--line); }
  .manifesto-grid, .section-heading, .contact-cta__inner { grid-template-columns: 1fr; }
  .manifesto-grid { gap: 45px; }
  .prose--large { padding-top: 0; }
  .section-heading { align-items: start; gap: 28px; }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .project-grid { grid-template-columns: repeat(2, 1fr); }
  .article-grid { grid-template-columns: 1fr 1fr; }
  .article-card:last-child { grid-column: 1 / -1; }
  .site-footer__nav { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
  :root { --shell: calc(100% - 32px); --radius: 14px; }
  .section { padding: 78px 0; }
  .hero-slider, .hero-slider--compact { height: 680px; min-height: 680px; }
  .hero-slide__veil {
    background: linear-gradient(0deg, rgba(3, 10, 18, 0.95) 0%, rgba(3, 10, 18, 0.78) 56%, rgba(3, 10, 18, 0.25) 100%);
  }
  .hero-slide__image { object-position: 65% center; }
  .hero-slide__content { justify-content: flex-end; padding-bottom: 105px; }
  .hero-slide h1 { font-size: clamp(2.65rem, 13vw, 4.4rem); line-height: 0.94; }
  .hero-slider--compact .hero-slide h1 { font-size: clamp(2.45rem, 11vw, 3.8rem); }
  .hero-slide__description { font-size: 1rem; margin-top: 20px; }
  .hero-slide__actions { align-items: flex-start; flex-direction: column; gap: 20px; margin-top: 28px; }
  .hero-slide__actions .text-link { display: none; }
  .hero-slider__controls { bottom: 24px; }
  .proof-strip__grid { grid-template-columns: 1fr 1fr; }
  .proof-strip__grid > div { align-items: flex-start; flex-direction: column; gap: 5px; min-height: 135px; padding: 20px; }
  .proof-strip strong { font-size: 1.8rem; }
  .proof-strip span { font-size: 0.75rem; }
  .display-title, .section-heading h2, .contact-cta h2, .energy-banner h2 { font-size: clamp(2.3rem, 11vw, 3.6rem); }
  .services-grid { display: flex; margin-right: -16px; overflow-x: auto; padding: 0 16px 20px 0; scroll-snap-type: x mandatory; }
  .service-card { flex: 0 0 87%; min-height: 560px; scroll-snap-align: start; }
  .service-card__image { height: 225px; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid li { border-left: 1px solid var(--line); min-height: 250px; }
  .process-grid h3 { margin-top: 52px; }
  .project-grid { display: grid; grid-auto-rows: 360px; grid-template-columns: 1fr; }
  .project-card--wide { grid-column: auto; }
  .project-card figcaption { padding: 25px; }
  .energy-banner { height: 720px; }
  .energy-banner__overlay { background: linear-gradient(0deg, rgba(3, 10, 18, 0.95), rgba(3, 10, 18, 0.15)); }
  .energy-banner__content { justify-content: flex-end; padding-bottom: 70px; }
  .energy-banner > img { object-position: 67% center; }
  .article-grid { grid-template-columns: 1fr; }
  .article-card:last-child { grid-column: auto; }
  .contact-cta__inner { gap: 25px; }
  .contact-cta__inner > div:last-child > p { margin-top: 10px; }
  .form-grid { grid-template-columns: 1fr; }
  .site-footer { padding-top: 76px; }
  .site-footer__top { gap: 45px; padding-bottom: 58px; }
  .site-footer__nav { gap: 40px; grid-template-columns: 1fr 1fr; }
  .site-footer__nav > div:last-child { grid-column: 1 / -1; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; gap: 18px; }
  .cookie-banner { bottom: 12px; left: 12px; max-width: none; right: 12px; }
  .cookie-banner__actions { align-items: stretch; flex-direction: column; }
}

/* Internal editorial pages */
.editorial-intro__grid,
.form-page-grid,
.contact-layout {
  align-items: start;
  display: grid;
  gap: clamp(55px, 9vw, 145px);
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
}

.editorial-lead {
  color: var(--ink);
  font-weight: 620;
}

.about-timeline,
.sectors-section,
.quote-section,
.contact-section,
.career-form-section,
.blog-archive {
  background: var(--white);
}

.timeline-grid {
  border-left: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
}

.timeline-grid li {
  border-right: 1px solid var(--line);
  border-top: 1px solid var(--line);
  min-height: 390px;
  padding: 34px 28px;
}

.timeline-grid strong {
  color: var(--blue-bright);
  font-size: clamp(2.4rem, 3.5vw, 4.2rem);
  letter-spacing: -0.06em;
}

.timeline-grid h3 {
  font-size: 1.55rem;
  letter-spacing: -0.04em;
  margin: 110px 0 15px;
}

.timeline-grid p,
.values-grid p,
.sector-grid p {
  color: var(--muted);
  font-size: 0.94rem;
  margin: 0;
}

.values-grid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, 1fr);
}

.values-grid article {
  border: 1px solid var(--line-light);
  min-height: 330px;
  padding: 32px;
}

.values-grid span {
  color: var(--solar);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.14em;
}

.values-grid h3 {
  font-size: 1.85rem;
  letter-spacing: -0.04em;
  margin: 100px 0 15px;
}

.values-grid p {
  color: rgba(255, 255, 255, 0.58);
}

.services-directory {
  padding-top: 60px;
}

.sector-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, 1fr);
}

.sector-grid article {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  min-height: 390px;
  padding: 35px;
}

.sector-grid span {
  color: var(--blue-bright);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.sector-grid h3 {
  font-size: 2rem;
  letter-spacing: -0.04em;
  margin: 150px 0 15px;
}

.service-detail {
  background: var(--white);
}

.service-detail__grid {
  display: grid;
  gap: clamp(60px, 9vw, 150px);
  grid-template-columns: minmax(260px, 0.48fr) minmax(0, 1.1fr);
}

.service-detail__aside {
  align-self: start;
  position: sticky;
  top: 120px;
}

.service-stat {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  display: grid;
  gap: 5px;
  margin: 32px 0;
  padding: 28px 0;
}

.service-stat strong {
  color: var(--blue);
  font-size: 3.5rem;
  letter-spacing: -0.06em;
  line-height: 1;
}

.service-stat span {
  color: var(--muted);
  font-size: 0.8rem;
}

.service-detail__aside nav {
  display: grid;
}

.service-detail__aside nav a {
  align-items: center;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  display: grid;
  font-size: 0.82rem;
  font-weight: 700;
  grid-template-columns: 35px 1fr;
  padding: 14px 0;
}

.service-detail__aside nav a span {
  color: #9da5ae;
  font-size: 0.65rem;
}

.service-detail__aside nav a:hover,
.service-detail__aside nav a.is-active {
  color: var(--ink);
}

.service-detail__aside nav a.is-active span {
  color: var(--solar);
}

.service-detail__content h2 {
  font-size: clamp(2.6rem, 5vw, 5.6rem);
  font-weight: 590;
  letter-spacing: -0.06em;
  line-height: 0.98;
  margin: 0 0 30px;
}

.service-detail__lead {
  color: var(--blue);
  font-size: clamp(1.25rem, 2vw, 1.7rem) !important;
  font-weight: 610;
  line-height: 1.5 !important;
}

.service-detail__content > p:not(.eyebrow) {
  color: #465463;
  font-size: 1.1rem;
  line-height: 1.82;
  margin: 0 0 26px;
  max-width: 880px;
}

.service-highlights {
  background: var(--paper);
  border-left: 5px solid var(--solar);
  margin-top: 55px;
  padding: 35px 40px;
}

.service-highlights h3 {
  font-size: 1.6rem;
  letter-spacing: -0.03em;
  margin: 0 0 22px;
}

.service-highlights ul {
  display: grid;
  gap: 14px 30px;
  grid-template-columns: 1fr 1fr;
  list-style: none;
  margin: 0;
  padding: 0;
}

.service-highlights li {
  align-items: center;
  color: #3c4958;
  display: flex;
  gap: 10px;
}

.service-highlights li span {
  color: var(--blue-bright);
  font-weight: 900;
}

.service-next {
  color: var(--white);
  height: 580px;
  overflow: hidden;
  position: relative;
}

.service-next > img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.service-next__overlay {
  background: linear-gradient(90deg, rgba(3, 10, 18, 0.88), rgba(3, 10, 18, 0.2));
  inset: 0;
  position: absolute;
}

.service-next__content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  inset: 0;
  justify-content: center;
  position: absolute;
}

.service-next h2 {
  font-size: clamp(3rem, 6vw, 6.5rem);
  letter-spacing: -0.06em;
  line-height: 0.95;
  margin: 0 0 35px;
}

.category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 35px;
}

.category-list span {
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  font-size: 0.71rem;
  font-weight: 750;
  padding: 8px 13px;
  text-transform: uppercase;
}

.projects-archive {
  padding-top: 40px;
}

.article-grid--archive {
  grid-template-columns: repeat(2, 1fr);
}

.article-grid--archive .article-card img {
  height: 380px;
}

.article-grid--archive .article-card h2 {
  font-size: clamp(1.8rem, 3vw, 3.1rem);
  letter-spacing: -0.05em;
  line-height: 1.04;
  margin: 0 0 20px;
}

.article-hero {
  color: var(--white);
  height: min(780px, 85svh);
  min-height: 650px;
  overflow: hidden;
  position: relative;
}

.article-hero > img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.article-hero__overlay {
  background: linear-gradient(0deg, rgba(3, 10, 18, 0.96), rgba(3, 10, 18, 0.2));
  inset: 0;
  position: absolute;
}

.article-hero__content {
  bottom: 70px;
  left: 0;
  position: absolute;
  right: 0;
}

.article-back {
  color: rgba(255, 255, 255, 0.65);
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 750;
  margin-bottom: 55px;
  text-transform: uppercase;
}

.article-hero h1 {
  font-size: clamp(3rem, 6.5vw, 7rem);
  letter-spacing: -0.065em;
  line-height: 0.92;
  margin: 0;
  max-width: 1100px;
}

.article-hero__content > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.72);
  font-size: 1.15rem;
  margin: 26px 0 18px;
  max-width: 760px;
}

.article-hero time {
  color: var(--solar);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.article-body {
  background: var(--white);
}

.article-body__grid {
  display: grid;
  gap: 90px;
  grid-template-columns: 150px minmax(0, 800px);
  justify-content: center;
}

.article-body aside {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 8px;
}

.article-body aside p {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.article-body aside a {
  border-bottom: 1px solid var(--line);
  font-size: 0.85rem;
  padding-bottom: 4px;
}

.article-copy > p {
  color: #3c4958;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.2rem, 1.65vw, 1.45rem);
  line-height: 1.82;
  margin: 0 0 30px;
}

.article-copy > p:first-child::first-letter {
  color: var(--blue);
  float: left;
  font-size: 5.5rem;
  line-height: 0.75;
  padding: 12px 10px 0 0;
}

.article-note {
  background: var(--paper);
  border-left: 5px solid var(--solar);
  margin-top: 60px;
  padding: 35px;
}

.article-note strong {
  font-size: 1.65rem;
}

.article-note p {
  color: var(--muted);
  margin: 8px 0 24px;
}

.related-articles {
  background: var(--paper);
}

.contact-layout,
.form-page-grid {
  grid-template-columns: minmax(320px, 0.7fr) minmax(480px, 1.3fr);
}

.contact-copy > p:not(.eyebrow),
.form-page-intro {
  color: var(--muted);
  font-size: 1.1rem;
  margin: 28px 0 40px;
}

.contact-cards {
  border-top: 1px solid var(--line);
  display: grid;
}

.contact-cards a {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 5px;
  padding: 18px 0;
}

.contact-cards span {
  color: var(--muted);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.contact-cards strong {
  font-size: 1rem;
  font-weight: 650;
}

.map-panel {
  height: 560px;
}

.map-panel iframe {
  border: 0;
  height: 100%;
  width: 100%;
}

.map-consent {
  align-items: center;
  background: radial-gradient(circle at 78% 20%, rgba(11, 102, 189, .35), transparent 28%), var(--ink);
  color: var(--white);
  display: flex;
  height: 100%;
  justify-content: center;
  padding: 40px;
  text-align: center;
}
.map-consent > div { max-width: 680px; }
.map-consent h2 { font-size: clamp(2rem, 4vw, 3.8rem); letter-spacing: -.05em; line-height: 1; margin: 0; }
.map-consent p:not(.eyebrow) { color: rgba(255,255,255,.62); margin: 22px 0 28px; }

.form-steps {
  border-top: 1px solid var(--line);
  list-style: none;
  margin: 45px 0 0;
  padding: 0;
}

.form-steps li {
  align-items: start;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 20px;
  grid-template-columns: 45px 1fr;
  padding: 20px 0;
}

.form-steps > li > span {
  color: var(--blue-bright);
  font-size: 0.72rem;
  font-weight: 850;
}

.form-steps h3 {
  font-size: 1.1rem;
  margin: 0 0 3px;
}

.form-steps p {
  color: var(--muted);
  font-size: 0.84rem;
  margin: 0;
}

.legal-hero {
  background: var(--ink);
  color: var(--white);
  padding: 150px 0 100px;
}

.legal-hero h1 {
  font-size: clamp(3rem, 6vw, 6.4rem);
  letter-spacing: -0.06em;
  line-height: 0.95;
  margin: 0;
  max-width: 1000px;
}

.legal-copy {
  background: var(--white);
}

.legal-copy > div {
  max-width: 850px;
}

.legal-copy h2 {
  font-size: 2rem;
  letter-spacing: -0.04em;
  margin: 50px 0 15px;
}

.legal-copy h2:first-child { margin-top: 0; }
.legal-copy p { color: #44515f; font-size: 1.08rem; line-height: 1.8; }
.honeypot { left: -10000px !important; position: absolute !important; }

.not-found {
  align-items: center;
  background: radial-gradient(circle at 75% 20%, rgba(11, 102, 189, .3), transparent 30%), var(--ink);
  color: var(--white);
  display: flex;
  min-height: 75svh;
  padding: 100px 0;
}
.not-found > div > span { color: rgba(255,255,255,.08); font-size: clamp(8rem, 24vw, 22rem); font-weight: 900; left: 55%; letter-spacing: -.1em; line-height: .7; position: absolute; }
.not-found h1 { font-size: clamp(3rem, 6vw, 6.2rem); letter-spacing: -.06em; line-height: .94; margin: 0; max-width: 950px; position: relative; }
.not-found > div > p:not(.eyebrow) { color: rgba(255,255,255,.62); font-size: 1.1rem; margin: 26px 0 34px; max-width: 620px; position: relative; }

/* Enterprise CMS */
body:has(.admin-page) {
  background: #eef1f5;
}

body:has(.admin-page) > .site-header,
body:has(.admin-page) > .site-footer,
body:has(.admin-page) > .cookie-banner,
body:has(.admin-page) > .consent-layer,
body:has(.admin-page) > .consent-reopen,
body:has(.admin-page) > .a11y-trigger,
body:has(.admin-page) > .a11y-panel {
  display: none;
}

.admin-page {
  background: #eef1f5;
  color: #122033;
  min-height: 100svh;
}

.admin-header {
  align-items: center;
  background: #07101b;
  color: var(--white);
  display: flex;
  height: 84px;
  justify-content: space-between;
  padding: 0 34px;
}

.admin-brand,
.admin-user,
.admin-brand > div,
.admin-user > div {
  align-items: center;
  display: flex;
}

.admin-brand { gap: 16px; }
.admin-brand img { background: var(--white); border-radius: 7px; height: 52px; object-fit: contain; padding: 2px 8px; width: 112px; }
.admin-brand > div { align-items: flex-start; flex-direction: column; }
.admin-brand span { color: var(--solar); font-size: 0.6rem; font-weight: 850; letter-spacing: 0.14em; text-transform: uppercase; }
.admin-brand strong { font-size: 1.03rem; }
.admin-user { gap: 24px; }
.admin-user > div { align-items: flex-end; flex-direction: column; }
.admin-user strong { font-size: 0.82rem; }
.admin-user span { color: rgba(255,255,255,.48); font-size: .7rem; }
.admin-user > a { border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font-size: .7rem; font-weight: 750; padding: 9px 14px; text-transform: uppercase; }

.admin-tabs {
  background: var(--white);
  border-bottom: 1px solid #d9dee6;
  display: flex;
  gap: 5px;
  overflow-x: auto;
  padding: 0 30px;
  position: sticky;
  top: 0;
  z-index: 20;
}

.admin-tabs button {
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  color: #677486;
  cursor: pointer;
  font-size: .72rem;
  font-weight: 800;
  min-height: 62px;
  padding: 0 15px;
  position: relative;
  text-transform: uppercase;
  white-space: nowrap;
}

.admin-tabs button.is-active { border-bottom-color: var(--solar); color: #0b1b2d; }
.admin-tabs button > span { align-items: center; background: #e43d32; border-radius: 50%; color: white; display: inline-flex; font-size: .6rem; height: 19px; justify-content: center; margin-left: 7px; width: 19px; }

.admin-main {
  margin: 0 auto;
  max-width: 1540px;
  padding: 48px 34px 90px;
}

.admin-panel-head {
  align-items: end;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-bottom: 38px;
}

.admin-panel-head span {
  color: #0b66bd;
  display: block;
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .15em;
  margin-bottom: 7px;
  text-transform: uppercase;
}

.admin-panel-head h1 {
  font-size: clamp(2rem, 4vw, 3.7rem);
  letter-spacing: -.055em;
  line-height: 1;
  margin: 0;
}

.admin-panel-head p { color: #6b7889; margin: 12px 0 0; max-width: 680px; }

.admin-primary,
.admin-danger {
  border: 0;
  border-radius: 9px;
  cursor: pointer;
  font-size: .73rem;
  font-weight: 850;
  min-height: 44px;
  padding: 0 18px;
  text-transform: uppercase;
}

.admin-primary { background: #0b66bd; color: var(--white); }
.admin-danger { background: #fff0ef; color: #b42318; }

.admin-alert {
  border-radius: 10px;
  font-size: .86rem;
  font-weight: 700;
  margin-bottom: 22px;
  padding: 14px 18px;
}
.admin-alert--success { background: #e8f7ee; color: #12623b; }
.admin-alert--error { background: #fff0ef; color: #a7251d; }
.admin-loading { color: #657386; padding: 80px 0; text-align: center; }

.admin-metrics {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 22px;
}

.admin-metrics button {
  background: var(--white);
  border: 1px solid #dce2e9;
  border-radius: 14px;
  cursor: pointer;
  display: grid;
  padding: 24px;
  text-align: left;
}
.admin-metrics span { color: #6b7889; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.admin-metrics strong { font-size: 3.2rem; letter-spacing: -.07em; line-height: 1; margin: 22px 0; }
.admin-metrics small { color: #0b66bd; font-weight: 750; }

.admin-overview-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: 1.25fr .75fr;
}

.admin-card {
  background: var(--white);
  border: 1px solid #dce2e9;
  border-radius: 14px;
  padding: 27px;
}
.admin-card--dark { background: #07101b; color: var(--white); }
.admin-card--dark > span { color: var(--solar); font-size: .67rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.admin-card--dark h2 { font-size: 2rem; letter-spacing: -.05em; line-height: 1.05; margin: 50px 0 18px; }
.admin-card--dark p { color: rgba(255,255,255,.56); }
.admin-card--dark button { background: transparent; border: 0; color: var(--solar); cursor: pointer; font-weight: 800; margin-top: 20px; padding: 0; }
.admin-card__head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 18px; }
.admin-card__head h2 { font-size: 1.2rem; margin: 0; }
.admin-card__head button { background: transparent; border: 0; color: #0b66bd; cursor: pointer; font-size: .75rem; font-weight: 800; }

.admin-editor-layout {
  align-items: start;
  display: grid;
  gap: 22px;
  grid-template-columns: 340px minmax(0, 1fr);
}

.admin-records {
  background: var(--white);
  border: 1px solid #dce2e9;
  border-radius: 14px;
  display: grid;
  max-height: calc(100svh - 215px);
  overflow-y: auto;
  padding: 8px;
  position: sticky;
  top: 84px;
}

.admin-records button {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #e7ebf0;
  border-radius: 8px;
  cursor: pointer;
  display: grid;
  gap: 4px;
  padding: 15px;
  text-align: left;
}
.admin-records button.is-active { background: #edf5fd; }
.admin-records span { color: #778496; font-size: .61rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.admin-records strong { font-size: .88rem; line-height: 1.3; }
.admin-records--visual button { grid-template-columns: 70px 1fr; min-height: 76px; }
.admin-records--visual img { border-radius: 6px; grid-row: 1 / 3; height: 54px; object-fit: cover; width: 65px; }

.admin-editor {
  background: var(--white);
  border: 1px solid #dce2e9;
  border-radius: 14px;
  display: grid;
  gap: 22px;
  padding: clamp(24px, 4vw, 45px);
}
.admin-editor--standalone { max-width: 1080px; }
.admin-form-grid { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; }
.admin-field { display: grid; gap: 7px; }
.admin-field > span { color: #415065; font-size: .7rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.admin-field input,
.admin-field textarea,
.admin-field select,
.request-actions select,
.media-uploader input {
  background: #f8f9fb;
  border: 1px solid #d1d8e1;
  border-radius: 8px;
  color: #122033;
  min-height: 48px;
  padding: 11px 13px;
  width: 100%;
}
.admin-field textarea { resize: vertical; }
.admin-field input:focus, .admin-field textarea:focus, .admin-field select:focus { border-color: #0b66bd; outline: 3px solid rgba(11,102,189,.12); }
.admin-field small { color: #8994a3; font-size: .66rem; }
.admin-check { align-items: center; display: flex; font-size: .8rem; font-weight: 700; gap: 10px; }
.admin-check input { accent-color: #0b66bd; height: 18px; width: 18px; }
.admin-check--inline { align-self: end; min-height: 48px; }
.admin-image-preview { border-radius: 10px; height: 270px; object-fit: cover; width: 100%; }
.admin-savebar { align-items: center; border-top: 1px solid #e0e5eb; display: flex; gap: 12px; margin-top: 10px; padding-top: 22px; }
.admin-savebar > span { color: #8390a0; font-size: .7rem; margin-left: auto; }

.request-list { display: grid; gap: 13px; }
.request-list > article { background: var(--white); border: 1px solid #dce2e9; border-radius: 13px; padding: 23px; }
.request-list__top { align-items: center; display: flex; gap: 12px; justify-content: space-between; }
.request-list__top > span:last-child { color: #7c899a; font-size: .7rem; text-transform: uppercase; }
.request-status { border-radius: 999px; display: inline-block; font-size: .6rem; font-weight: 900; letter-spacing: .08em; padding: 6px 9px; text-transform: uppercase; }
.request-status--new { background: #fff0cf; color: #885300; }
.request-status--contacted { background: #e8f2fd; color: #0759a4; }
.request-status--closed { background: #e4f6ec; color: #12623b; }
.request-status--archived { background: #edf0f3; color: #687586; }
.request-list h2 { font-size: 1.45rem; margin: 15px 0 6px; }
.request-list > article > p { color: #526074; margin: 18px 0; white-space: pre-wrap; }
.request-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.request-meta > * { color: #0b66bd; font-size: .78rem; font-weight: 700; }
.request-actions { align-items: center; border-top: 1px solid #e5e9ee; display: flex; flex-wrap: wrap; gap: 10px; padding-top: 15px; }
.request-actions select { min-height: 38px; width: 160px; }
.request-actions a { border: 1px solid #d5dce4; border-radius: 8px; font-size: .69rem; font-weight: 800; padding: 9px 12px; text-transform: uppercase; }
.request-list--compact > article { align-items: center; border: 0; border-bottom: 1px solid #e5e9ee; border-radius: 0; display: grid; gap: 12px; grid-template-columns: auto 1fr auto; padding: 14px 0; }
.request-list--compact div { display: grid; }
.request-list--compact div strong { font-size: .86rem; }
.request-list--compact div span { color: #7b8797; font-size: .69rem; }
.request-list--compact a { color: #0b66bd; font-size: .72rem; font-weight: 800; }

.media-uploader {
  align-items: center;
  background: #07101b;
  border-radius: 14px;
  color: var(--white);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, .8fr) minmax(240px, 1fr) auto;
  margin-bottom: 28px;
  padding: 25px;
}
.media-uploader > div { display: grid; }
.media-uploader div span { color: rgba(255,255,255,.48); font-size: .68rem; }
.media-uploader input { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); color: var(--white); }
.media-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); }
.media-grid article { background: var(--white); border: 1px solid #dce2e9; border-radius: 12px; overflow: hidden; }
.media-grid img { height: 190px; object-fit: cover; width: 100%; }
.media-grid article > div { display: grid; padding: 15px; }
.media-grid strong { font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.media-grid span { color: #7c8998; font-size: .65rem; }
.media-grid button { background: transparent; border: 0; color: #0b66bd; cursor: pointer; font-size: .7rem; font-weight: 850; margin-top: 12px; padding: 0; text-align: left; text-transform: uppercase; }
.admin-empty { align-items: center; background: var(--white); border: 1px dashed #cbd3dd; border-radius: 13px; color: #7a8798; display: flex; flex-direction: column; min-height: 220px; justify-content: center; }
.admin-empty span { font-size: 2rem; }

@media (max-width: 1050px) {
  .editorial-intro__grid, .form-page-grid, .contact-layout, .service-detail__grid { grid-template-columns: 1fr; }
  .service-detail__aside { position: static; }
  .service-detail__aside nav { display: none; }
  .timeline-grid, .values-grid { grid-template-columns: repeat(2, 1fr); }
  .sector-grid { grid-template-columns: 1fr; }
  .sector-grid article { min-height: 280px; }
  .sector-grid h3 { margin-top: 80px; }
  .admin-metrics { grid-template-columns: repeat(2, 1fr); }
  .admin-overview-grid { grid-template-columns: 1fr; }
  .admin-editor-layout { grid-template-columns: 280px 1fr; }
  .media-uploader { grid-template-columns: 1fr 1fr; }
  .media-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 760px) {
  .timeline-grid, .values-grid, .article-grid--archive { grid-template-columns: 1fr; }
  .timeline-grid li { min-height: 300px; }
  .timeline-grid h3 { margin-top: 55px; }
  .values-grid article { min-height: 250px; }
  .values-grid h3 { margin-top: 55px; }
  .service-highlights { padding: 28px 22px; }
  .service-highlights ul { grid-template-columns: 1fr; }
  .article-grid--archive .article-card img { height: 260px; }
  .article-body__grid { gap: 35px; grid-template-columns: 1fr; }
  .article-body aside { flex-direction: row; }
  .article-body aside p { width: 100%; }
  .article-hero { height: 720px; }
  .article-hero__content { bottom: 42px; }
  .article-back { margin-bottom: 35px; }
  .admin-header { height: 72px; padding: 0 16px; }
  .admin-brand > div, .admin-user > div, .admin-user > a:first-of-type { display: none; }
  .admin-tabs { padding: 0 10px; }
  .admin-tabs button { min-height: 55px; padding: 0 10px; }
  .admin-main { padding: 32px 16px 70px; }
  .admin-panel-head { align-items: flex-start; flex-direction: column; }
  .admin-metrics { grid-template-columns: 1fr 1fr; }
  .admin-editor-layout { grid-template-columns: 1fr; }
  .admin-records { display: flex; max-height: none; overflow-x: auto; position: static; }
  .admin-records button { flex: 0 0 230px; }
  .admin-form-grid { grid-template-columns: 1fr; }
  .admin-savebar { align-items: stretch; flex-direction: column; }
  .admin-savebar > span { margin-left: 0; }
  .media-uploader { grid-template-columns: 1fr; }
  .media-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 520px) {
  .admin-metrics { grid-template-columns: 1fr; }
  .media-grid { grid-template-columns: 1fr; }
  .request-list--compact > article { grid-template-columns: auto 1fr; }
  .request-list--compact > article > a { display: none; }
}

/* Compliance center */
.consent-layer {
  inset: 0;
  position: fixed;
  z-index: 5000;
}

.consent-layer__backdrop {
  background: rgba(1, 7, 14, .65);
  border: 0;
  cursor: default;
  inset: 0;
  padding: 0;
  position: absolute;
  width: 100%;
  backdrop-filter: blur(9px);
}

.consent-modal {
  background: var(--white);
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 24px;
  bottom: 28px;
  box-shadow: 0 38px 110px rgba(0,0,0,.38);
  display: flex;
  flex-direction: column;
  left: 50%;
  max-height: calc(100svh - 56px);
  overflow: hidden;
  position: absolute;
  transform: translateX(-50%);
  width: min(760px, calc(100vw - 40px));
}

.consent-modal__header {
  align-items: flex-start;
  border-bottom: 1px solid #e7eaf0;
  display: flex;
  justify-content: space-between;
  padding: 24px 28px 20px;
}

.consent-modal__header span,
.consent-categories article > div > span,
.consent-brief span {
  color: var(--blue-bright);
  display: block;
  font-size: .63rem;
  font-weight: 850;
  letter-spacing: .13em;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.consent-modal__header h2 {
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  letter-spacing: -.045em;
  line-height: 1.05;
  margin: 0;
}

.consent-modal__close {
  align-items: center;
  background: #f1f3f6;
  border: 0;
  border-radius: 50%;
  color: #344254;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 38px;
  font-size: 1.6rem;
  height: 38px;
  justify-content: center;
  line-height: 1;
}

.consent-modal__body {
  color: #465366;
  font-size: .93rem;
  line-height: 1.72;
  overflow-y: auto;
  padding: 24px 28px;
}

.consent-intro > p { margin: 0; }
.consent-links { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 18px; }
.consent-links a { color: var(--blue); font-size: .78rem; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.consent-brief { background: linear-gradient(135deg, #eef6ff, #f8fbff); border: 1px solid #dceafb; border-radius: 14px; display: grid; gap: 3px; margin-top: 22px; padding: 16px 18px; }
.consent-brief strong { color: var(--ink); font-size: .86rem; }

.consent-categories { display: grid; gap: 10px; }
.consent-categories article { align-items: center; background: #f5f7fa; border: 1px solid #e5e9ef; border-radius: 15px; display: grid; gap: 8px 16px; grid-template-columns: 1fr auto; padding: 16px 18px; }
.consent-categories h3 { color: var(--ink); font-size: 1rem; margin: 0; }
.consent-categories p { grid-column: 1 / -1; margin: 0; }
.consent-state { color: #08703f; font-size: .72rem; font-weight: 850; }

.consent-toggle { background: #bcc4ce; border: 0; border-radius: 999px; cursor: pointer; height: 25px; padding: 3px; transition: background 160ms ease; width: 46px; }
.consent-toggle span { background: var(--white); border-radius: 50%; box-shadow: 0 2px 5px rgba(0,0,0,.18); display: block; height: 19px; transition: transform 160ms ease; width: 19px; }
.consent-toggle[aria-checked="true"] { background: var(--blue-bright); }
.consent-toggle[aria-checked="true"] span { transform: translateX(21px); }

.consent-modal__footer { background: #f9fafb; border-top: 1px solid #e7eaf0; display: flex; flex-wrap: wrap; gap: 9px; padding: 15px 28px 20px; }
.consent-button { background: var(--white); border: 1px solid #cfd5dd; border-radius: 999px; color: var(--ink); cursor: pointer; font-size: .72rem; font-weight: 850; min-height: 44px; padding: 0 20px; text-transform: uppercase; }
.consent-button--primary { background: var(--solar); border-color: var(--solar); }
.consent-button--text { background: transparent; border-color: transparent; color: var(--blue); }

.consent-reopen,
.a11y-trigger {
  align-items: center;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 50%;
  bottom: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,.24);
  cursor: pointer;
  display: inline-flex;
  height: 48px;
  justify-content: center;
  padding: 0;
  position: fixed;
  width: 48px;
  z-index: 4700;
}
.consent-reopen { background: var(--white); color: var(--blue); right: 18px; }
.consent-reopen svg { fill: none; height: 23px; stroke: currentColor; stroke-width: 1.7; width: 23px; }
.consent-reopen svg circle:not(:first-child) { fill: currentColor; stroke: none; }
.a11y-trigger { background: linear-gradient(135deg, #064e9a, #0b66bd); color: var(--white); left: 18px; }
.a11y-trigger svg { fill: none; height: 27px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 27px; }

.a11y-panel {
  background: var(--white);
  border-right: 1px solid #e5e9ef;
  bottom: 0;
  box-shadow: 28px 0 80px rgba(0,0,0,.24);
  color: var(--ink);
  display: flex;
  flex-direction: column;
  left: 0;
  max-width: 100%;
  position: fixed;
  top: 0;
  transform: translateX(-105%);
  transition: transform 280ms cubic-bezier(.2,.8,.2,1);
  width: 390px;
  z-index: 4800;
}
.a11y-panel.is-open { transform: translateX(0); }
.a11y-panel > header { align-items: center; background: var(--ink); color: var(--white); display: flex; justify-content: space-between; padding: 20px; }
.a11y-panel > header span { color: var(--solar); display: block; font-size: .59rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.a11y-panel > header h2 { font-size: 1.1rem; margin: 2px 0 0; }
.a11y-panel > header button { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 8px; color: var(--white); cursor: pointer; font-size: 1.4rem; height: 36px; width: 36px; }
.a11y-panel__body { flex: 1; overflow-y: auto; padding: 18px; }
.a11y-panel__body section + section { border-top: 1px solid #e7eaf0; margin-top: 22px; padding-top: 20px; }
.a11y-panel__body section > h3 { color: #687689; font-size: .65rem; letter-spacing: .13em; margin: 0 0 11px; text-transform: uppercase; }
.a11y-font-control { align-items: center; background: #f3f5f8; border-radius: 12px; display: flex; font-size: .78rem; font-weight: 800; justify-content: space-between; margin-bottom: 9px; padding: 10px 12px; }
.a11y-font-control > div { align-items: center; display: flex; gap: 6px; }
.a11y-font-control button { background: var(--white); border: 1px solid #d7dde5; border-radius: 7px; cursor: pointer; height: 31px; width: 31px; }
.a11y-font-control button:disabled { opacity: .35; }
.a11y-font-control strong { color: var(--blue); font-size: .72rem; min-width: 49px; text-align: center; }
.a11y-grid { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; }
.a11y-tile { align-items: center; background: #f3f5f8; border: 1.5px solid transparent; border-radius: 12px; color: var(--ink); cursor: pointer; display: flex; flex-direction: column; gap: 6px; justify-content: center; min-height: 78px; padding: 10px; }
.a11y-tile strong { color: var(--blue); font-size: 1.05rem; }
.a11y-tile span { font-size: .7rem; font-weight: 780; text-align: center; }
.a11y-tile[aria-pressed="true"] { background: #edf6ff; border-color: var(--blue-bright); }
.a11y-panel > footer { border-top: 1px solid #e5e9ef; display: grid; gap: 8px; padding: 13px 18px 16px; }
.a11y-panel > footer button { background: var(--white); border: 1px solid #ccd3dc; border-radius: 9px; cursor: pointer; font-size: .72rem; font-weight: 800; min-height: 40px; }
.a11y-panel > footer a { color: var(--blue); font-size: .69rem; font-weight: 800; text-align: center; text-decoration: underline; text-underline-offset: 3px; }

/* Accessibility preference modes */
html[data-dapa-a11y-font="true"] { font-size: calc(16px * var(--dapa-a11y-scale, 1)); }
html[data-dapa-a11y-titles] main :is(h1,h2,h3,h4,h5,h6) { outline: 3px dashed #0b66bd !important; outline-offset: 5px !important; }
html[data-dapa-a11y-links] main a { text-decoration: underline !important; text-decoration-thickness: 3px !important; text-underline-offset: 4px !important; }
html[data-dapa-a11y-readable] main { font-family: "Trebuchet MS", Verdana, sans-serif !important; }
html[data-dapa-a11y-spacing] main :is(p,li,a,button,h1,h2,h3,h4,h5,h6) { letter-spacing: .1em !important; word-spacing: .14em !important; }
html[data-dapa-a11y-lineheight] main :is(p,li,a) { line-height: 2 !important; }
html[data-dapa-a11y-leftalign] main :is(p,li,h1,h2,h3,h4,h5,h6) { text-align: left !important; }
html[data-dapa-a11y-grayscale] main { filter: grayscale(1) !important; }
html[data-dapa-a11y-pause] *, html[data-dapa-a11y-pause] *::before, html[data-dapa-a11y-pause] *::after { animation-play-state: paused !important; scroll-behavior: auto !important; transition: none !important; }
html[data-dapa-a11y-cursor] main, html[data-dapa-a11y-cursor] main * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='1.4' d='M3 2l16 10-7 2-3 7z'/%3E%3C/svg%3E") 4 3, auto !important; }
html[data-dapa-a11y-contrast="dark"] main, html[data-dapa-a11y-contrast="dark"] main section { background: #080b10 !important; color: #f7f8fa !important; }
html[data-dapa-a11y-contrast="dark"] main :is(p,span,li) { color: #eef1f5 !important; }
html[data-dapa-a11y-contrast="light"] main, html[data-dapa-a11y-contrast="light"] main section { background: #fff !important; color: #000 !important; }
html[data-dapa-a11y-contrast="light"] main :is(p,span,li) { color: #000 !important; }
html[data-dapa-a11y-contrast="high"] main, html[data-dapa-a11y-contrast="high"] main section { background: #000 !important; color: #ffeb3b !important; }
html[data-dapa-a11y-contrast="high"] main :is(p,span,li,h1,h2,h3,h4,h5,h6) { color: #ffeb3b !important; }
html[data-dapa-a11y-contrast="high"] main a { color: #6ff !important; }

/* Editable legal pages */
.legal-suite { background: linear-gradient(180deg, #f5f4ef, #fff); }
.legal-suite__grid { align-items: start; display: grid; gap: clamp(45px, 7vw, 110px); grid-template-columns: minmax(230px, .36fr) minmax(0, 1fr); }
.legal-suite__aside { position: sticky; top: 125px; }
.legal-suite__aside nav { border-top: 1px solid var(--line); display: grid; }
.legal-suite__aside nav a { align-items: center; border-bottom: 1px solid var(--line); color: #5a6879; display: flex; font-size: .78rem; font-weight: 800; justify-content: space-between; padding: 15px 0; text-transform: uppercase; }
.legal-suite__aside nav a.is-active { color: var(--blue-bright); }
.legal-company-card { background: var(--ink); border-radius: 16px; color: var(--white); display: grid; gap: 6px; margin-top: 30px; padding: 23px; }
.legal-company-card > span { color: var(--solar); font-size: .62rem; font-weight: 850; letter-spacing: .13em; margin-bottom: 3px; text-transform: uppercase; }
.legal-company-card strong { font-size: .9rem; }
.legal-company-card p, .legal-company-card a { color: rgba(255,255,255,.62); font-size: .72rem; margin: 0; overflow-wrap: anywhere; }
.legal-company-card a { color: var(--solar-soft); }

.legal-document { background: var(--white); border: 1px solid rgba(7,16,27,.09); border-radius: 24px; box-shadow: 0 30px 85px rgba(7,16,27,.09); overflow: hidden; }
.legal-document > header { background: radial-gradient(circle at 85% 0, rgba(11,102,189,.12), transparent 30%), #fff; border-bottom: 1px solid var(--line); padding: clamp(34px, 5vw, 68px); }
.legal-document > header h1 { font-size: clamp(2.35rem, 5vw, 5.3rem); letter-spacing: -.06em; line-height: .98; margin: 0; max-width: 920px; }
.legal-document__lead { color: #536174; font-size: clamp(1rem, 1.5vw, 1.24rem); line-height: 1.75; margin: 28px 0 0; max-width: 820px; }
.legal-document__body { padding: clamp(34px, 5vw, 68px); }
.legal-document__body h2 { font-size: clamp(1.5rem, 2.3vw, 2.2rem); letter-spacing: -.04em; margin: 54px 0 15px; }
.legal-document__body h2:first-child { margin-top: 0; }
.legal-document__body h3 { font-size: 1.15rem; margin: 35px 0 10px; }
.legal-document__body p, .legal-document__body li { color: #465466; font-size: 1rem; line-height: 1.86; }
.legal-document__body ul { padding-left: 22px; }
.legal-document__body blockquote { background: #fff8e8; border-left: 4px solid var(--solar); border-radius: 0 12px 12px 0; color: #3e4753; margin: 30px 0; padding: 20px 24px; }
.legal-document__footer { align-items: center; background: #f5f7f9; border-top: 1px solid #e4e8ed; color: #718094; display: flex; font-size: .7rem; justify-content: space-between; padding: 20px clamp(34px, 5vw, 68px); }
.legal-document__footer a { color: var(--blue); font-weight: 800; }
.legal-status-grid { display: grid; gap: 1px; grid-template-columns: 1fr 1fr; margin: 0 clamp(34px, 5vw, 68px); transform: translateY(-1px); }
.legal-status-grid div { background: var(--ink); color: var(--white); display: grid; gap: 4px; padding: 18px 22px; }
.legal-status-grid div:first-child { border-radius: 0 0 0 13px; }
.legal-status-grid div:last-child { border-radius: 0 0 13px 0; }
.legal-status-grid span { color: var(--solar); font-size: .61rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.legal-status-grid strong { font-size: .82rem; }
.cookie-inventory { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; padding: clamp(34px, 5vw, 68px) clamp(34px, 5vw, 68px) 0; }
.cookie-inventory article { background: #f5f7fa; border: 1px solid #e5e9ef; border-radius: 15px; padding: 20px; }
.cookie-inventory span { color: var(--blue-bright); font-size: .6rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.cookie-inventory h2 { font-size: 1.15rem; margin: 5px 0 8px; }
.cookie-inventory p { color: #5e6b7b; font-size: .78rem; line-height: 1.65; margin: 0; }
.cookie-tech-list { border: 1px solid #e5e9ef; border-radius: 16px; margin: 24px clamp(34px, 5vw, 68px) 0; overflow: hidden; }
.cookie-tech-list > h2 { font-size: 1.25rem; letter-spacing: -.03em; margin: 0; padding: 22px 24px; }
.cookie-tech-list > div { border-top: 1px solid #e5e9ef; display: grid; gap: 5px; padding: 18px 24px; }
.cookie-tech-list strong { color: var(--blue); font-size: .83rem; }
.cookie-tech-list span { color: #687689; font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.cookie-tech-list p { color: #536174; font-size: .8rem; margin: 0; }
.legal-preferences-card { align-items: center; background: var(--solar); display: flex; gap: 30px; justify-content: space-between; margin: 0 clamp(34px, 5vw, 68px) clamp(34px, 5vw, 68px); padding: 27px; }
.legal-preferences-card span { font-size: .62rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.legal-preferences-card h2 { font-size: 1.6rem; letter-spacing: -.04em; margin: 4px 0; }
.legal-preferences-card p { font-size: .82rem; margin: 0; }

.admin-compliance-links { align-items: center; background: #07101b; border-radius: 14px; color: var(--white); display: flex; gap: 12px; margin-bottom: 24px; padding: 20px 22px; }
.admin-compliance-links > div { display: grid; gap: 3px; margin-right: auto; }
.admin-compliance-links strong { font-size: .88rem; }
.admin-compliance-links span { color: rgba(255,255,255,.55); font-size: .7rem; }
.admin-form-section { border-top: 1px solid #dfe4ea; margin-top: 18px; padding-top: 28px; }
.admin-form-section:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.admin-form-section > span { color: #0b66bd; font-size: .62rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.admin-form-section h2 { font-size: 1.55rem; letter-spacing: -.04em; margin: 4px 0; }
.admin-form-section p { color: #748193; font-size: .73rem; margin: 0; }

@media (max-width: 1050px) {
  .site-footer__nav { grid-template-columns: repeat(2, 1fr); }
  .legal-suite__grid { grid-template-columns: 1fr; }
  .legal-suite__aside { position: static; }
  .legal-suite__aside nav { grid-template-columns: 1fr 1fr; }
  .legal-suite__aside nav a:nth-child(odd) { padding-right: 20px; }
}

@media (max-width: 700px) {
  .consent-modal { bottom: 10px; max-height: calc(100svh - 20px); width: calc(100vw - 20px); }
  .consent-modal__header, .consent-modal__body { padding-left: 20px; padding-right: 20px; }
  .consent-modal__footer { display: grid; padding: 12px 20px 18px; }
  .consent-button { width: 100%; }
  .a11y-panel { width: 100%; }
  .a11y-trigger { bottom: 76px; }
  .legal-suite__aside nav { grid-template-columns: 1fr; }
  .cookie-inventory, .legal-status-grid { grid-template-columns: 1fr; }
  .legal-status-grid div:first-child, .legal-status-grid div:last-child { border-radius: 0; }
  .legal-preferences-card { align-items: stretch; flex-direction: column; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; gap: 18px; }
  .admin-compliance-links { align-items: stretch; flex-direction: column; }
  .admin-compliance-links > div { margin-right: 0; }
}

/* CMS flexible content modules */
.content-module {
  background: var(--white);
  border-top: 1px solid var(--line-light);
  overflow: hidden;
}
.content-module--alternate { background: var(--paper); }
.content-module__grid {
  align-items: center;
  display: grid;
  gap: clamp(42px, 7vw, 110px);
  grid-template-columns: minmax(0, 1fr) minmax(360px, .86fr);
}
.content-module--image-left .content-module__media { order: -1; }
.content-module--text .content-module__grid { grid-template-columns: minmax(0, 850px); }
.content-module--text .content-module__copy { max-width: 850px; }
.content-module__copy h2 {
  font-size: clamp(2.3rem, 4.8vw, 5.2rem);
  letter-spacing: -.06em;
  line-height: .98;
  margin: 0 0 26px;
}
.content-module__copy > p:not(.eyebrow),
.content-module__richtext p,
.content-module__richtext li {
  color: #465463;
  font-size: 1.04rem;
  line-height: 1.82;
}
.content-module__richtext p { margin: 0 0 18px; }
.content-module__richtext ul,
.content-module__richtext ol { padding-left: 20px; }
.content-module__media {
  background: #07101b;
  border-radius: 22px;
  min-height: 440px;
  overflow: hidden;
  position: relative;
}
.content-module__media img {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}
.content-module--feature {
  background: #07101b;
  color: var(--white);
}
.content-module--feature .content-module__grid {
  min-height: 520px;
}
.content-module--feature .content-module__copy > p:not(.eyebrow),
.content-module--feature .content-module__richtext p,
.content-module--feature .content-module__richtext li {
  color: rgba(255,255,255,.67);
}
.content-module--feature .content-module__media {
  border: 1px solid rgba(255,255,255,.1);
}
.content-module__actions { margin-top: 30px; }
.content-module--gallery .projects-grid { margin-top: 35px; }

.not-found-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

/* Five or more dashboard metrics stay fluid on wide screens. */
.admin-metrics { grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); }

@media (max-width: 900px) {
  .content-module__grid { grid-template-columns: 1fr; }
  .content-module--image-left .content-module__media { order: 0; }
  .content-module__media { min-height: 360px; }
}

@media (max-width: 700px) {
  .content-module__media { border-radius: 14px; min-height: 290px; }
  .content-module__copy h2 { font-size: clamp(2.1rem, 11vw, 3.6rem); }
  .not-found-actions { align-items: stretch; flex-direction: column; }
  .not-found-actions .button { justify-content: center; width: 100%; }
}

.content-module__copy .prose p,
.content-module__copy .prose li { color:#465463; font-size:1.04rem; line-height:1.82; }
.content-module--feature .content-module__copy .prose p,
.content-module--feature .content-module__copy .prose li { color:rgba(255,255,255,.67); }
.content-module--no-media .content-module__grid { grid-template-columns:minmax(0, 920px); }
.content-module--feature .eyebrow { color:var(--solar); }

.article-body aside time { color:var(--blue); font-size:.8rem; font-weight:800; margin-bottom:28px; }

/* =========================================================
   DA.PA. ELECTRIC ENTERPRISE EXPERIENCE · v1.5.0
   Visual direction derived from the approved DAPA Volt landing:
   deep navy, electric-blue light, amber energy, glass surfaces,
   large horizontal storytelling and motion with reduced-motion care.
   ========================================================= */
:root{
  --volt-navy:#061426;
  --volt-navy-2:#0b203a;
  --volt-blue:#087eff;
  --volt-cyan:#00c8ff;
  --volt-amber:#ffb000;
  --volt-glass:rgba(8,28,52,.72);
  --volt-glass-light:rgba(255,255,255,.78);
  --volt-shadow:0 28px 80px rgba(1,10,23,.22);
}
body{background:#f3f5f8}
body::before{
  content:"";position:fixed;z-index:15;pointer-events:none;width:420px;height:420px;border-radius:50%;
  left:calc(var(--pointer-x,50vw) - 210px);top:calc(var(--pointer-y,50vh) - 210px);
  background:radial-gradient(circle,rgba(8,126,255,.105),rgba(8,126,255,0) 68%);mix-blend-mode:multiply;opacity:.7;
  transition:opacity .3s ease;
}
.site-header{height:84px;background:rgba(5,17,31,.90);border-bottom-color:rgba(255,255,255,.09);backdrop-filter:blur(22px) saturate(125%);color:#fff}
.site-header__inner{grid-template-columns:190px 1fr auto}.brand{width:164px;height:70px}.brand img{width:160px;height:70px;background:#fff;border-radius:12px;padding:5px 9px;box-shadow:0 12px 32px rgba(0,0,0,.13)}
.main-nav a{color:rgba(255,255,255,.72)}.main-nav a:hover,.main-nav a.is-active{color:#fff}.main-nav a::after{background:linear-gradient(90deg,var(--volt-amber),#ffd978)}
.header-phone{color:#fff}.header-phone span{color:rgba(255,255,255,.48)}.site-header .button--dark{background:linear-gradient(135deg,var(--volt-blue),#0b66bd);box-shadow:0 10px 30px rgba(8,126,255,.22)}
.menu-toggle{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}
.hero-slider{height:min(900px,calc(100svh - 84px));min-height:680px;background:var(--volt-navy);isolation:isolate}
.hero-slider--compact{height:min(720px,78svh);min-height:590px}
.hero-slider::before,.hero-slider::after{content:"";position:absolute;z-index:3;pointer-events:none;border-radius:50%;filter:blur(2px)}
.hero-slider::before{width:520px;height:520px;right:-180px;top:-220px;background:radial-gradient(circle,rgba(8,126,255,.22),transparent 68%);animation:voltFloatA 12s ease-in-out infinite alternate}
.hero-slider::after{width:430px;height:430px;left:18%;bottom:-300px;background:radial-gradient(circle,rgba(255,176,0,.14),transparent 65%);animation:voltFloatB 14s ease-in-out infinite alternate}
.hero-slide__image{transform:scale(1.055);filter:saturate(.98) contrast(1.04);transition:transform 7s cubic-bezier(.18,.7,.2,1)}.hero-slide.is-active .hero-slide__image{transform:scale(1)}
.hero-slide__veil{background:linear-gradient(90deg,rgba(2,10,22,.94) 0%,rgba(4,19,38,.80) 44%,rgba(2,10,22,.20) 76%,rgba(2,10,22,.34) 100%),linear-gradient(0deg,rgba(2,10,22,.72),transparent 56%)}
.hero-slide__veil::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to right,rgba(0,0,0,.85),transparent 76%)}
.hero-slide__content{padding-bottom:92px;align-items:flex-start}.hero-slide__content>*{max-width:900px}
.hero-slide__content::before{content:"";position:absolute;left:max(0px,calc((100vw - min(1380px,calc(100vw - 72px)))/2 - 22px));top:15%;bottom:17%;width:3px;border-radius:3px;background:linear-gradient(to bottom,transparent,var(--volt-blue),var(--volt-amber),transparent);opacity:.9;box-shadow:0 0 26px rgba(8,126,255,.7)}
.hero-slide h1{font-size:clamp(3.5rem,7.1vw,8.3rem);font-weight:650;line-height:.88;letter-spacing:-.07em;text-shadow:0 18px 50px rgba(0,0,0,.2)}.hero-slider--compact .hero-slide h1{font-size:clamp(3rem,6vw,6.7rem)}
.hero-slide__description{font-size:clamp(1.02rem,1.35vw,1.3rem);color:rgba(255,255,255,.74);max-width:730px}.hero-slide .eyebrow{display:inline-flex;align-items:center;gap:10px}.hero-slide .eyebrow::before{content:"";width:28px;height:2px;background:var(--volt-amber);box-shadow:0 0 18px rgba(255,176,0,.75)}
.hero-slide__actions .button--primary{background:linear-gradient(135deg,var(--volt-amber),#ffd36a);box-shadow:0 14px 34px rgba(255,176,0,.2)}
.hero-slider__controls{bottom:30px}.hero-slider__dots button{background:rgba(255,255,255,.24);height:3px;width:44px;border-radius:4px}.hero-slider__dots button.is-active{background:linear-gradient(90deg,var(--volt-blue),var(--volt-amber));box-shadow:0 0 14px rgba(8,126,255,.6)}
.proof-strip{background:linear-gradient(135deg,#07182d,#0b203a);color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.proof-strip__grid>div{border-color:rgba(255,255,255,.1)}.proof-strip strong{color:#fff}.proof-strip span{color:rgba(255,255,255,.56)}
.section{position:relative}.section--manifesto,.editorial-intro,.service-intro,.generic-page{background:radial-gradient(circle at 90% 10%,rgba(8,126,255,.08),transparent 28%),#f5f6f8}
.section-heading h2,.display-title{letter-spacing:-.065em;font-weight:650}.editorial-lead{font-size:clamp(1.2rem,1.8vw,1.55rem)!important;color:#1a2b40!important}
.section--ink,.services-showcase,.values-section,.services-directory{background:radial-gradient(circle at 84% 8%,rgba(8,126,255,.22),transparent 27%),radial-gradient(circle at 12% 92%,rgba(255,176,0,.10),transparent 22%),#061426;overflow:hidden}.section--ink::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent)}
.service-card,.values-grid article,.sector-grid article,.process-grid li,.timeline-grid li,.article-card{transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,border-color .32s ease}.service-card:hover,.values-grid article:hover,.sector-grid article:hover,.process-grid li:hover,.timeline-grid li:hover,.article-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(2,12,25,.13)}
.services-showcase .service-card,.services-directory .service-card{background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.045));border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden;backdrop-filter:blur(14px)}.services-showcase .service-card__body,.services-directory .service-card__body{color:#fff}.services-showcase .service-card__body>p:not(.eyebrow),.services-directory .service-card__body>p:not(.eyebrow){color:rgba(255,255,255,.62)}.services-showcase .text-link,.services-directory .text-link{color:#fff}
.service-card__image{overflow:hidden}.service-card__image img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease}.service-card:hover .service-card__image img{transform:scale(1.055);filter:saturate(1.08)}
.project-card{border-radius:24px;overflow:hidden;box-shadow:var(--volt-shadow);isolation:isolate}.project-card img{transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .4s}.project-card:hover img{transform:scale(1.055);filter:saturate(1.1)}.project-card figcaption{background:linear-gradient(to top,rgba(2,10,22,.88),transparent);color:#fff}
.energy-banner{min-height:700px}.energy-banner__overlay{background:linear-gradient(90deg,rgba(2,10,22,.93),rgba(4,19,38,.68) 48%,rgba(2,10,22,.18))}.energy-banner::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 25%,rgba(8,126,255,.23),transparent 24%)}
.contact-cta{background:radial-gradient(circle at 80% 0,rgba(8,126,255,.3),transparent 30%),linear-gradient(130deg,#04101f,#071c34);position:relative;overflow:hidden}.contact-cta::after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,176,0,.25);border-radius:50%;right:-210px;top:-220px;box-shadow:0 0 80px rgba(255,176,0,.08)}
.content-module__media{border-radius:28px;box-shadow:0 30px 75px rgba(4,17,33,.14)}.content-module__media::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.18);border-radius:inherit;pointer-events:none}.content-module--feature{background:radial-gradient(circle at 80% 10%,rgba(8,126,255,.2),transparent 30%),#061426}
.lead-form{border-radius:25px;box-shadow:0 30px 90px rgba(5,20,38,.12);border:1px solid rgba(6,20,38,.09)}
.site-footer{background:radial-gradient(circle at 85% 0,rgba(8,126,255,.18),transparent 28%),#04101f}.site-footer__statement img{background:#fff;border-radius:14px;padding:6px 10px}
/* Reveal / motion system */
[data-enterprise-reveal]{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}[data-enterprise-reveal].is-visible{opacity:1;transform:none}
[data-enterprise-reveal="left"]{transform:translateX(-34px)}[data-enterprise-reveal="right"]{transform:translateX(34px)}[data-enterprise-reveal="left"].is-visible,[data-enterprise-reveal="right"].is-visible{transform:none}
@keyframes voltFloatA{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-65px,75px,0) scale(1.13)}}@keyframes voltFloatB{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(85px,-40px,0) scale(.9)}}
/* DAPA Volt assistant */
.volt-launcher{position:fixed;right:22px;bottom:22px;z-index:1200;border:0;border-radius:999px;background:linear-gradient(135deg,var(--volt-amber),#fff0ae);color:#061426;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;box-shadow:0 20px 55px rgba(255,176,0,.28),0 18px 55px rgba(1,10,22,.28);font-weight:950;cursor:pointer;transition:transform .2s ease}.volt-launcher:hover{transform:translateY(-3px)}.volt-launcher__bolt{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#061426;color:var(--volt-amber);font-size:1.3rem}.volt-launcher__label{display:grid;text-align:left;line-height:1.1}.volt-launcher__label small{font-size:.58rem;text-transform:uppercase;letter-spacing:.11em;opacity:.62}.volt-launcher__label strong{font-size:.82rem}
.volt-assistant{position:fixed;right:22px;bottom:88px;z-index:1250;width:min(440px,calc(100vw - 32px));max-height:min(720px,calc(100svh - 116px));display:none;flex-direction:column;overflow:hidden;border-radius:30px;background:linear-gradient(165deg,rgba(10,31,57,.985),rgba(2,10,22,.99));color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 120px rgba(0,0,0,.45);backdrop-filter:blur(24px)}.volt-assistant.is-open{display:flex;animation:voltRise .24s ease}.volt-assistant__head{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.volt-assistant__head span{display:block;color:#ffd978;font-size:.61rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.volt-assistant__head strong{font-size:1rem}.volt-assistant__close{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-size:1.4rem;cursor:pointer}.volt-progress{height:3px;background:rgba(255,255,255,.08)}.volt-progress span{display:block;height:100%;width:12.5%;background:linear-gradient(90deg,var(--volt-blue),var(--volt-amber));transition:width .25s ease}.volt-assistant__body{padding:18px 18px 6px;overflow:auto}.volt-bubble{padding:15px 16px;border-radius:18px 18px 18px 5px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.1);line-height:1.5;color:rgba(255,255,255,.91)}.volt-fields{padding:12px 18px;overflow:auto}.volt-options{display:grid;gap:9px}.volt-option{border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.055);color:#fff;text-align:left;padding:13px 14px;cursor:pointer;font-weight:750;transition:.18s}.volt-option:hover,.volt-option.is-selected{border-color:rgba(8,126,255,.7);background:rgba(8,126,255,.15);transform:translateX(2px)}.volt-field-stack{display:grid;gap:11px}.volt-field-stack label{display:grid;gap:6px;color:rgba(255,255,255,.67);font-size:.67rem;font-weight:850;text-transform:uppercase}.volt-field-stack input,.volt-field-stack textarea{width:100%;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.07);color:#fff;padding:12px 13px;min-height:48px;outline:none}.volt-field-stack textarea{min-height:92px;resize:vertical}.volt-field-stack input:focus,.volt-field-stack textarea:focus{border-color:var(--volt-blue);box-shadow:0 0 0 3px rgba(8,126,255,.12)}.volt-privacy{display:flex;align-items:flex-start;gap:9px;margin-top:8px;color:rgba(255,255,255,.58);font-size:.68rem;line-height:1.45}.volt-privacy input{margin-top:2px}.volt-privacy a{color:#ffd978;text-decoration:underline}.volt-assistant__nav{display:flex;gap:9px;padding:14px 18px 18px;border-top:1px solid rgba(255,255,255,.08)}.volt-assistant__nav button{min-height:45px;border:0;border-radius:12px;padding:0 17px;font-weight:900;cursor:pointer}.volt-back{background:rgba(255,255,255,.08);color:#fff}.volt-next{margin-left:auto;background:linear-gradient(135deg,var(--volt-blue),#0b66bd);color:#fff;box-shadow:0 10px 28px rgba(8,126,255,.2)}.volt-success{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.09)}.volt-whatsapp{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;border-radius:14px;background:linear-gradient(135deg,#16a34a,#10b981);padding:13px 14px;color:#fff;font-weight:850}.consent-reopen{bottom:90px}.a11y-trigger{bottom:150px}
@keyframes voltRise{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:900px){.site-header{height:74px}.hero-slider{height:min(830px,calc(100svh - 74px));min-height:650px}.hero-slider--compact{height:min(670px,80svh);min-height:560px}.hero-slide__content::before{display:none}.hero-slide h1{font-size:clamp(3rem,12vw,6rem)}.site-header__inner{grid-template-columns:150px 1fr auto}.brand,.brand img{width:142px}.brand img{height:60px}.main-nav{background:rgba(4,16,31,.98);color:#fff}.main-nav a{color:rgba(255,255,255,.78)}}
@media(max-width:620px){body::before{display:none}.hero-slider{min-height:610px}.hero-slider--compact{min-height:540px}.hero-slide__content{padding-bottom:86px}.hero-slide h1{font-size:clamp(2.75rem,13vw,4.7rem);line-height:.9}.hero-slide__description{font-size:.98rem}.hero-slider__dots button{width:30px}.volt-launcher{right:14px;bottom:14px;padding-right:13px}.volt-assistant{right:12px;bottom:78px;width:calc(100vw - 24px);border-radius:24px}.consent-reopen{right:16px;bottom:82px}.a11y-trigger{right:16px;bottom:142px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}[data-enterprise-reveal]{opacity:1!important;transform:none!important}.hero-slide__image{transform:none!important}body::before{display:none!important}}
html.a11y-pause *,html.a11y-pause *::before,html.a11y-pause *::after{animation-play-state:paused!important;transition:none!important}


/* =========================================================
   DA.PA. ELECTRIC ENTERPRISE UX/UI · v1.6.0
   ========================================================= */
/* Ordered project system */
.project-grid{grid-auto-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.project-card,.project-card--wide{aspect-ratio:16/10;grid-column:auto;min-height:0;border-radius:18px;box-shadow:0 18px 45px rgba(6,18,32,.12)}.project-card figcaption{padding:28px}.project-card h3{font-size:clamp(1.35rem,2vw,2.2rem)}
/* Technical areas: one premium row per competence */
.services-grid{grid-template-columns:1fr;gap:20px;max-width:1180px}.service-card,.service-card:last-child{display:grid;grid-column:auto;grid-template-columns:minmax(320px,42%) 1fr;min-height:330px}.service-card:nth-child(even){grid-template-columns:1fr minmax(320px,42%)}.service-card:nth-child(even) .service-card__image{grid-column:2;grid-row:1}.service-card:nth-child(even) .service-card__body{grid-column:1;grid-row:1}.service-card__image{height:100%;min-height:330px}.service-card__body{align-content:center;display:grid;padding:44px 48px}.service-card h3{font-size:clamp(2rem,3.3vw,3.5rem);max-width:760px}.service-card__body>p:not(.eyebrow){max-width:760px}
/* Process becomes visual and memorable */
.process-grid{gap:16px;grid-template-columns:repeat(2,1fr);border:0}.process-grid li,.process-grid li:first-child{border:1px solid var(--line);border-radius:18px;min-height:0;overflow:hidden;padding:0;background:#fff;box-shadow:0 14px 42px rgba(7,16,27,.06)}.process-grid__visual{height:240px;overflow:hidden}.process-grid__visual img{height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1);width:100%}.process-grid li:hover .process-grid__visual img{transform:scale(1.055)}.process-grid__body{padding:28px 30px 34px}.process-grid h3{margin:28px 0 12px}.process-grid li::after{height:4px}
/* Landing pages */
.landing-hero{height:min(820px,82svh);min-height:620px;overflow:hidden;position:relative;color:#fff}.landing-hero>img{height:100%;object-fit:cover;width:100%;animation:landingHeroDrift 18s ease-in-out infinite alternate}.landing-hero__veil{background:linear-gradient(90deg,rgba(3,10,18,.9) 0%,rgba(3,10,18,.55) 52%,rgba(3,10,18,.16) 100%);inset:0;position:absolute}.landing-hero__content{bottom:clamp(70px,9vw,130px);left:0;position:absolute;right:0}.landing-hero h1{font-size:clamp(3.2rem,7vw,7.4rem);letter-spacing:-.065em;line-height:.92;margin:16px 0 24px;max-width:1050px}.landing-hero__content>p:last-child{color:rgba(255,255,255,.78);font-size:clamp(1.05rem,1.6vw,1.35rem);max-width:720px}.landing-module__grid--reverse .content-module__copy{grid-column:2}.landing-module__grid--reverse .content-module__media{grid-column:1;grid-row:1}@keyframes landingHeroDrift{to{transform:scale(1.06) translate3d(-1.2%,0,0)}}
.content-module--form{background:#eef4fa}
@media(max-width:900px){.project-grid{grid-template-columns:1fr 1fr}.service-card,.service-card:nth-child(even){grid-template-columns:1fr}.service-card:nth-child(even) .service-card__image,.service-card:nth-child(even) .service-card__body{grid-column:auto;grid-row:auto}.service-card__image{height:300px;min-height:0}.service-card__body{padding:34px}.process-grid{grid-template-columns:1fr 1fr}.landing-module__grid--reverse .content-module__copy,.landing-module__grid--reverse .content-module__media{grid-column:auto;grid-row:auto}}
@media(max-width:640px){body{overflow-x:hidden}.shell{padding-left:20px;padding-right:20px}.site-header{min-height:74px}.brand img{max-height:44px;max-width:130px}.hero-slider,.hero-slider--compact{height:76svh;min-height:560px}.hero-slide__content{padding-bottom:105px}.hero-slide h1{font-size:clamp(2.75rem,12vw,4.5rem);max-width:100%}.hero-slide__description{font-size:.98rem;max-width:92%}.hero-slider__controls{bottom:26px}.section{padding-bottom:78px;padding-top:78px}.section-heading{gap:24px}.section-heading h2,.display-title{font-size:clamp(2.35rem,11vw,3.8rem)}.proof-strip__grid{grid-template-columns:1fr 1fr}.services-grid{display:grid;margin:0;overflow:visible;padding:0}.service-card,.service-card:nth-child(even){display:grid;grid-template-columns:1fr;min-height:0;width:auto}.service-card__image{height:250px}.service-card__body{padding:28px 24px 32px}.service-card h3{font-size:2rem}.process-grid{grid-template-columns:1fr}.process-grid__visual{height:220px}.project-grid{grid-template-columns:1fr;gap:16px}.project-card,.project-card--wide{aspect-ratio:4/3}.project-card figcaption{padding:22px}.landing-hero{height:78svh;min-height:560px}.landing-hero__content{bottom:75px}.landing-hero h1{font-size:clamp(2.8rem,13vw,4.6rem)}.form-page-grid{gap:38px}.lead-form{padding:24px 20px}.form-grid{grid-template-columns:1fr}.button{min-height:48px}.site-footer__top{gap:48px}.volt-launcher{bottom:18px;right:18px}.volt-drawer{inset:auto 12px 12px 12px;max-height:calc(100svh - 24px);width:auto}}
@media(prefers-reduced-motion:reduce){.landing-hero>img{animation:none!important}}


/* Enterprise v1.7 · Header brand governance */
.site-header{height:var(--header-height,84px)!important;background:var(--header-bg,#05111f)!important;color:var(--header-text,#fff)!important;border-bottom-color:color-mix(in srgb,var(--header-text,#fff) 10%,transparent)!important}
.site-header.site-header--static{position:relative!important;top:auto!important}
.site-header__inner{grid-template-columns:calc(var(--header-logo-width,160px) + 30px) 1fr auto!important}
.brand{height:calc(var(--header-height,84px) - 12px)!important;width:var(--header-logo-width,160px)!important;overflow:visible!important}
.brand picture{display:flex;align-items:center;height:100%;width:100%}
.brand img{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;height:100%!important;max-height:calc(var(--header-height,84px) - 18px)!important;max-width:100%!important;object-fit:contain!important;padding:0!important;width:100%!important}
.main-nav a{color:var(--header-text,#fff)!important;opacity:.76}.main-nav a:hover,.main-nav a.is-active{color:var(--header-text,#fff)!important;opacity:1}.main-nav a::after{background:var(--header-accent,#ffb000)!important}
.header-phone{color:var(--header-text,#fff)!important}.header-phone span{color:var(--header-muted,#aeb8c5)!important}
.site-header .button--dark{background:var(--header-cta-bg,#087eff)!important;color:var(--header-cta-text,#fff)!important}
.menu-toggle{color:var(--header-text,#fff)!important}.menu-toggle span{background:var(--header-text,#fff)!important}
.site-footer__statement>img{background:transparent!important;border-radius:0!important;box-shadow:none!important;object-fit:contain!important;padding:0!important}
@media(max-width:900px){.site-header{height:var(--header-mobile-height,74px)!important}.site-header__inner{grid-template-columns:calc(var(--header-mobile-logo-width,132px) + 12px) 1fr auto!important}.brand{height:calc(var(--header-mobile-height,74px) - 10px)!important;width:var(--header-mobile-logo-width,132px)!important}.brand img{max-height:calc(var(--header-mobile-height,74px) - 16px)!important}.main-nav{background:var(--header-bg,#05111f)!important}}


/* Enterprise v1.8 · Logo sizing + floating slide brand */
.site-footer__statement>img{
  width:var(--footer-logo-width,200px)!important;
  max-width:min(100%,var(--footer-logo-width,200px))!important;
  height:auto!important;
  max-height:none!important;
}
.hero-slide__floating-logo{
  position:absolute;
  z-index:6;
  width:min(var(--slide-logo-width,220px),32vw);
  pointer-events:none;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.34));
  animation:dapaFloatingLogo 5.2s ease-in-out infinite;
}
.hero-slide__floating-logo img{display:block;width:100%;height:auto;max-height:28vh;object-fit:contain}
.hero-slide__floating-logo--top{top:7%}
.hero-slide__floating-logo--center{top:50%;transform:translateY(-50%)}
.hero-slide__floating-logo--bottom{bottom:12%}
.hero-slide__floating-logo--align-left{left:max(28px,calc((100vw - min(1380px,calc(100vw - 72px)))/2))}
.hero-slide__floating-logo--align-center{left:50%;transform:translateX(-50%)}
.hero-slide__floating-logo--center.hero-slide__floating-logo--align-center{transform:translate(-50%,-50%)}
.hero-slide__floating-logo--align-right{right:max(28px,calc((100vw - min(1380px,calc(100vw - 72px)))/2))}
@keyframes dapaFloatingLogo{0%,100%{margin-top:0}50%{margin-top:-9px}}
@media(max-width:900px){
  .site-footer__statement>img{width:var(--footer-mobile-logo-width,160px)!important;max-width:min(100%,var(--footer-mobile-logo-width,160px))!important}
  .hero-slide__floating-logo{width:min(var(--slide-logo-width,220px),38vw)}
  .hero-slide__floating-logo--top{top:6%}
  .hero-slide__floating-logo--bottom{bottom:16%}
  .hero-slide__floating-logo--align-left{left:20px}
  .hero-slide__floating-logo--align-right{right:20px}
}
@media(max-width:620px){
  .hero-slide__floating-logo{width:min(var(--slide-logo-width,220px),44vw);max-width:190px}
  .hero-slide__floating-logo--top{top:5%}
  .hero-slide__floating-logo--bottom{bottom:18%}
}
@media(prefers-reduced-motion:reduce){.hero-slide__floating-logo{animation:none!important}}
