/*
 * Gleich V6 — premium interaction and editorial layout layer.
 *
 * This file intentionally sits on top of site.css. Removing the enqueue/link
 * returns the V5 presentation without changing the underlying content model.
 */

@view-transition {
  navigation: auto;
}

:root {
  --v6-ink: #0c151c;
  --v6-ink-2: #13212b;
  --v6-paper: #f5f3ee;
  --v6-paper-cool: #e9edef;
  --v6-blue: #087da9;
  --v6-blue-deep: #045f83;
  --v6-cyan: #78d2e9;
  --v6-copy: #25333c;
  --v6-muted: #65737a;
  --v6-line: rgba(12, 21, 28, .16);
  --v6-line-light: rgba(255, 255, 255, .18);
  --v6-shadow: 0 1.6rem 5rem rgba(4, 16, 23, .16);
  --v6-ease-out: cubic-bezier(.16, 1, .3, 1);
  --v6-ease-smooth: cubic-bezier(.65, 0, .35, 1);
  --v6-radius: .15rem;
  --v6-shell: max(clamp(1rem, 3vw, 3rem), calc((100vw - 92rem) / 2));
}

html {
  scroll-behavior: auto;
}

body {
  background:
    linear-gradient(90deg, transparent calc(50% - .5px), rgba(12, 21, 28, .025) 50%, transparent calc(50% + .5px)),
    var(--v6-paper);
  color: var(--v6-ink);
}

:where(main [id]) {
  scroll-margin-top: 7rem;
}

h1,
h2,
h3 {
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

.button,
.static-quick-contact,
.contact-action,
.mobile-phone {
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

::selection {
  background: var(--v6-cyan);
  color: var(--v6-ink);
}

/* Premium motion remains progressive: content never depends on opacity. */
[data-reveal] {
  opacity: 1;
  transition:
    transform .5s var(--v6-ease-out),
    filter .5s var(--v6-ease-out);
}

.motion-ready [data-reveal] {
  opacity: 1;
  filter: blur(0);
  transform: translateY(1.1rem);
}

[data-reveal].is-visible {
  opacity: 1;
  filter: none;
  transform: none;
}

.motion-ready :is(
  .situation-paths,
  .vehicle-selector,
  .process-list,
  .article-cards,
  .blog-list,
  .lexicon-grid,
  .detail-sections
) > [data-reveal]:nth-child(2) {
  transition-delay: 70ms;
}

.motion-ready :is(
  .situation-paths,
  .vehicle-selector,
  .process-list,
  .article-cards,
  .blog-list,
  .lexicon-grid,
  .detail-sections
) > [data-reveal]:nth-child(3) {
  transition-delay: 140ms;
}

.motion-ready :is(
  .situation-paths,
  .vehicle-selector,
  .process-list,
  .article-cards,
  .blog-list,
  .lexicon-grid,
  .detail-sections
) > [data-reveal]:nth-child(4) {
  transition-delay: 210ms;
}

::view-transition-old(root) {
  animation: v6-page-out .1s var(--v6-ease-smooth) both;
}

::view-transition-new(root) {
  animation: v6-page-in .22s var(--v6-ease-out) both;
}

@keyframes v6-page-out {
  to { opacity: .72; transform: translateY(-.25rem); }
}

@keyframes v6-page-in {
  from { opacity: 0; transform: translateY(.55rem); }
}

/* Header */
.site-header {
  min-height: 6rem;
  position: sticky;
  top: 0;
  padding-block: .85rem;
  background: rgba(12, 21, 28, .96);
  backdrop-filter: blur(16px) saturate(1.15);
  box-shadow: 0 1px rgba(255, 255, 255, .05);
}

.brand {
  flex-basis: clamp(12.5rem, 15vw, 15.8rem);
  padding: .5rem .8rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--v6-radius);
  box-shadow: 0 .6rem 1.8rem rgba(0, 0, 0, .12);
}

.site-nav {
  gap: clamp(.75rem, 1.6vw, 1.65rem);
  font-size: .82rem;
  letter-spacing: .01em;
}

.site-nav > a,
.site-nav .nav-group > summary {
  transition: color .28s var(--v6-ease-out);
}

.header-phone {
  gap: .22rem;
  padding-left: 1.1rem;
  border-left: 1px solid var(--v6-line-light);
}

.header-phone strong {
  font-size: .84rem;
  letter-spacing: .015em;
}

/* Opening */
.opening-v6 {
  min-height: auto;
  grid-template-columns: minmax(0, .92fr) minmax(31rem, 1.08fr);
  grid-template-rows: auto auto;
  background:
    radial-gradient(circle at 22% 23%, rgba(8, 125, 169, .12), transparent 30rem),
    linear-gradient(135deg, var(--v6-ink), #0d1921 68%, #102631);
  isolation: isolate;
}

.opening-v6 .opening-copy {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  padding: clamp(4.5rem, 9vh, 8rem) clamp(2.5rem, 5vw, 5.5rem) clamp(3.5rem, 7vh, 6rem) var(--v6-shell);
}

.opening-v6 .hero-kicker {
  display: flex;
  align-items: center;
  gap: .8rem;
  color: var(--v6-cyan);
}

.opening-v6 .hero-kicker::before {
  width: 2.5rem;
  height: 1px;
  content: "";
  background: currentColor;
}

.opening-v6 h1 {
  max-width: 15.5ch;
  font-size: clamp(3.35rem, 4.5vw, 5.3rem);
  line-height: .91;
  letter-spacing: -.055em;
}

.opening-v6 h1 span {
  color: var(--v6-cyan);
  font-style: italic;
  font-weight: 400;
}

.opening-v6 .hero-intro {
  max-width: 39rem;
  margin-block: clamp(1.5rem, 3vh, 2.2rem) clamp(1.35rem, 3vh, 2rem);
  color: #d5dde1;
  line-height: 1.55;
}

.hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.3rem;
  margin: 1.55rem 0 0;
  padding: 1.15rem 0 0;
  border-top: 1px solid var(--v6-line-light);
  color: #aebdc3;
  font: .8rem/1.45 var(--mono);
  letter-spacing: .035em;
  list-style: none;
  text-transform: uppercase;
}

.hero-proof li {
  display: flex;
  align-items: center;
  gap: .55rem;
}

.hero-proof li::before {
  width: .35rem;
  height: .35rem;
  content: "";
  border: 1px solid var(--v6-cyan);
  border-radius: 50%;
  box-shadow: 0 0 0 .18rem rgba(120, 210, 233, .08);
}

.opening-v6 .button {
  position: relative;
  min-height: 3.7rem;
  overflow: hidden;
  padding-inline: 1.45rem;
  background: var(--v6-blue);
  border-color: var(--v6-blue);
  box-shadow: 0 .9rem 2.4rem rgba(8, 125, 169, .22);
}

.opening-v6 .button::before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(105deg, transparent 25%, rgba(255, 255, 255, .2), transparent 75%);
  transform: translateX(-120%);
  transition: transform .65s var(--v6-ease-out);
}

.opening-v6 .button:hover::before,
.opening-v6 .button:focus-visible::before {
  transform: translateX(120%);
}

.opening-v6 .hero-media {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  width: calc(100% - clamp(1.25rem, 4vw, 4rem));
  margin: clamp(2rem, 5vw, 4.5rem) clamp(1.25rem, 4vw, 4rem) clamp(2rem, 5vw, 4.5rem) 0;
  border: 1px solid rgba(255, 255, 255, .2);
  box-shadow: 0 2rem 6rem rgba(0, 0, 0, .32);
}

.opening-v6 .hero-media::before {
  position: absolute;
  z-index: 2;
  inset: 0 auto 0 0;
  width: 1px;
  content: "";
  background: linear-gradient(transparent 5%, rgba(120, 210, 233, .75), transparent 95%);
  box-shadow: 0 0 1rem rgba(120, 210, 233, .45);
  pointer-events: none;
  animation: v6-scan 7s var(--v6-ease-smooth) 2;
}

@keyframes v6-scan {
  0%, 14% { left: 0; opacity: 0; }
  22% { opacity: 1; }
  62% { opacity: .8; }
  76%, 100% { left: 100%; opacity: 0; }
}

.opening-v6 .video-caption {
  padding-bottom: .75rem;
  border-bottom: 1px solid rgba(255, 255, 255, .25);
}

.opening-v6 .play {
  background: rgba(12, 21, 28, .84);
  backdrop-filter: blur(10px);
  transition:
    border-color .25s var(--v6-ease-out),
    background .25s var(--v6-ease-out),
    transform .25s var(--v6-ease-out);
}

.opening-v6 .video-control:hover .play,
.opening-v6 .video-control:focus-visible .play {
  border-color: var(--v6-cyan);
  background: var(--v6-blue-deep);
  transform: scale(1.04);
}

.opening-v6 .situation-paths {
  grid-column: 1 / -1;
  grid-row: 2;
  padding-inline: var(--v6-shell);
  background: #102631;
}

.opening-v6 .situation-paths a {
  min-height: 9.5rem;
  padding: 1.6rem clamp(1.2rem, 2.6vw, 2.7rem);
  background:
    linear-gradient(135deg, transparent 70%, rgba(120, 210, 233, .04));
  transition:
    background .35s var(--v6-ease-out),
    color .35s var(--v6-ease-out),
    transform .35s var(--v6-ease-out);
}

.opening-v6 .situation-paths a::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  content: "";
  background: var(--v6-cyan);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .35s var(--v6-ease-out);
}

.opening-v6 .situation-paths a:hover,
.opening-v6 .situation-paths a:focus-visible {
  background: rgba(8, 125, 169, .2);
  color: #fff;
  transform: translateY(-.2rem);
}

.opening-v6 .situation-paths a:hover::before,
.opening-v6 .situation-paths a:focus-visible::before {
  transform: scaleY(1);
}

/* Interactive accident assistant — deliberate 2.5D, no WebGL dependency. */
.accident-assistant {
  position: relative;
  display: grid;
  grid-template-columns: minmax(18rem, .58fr) minmax(0, 1.42fr);
  gap: clamp(3rem, 6vw, 6.5rem);
  overflow: hidden;
  background:
    linear-gradient(120deg, rgba(8, 125, 169, .06), transparent 36%),
    var(--v6-paper);
}

.accident-assistant::before {
  position: absolute;
  inset: 0;
  content: "";
  background-image:
    linear-gradient(var(--v6-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--v6-line) 1px, transparent 1px);
  background-size: 5rem 5rem;
  mask-image: linear-gradient(90deg, transparent, #000 35%, #000);
  opacity: .18;
  pointer-events: none;
}

.assistant-intro,
.assistant-stage {
  position: relative;
  z-index: 1;
}

.assistant-intro {
  align-self: start;
  position: sticky;
  top: 8rem;
}

.assistant-intro h2 {
  max-width: 12ch;
  font-size: clamp(2.8rem, 2rem + 2.45vw, 4.8rem);
  hyphens: manual;
  overflow-wrap: normal;
  word-break: normal;
}

.assistant-intro > p:not(.section-label) {
  max-width: 31rem;
  margin-top: 1.7rem;
  color: var(--v6-muted);
}

.assistant-safety {
  display: grid;
  gap: .3rem;
  margin-top: 2rem;
  padding: 1.1rem 0;
  border-block: 1px solid var(--v6-line);
}

.assistant-safety span {
  color: var(--v6-blue-deep);
  font: .68rem/1.2 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.assistant-safety strong {
  font-size: 1rem;
}

.assistant-intro .button {
  margin-top: 1.4rem;
}

.assistant-stage {
  min-width: 0;
  perspective: 1100px;
}

.vehicle-selector {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin-bottom: 1rem;
}

.vehicle-option {
  min-height: 8.5rem;
  position: relative;
  display: grid;
  grid-template-columns: 3.1rem 1fr;
  align-content: end;
  gap: .45rem .8rem;
  padding: 1.1rem;
  overflow: hidden;
  border: 1px solid var(--v6-line);
  border-radius: var(--v6-radius);
  background: rgba(255, 255, 255, .72);
  color: var(--v6-ink);
  cursor: pointer;
  text-align: left;
  transition:
    border-color .3s var(--v6-ease-out),
    background .3s var(--v6-ease-out),
    color .3s var(--v6-ease-out),
    transform .3s var(--v6-ease-out);
}

.vehicle-option::after {
  position: absolute;
  inset: auto -1.8rem -2.3rem auto;
  width: 5.5rem;
  height: 5.5rem;
  content: "";
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .14;
  transition: transform .5s var(--v6-ease-out);
}

.vehicle-option:hover,
.vehicle-option:focus-visible {
  border-color: var(--v6-blue);
  transform: translateY(-.2rem);
}

.vehicle-option:hover::after,
.vehicle-option:focus-visible::after {
  transform: scale(1.2);
}

.vehicle-option[aria-pressed="true"] {
  border-color: var(--v6-blue-deep);
  background: var(--v6-ink-2);
  color: #fff;
  box-shadow: 0 .8rem 2.2rem rgba(12, 21, 28, .12);
}

.vehicle-option svg {
  grid-row: 1 / span 2;
  align-self: end;
  width: 3.1rem;
  height: 2.1rem;
  color: var(--v6-blue);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.4;
}

.vehicle-option[aria-pressed="true"] svg {
  color: var(--v6-cyan);
}

.vehicle-option strong {
  font-size: 1rem;
}

.vehicle-option small {
  color: var(--v6-muted);
  font-size: .7rem;
}

.vehicle-option[aria-pressed="true"] small {
  color: #b8c7cd;
}

.assistant-card {
  --assistant-rotate-x: 0deg;
  --assistant-rotate-y: 0deg;
  position: relative;
  min-height: 35rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--v6-radius);
  background:
    radial-gradient(circle at 84% 12%, rgba(120, 210, 233, .16), transparent 18rem),
    linear-gradient(145deg, #101e27, #0a1319 72%);
  color: #fff;
  box-shadow: var(--v6-shadow);
  transform:
    rotateX(var(--assistant-rotate-x))
    rotateY(var(--assistant-rotate-y));
  transform-style: preserve-3d;
  transition: transform .18s ease-out;
}

.assistant-card::before,
.assistant-card::after {
  position: absolute;
  content: "";
  border: 1px solid rgba(120, 210, 233, .22);
  border-radius: 50%;
  pointer-events: none;
}

.assistant-card::before {
  width: 27rem;
  height: 27rem;
  right: -14rem;
  top: -13rem;
}

.assistant-card::after {
  width: 18rem;
  height: 18rem;
  right: -9rem;
  top: -8.5rem;
}

.assistant-card-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(1.35rem, 3vw, 2.5rem);
  border-bottom: 1px solid var(--v6-line-light);
  transform: translateZ(1.5rem);
}

.assistant-card-head span,
.assistant-card-head small {
  display: block;
  color: var(--v6-cyan);
  font: .66rem/1.3 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.assistant-card-head strong {
  display: block;
  margin-top: .45rem;
  font: 520 clamp(1.8rem, 1.4rem + 1.5vw, 3rem)/1 var(--display);
  letter-spacing: -.035em;
}

.assistant-card-head small {
  max-width: 13rem;
  color: #a9bac1;
  text-align: right;
  text-transform: none;
}

.assistant-steps {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0 clamp(1.35rem, 3vw, 2.5rem);
  list-style: none;
  counter-reset: assistant-step;
  transform: translateZ(1rem);
}

.assistant-steps li {
  position: relative;
  display: grid;
  grid-template-columns: 3rem minmax(11rem, .65fr) minmax(16rem, 1.35fr);
  gap: 1rem;
  align-items: baseline;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--v6-line-light);
  counter-increment: assistant-step;
}

.assistant-steps li::before {
  content: "0" counter(assistant-step);
  color: var(--v6-cyan);
  font: .67rem/1.5 var(--mono);
}

.assistant-steps li::after {
  position: absolute;
  left: 1.1rem;
  top: 2.4rem;
  bottom: -1.25rem;
  width: 1px;
  content: "";
  background: linear-gradient(var(--v6-cyan), transparent);
  opacity: .35;
}

.assistant-steps li:last-child::after {
  display: none;
}

.assistant-steps strong {
  font-size: .96rem;
}

.assistant-steps p {
  margin: 0;
  color: #bac7cc;
  font-size: .83rem;
  line-height: 1.55;
}

.assistant-vehicle-note {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  margin: 0 clamp(1.35rem, 3vw, 2.5rem);
  padding: 1.2rem 0 1.35rem;
  color: #dce7ea;
  transform: translateZ(1.2rem);
}

.assistant-vehicle-note span {
  color: var(--v6-cyan);
  font: .67rem/1.5 var(--mono);
}

.assistant-vehicle-note p {
  margin: 0;
  font-size: .82rem;
}

.assistant-card-foot {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .9rem 1.5rem;
  padding: 1.15rem clamp(1.35rem, 3vw, 2.5rem);
  background: rgba(255, 255, 255, .055);
  transform: translateZ(1.5rem);
}

.assistant-card-foot p {
  max-width: 35rem;
  margin: 0;
  color: #aebdc3;
  font-size: .72rem;
}

.assistant-card-foot a {
  color: var(--v6-cyan);
  font-weight: 760;
  text-decoration: none;
}

.assistant-card.is-switching .assistant-card-head,
.assistant-card.is-switching .assistant-steps,
.assistant-card.is-switching .assistant-vehicle-note {
  animation: v6-assistant-swap .34s var(--v6-ease-out) both;
}

@keyframes v6-assistant-swap {
  from { opacity: .28; transform: translateY(.55rem) translateZ(1rem); }
}

/* Existing migration media, staged as a rights-gated documentation preview. */
.case-gallery-v6 {
  display: grid;
  gap: clamp(2rem, 5vw, 4.5rem);
  background:
    radial-gradient(circle at 88% 8%, rgba(120, 210, 233, .14), transparent 28rem),
    var(--v6-ink);
  color: #fff;
}

.case-gallery-heading {
  display: grid;
  grid-template-columns: minmax(22rem, .9fr) minmax(18rem, 1.1fr);
  gap: 1rem clamp(2rem, 4vw, 5rem);
  align-items: end;
}

.case-gallery-heading .section-label {
  grid-column: 1 / -1;
  color: var(--v6-cyan);
}

.case-gallery-heading h2 {
  min-width: 0;
  max-width: 12ch;
  color: #fff;
  font-size: clamp(2.8rem, 2rem + 2.5vw, 5rem);
  hyphens: manual;
}

.case-gallery-heading > p:last-child {
  max-width: 38rem;
  margin: 0 0 .5rem;
  color: #b8c7cd;
}

.case-gallery-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(17rem, .85fr);
  grid-template-rows: repeat(2, minmax(15rem, 1fr));
  gap: 1rem;
}

.case-gallery-card {
  min-width: 0;
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--v6-radius);
  background: #07141b;
}

.case-gallery-card--lead {
  grid-row: 1 / span 2;
}

.case-gallery-card > a {
  position: absolute;
  inset: 0;
  display: block;
}

.case-gallery-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: filter .45s var(--v6-ease-out), transform .65s var(--v6-ease-out);
}

.case-gallery-card figcaption {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  display: grid;
  gap: .35rem;
  padding: clamp(1.2rem, 3vw, 2.2rem);
  background: linear-gradient(transparent, rgba(3, 12, 17, .94) 55%);
  pointer-events: none;
}

.case-gallery-card figcaption span,
.case-gallery-card figcaption small {
  color: var(--v6-cyan);
  font: .66rem/1.35 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.case-gallery-card figcaption strong {
  max-width: 22ch;
  font: 520 clamp(1.35rem, 1.1rem + 1vw, 2.35rem)/1.04 var(--display);
  letter-spacing: -.03em;
}

.case-gallery-card figcaption small {
  color: #c2cdd1;
  text-transform: none;
}

.case-gallery-card > a:hover img,
.case-gallery-card > a:focus-visible img {
  filter: saturate(1.08) contrast(1.04);
  transform: scale(1.025);
}

.case-gallery-card > a:focus-visible {
  outline: 3px solid var(--v6-cyan);
  outline-offset: -5px;
}

/* Human trust without pretending a placeholder is a real customer photo. */
.proof-process-v6 {
  display: grid;
  grid-template-columns: minmax(19rem, .62fr) minmax(0, 1.38fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: stretch;
  background: #fff;
}

.photo-slot {
  min-height: 39rem;
  position: relative;
  display: grid;
  align-content: end;
  overflow: hidden;
  padding: clamp(1.4rem, 3vw, 2.5rem);
  border: 1px solid var(--v6-line);
  background:
    linear-gradient(145deg, rgba(8, 125, 169, .1), rgba(12, 21, 28, .02)),
    repeating-linear-gradient(135deg, transparent 0 2.4rem, rgba(8, 125, 169, .06) 2.4rem 2.45rem),
    var(--v6-paper-cool);
  color: var(--v6-ink);
}

.photo-slot::before {
  position: absolute;
  inset: 1rem;
  content: "";
  border: 1px dashed rgba(8, 125, 169, .34);
}

.photo-slot::after {
  position: absolute;
  width: 16rem;
  height: 16rem;
  right: -8rem;
  top: -8rem;
  content: "";
  border: 1px solid rgba(8, 125, 169, .22);
  border-radius: 50%;
}

.photo-slot-content {
  position: relative;
  z-index: 1;
  max-width: 22rem;
  padding: 1.1rem;
  background: rgba(245, 243, 238, .9);
  backdrop-filter: blur(8px);
  box-shadow: 0 .8rem 2.5rem rgba(12, 21, 28, .08);
}

.photo-slot-content span,
.photo-slot-content small {
  display: block;
  color: var(--v6-blue-deep);
  font: .66rem/1.35 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.photo-slot-content strong {
  display: block;
  margin: .5rem 0 1rem;
  font: 520 clamp(1.55rem, 1.25rem + .75vw, 2.2rem)/1.04 var(--display);
  letter-spacing: -.035em;
}

.photo-slot-content small {
  color: var(--v6-muted);
  text-transform: none;
}

.proof-process-content {
  align-self: center;
}

.proof-process-v6 .compact-heading {
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 2rem;
}

.proof-process-v6 .compact-heading .section-label {
  grid-column: 1;
}

.proof-process-v6 .compact-heading h2 {
  max-width: 13ch;
  font-size: clamp(2.8rem, 2rem + 2.4vw, 4.8rem);
  hyphens: manual;
}

.proof-process-v6 .compact-heading > p:last-child {
  max-width: 40rem;
}

.proof-process-v6 .process-list li {
  transition:
    background .25s var(--v6-ease-out),
    padding .25s var(--v6-ease-out);
}

.proof-process-v6 .process-list li:hover {
  padding-inline: .8rem;
  background: rgba(8, 125, 169, .045);
}

/* Page matrix: wide composition with readable columns instead of narrow strips. */
.static-page {
  max-width: none;
  margin: 0;
  padding: 0;
}

.static-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.36fr) minmax(19rem, .64fr);
  gap: clamp(3rem, 8vw, 8rem);
  padding: clamp(4rem, 8vw, 7.5rem) var(--v6-shell);
  border-bottom: 1px solid var(--v6-line);
  background:
    radial-gradient(circle at 82% 24%, rgba(8, 125, 169, .11), transparent 25rem),
    var(--v6-paper);
}

.static-hero-copy {
  min-width: 0;
  align-self: end;
}

.static-hero .breadcrumbs {
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.static-eyebrow {
  margin: 0 0 1rem;
  color: var(--v6-blue-deep);
  font: 700 .7rem/1.3 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.static-hero h1 {
  /* Keep a small optical overhang reserve for Firefox's serif glyph metrics. */
  max-width: calc(17ch + .25rem);
  margin: 0;
  padding-inline-end: .25rem;
  font-size: clamp(3rem, 2rem + 3.5vw, 6rem);
  line-height: .94;
  text-wrap: wrap;
}

.static-hero .static-page-lede {
  max-width: 54rem;
  margin: clamp(1.5rem, 3vw, 2.5rem) 0 0;
  color: var(--v6-copy);
  font-size: clamp(1.06rem, .98rem + .32vw, 1.3rem);
  line-height: 1.62;
}

.static-hero-rail {
  min-width: 0;
  align-self: stretch;
  display: grid;
  grid-template-rows: minmax(14rem, 1fr) auto;
  border-left: 1px solid var(--v6-line);
}

.page-signal {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  margin: 0;
  align-content: end;
  padding: 1.5rem 1.5rem 2rem;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(8, 125, 169, .11), transparent),
    var(--v6-paper-cool);
}

.page-signal > figcaption {
  display: grid;
  min-width: 0;
  overflow-wrap: anywhere;
}

.page-signal::before {
  position: absolute;
  width: 16rem;
  height: 16rem;
  right: -8rem;
  top: -8rem;
  content: "";
  border: 1px solid rgba(8, 125, 169, .24);
  border-radius: 50%;
  box-shadow: 0 0 0 3rem rgba(8, 125, 169, .025);
}

.page-signal span,
.page-signal small {
  position: relative;
  z-index: 1;
  color: var(--v6-blue-deep);
  font: .66rem/1.3 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.page-signal strong {
  position: relative;
  z-index: 1;
  max-width: 100%;
  hyphens: auto;
  margin-top: .55rem;
  font: 520 clamp(1.65rem, 1.3rem + .8vw, 2.45rem)/1.03 var(--display);
  letter-spacing: -.035em;
}

.page-signal small {
  margin-top: 1rem;
  color: var(--v6-muted);
  text-transform: none;
}

.page-signal--photo::after {
  position: absolute;
  inset: 1rem;
  content: "";
  border: 1px dashed rgba(8, 125, 169, .34);
  pointer-events: none;
}

.static-quick-contact {
  display: grid;
  gap: .25rem;
  padding: 1.25rem 1.5rem;
  border-top: 1px solid var(--v6-line);
  background: var(--v6-ink);
  color: #fff;
  text-decoration: none;
  transition:
    background .25s var(--v6-ease-out),
    color .25s var(--v6-ease-out);
}

.static-quick-contact small {
  color: var(--v6-cyan);
  font: .66rem/1.3 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.static-quick-contact strong {
  font-size: 1rem;
}

.static-quick-contact:hover,
.static-quick-contact:focus-visible {
  background: var(--v6-blue-deep);
  color: #fff;
}

.static-quick-contact:hover small,
.static-quick-contact:focus-visible small {
  color: inherit;
}

.static-page-content {
  /* The viewport gutter already centers a 92rem content area. */
  max-width: none;
  margin: 0 auto;
  padding: clamp(3.5rem, 7vw, 7rem) var(--v6-shell);
  border: 0;
}

.static-page-content > .detail-sections,
.page-legal .static-page-content > .detail-sections {
  max-width: none;
  margin: 0;
  border-top: 1px solid var(--v6-ink);
}

.detail-sections section,
.article-body section {
  display: grid;
  grid-template-columns: minmax(15rem, .72fr) minmax(24rem, 1.28fr);
  gap: 1rem clamp(3rem, 8vw, 8rem);
  padding: clamp(2rem, 4vw, 3.5rem) 0;
  border-bottom: 1px solid var(--v6-line);
}

.detail-sections section + section {
  padding-top: clamp(2rem, 4vw, 3.5rem);
}

.detail-sections h2,
.article-body section h2 {
  grid-column: 1;
  grid-row: 1 / span 6;
  align-self: start;
  max-width: 17ch;
  margin: 0;
  font-size: clamp(1.9rem, 1.45rem + 1.25vw, 3rem);
  hyphens: auto;
  overflow-wrap: break-word;
}

.page-legal .detail-sections h2 {
  max-width: 22ch;
  font-size: clamp(1.75rem, 1.35rem + .85vw, 2.35rem);
  hyphens: auto;
  overflow-wrap: break-word;
}

.page-legal .static-page-content {
  display: grid;
  gap: clamp(2.5rem, 6vw, 5rem);
}

.legal-summary {
  display: grid;
  grid-template-columns: minmax(13rem, .55fr) minmax(20rem, 1.45fr);
  gap: 1rem clamp(2rem, 7vw, 7rem);
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--v6-line);
  background: #fff;
}

.legal-summary .section-label {
  grid-column: 1 / -1;
}

.legal-summary h2 {
  max-width: 12ch;
  font-size: clamp(2rem, 1.5rem + 1.4vw, 3.2rem);
}

.legal-summary ul {
  display: grid;
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.legal-summary li {
  position: relative;
  padding-left: 1.5rem;
  color: var(--v6-copy);
}

.legal-summary li::before {
  position: absolute;
  left: 0;
  top: .62em;
  width: .45rem;
  height: .45rem;
  content: "";
  border-radius: 50%;
  background: var(--v6-blue);
}

.legal-inline-links {
  grid-column: 2;
  display: grid;
  gap: .5rem;
  max-width: 49rem;
  margin: .5rem 0 0;
  padding: 0;
  list-style: none;
}

.legal-inline-links a,
.legal-source-links a {
  color: var(--v6-blue-deep);
  font-weight: 720;
  text-underline-offset: .22em;
}

.legal-actions {
  display: flex;
  justify-content: flex-end;
}

.legal-actions .button {
  border: 0;
  cursor: pointer;
}

.legal-source-links {
  display: grid;
  grid-template-columns: minmax(15rem, .65fr) minmax(0, 1.35fr) auto;
  gap: 0 1rem;
  align-items: center;
  border-top: 1px solid var(--v6-ink);
}

.legal-source-links .section-label,
.legal-source-links h2 {
  grid-column: 1 / -1;
}

.legal-source-links h2 {
  max-width: 18ch;
  margin-bottom: 1.25rem;
  font-size: clamp(1.9rem, 1.45rem + 1.2vw, 2.9rem);
}

.legal-source-links a {
  grid-column: 2 / -1;
  min-height: 3.4rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: .85rem 0;
  border-top: 1px solid var(--v6-line);
  text-decoration: none;
}

.legal-source-links i {
  font-style: normal;
}

.legal-reviewed {
  margin: 0;
  color: var(--v6-muted);
  font-size: .8rem;
}

.detail-sections section p,
.article-body section p {
  grid-column: 2;
  max-width: 49rem;
  margin-bottom: .7rem;
  color: var(--v6-copy);
  font-size: clamp(1rem, .97rem + .12vw, 1.08rem);
  line-height: 1.72;
}

.detail-sections section p:last-child,
.article-body section p:last-child {
  margin-bottom: 0;
}

.detail-links {
  max-width: 66rem;
  margin: clamp(2rem, 5vw, 4rem) 0 2rem auto;
}

.detail-links a,
.related-guides a,
.blog-list a {
  transition:
    color .25s var(--v6-ease-out),
    padding .25s var(--v6-ease-out),
    background .25s var(--v6-ease-out);
}

.detail-links a:hover,
.detail-links a:focus-visible,
.related-guides a:hover,
.related-guides a:focus-visible,
.blog-list a:hover,
.blog-list a:focus-visible {
  padding-inline: 1rem;
  background: rgba(8, 125, 169, .055);
  color: var(--v6-blue-deep);
}

.article-body {
  max-width: none;
}

.page-article .article-body {
  margin: 0;
}

.article-body > .section-label {
  display: none;
}

.article-service-link,
.article-disclaimer {
  max-width: 49rem;
  margin-left: auto;
}

.article-body .article-disclaimer {
  border-left-color: var(--v6-blue);
  background: var(--v6-paper-cool);
  color: var(--v6-copy);
}

.related-guides {
  max-width: 66rem;
  margin-left: auto;
}

.guide-clusters > section + section {
  margin-top: clamp(4rem, 8vw, 7rem);
}

.guide-clusters > section > h2 {
  max-width: 15ch;
  margin-bottom: 2rem;
}

.blog-list a {
  grid-template-columns: 7rem minmax(0, 1fr) auto;
  min-height: 8rem;
  align-items: center;
  padding-block: 1.5rem;
}

.service-hub-grid {
  gap: 1rem;
  border: 0;
}

.service-hub-card {
  min-height: 25rem;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--v6-line);
  background: #fff;
  transition:
    border-color .35s var(--v6-ease-out),
    box-shadow .35s var(--v6-ease-out),
    transform .35s var(--v6-ease-out);
}

.static-hero h1,
.service-hub-card h2 {
  hyphens: auto;
  overflow-wrap: anywhere;
}

.service-hub-card h2 {
  max-width: none;
}

.service-hub-card::after {
  position: absolute;
  width: 12rem;
  height: 12rem;
  right: -6rem;
  top: -6rem;
  content: "";
  border: 1px solid rgba(8, 125, 169, .2);
  border-radius: 50%;
  transition: transform .55s var(--v6-ease-out);
}

.service-hub-card:hover,
.service-hub-card:focus-visible {
  border-color: rgba(8, 125, 169, .5);
  box-shadow: var(--v6-shadow);
  transform: translateY(-.35rem);
}

.service-hub-card:hover::after,
.service-hub-card:focus-visible::after {
  transform: scale(1.35);
}

.contact-page-grid {
  gap: 1rem;
}

.contact-page-grid > section {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid var(--v6-line);
  background: #fff;
}

.contact-page-grid > section:first-child {
  background: var(--v6-ink);
  color: #fff;
}

.contact-page-grid > section:first-child > p {
  color: #b8c7cd;
}

.contact-page-grid > section:first-child h2 {
  color: #fff;
}

.contact-page-grid > section:first-child .contact-action--dark {
  border-color: rgba(255, 255, 255, .24);
  color: #fff;
}

.contact-page-grid > section:first-child .contact-action--dark small {
  color: var(--v6-cyan);
}

.contact-page-grid > section:first-child .contact-action--dark:hover,
.contact-page-grid > section:first-child .contact-action--dark:focus-visible {
  color: var(--v6-cyan);
}

.lexicon-grid {
  max-width: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--v6-line);
  background: var(--v6-line);
}

.lexicon-entry {
  min-width: 0;
  min-height: 12rem;
  padding: 1.5rem;
  border: 0;
  background: var(--v6-paper);
}

.lexicon-entry h3 {
  font-family: var(--display);
  font-size: 1.5rem;
  overflow-wrap: anywhere;
}

.intent-index {
  margin-top: clamp(3rem, 7vw, 6rem);
  padding: clamp(2rem, 5vw, 4rem);
  background: var(--v6-ink);
  color: #fff;
}

.intent-index .section-label {
  color: var(--v6-cyan);
}

.intent-index > p {
  max-width: 55rem;
  color: #bbc8cd;
}

/* Knowledge and contact retain V5 semantics but gain stronger spatial rhythm. */
.knowledge-v5 {
  background:
    linear-gradient(135deg, rgba(8, 125, 169, .045), transparent 40%),
    var(--v6-paper-cool);
}

.article-cards {
  gap: .8rem;
  border: 0;
}

.article-cards a {
  min-height: 18rem;
  border: 1px solid var(--v6-line);
  background: rgba(255, 255, 255, .55);
  transition:
    background .35s var(--v6-ease-out),
    box-shadow .35s var(--v6-ease-out),
    transform .35s var(--v6-ease-out);
}

.article-cards a:hover,
.article-cards a:focus-visible {
  background: #fff;
  box-shadow: var(--v6-shadow);
  transform: translateY(-.35rem);
}

.contact-teaser {
  background:
    radial-gradient(circle at 78% 12%, rgba(120, 210, 233, .12), transparent 22rem),
    var(--v6-blue-deep);
}

.contact-actions-panel {
  background: rgba(12, 21, 28, .12);
}

.site-footer {
  background:
    linear-gradient(135deg, rgba(8, 125, 169, .05), transparent 45%),
    var(--v6-ink);
}

.footer-consent-link {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
  text-decoration: underline;
  text-decoration-color: rgba(120, 210, 233, .45);
  text-underline-offset: .25em;
}

.footer-consent-link:hover,
.footer-consent-link:focus-visible {
  color: var(--v6-cyan);
  text-decoration-color: currentColor;
}

.consent-banner[hidden] {
  display: none;
}

.consent-banner {
  position: fixed;
  z-index: 1200;
  inset: auto 1rem 1rem;
  width: min(72rem, calc(100% - 2rem));
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr);
  gap: 1.25rem clamp(1.5rem, 4vw, 3.5rem);
  align-items: end;
  margin-inline: auto;
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid rgba(120, 210, 233, .45);
  border-radius: var(--v6-radius);
  background: rgba(9, 21, 28, .985);
  color: #fff;
  box-shadow: 0 1.5rem 5rem rgba(0, 0, 0, .38);
}

.consent-banner-copy {
  max-width: 47rem;
}

.consent-kicker {
  margin: 0 0 .5rem;
  color: var(--v6-cyan);
  font: .66rem/1.35 var(--mono);
  letter-spacing: .055em;
  text-transform: uppercase;
}

.consent-banner h2,
.consent-dialog h2 {
  margin: 0;
  color: inherit;
  font: 520 clamp(1.65rem, 1.35rem + 1vw, 2.35rem)/1.05 var(--display);
  letter-spacing: -.035em;
}

.consent-banner-copy > p:not(.consent-kicker) {
  margin: .75rem 0 .55rem;
  color: #cfdbdf;
  font-size: .88rem;
}

.consent-banner a {
  color: var(--v6-cyan);
}

.consent-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .55rem;
  margin: 0;
}

.consent-banner-actions,
.consent-dialog-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .65rem;
}

.consent-choice,
.consent-settings-button,
.consent-dialog-close {
  min-height: 2.9rem;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: .35rem;
  cursor: pointer;
  font: 720 .82rem/1.2 var(--body);
}

.consent-choice {
  padding: .75rem 1rem;
  background: #fff;
  color: var(--v6-ink);
}

.consent-choice:hover,
.consent-choice:focus-visible {
  border-color: var(--v6-cyan);
  background: var(--v6-cyan);
}

.consent-settings-button {
  grid-column: 1 / -1;
  padding: .7rem 1rem;
  background: transparent;
  color: #fff;
}

.consent-settings-button:hover,
.consent-settings-button:focus-visible {
  border-color: var(--v6-cyan);
  color: var(--v6-cyan);
}

.consent-dialog {
  width: min(44rem, calc(100% - 2rem));
  max-height: min(44rem, calc(100dvh - 2rem));
  margin: auto;
  padding: clamp(1.3rem, 4vw, 2.4rem);
  overflow: auto;
  border: 1px solid rgba(120, 210, 233, .5);
  border-radius: var(--v6-radius);
  background: var(--v6-ink);
  color: #fff;
  box-shadow: 0 2rem 6rem rgba(0, 0, 0, .5);
}

.consent-dialog[open] {
  display: grid;
  gap: 1rem;
}

.consent-dialog::backdrop {
  background: rgba(3, 10, 14, .68);
  backdrop-filter: blur(3px);
}

.consent-dialog-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}

.consent-dialog-head .consent-kicker {
  margin-bottom: .4rem;
}

.consent-dialog > p {
  max-width: 40rem;
  margin: 0;
  color: #c4d0d4;
}

.consent-dialog-close {
  width: 2.9rem;
  flex: 0 0 2.9rem;
  padding: 0;
  border-color: rgba(255, 255, 255, .42);
  background: transparent;
  color: #fff;
  font-size: 1.7rem;
}

.consent-dialog-close:hover,
.consent-dialog-close:focus-visible {
  border-color: var(--v6-cyan);
  color: var(--v6-cyan);
}

.consent-category {
  min-height: 5.2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(255, 255, 255, .16);
  cursor: pointer;
}

.consent-category span:first-child {
  display: grid;
  gap: .3rem;
}

.consent-category strong {
  font-size: .95rem;
}

.consent-category small {
  max-width: 34rem;
  color: #b8c7cd;
  font-size: .78rem;
}

.consent-category input {
  width: 1.45rem;
  height: 1.45rem;
  flex: 0 0 auto;
  accent-color: var(--v6-cyan);
}

.consent-category--necessary,
.consent-category--inactive {
  cursor: default;
}

.consent-inactive-label {
  flex: 0 0 auto;
  color: var(--v6-cyan);
  font: .66rem/1.35 var(--mono);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.consent-dialog-actions {
  margin-top: .9rem;
}

.footer-brand > a:first-child {
  border: 1px solid rgba(255, 255, 255, .16);
}

.mobile-phone {
  border: 1px solid rgba(255, 255, 255, .4);
  background: var(--v6-blue-deep);
  box-shadow: 0 1rem 3rem rgba(4, 16, 23, .32);
}

.mobile-phone span {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}

.mobile-phone span::before {
  width: .42rem;
  height: .42rem;
  content: "";
  border-radius: 50%;
  background: var(--v6-cyan);
  box-shadow: 0 0 0 .24rem rgba(120, 210, 233, .15);
}

@media (hover: hover) and (pointer: fine) {
  .assistant-card {
    will-change: transform;
  }
}

@media (max-width: 1160px) {
  .opening-v6 {
    grid-template-columns: minmax(0, .95fr) minmax(28rem, 1.05fr);
  }

  .opening-v6 h1 {
    font-size: clamp(3rem, 4.7vw, 4.7rem);
  }

  .accident-assistant {
    grid-template-columns: minmax(17rem, .52fr) minmax(0, 1.48fr);
    gap: clamp(2.5rem, 5vw, 4rem);
  }

  .assistant-steps li {
    grid-template-columns: 2.5rem minmax(10rem, .55fr) minmax(13rem, 1.45fr);
  }

  .static-hero {
    grid-template-columns: minmax(0, 1.3fr) minmax(17rem, .7fr);
    gap: 3rem;
  }
}

@media (max-width: 960px) {
  .site-header {
    min-height: 5.4rem;
  }

  .header-phone {
    min-width: 2.75rem;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .58rem .72rem;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 999px;
    background: rgba(120, 210, 233, .08);
    text-align: left;
  }

  .header-phone::before {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    content: "";
    background: var(--v6-cyan);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.8 3.5 3.1 4.8 6.6 6.6l2.2-2.2c.3-.3.7-.4 1.1-.2 1.2.4 2.5.6 3.8.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.7 21 3 13.3 3 3.7c0-.6.4-1 1-1h3.4c.6 0 1 .4 1 1 0 1.3.2 2.6.6 3.8.1.4 0 .8-.2 1.1z'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  .header-phone small {
    color: #eaf7fb;
    font-size: .64rem;
    letter-spacing: .045em;
  }

  .header-phone strong {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .site-nav {
    inset-block-start: 5.4rem;
    max-height: calc(100svh - 5.4rem);
    overflow: auto;
    background: rgba(12, 21, 28, .985);
  }

  .opening-v6 {
    display: flex;
    flex-direction: column;
  }

  .opening-v6 .opening-copy {
    order: 1;
    width: 100%;
    padding: clamp(3.5rem, 8vw, 5.5rem) var(--v6-shell) 3rem;
  }

  .opening-v6 h1 {
    max-width: 14ch;
    font-size: clamp(3.4rem, 8vw, 5.2rem);
  }

  .opening-v6 .situation-paths {
    order: 2;
    width: 100%;
  }

  .opening-v6 .hero-media {
    order: 3;
    width: calc(100% - 2 * var(--v6-shell));
    margin: 2rem var(--v6-shell) 3rem;
  }

  .accident-assistant {
    grid-template-columns: 1fr;
  }

  .case-gallery-heading {
    grid-template-columns: 1fr;
  }

  .case-gallery-heading .section-label {
    grid-column: 1;
  }

  .assistant-intro {
    position: static;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(15rem, .55fr);
    gap: 1rem 3rem;
  }

  .assistant-intro .section-label,
  .assistant-intro h2 {
    grid-column: 1;
  }

  .assistant-intro > p:not(.section-label) {
    grid-column: 1;
  }

  .assistant-safety,
  .assistant-intro .button {
    grid-column: 2;
  }

  .assistant-safety {
    grid-row: 2 / span 2;
    align-self: start;
    margin-top: 0;
  }

  .proof-process-v6 {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .proof-process-v6 .compact-heading h2 {
    max-width: 16ch;
  }

  .photo-slot {
    min-height: clamp(24rem, 65vw, 32rem);
  }

  .static-hero {
    grid-template-columns: 1fr;
  }

  .static-hero-rail {
    grid-template-columns: 1fr minmax(15rem, .5fr);
    grid-template-rows: auto;
    border-top: 1px solid var(--v6-line);
    border-left: 0;
  }

  .page-signal {
    min-height: 13rem;
  }

  .static-quick-contact {
    align-content: center;
    border-top: 0;
    border-left: 1px solid var(--v6-line);
  }

  .detail-sections section,
  .article-body section {
    grid-template-columns: minmax(13rem, .7fr) minmax(20rem, 1.3fr);
    gap: 1rem 3rem;
  }

  .lexicon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .assistant-intro {
    display: block;
  }

  .assistant-intro > p:not(.section-label) {
    max-width: 42rem;
  }

  .assistant-safety {
    margin-top: 1.5rem;
  }

  .assistant-intro .button {
    width: fit-content;
  }
}

@media (max-width: 680px) {
  body {
    padding-bottom: 0;
  }

  .consent-banner {
    inset: auto .5rem .5rem;
    width: calc(100% - 1rem);
    max-height: calc(100dvh - 1rem);
    grid-template-columns: 1fr;
    gap: 1rem;
    overflow: auto;
  }

  .consent-dialog-actions {
    grid-template-columns: 1fr;
  }

  .consent-dialog-actions .consent-settings-button {
    grid-column: 1;
  }

  .consent-category {
    min-height: 4.8rem;
  }

  .legal-summary,
  .legal-source-links {
    grid-template-columns: 1fr;
  }

  .legal-summary .section-label,
  .legal-source-links .section-label,
  .legal-source-links h2,
  .legal-source-links a,
  .legal-inline-links {
    grid-column: 1;
  }

  .site-header {
    min-height: 4.85rem;
    padding-block: .62rem;
  }

  .brand {
    flex-basis: min(13.1rem, calc(100vw - 8.5rem));
    max-width: min(13.1rem, calc(100vw - 8.5rem));
  }

  .mobile-phone {
    display: none !important;
  }

  .site-nav {
    inset-block-start: 4.85rem;
    max-height: calc(100svh - 4.85rem);
  }

  .opening-v6 .opening-copy {
    padding: 2.8rem var(--v6-shell) 2.3rem;
  }

  .opening-v6 .hero-kicker {
    gap: .5rem;
    font-size: .67rem;
  }

  .opening-v6 .hero-kicker::before {
    width: 1.5rem;
  }

  .opening-v6 h1 {
    max-width: 13ch;
    font-size: clamp(2.7rem, 12vw, 3.65rem);
    line-height: .93;
  }

  .opening-v6 .hero-intro {
    font-size: 1rem;
  }

  .hero-proof {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .opening-v6 .situation-paths {
    padding-inline: var(--v6-shell);
  }

  .opening-v6 .situation-paths a {
    min-height: 7.2rem;
  }

  .opening-v6 .hero-media {
    width: 100%;
    margin: 0;
    border-inline: 0;
  }

  .accident-assistant {
    padding-block: clamp(3.8rem, 15vw, 5.5rem);
  }

  .assistant-intro {
    display: block;
  }

  .assistant-intro h2 {
    max-width: 11ch;
    font-size: clamp(2.6rem, 12vw, 3.75rem);
  }

  .assistant-safety {
    margin-top: 1.5rem;
  }

  .vehicle-selector {
    grid-template-columns: 1fr;
  }

  .vehicle-option {
    min-height: 5.8rem;
    grid-template-columns: 3.5rem 1fr;
    align-content: center;
  }

  .vehicle-option svg {
    width: 3.3rem;
  }

  .assistant-card {
    min-height: auto;
    transform: none !important;
  }

  .assistant-card-head {
    display: grid;
    gap: .8rem;
  }

  .assistant-card-head small {
    text-align: left;
  }

  .assistant-steps li {
    grid-template-columns: 2.2rem 1fr;
    gap: .5rem 1rem;
    align-items: start;
  }

  .assistant-steps strong {
    grid-column: 2;
  }

  .assistant-steps p {
    grid-column: 2;
  }

  .assistant-vehicle-note {
    grid-template-columns: 2.2rem 1fr;
  }

  .case-gallery-v6 {
    gap: 2rem;
    overflow: hidden;
  }

  .case-gallery-heading {
    grid-template-columns: 1fr;
  }

  .case-gallery-heading .section-label {
    grid-column: 1;
  }

  .case-gallery-heading h2 {
    font-size: clamp(2.6rem, 12vw, 3.75rem);
  }

  .case-gallery-grid {
    width: calc(100% + var(--v6-shell));
    display: grid;
    grid-auto-columns: min(84vw, 28rem);
    grid-template-columns: none;
    grid-template-rows: minmax(25rem, 68vh);
    grid-auto-flow: column;
    gap: .8rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 0 var(--v6-shell) 1rem 0;
    scroll-padding-inline: var(--v6-shell);
    scroll-snap-type: inline mandatory;
  }

  .case-gallery-card,
  .case-gallery-card--lead {
    grid-row: 1;
    scroll-snap-align: start;
  }

  .proof-process-v6 {
    grid-template-columns: 1fr;
  }

  .photo-slot {
    min-height: 28rem;
  }

  .proof-process-v6 .compact-heading h2 {
    max-width: 13ch;
    font-size: clamp(2.6rem, 12vw, 3.7rem);
  }

  .static-hero {
    gap: 2.5rem;
    padding-block: 3.5rem;
  }

  .static-hero h1 {
    max-width: 15ch;
    font-size: clamp(2.7rem, 12vw, 4rem);
  }

  .static-hero-rail {
    grid-template-columns: 1fr;
  }

  .page-signal {
    min-height: 12rem;
  }

  .static-quick-contact {
    border-top: 1px solid var(--v6-line);
    border-left: 0;
  }

  .static-page-content {
    padding-block: 3.5rem;
  }

  .detail-sections section,
  .article-body section {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding-block: 2.1rem;
  }

  .detail-sections h2,
  .article-body section h2 {
    grid-column: 1;
    grid-row: auto;
  }

  .detail-sections section p,
  .article-body section p {
    grid-column: 1;
  }

  .article-service-link,
  .article-disclaimer {
    margin-left: 0;
  }

  .blog-list a {
    grid-template-columns: 1fr auto;
    min-height: 0;
  }

  .blog-list a > span {
    grid-column: 1;
  }

  .blog-list a > div {
    grid-column: 1;
  }

  .blog-list a > i {
    grid-column: 2;
    grid-row: 1;
  }

  .service-hub-grid,
  .lexicon-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .service-hub-card {
    min-height: 17rem;
  }

  .lexicon-entry {
    min-height: 0;
  }

  .article-cards a {
    min-height: 13rem;
  }

  .header-phone {
    padding-inline: .64rem;
  }
}

@media (max-width: 480px) {
  .header-phone {
    width: 2.75rem;
    padding: 0;
  }

  .header-phone small,
  .nav-toggle span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .nav-toggle {
    width: 2.75rem;
    padding-inline: 0;
  }

  .nav-toggle i {
    margin-left: 0;
  }
}

/* Customer-video implementation: desktop parity, compact mobile actions and non-sticky logo. */
.header-actions,
.header-main {
  display: contents;
}

.site-header .brand {
  order: 1;
}

.site-header .site-nav {
  order: 2;
}

.site-header .header-phone {
  order: 3;
}

.button-phone {
  font: inherit;
}

/* Route-specific synthetic-media slots keep the required staging disclosure visible. */
.synthetic-media-slot {
  isolation: isolate;
}

.synthetic-media-slot > picture {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.synthetic-media-slot > picture > img,
.synthetic-media-slot > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

figure.synthetic-media-slot {
  margin: 0;
}

.page-signal.synthetic-media-slot::before {
  display: none;
}

.page-signal.synthetic-media-slot::after {
  z-index: 1;
  border-color: rgba(255, 255, 255, .48);
  background: linear-gradient(180deg, transparent 22%, rgba(4, 16, 23, .86) 100%);
}

.page-signal.synthetic-media-slot > figcaption {
  position: relative;
  z-index: 2;
  display: grid;
  align-self: end;
}

.page-signal.synthetic-media-slot > figcaption span,
.page-signal.synthetic-media-slot > figcaption small {
  color: #eaf7fb;
}

.page-signal.synthetic-media-slot > figcaption strong {
  color: #fff;
}

.page-signal.synthetic-media-slot > figcaption small {
  max-width: 34ch;
}

.photo-slot.synthetic-media-slot::after {
  z-index: 1;
  background: linear-gradient(180deg, rgba(4, 16, 23, .04), rgba(4, 16, 23, .82));
}

.photo-slot.synthetic-media-slot > .photo-slot-content {
  z-index: 2;
}

/* Approved archival damage photo: preserve the full frame and keep its caption separate. */
.page-signal.archive-media-slot {
  margin: 0;
  padding: 0;
  align-content: start;
}

.page-signal.archive-media-slot::before {
  display: none;
}

.archive-media-slot > img {
  display: block;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  height: auto;
}

.archive-media-slot > figcaption {
  display: grid;
  /* Component spacing must not grow with the page's outside gutter. */
  padding: clamp(1rem, 2vw, 1.5rem);
}

/* Selected customer-based media: retain the complete frame, with a separate caption. */
figure.customer-media-slot {
  display: block;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  align-self: start;
  background: var(--v6-paper-cool);
}

.customer-media-slot::before,
.customer-media-slot::after {
  display: none;
}

.customer-media-slot > picture,
.customer-media-slot > picture > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.customer-media-slot > figcaption {
  position: relative;
  display: grid;
  gap: .7rem;
  max-width: none;
  margin: 0;
  padding: clamp(1rem, 2vw, 1.5rem);
  background: var(--v6-paper-cool);
  backdrop-filter: none;
  box-shadow: none;
}

.customer-media-slot > figcaption strong,
.customer-media-slot > figcaption small {
  margin: 0;
}

.customer-media-slot > figcaption strong {
  color: var(--v6-ink);
  overflow-wrap: anywhere;
}

.customer-media-slot > figcaption small {
  color: var(--v6-copy);
}

/* Editorial photographs sit between reading sections without cropping the frame. */
.editorial-media {
  max-width: 64rem;
  margin: clamp(2rem, 4vw, 3.5rem) auto;
  padding: 0;
}

.editorial-media > picture,
.editorial-media > picture > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.editorial-media > figcaption {
  padding: .85rem 0;
  border-bottom: 1px solid var(--v6-line);
  color: var(--v6-copy);
  font-size: .95rem;
  line-height: 1.45;
}

/* Native-dialog gallery: real image anchors remain usable as the no-JS fallback. */
.gallery-lightbox {
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: clamp(.7rem, 2vw, 1.5rem);
  border: 0;
  background: transparent;
  color: #fff;
  overflow: hidden;
}

.gallery-lightbox[open] {
  display: grid;
  place-items: center;
}

.gallery-lightbox::backdrop {
  background: rgba(3, 10, 14, .9);
  backdrop-filter: blur(10px);
}

.gallery-lightbox-panel {
  width: min(94vw, 82rem);
  max-height: calc(100dvh - clamp(1.4rem, 4vw, 3rem));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .2);
  background: #07141b;
  box-shadow: 0 2rem 7rem rgba(0, 0, 0, .5);
  animation: v9-lightbox-in .2s var(--v6-ease-out) both;
}

@keyframes v9-lightbox-in {
  from { opacity: 0; transform: translateY(.6rem) scale(.99); }
}

.gallery-lightbox-head {
  min-height: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem clamp(.9rem, 2.5vw, 1.5rem);
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.gallery-lightbox-head p,
.gallery-lightbox-head h2 {
  margin: 0;
}

.gallery-lightbox-head p {
  color: var(--v6-cyan);
  font: .62rem/1.35 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.gallery-lightbox-head h2 {
  margin-top: .25rem;
  font: 520 clamp(1.25rem, 2vw, 1.8rem)/1.05 var(--display);
}

.gallery-lightbox-head button {
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255, 255, 255, .32);
  background: transparent;
  color: #fff;
  font-size: 1.55rem;
  cursor: pointer;
}

.gallery-lightbox figure {
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  margin: 0;
  overflow: hidden;
}

.gallery-lightbox figure > img {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
  object-fit: contain;
  background: #02080b;
}

.gallery-lightbox figcaption {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: .7rem clamp(.9rem, 2.5vw, 1.5rem);
  border-top: 1px solid rgba(255, 255, 255, .12);
  color: #d9e5e9;
}

.gallery-lightbox figcaption strong {
  font-size: .9rem;
}

.gallery-lightbox figcaption small {
  flex: 0 0 auto;
  color: var(--v6-cyan);
  font: .66rem/1.4 var(--mono);
  text-transform: uppercase;
}

.gallery-lightbox-actions {
  min-height: 4.3rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
  border-top: 1px solid rgba(255, 255, 255, .14);
}

.gallery-lightbox-actions button,
.gallery-lightbox-actions a {
  min-height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .75rem 1rem;
  border: 0;
  background: transparent;
  color: #fff;
  font: 750 .78rem/1.2 var(--sans);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.gallery-lightbox-actions a {
  border-inline: 1px solid rgba(255, 255, 255, .14);
  color: var(--v6-cyan);
}

.gallery-lightbox-actions button:last-child {
  justify-content: flex-end;
}

.gallery-lightbox-actions button:first-child {
  justify-content: flex-start;
}

.gallery-lightbox :where(button, a):hover,
.gallery-lightbox :where(button, a):focus-visible {
  background: rgba(120, 210, 233, .12);
}

@media (max-width: 960px) {
  .site-header {
    min-height: 0;
    display: contents;
    position: static;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  .header-actions {
    min-height: 3.65rem;
    position: sticky;
    z-index: 90;
    top: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: max(.38rem, env(safe-area-inset-top)) max(.45rem, env(safe-area-inset-right)) .38rem max(.45rem, env(safe-area-inset-left));
    background: rgba(12, 21, 28, .985);
    color: #fff;
    box-shadow: 0 1px rgba(255, 255, 255, .08), 0 .5rem 1.5rem rgba(0, 0, 0, .16);
    backdrop-filter: blur(16px) saturate(1.15);
  }

  .header-actions .nav-toggle,
  .header-actions .header-phone {
    width: 100%;
    min-width: 0;
    min-height: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    margin: 0;
    padding: .45rem .65rem;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 0;
    background: rgba(120, 210, 233, .06);
    color: #fff;
    text-align: center;
  }

  .header-actions .nav-toggle {
    order: 1;
  }

  .header-actions .header-phone {
    order: 2;
    flex-direction: row;
  }

  .header-actions .nav-toggle span,
  .header-actions .header-phone small,
  .header-actions .header-phone strong {
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
    border: 0;
  }

  .header-actions .header-phone small {
    display: none;
  }

  .header-actions .header-phone strong {
    white-space: nowrap;
    font-size: clamp(.78rem, 3.2vw, .95rem);
  }

  .header-main {
    min-height: clamp(5.1rem, 24vw, 7rem);
    display: block;
    position: relative;
    z-index: 40;
    padding: clamp(.7rem, 3vw, 1rem) var(--v6-shell);
    background: #fff;
  }

  .header-main .brand {
    width: min(78vw, 18rem);
    max-width: 18rem;
    min-width: 0;
    display: block;
    margin: 0 auto;
    padding: .35rem .55rem;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
  }

  .header-main .site-nav {
    z-index: 89;
    inset: 3.65rem 0 auto;
    max-height: calc(100svh - 3.65rem);
    padding-top: 1rem;
  }

  .gallery-lightbox-panel {
    width: calc(100vw - 1.4rem);
    max-height: calc(100dvh - 1.4rem);
  }
}

@media (max-width: 560px) {
  .gallery-lightbox {
    padding: .45rem;
  }

  .gallery-lightbox-panel {
    width: calc(100vw - .9rem);
    max-height: calc(100dvh - .9rem);
  }

  .gallery-lightbox-head {
    min-height: 4rem;
  }

  .gallery-lightbox-head h2 {
    font-size: 1.18rem;
  }

  .gallery-lightbox figcaption {
    display: grid;
    gap: .3rem;
  }

  .gallery-lightbox-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gallery-lightbox-actions button,
  .gallery-lightbox-actions a {
    padding-inline: .45rem;
    font-size: .68rem;
  }

  .gallery-lightbox-actions button:first-child,
  .gallery-lightbox-actions button:last-child {
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none !important;
  }

  .opening-v6 .hero-media::before {
    display: none;
    animation: none;
  }

  .assistant-card,
  .assistant-card.is-switching .assistant-card-head,
  .assistant-card.is-switching .assistant-steps,
  .assistant-card.is-switching .assistant-vehicle-note {
    animation: none !important;
    transform: none !important;
  }

  .gallery-lightbox-panel {
    animation: none !important;
  }

  .motion-ready [data-reveal] {
    filter: none !important;
    transform: none !important;
  }
}

@media print {
  .accident-assistant::before,
  .opening-v6 .hero-media::before,
  .mobile-phone {
    display: none !important;
  }

  .assistant-card {
    color: #000;
    background: #fff;
    box-shadow: none;
    transform: none !important;
  }

  .assistant-steps p,
  .assistant-card-head small {
    color: #333;
  }
}
