@import url("/dawaco-site/assets/css/tokens.css");

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-padding-top: 88px; }
@media (prefers-reduced-motion: no-preference){ html{ scroll-behavior: smooth; } }
body{ min-height: 100vh; display: flex; flex-direction: column; }
main{ flex: 1 0 auto; display: block; }
h1,h2,h3,h4{ font-family: var(--font-display); color: var(--c-ink); margin: 0; text-wrap: balance; overflow-wrap: break-word; hyphens: manual; -webkit-hyphens: manual; }
@media (max-width: 640px){ h1,h2,h3,h4{ hyphens: auto; -webkit-hyphens: auto; } }
h1{ font-size: var(--fs-h1); font-weight: 700; line-height: var(--lh-tight); letter-spacing: var(--tracking-display); }
h2{ font-size: var(--fs-h2); font-weight: 700; line-height: var(--lh-heading); letter-spacing: var(--tracking-heading); }
h3{ font-size: var(--fs-h3); font-weight: 600; line-height: var(--lh-heading); letter-spacing: var(--tracking-heading); }
h4{ font-size: var(--fs-h4); font-weight: 600; line-height: var(--lh-snug); }
p{ margin: 0 0 var(--space-4); max-width: var(--measure); }
p:last-child{ margin-bottom: 0; }
ul, ol{ max-width: var(--measure); }
a{ color: var(--c-link); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover{ text-decoration-thickness: 2px; }
strong, b{ font-weight: 700; color: var(--c-ink); }
abbr[title]{ text-decoration: underline dotted; text-underline-offset: .2em; }
code, kbd{ font-family: var(--font-mono); font-size: .88em; }
hr{ border: 0; border-top: 1px solid var(--c-line); margin: var(--space-7) 0; }
img{ display: block; }
button{ font: inherit; }
:focus-visible{ outline: var(--focus-ring); outline-offset: var(--focus-offset); }

.visually-hidden{ position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip{ position: absolute; left: var(--gutter); top: -100px; z-index: var(--z-dialog); background: var(--c-action-bg); color: var(--c-action-fg); padding: 10px 14px; border-radius: var(--radius-1); font-weight: 600; text-decoration: none; }
.skip:focus{ top: 12px; }

.on-dark{ display: none; }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .on-dark{ display: inline-block; }
  :root:not([data-theme="light"]) .on-light{ display: none; }
}
:root[data-theme="dark"] .on-dark{ display: inline-block; }
:root[data-theme="dark"] .on-light{ display: none; }
.ground .on-dark{ display: inline-block; }
.ground .on-light{ display: none; }

.display{ font-size: var(--fs-display); font-weight: 700; line-height: var(--lh-tight); letter-spacing: var(--tracking-display); }
.lead{ font-size: var(--fs-lead); line-height: 1.55; color: var(--c-text); }
.muted{ color: var(--c-muted); }
.small{ font-size: var(--fs-small); }
.label{ font: var(--fw-medium) var(--fs-label)/1.4 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); }
.mono{ font-family: var(--font-mono); font-weight: 500; font-variant-numeric: tabular-nums; }
.kicker{ display: inline-flex; align-items: center; gap: 10px; font: var(--fw-medium) var(--fs-label)/1.4 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); margin: 0 0 var(--space-4); }
.hl{ color: var(--c-live-text); }
.prose > * + *{ margin-top: var(--space-4); }
.prose h2{ margin-top: var(--space-7); }
.prose h3{ margin-top: var(--space-6); }
.prose ul{ padding-left: 1.2em; }
.prose li + li{ margin-top: var(--space-2); }
.footnote{ font-size: var(--fs-small); color: var(--c-muted); max-width: 72ch; }
.footnote::before{ content: "* "; font-family: var(--font-mono); }

.wrap{ width: 100%; max-width: var(--container-wide); margin: 0 auto; padding: 0 var(--gutter); }
.wrap--narrow{ max-width: calc(var(--container) - 160px); }
.section{ padding: var(--space-section) 0; position: relative; }
.section--tight{ padding: var(--space-8) 0; }
.section--sunken{ background: var(--c-sunken); }
.section--surface{ background: var(--c-surface); }
.section--rule{ border-top: 1px solid var(--c-line); }
.ground.section, .section.ground{ background: var(--c-bg); }
.section-head{ display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: var(--space-5) var(--space-7); align-items: end; margin-bottom: var(--space-7); }
.section-head > p{ margin: 0; }
.split{ display: grid; gap: var(--space-7); grid-template-columns: minmax(0,7fr) minmax(0,5fr); align-items: start; }
.split--8-4{ grid-template-columns: minmax(0,8fr) minmax(0,4fr); }
.split--5-7{ grid-template-columns: minmax(0,5fr) minmax(0,7fr); }
.split--6-6{ grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.split--center{ align-items: center; }
.stack > * + *{ margin-top: var(--space-5); }
.cluster{ display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
@media (max-width: 900px){
  .section-head, .split, .split--8-4, .split--5-7, .split--6-6{ grid-template-columns: minmax(0,1fr); gap: var(--space-6); }
}

.marker{ display: flex; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; border-top: 1px solid var(--c-ink); padding-top: var(--space-3); margin-bottom: var(--space-6); font: var(--fw-medium) var(--fs-label)/1.4 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); }
.marker > :first-child{ color: var(--c-ink); }

.dot{ display: inline-block; width: 9px; height: 9px; border-radius: var(--radius-dot); background: var(--c-live); flex: none; box-shadow: 0 0 0 2px var(--c-surface); vertical-align: middle; }
.dot--water{ background: var(--c-water); }
@media (prefers-reduced-motion: no-preference){
  .dot.pulse{ position: relative; }
  .dot.pulse::after{ content: ""; position: absolute; inset: -1px; border-radius: 50%; border: 1.5px solid var(--c-live); animation: halo var(--dur-pulse) var(--ease-out) infinite; }
  @keyframes halo{ from{ transform: scale(1); opacity: .7; } to{ transform: scale(2.6); opacity: 0; } }
}
.tag{ display: inline-flex; align-items: center; gap: 7px; font: var(--fw-medium) var(--fs-label)/1 var(--font-mono); letter-spacing: .02em; color: var(--c-ink); border: 1px solid var(--c-line-strong); border-radius: var(--radius-1); padding: 6px 9px; background: var(--c-surface); white-space: nowrap; }
.tag::before{ content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--c-live); }
.tag--water::before{ background: var(--c-water); }
.tag--plain::before{ display: none; }
.badge-module{ display: inline-block; font: var(--fw-medium) 12.5px/1 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); border: 1px dashed var(--c-line-strong); border-radius: var(--radius-1); padding: 4px 6px; vertical-align: 3px; margin-left: 6px; white-space: nowrap; }
.icon{ display: block; width: 40px; height: 40px; color: var(--c-ink); flex: none; }
.icon svg{ display: block; width: 40px; height: 40px; }

.btn{ display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; font: var(--fw-semibold) var(--fs-body)/1.1 var(--font-body); padding: 12px 18px; border-radius: var(--radius-1); text-decoration: none; border: 1px solid transparent; cursor: pointer; }
.btn .arr{ font-family: var(--font-mono); font-weight: 500; }
.btn.primary{ background: var(--c-action-bg); color: var(--c-action-fg); }
.btn.primary:hover{ background: var(--c-action-hover); }
.btn.secondary{ background: transparent; color: var(--c-ink); border-color: var(--c-line-strong); }
.btn.secondary:hover{ border-color: var(--c-ink); }
.btn.ghost{ background: transparent; color: var(--c-link); padding-left: 0; padding-right: 0; min-height: 0; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.btn.small{ min-height: 38px; padding: 8px 13px; font-size: var(--fs-small); }
.btn-row{ display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; margin-top: var(--space-6); }
@media (prefers-reduced-motion: no-preference){
  .btn{ transition: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
  .btn .arr{ transition: transform var(--dur-fast) var(--ease-out); }
  .btn:hover .arr{ transform: translateX(3px); }
}
.link-arrow{ font-weight: 600; text-decoration: none; color: var(--c-link); display: inline-flex; gap: 8px; align-items: baseline; }
.link-arrow::after{ content: "→"; font-family: var(--font-mono); font-weight: 500; }
.link-arrow:hover{ text-decoration: underline; }

.site-header{ position: sticky; top: 0; z-index: var(--z-sticky); background: var(--c-bg); border-bottom: 1px solid var(--c-line); }
.site-header.is-scrolled{ box-shadow: 0 10px 30px -24px rgba(7,20,31,.55); }
.site-header__bar{ display: flex; align-items: center; gap: var(--space-5); min-height: 68px; }
.brand{ display: inline-flex; align-items: center; flex: none; text-decoration: none; padding: 6px 0; }
.brand img{ height: auto; }
.brand .logo-dawaco{ width: 132px; }
.brand .logo-phrea{ width: 168px; }
.nav{ margin-left: auto; }
.nav ul{ list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; max-width: none; }
.nav a{ display: inline-flex; align-items: center; min-height: 44px; padding: 0 11px; color: var(--c-ink); font-weight: 600; font-size: 15px; text-decoration: none; border-radius: var(--radius-1); position: relative; white-space: nowrap; }
.nav a:hover{ color: var(--c-link); }
.nav a[aria-current="page"]::after{ content: ""; position: absolute; left: 11px; right: 11px; bottom: 6px; height: 2px; background: var(--c-live); }
.nav .nav-cross{ margin-left: 8px; border: 1px solid var(--c-line-strong); gap: 8px; min-height: 38px; }
.nav .nav-cross::before{ content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--c-live); }
.nav .nav-cross:hover{ border-color: var(--c-ink); }
.header-tools{ display: flex; align-items: center; gap: var(--space-2); flex: none; }
.lang{ display: inline-flex; align-items: center; border: 1px solid var(--c-line-strong); border-radius: var(--radius-1); font: var(--fw-medium) 12.5px/1 var(--font-mono); letter-spacing: .04em; }
.lang > *{ display: inline-flex; align-items: center; justify-content: center; min-width: 38px; min-height: 36px; padding: 0 8px; color: var(--c-muted); text-decoration: none; }
.lang [aria-current]{ color: var(--c-ink); background: var(--c-sunken); }
.lang a:hover{ color: var(--c-ink); }
.theme-toggle{ display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0; background: transparent; color: var(--c-ink); border: 1px solid var(--c-line-strong); border-radius: var(--radius-1); cursor: pointer; }
.theme-toggle:hover{ border-color: var(--c-ink); }
.theme-toggle svg{ width: 18px; height: 18px; }
.theme-toggle .t-sun, .theme-toggle .t-moon{ display: none; }
:root[data-theme="light"] .theme-toggle .t-auto, :root[data-theme="dark"] .theme-toggle .t-auto{ display: none; }
:root[data-theme="light"] .theme-toggle .t-sun{ display: block; }
:root[data-theme="dark"] .theme-toggle .t-moon{ display: block; }
.header-cta{ flex: none; }
.menu-toggle{ display: none; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px; background: transparent; color: var(--c-ink); border: 1px solid var(--c-line-strong); border-radius: var(--radius-1); font-weight: 600; cursor: pointer; }
.menu-toggle .bars{ position: relative; width: 16px; height: 2px; background: currentColor; }
.menu-toggle .bars::before, .menu-toggle .bars::after{ content: ""; position: absolute; left: 0; width: 16px; height: 2px; background: currentColor; }
.menu-toggle .bars::before{ top: -5px; }
.menu-toggle .bars::after{ top: 5px; }
.menu-toggle[aria-expanded="true"] .bars{ background: transparent; }
.menu-toggle[aria-expanded="true"] .bars::before{ top: 0; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .bars::after{ top: 0; transform: rotate(-45deg); }
.nav-panel{ display: none; }
html.menu-open{ overflow: hidden; }

@media (max-width: 1439px){
  .site-header__bar{ gap: var(--space-3); }
  .nav, .header-cta, .header-tools .theme-toggle{ display: none; }
  .header-tools{ margin-left: auto; }
  .menu-toggle{ display: inline-flex; }
  .nav-panel{ position: fixed; left: 0; right: 0; top: var(--header-h, 69px); bottom: 0; z-index: var(--z-sticky); border-top: 1px solid var(--c-line); background: var(--c-bg); padding: var(--space-4) 0 var(--space-6); overflow-y: auto; overscroll-behavior: contain; }
  .nav-panel.is-open{ display: block; }
  .nav-panel ul{ list-style: none; margin: 0 0 var(--space-5); padding: 0; max-width: none; }
  .nav-panel li{ border-bottom: 1px solid var(--c-line); }
  .nav-panel li a{ display: flex; justify-content: space-between; align-items: center; min-height: 52px; color: var(--c-ink); font: var(--fw-semibold) 18px/1.2 var(--font-body); text-decoration: none; }
  .nav-panel li a::after{ content: "→"; font-family: var(--font-mono); color: var(--c-muted); }
  .nav-panel li a[aria-current="page"]{ color: var(--c-link); }
  .nav-panel li a[aria-current="page"]::before{ content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c-live); margin-right: 10px; order: -1; }
  .nav-panel li a[aria-current="page"]{ justify-content: flex-start; }
  .nav-panel li a[aria-current="page"]::after{ margin-left: auto; }
  .nav-panel .panel-tools{ display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
  .nav-panel .panel-tools .theme-toggle{ display: inline-flex; width: auto; padding: 0 12px; gap: 8px; }
}
@media (max-width: 420px){
  .brand .logo-dawaco{ width: 112px; }
  .brand .logo-phrea{ width: 150px; }
  .menu-toggle .menu-label{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}
.theme-toggle .t-text{ font-size: var(--fs-small); font-weight: 600; }
.site-header .theme-toggle .t-text{ display: none; }
.nav-panel .theme-toggle .t-text{ display: inline; }

.site-phrea .site-header{ background: var(--c-bg); border-bottom-color: var(--c-line); }

.hero{ position: relative; overflow: hidden; border-bottom: 1px solid var(--c-line); }
.hero__bg{ position: absolute; inset: 0; pointer-events: none; }
.hero__bg svg{ position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; }
.hero__inner{ position: relative; display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: var(--space-7); align-items: end; padding-top: var(--space-9); padding-bottom: var(--space-8); }
.hero h1{ margin: 0 0 var(--space-5); }
.hero .display{ margin: 0 0 var(--space-5); }
.hero__copy .lead{ max-width: 58ch; }
.hero__copy .lead, .hero__copy .kicker{ background: color-mix(in srgb, var(--c-bg) 84%, transparent); }
.hero__meta{ display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }

.hero--map .hero__bg{ opacity: .6; }

.hero--section .hero__inner{ align-items: center; }
.hero__device{ margin: 0; }
.hero__device svg{ display: block; width: 100%; height: auto; }

.hero--shot .hero__inner{ grid-template-columns: minmax(0,1fr); padding-bottom: 0; gap: var(--space-6); }
.hero--shot .hero__copy{ display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: var(--space-7); align-items: end; }
.hero--shot .hero__copy > div + div{ padding-bottom: 6px; }
.hero--shot .shot{ margin-bottom: calc(-1 * var(--space-8)); }
.hero--shot + *{ padding-top: calc(var(--space-section) + var(--space-8)); }
.hero--shot{ overflow: visible; border-bottom: 0; }

.hero--page .hero__inner{ padding-top: var(--space-8); padding-bottom: var(--space-7); align-items: end; }
.hero--page h1{ font-size: var(--fs-h1); }
.crumbs{ font: var(--fw-medium) var(--fs-label)/1.4 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); margin: 0 0 var(--space-5); }
.crumbs ol{ list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.crumbs li + li::before{ content: "/"; margin-right: 6px; color: var(--c-line-strong); }
.crumbs a{ color: var(--c-muted); text-decoration: none; }
.crumbs a:hover{ color: var(--c-ink); text-decoration: underline; }
@media (max-width: 900px){
  .hero__inner, .hero--shot .hero__copy{ grid-template-columns: minmax(0,1fr); gap: var(--space-6); padding-top: var(--space-8); }
  .hero--shot .shot{ margin-bottom: calc(-1 * var(--space-7)); }
  .hero--shot + *{ padding-top: calc(var(--space-section) + var(--space-7)); }
}

.readout{ background: var(--c-surface); border: 1px solid var(--c-line); padding: var(--space-5) var(--space-5) var(--space-4); box-shadow: var(--elev-2); }
.readout .val{ display: block; font: var(--fw-medium) var(--fs-stat)/1 var(--font-mono); letter-spacing: -.03em; color: var(--c-ink); font-variant-numeric: tabular-nums; }
.readout .unit{ font-size: .42em; letter-spacing: 0; color: var(--c-muted); margin-left: .3em; }
.readout .meta{ display: flex; align-items: center; gap: 8px; margin-top: var(--space-3); font: var(--fw-medium) 12px/1.4 var(--font-mono); color: var(--c-muted); }
.readout dl{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin: var(--space-4) 0 0; border-top: 1px solid var(--c-line); }
.readout dl div{ padding: var(--space-3) var(--space-3) 0 0; }
.readout dt{ font: var(--fw-medium) 12.5px/1.3 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); }
.readout dd{ margin: 2px 0 0; font: var(--fw-semibold) var(--fs-small) var(--font-body); color: var(--c-ink); }

.shot{ margin: 0; background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--radius-3); overflow: hidden; box-shadow: var(--elev-2); }
.shot img{ display: block; width: 100%; height: auto; }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .shot{ border-color: var(--c-line-strong); } :root:not([data-theme="light"]) .shot img{ filter: brightness(.92); } }
:root[data-theme="dark"] .shot{ border-color: var(--c-line-strong); }
:root[data-theme="dark"] .shot img{ filter: brightness(.92); }
.shot__link{ display: block; position: relative; cursor: zoom-in; }
.shot__link:focus-visible{ outline-offset: -4px; }
.shot figcaption{ display: flex; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; padding: 9px 12px; border-top: 1px solid var(--c-line); font: var(--fw-medium) 12.5px/1.45 var(--font-mono); color: var(--c-muted); letter-spacing: .02em; }
.shot figcaption .dot{ margin-right: 6px; width: 7px; height: 7px; }
.shots{ display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: var(--space-5); align-items: start; }
@media (max-width: 860px){ .shots{ grid-template-columns: minmax(0,1fr); } }

.shot-notes{ list-style: none; margin: var(--space-4) 0 0; padding: 0; display: grid; gap: var(--space-3); max-width: none; }
.shot-notes li{ display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 10px; font-size: var(--fs-small); }
.shot-notes li b{ display: block; }

.features{ list-style: none; margin: 0; padding: 0; max-width: none; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--c-line); }
.features--2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.features--4{ grid-template-columns: repeat(4, minmax(0,1fr)); }
.feature{ padding: var(--space-6) var(--space-6) var(--space-6) 0; border-bottom: 1px solid var(--c-line); position: relative; }
.feature + .feature{ padding-left: var(--space-6); border-left: 1px solid var(--c-line); }
.features > .feature:nth-child(3n+1){ padding-left: 0; border-left: 0; }
.features--2 > .feature:nth-child(3n+1){ padding-left: var(--space-6); border-left: 1px solid var(--c-line); }
.features--2 > .feature:nth-child(2n+1){ padding-left: 0; border-left: 0; }
.features--4 > .feature:nth-child(3n+1){ padding-left: var(--space-6); border-left: 1px solid var(--c-line); }
.features--4 > .feature:nth-child(4n+1){ padding-left: 0; border-left: 0; }
.feature .icon{ margin-bottom: var(--space-4); }
.feature h3{ font-size: var(--fs-h4); margin-bottom: var(--space-3); }
.feature p{ font-size: 16px; color: var(--c-text); }
.feature .link-arrow{ margin-top: var(--space-3); }
.feature--lead{ grid-column: span 2; }
@media (prefers-reduced-motion: no-preference){
  .feature .icon{ transition: color var(--dur-fast) var(--ease-out); }
  .feature:hover .icon{ color: var(--c-water); }
}
@media (max-width: 1080px){
  .features, .features--4{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .features > .feature:nth-child(n){ padding-left: var(--space-6); border-left: 1px solid var(--c-line); }
  .features > .feature:nth-child(2n+1){ padding-left: 0; border-left: 0; }
}
@media (max-width: 640px){
  .features, .features--2, .features--4{ grid-template-columns: minmax(0,1fr); }
  .features > .feature:nth-child(n){ padding: var(--space-5) 0; border-left: 0; }
  .feature--lead{ grid-column: auto; }
}

.flow{ list-style: none; margin: 0; padding: 0; max-width: none; display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); border-top: 2px solid var(--c-water); counter-reset: step; }
.flow li{ padding: var(--space-4) var(--space-4) 0 0; position: relative; counter-increment: step; }
.flow li::before{ content: ""; position: absolute; top: -7px; left: 0; width: 12px; height: 12px; border-radius: 50%; background: var(--c-bg); border: 2px solid var(--c-water); }
.flow li:last-child::before{ background: var(--c-live); border-color: var(--c-live); }
.flow b{ display: block; font-family: var(--font-display); font-size: var(--fs-h4); color: var(--c-ink); margin: var(--space-2) 0 var(--space-2); }
.flow span{ font-size: var(--fs-small); color: var(--c-muted); display: block; }
.flow li > .label::before{ content: counter(step, decimal-leading-zero) " · "; }
@media (max-width: 1080px){ .flow{ grid-template-columns: repeat(3, minmax(0,1fr)); row-gap: var(--space-6); } }
@media (max-width: 560px){ .flow{ grid-template-columns: minmax(0,1fr); border-top: 0; border-left: 2px solid var(--c-water); padding-left: var(--space-5); row-gap: var(--space-5); } .flow li{ padding-top: 0; } .flow li::before{ top: 4px; left: calc(-1 * var(--space-5) - 7px); } }

.proof{ display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border-top: 1px solid var(--c-ink); border-bottom: 1px solid var(--c-line); margin: 0; }
.proof > div{ padding: var(--space-5) var(--space-5) var(--space-5) 0; }
.proof > div + div{ padding-left: var(--space-5); border-left: 1px solid var(--c-line); }
.proof dt{ font: var(--fw-medium) var(--fs-stat)/1 var(--font-mono); letter-spacing: -.03em; color: var(--c-ink); font-variant-numeric: tabular-nums; }
.proof dt small{ display: block; margin-top: var(--space-2); font: var(--fw-medium) var(--fs-label)/1.3 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); }
.proof dd{ margin: var(--space-3) 0 0; font-size: var(--fs-small); color: var(--c-text); max-width: 32ch; }
@media (max-width: 900px){ .proof{ grid-template-columns: repeat(2, minmax(0,1fr)); } .proof > div:nth-child(3){ padding-left: 0; border-left: 0; } .proof > div:nth-child(n+3){ border-top: 1px solid var(--c-line); } }
@media (max-width: 480px){ .proof{ grid-template-columns: minmax(0,1fr); } .proof > div + div{ padding-left: 0; border-left: 0; border-top: 1px solid var(--c-line); } }

.logo-wall{ list-style: none; margin: 0; padding: 0; max-width: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); border-top: 1px solid var(--c-line); border-left: 1px solid var(--c-line); }
.logo-wall li{ display: flex; align-items: center; justify-content: center; min-height: 96px; padding: var(--space-4); border-right: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); background: var(--c-surface); font: var(--fw-semibold) var(--fs-small)/1.3 var(--font-body); color: var(--c-muted); text-align: center; }
.logo-wall img{ max-height: 44px; width: auto; filter: grayscale(1); opacity: .85; }
@media (prefers-reduced-motion: no-preference){ .logo-wall img{ transition: filter var(--dur-fast), opacity var(--dur-fast); } .logo-wall li:hover img{ filter: none; opacity: 1; } }

.shift{ border-top: 1px solid var(--c-ink); }
.shift__head, .shift__row{ display: grid; grid-template-columns: minmax(0,1fr) 44px minmax(0,1fr); gap: var(--space-4); align-items: start; }
.shift__head{ padding: var(--space-3) 0; border-bottom: 1px solid var(--c-line); }
.shift__row{ padding: var(--space-5) 0; border-bottom: 1px solid var(--c-line); }
.shift__from{ color: var(--c-muted); }
.shift__from b{ color: var(--c-muted); font-weight: 600; }
.shift__to b{ display: block; font-family: var(--font-display); font-weight: 600; font-size: var(--fs-h4); color: var(--c-ink); line-height: var(--lh-snug); margin-bottom: 4px; }
.shift__arrow{ font: var(--fw-medium) 20px/1.4 var(--font-mono); color: var(--c-water); text-align: center; }
@media (max-width: 700px){
  .shift__head{ display: none; }
  .shift__row{ grid-template-columns: minmax(0,1fr); gap: var(--space-2); }
  .shift__arrow{ text-align: left; transform: rotate(90deg); width: 20px; }
  .shift__from::before, .shift__to::before{ content: attr(data-label); display: block; font: var(--fw-medium) 12.5px/1.4 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); margin-bottom: 4px; }
}

.checklist{ list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4); max-width: none; }
.checklist--2{ grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--space-5) var(--space-7); }
.checklist li{ position: relative; padding-left: 36px; min-height: 24px; font-weight: 600; color: var(--c-ink); }
.checklist li::before{ content: ""; position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border: 1.6px solid var(--c-ink); border-radius: 50%; }
.checklist li::after{ content: ""; position: absolute; left: 8px; top: 5px; width: 6px; height: 11px; border-right: 2.4px solid var(--c-live); border-bottom: 2.4px solid var(--c-live); transform: rotate(45deg); }
.checklist li span{ display: block; font-weight: 400; color: var(--c-muted); font-size: var(--fs-small); margin-top: 2px; }
@media (max-width: 760px){ .checklist--2{ grid-template-columns: minmax(0,1fr); } }

.timeline{ list-style: none; margin: 0; padding: 0; max-width: none; position: relative; }
.timeline::before{ content: ""; position: absolute; left: 148px; top: 6px; bottom: 6px; width: 1px; background: var(--c-line-strong); }
.timeline li{ display: grid; grid-template-columns: 124px minmax(0,1fr); gap: 49px; padding: 0 0 var(--space-6); position: relative; }
.timeline li::before{ content: ""; position: absolute; left: 143px; top: 7px; width: 11px; height: 11px; border-radius: 50%; background: var(--c-bg); border: 1.6px solid var(--c-navy); }
.timeline__when{ font: var(--fw-medium) 15px/1.5 var(--font-mono); color: var(--c-ink); text-align: right; font-variant-numeric: tabular-nums; }
.timeline__body h3{ font-size: var(--fs-h4); margin-bottom: var(--space-2); }
.timeline__body p{ color: var(--c-text); }
.timeline li.is-now::before{ background: var(--c-live); border-color: var(--c-live); box-shadow: 0 0 0 4px color-mix(in srgb, var(--c-live) 25%, transparent); }
.timeline li.is-now .timeline__when{ color: var(--c-live-text); }
@media (max-width: 640px){
  .timeline::before{ left: 5px; }
  .timeline li{ grid-template-columns: minmax(0,1fr); gap: var(--space-2); padding-left: var(--space-6); }
  .timeline li::before{ left: 0; }
  .timeline__when{ text-align: left; }
}

.trust{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0; border-top: 1px solid var(--c-line); margin: 0; }
.trust > div{ display: grid; grid-template-columns: 40px minmax(0,1fr); gap: var(--space-4); padding: var(--space-5) var(--space-5) var(--space-5) 0; border-bottom: 1px solid var(--c-line); }
.trust > div:nth-child(2n){ padding-left: var(--space-5); border-left: 1px solid var(--c-line); }
.trust dt{ font-family: var(--font-display); font-weight: 600; font-size: var(--fs-h4); color: var(--c-ink); line-height: var(--lh-snug); margin-bottom: var(--space-2); }
.trust dd{ margin: 0; font-size: 16px; }
.trust .icon{ color: var(--c-ink); }
.trust-note{ margin-top: var(--space-5); font-size: var(--fs-small); color: var(--c-muted); }
@media (max-width: 760px){ .trust{ grid-template-columns: minmax(0,1fr); } .trust > div:nth-child(2n){ padding-left: 0; border-left: 0; } }

.cta-band{ position: relative; overflow: hidden; padding: var(--space-9) 0; }
.cta-band .hero__bg{ opacity: .5; }
.cta-band__inner{ position: relative; display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: var(--space-7); align-items: end; }
.cta-band h2{ font-size: var(--fs-h1); margin-bottom: var(--space-4); }
.cta-band .btn-row{ margin-top: 0; justify-content: flex-start; }
.cta-band__contact{ margin-top: var(--space-5); font: var(--fw-medium) 13px/1.6 var(--font-mono); color: var(--c-muted); }
.cta-band__contact a{ color: var(--c-ink); }
@media (max-width: 900px){ .cta-band__inner{ grid-template-columns: minmax(0,1fr); gap: var(--space-5); } }

.faq{ border-top: 1px solid var(--c-ink); max-width: 920px; }
.faq details{ border-bottom: 1px solid var(--c-line); }
.faq summary{ list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(0,1fr) 28px; gap: var(--space-4); align-items: center; padding: var(--space-5) 0; font: var(--fw-semibold) var(--fs-h4)/var(--lh-snug) var(--font-display); color: var(--c-ink); }
.faq summary::-webkit-details-marker{ display: none; }
.faq summary::after{ content: "+"; font: var(--fw-medium) 22px/1 var(--font-mono); color: var(--c-water); text-align: center; }
.faq details[open] summary::after{ content: "−"; }
.faq summary:hover{ color: var(--c-link); }
.faq .faq__a{ padding: 0 0 var(--space-5); max-width: 70ch; }

.video{ margin: 0; }
.video__frame{ background: #07141F; border: 1px solid var(--c-line); border-radius: var(--radius-3); overflow: hidden; box-shadow: var(--elev-2); aspect-ratio: 16 / 9; }
.video__frame video{ display: block; width: 100%; height: 100%; object-fit: contain; background: #07141F; }
.video video::cue{ font-family: "Manrope", system-ui, sans-serif; font-weight: 600; font-size: 70%; line-height: 1.3; background: rgba(7,20,31,.62); color: #FFFFFF; }
.video figcaption{ display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--space-4); padding-top: var(--space-4); font-size: var(--fs-small); }
.video__credit{ font: var(--fw-medium) 12.5px/1.5 var(--font-mono); color: var(--c-muted); margin: 0; max-width: none; }
.video__chapters{ list-style: none; margin: var(--space-5) 0 0; padding: 0; max-width: none; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.video__chapters button{ display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 12px; background: var(--c-surface); color: var(--c-ink); border: 1px solid var(--c-line-strong); border-radius: var(--radius-1); cursor: pointer; font: var(--fw-semibold) var(--fs-small)/1 var(--font-body); }
.video__chapters button .mono{ color: var(--c-muted); font-size: 12px; }
.video__chapters button:hover{ border-color: var(--c-ink); }
.video__chapters button[aria-current="true"]{ border-color: var(--c-water); box-shadow: inset 0 -2px 0 var(--c-live); }
.video__transcript{ margin-top: var(--space-5); border-top: 1px solid var(--c-line); }
.video__transcript summary{ cursor: pointer; padding: var(--space-4) 0; font-weight: 600; color: var(--c-ink); }
@media (max-width: 640px){ .video figcaption{ grid-template-columns: minmax(0,1fr); } }

.form{ display: grid; gap: var(--space-5); max-width: 720px; }
.form__row{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--space-5); }
.field{ display: grid; gap: 6px; }
.field label, .field legend{ font-weight: 600; color: var(--c-ink); font-size: 15px; }
.field .hint{ font-size: var(--fs-small); color: var(--c-muted); }
.field input, .field select, .field textarea{ width: 100%; min-height: 46px; padding: 10px 12px; font: var(--fw-body) 16px/1.4 var(--font-body); color: var(--c-ink); background: var(--c-surface); border: 1px solid var(--c-line-strong); border-radius: var(--radius-1); }
.field textarea{ min-height: 140px; resize: vertical; }
.field input:hover, .field select:hover, .field textarea:hover{ border-color: var(--c-ink); }
.field input:user-invalid, .field textarea:user-invalid{ border-color: var(--c-error); }
.field fieldset, fieldset.field{ border: 0; padding: 0; margin: 0; }
.choice{ display: flex; gap: 10px; align-items: flex-start; font-weight: 400; min-height: 32px; }
.choice input{ width: 20px; height: 20px; min-height: 0; margin: 2px 0 0; accent-color: var(--brand-navy); }
.form-note{ border-left: 3px solid var(--c-live); background: var(--c-live-soft); color: var(--c-ink); padding: var(--space-4) var(--space-5); font-size: 16px; }
.form-note[hidden]{ display: none; }
@media (max-width: 640px){ .form__row{ grid-template-columns: minmax(0,1fr); } }

.contact-list{ margin: 0; display: grid; gap: var(--space-4); }
.contact-list div{ border-top: 1px solid var(--c-line); padding-top: var(--space-3); }
.contact-list dt{ font: var(--fw-medium) var(--fs-label)/1.4 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); }
.contact-list dd{ margin: 4px 0 0; font-size: var(--fs-lead); color: var(--c-ink); user-select: all; -webkit-user-select: all; }
.copy-btn{ margin-left: 10px; min-height: 30px; padding: 0 10px; font: var(--fw-medium) 12px/1 var(--font-mono); color: var(--c-muted); background: transparent; border: 1px solid var(--c-line-strong); border-radius: var(--radius-1); cursor: pointer; user-select: none; vertical-align: middle; }
.copy-btn:hover{ color: var(--c-ink); border-color: var(--c-ink); }

.posts{ list-style: none; margin: 0; padding: 0; max-width: none; border-top: 1px solid var(--c-line); }
.post{ display: grid; grid-template-columns: 140px minmax(0,1fr) auto; gap: var(--space-5); padding: var(--space-5) 0; border-bottom: 1px solid var(--c-line); align-items: baseline; }
.post time{ font: var(--fw-medium) 13px/1.5 var(--font-mono); color: var(--c-muted); font-variant-numeric: tabular-nums; }
.post h3{ font-size: var(--fs-h4); }
.post h3 a{ color: var(--c-ink); text-decoration: none; }
.post h3 a:hover{ text-decoration: underline; color: var(--c-link); }
.post p{ margin-top: var(--space-2); font-size: 16px; }
@media (max-width: 700px){ .post{ grid-template-columns: minmax(0,1fr); gap: var(--space-2); } }
.filters{ display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-5); }
.filters button{ min-height: 38px; padding: 0 12px; background: transparent; color: var(--c-ink); border: 1px solid var(--c-line-strong); border-radius: var(--radius-1); font: var(--fw-semibold) var(--fs-small)/1 var(--font-body); cursor: pointer; }
.filters button[aria-pressed="true"]{ background: var(--c-action-bg); color: var(--c-action-fg); border-color: var(--c-action-bg); }

.quote{ margin: 0; border-left: 3px solid var(--c-live); padding: var(--space-2) 0 var(--space-2) var(--space-6); }
.quote blockquote{ margin: 0; font: var(--fw-semibold) var(--fs-h3)/1.3 var(--font-display); color: var(--c-ink); letter-spacing: var(--tracking-heading); }
.quote figcaption{ margin-top: var(--space-4); font-size: var(--fs-small); color: var(--c-muted); }

.inline-list{ list-style: none; margin: 0; padding: 0; max-width: none; display: flex; flex-wrap: wrap; gap: var(--space-2); }

.site-footer{ margin-top: auto; padding: var(--space-9) 0 var(--space-6); border-top: 1px solid var(--c-line); font-size: 15px; }
.site-footer a{ color: var(--c-text); text-decoration: none; }
.site-footer a:hover{ color: var(--c-ink); text-decoration: underline; }
.footer__top{ display: grid; grid-template-columns: minmax(0,4fr) repeat(3, minmax(0,2fr)) minmax(0,3fr); gap: var(--space-6); }
.footer__brand img{ width: 132px; height: auto; margin-bottom: var(--space-4); }
.footer__brand .logo-phrea{ width: 168px; }
.footer__brand p{ color: var(--c-muted); }
.footer__promise{ font: var(--fw-semibold) var(--fs-h4)/1.3 var(--font-display); color: var(--c-ink) !important; margin-bottom: var(--space-4); max-width: 26ch; }
.footer__col h2{ font: var(--fw-medium) var(--fs-label)/1.4 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); margin: 0 0 var(--space-4); }
.footer__col ul{ list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.footer__col address{ font-style: normal; color: var(--c-text); line-height: 1.7; }
.footer__col address .num{ white-space: nowrap; user-select: all; -webkit-user-select: all; }
.footer__col address .lbl{ display: block; margin-top: var(--space-2); font: var(--fw-medium) 12.5px/1.4 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); }
.footer__col address .lbl + .num + br{ display: none; }
.footer__cross{ border: 1px solid var(--c-line); padding: var(--space-5); align-self: start; }
.footer__cross img{ width: 150px; height: auto; margin-bottom: var(--space-3); }
.footer__cross p{ color: var(--c-muted); font-size: var(--fs-small); margin-bottom: var(--space-3); }
.footer__cross a{ color: var(--c-link); font-weight: 600; }
.footer__notes{ margin-top: var(--space-8); padding-top: var(--space-4); border-top: 1px solid var(--c-line); display: grid; gap: 6px; font: var(--fw-medium) 12.5px/1.6 var(--font-mono); color: var(--c-muted); }
.footer__notes p{ max-width: none; margin: 0; }
.footer__legal{ margin-top: var(--space-5); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-4); font-size: var(--fs-small); color: var(--c-muted); }
.footer__social{ display: flex; gap: var(--space-4); }
@media (max-width: 1080px){ .footer__top{ grid-template-columns: repeat(3, minmax(0,1fr)); } .footer__brand, .footer__cross{ grid-column: 1 / -1; } }
@media (max-width: 600px){ .footer__top{ grid-template-columns: minmax(0,1fr) minmax(0,1fr); } }

.device{ margin: 0; }
.device svg{ display: block; width: 100%; height: auto; }
.device--framed{ border: 1px solid var(--c-line); background: var(--c-surface); }
.device figcaption{ padding: var(--space-3) 0 0; font: var(--fw-medium) 12.5px/1.4 var(--font-mono); color: var(--c-muted); }

@media print{
  .site-header, .nav-panel, .theme-toggle, .lang, .video__chapters, .hero__bg{ display: none !important; }
  .ground{ background: #FFFFFF !important; color: #000000 !important; }
  a{ color: #000000; }
}

.flow--4{ grid-template-columns: repeat(4, minmax(0,1fr)); }
.flow--5{ grid-template-columns: repeat(5, minmax(0,1fr)); }
.flow b{ overflow-wrap: anywhere; hyphens: auto; -webkit-hyphens: auto; }
@media (max-width: 1080px){ .flow--4{ grid-template-columns: repeat(2, minmax(0,1fr)); } .flow--5{ grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 560px){ .flow--4, .flow--5{ grid-template-columns: minmax(0,1fr); } }

.hero--shot .shot{ position: relative; z-index: 1; }
.hero--shot + .section--rule{ border-top: 0; }

h1, h2, .display{ hyphens: manual; -webkit-hyphens: manual; text-wrap: balance; }
@media (max-width: 640px){ h1, h2, .display{ hyphens: auto; -webkit-hyphens: auto; } }

.hero--page .hero__inner{ grid-template-columns: minmax(0,1fr); gap: var(--space-5); }
.hero--page .hero__copy .lead{ max-width: 68ch; }
.hero--page .hero__meta{ margin-top: 0; }

.module-note{ max-width: 72ch; }

.trust > div{ display: block; position: relative; padding-left: calc(40px + var(--space-4)); }
.trust > div:nth-child(2n){ padding-left: calc(var(--space-5) + 40px + var(--space-4)); }
.trust dt .icon{ position: absolute; left: 0; top: var(--space-5); }
.trust > div:nth-child(2n) dt .icon{ left: var(--space-5); }
.trust > div:last-child:nth-child(odd){ grid-column: 1 / -1; }
@media (max-width: 760px){ .trust > div:nth-child(2n){ padding-left: calc(40px + var(--space-4)); } .trust > div:nth-child(2n) dt .icon{ left: 0; } }

[data-approval]{ display: none !important; }

.logo-wall{ border: 0; border-top: 1px solid var(--c-line); grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); column-gap: var(--space-5); }
.logo-wall li{ border: 0; background: none; min-height: 0; justify-content: flex-start; text-align: left; padding: var(--space-3) 0; border-bottom: 1px solid var(--c-grid); font-weight: var(--fw-medium); }

.dated{ list-style: none; margin: var(--space-5) 0 0; padding: 0; max-width: none; border-top: 1px solid var(--c-line); }
.dated li{ display: grid; grid-template-columns: 7.5rem minmax(0,1fr); gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--c-line); font-size: var(--fs-small); }
.dated time{ font: var(--fw-medium) var(--fs-label)/1.6 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); }

.integrations{ margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--c-ink); }
.integrations > div{ padding: var(--space-4) var(--space-5) var(--space-4) 0; border-bottom: 1px solid var(--c-line); }
.integrations > div:nth-child(2n){ padding-left: var(--space-5); border-left: 1px solid var(--c-line); }
.integrations dt{ font: var(--fw-medium) var(--fs-label)/1.4 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); margin-bottom: var(--space-2); }
.integrations dd{ margin: 0; color: var(--c-ink); font-weight: var(--fw-medium); }
@media (max-width: 760px){ .integrations{ grid-template-columns: minmax(0,1fr); } .integrations > div:nth-child(2n){ padding-left: 0; border-left: 0; } }
.ask-examples{ margin: var(--space-2) 0 var(--space-4); padding-left: 1.2em; font-style: italic; color: var(--c-ink); }

.video-card{ display: block; position: relative; border: 1px solid var(--c-line); border-radius: var(--radius-3); overflow: hidden; box-shadow: var(--elev-2); text-decoration: none; background: var(--c-surface); }
.video-card img{ display: block; width: 100%; height: auto; }
.video-card__play{ position: absolute; left: 50%; top: 42%; width: 72px; height: 72px; margin: -36px 0 0 -36px; border-radius: 50%; background: var(--c-action-bg); box-shadow: var(--elev-2); }
.video-card__play::after{ content: ""; position: absolute; left: 29px; top: 22px; border-style: solid; border-width: 14px 0 14px 22px; border-color: transparent transparent transparent var(--c-action-fg); }
.video-card__label{ display: block; padding: 12px 16px; border-top: 1px solid var(--c-line); font-weight: 600; color: var(--c-link); }
.video-card:hover .video-card__label{ text-decoration: underline; }

.form-preview{ margin: 0 0 var(--space-3); }

@media (max-width: 640px){
  .shot--pan .shot__link{ overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .shot--pan .shot__link img{ width: auto; min-width: 640px; max-width: none; }
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .section.ground, :root:not([data-theme="light"]) .cta-band.ground, :root:not([data-theme="light"]) .site-footer.ground{ background: #0D1E2C; border-block: 1px solid #22394D; }
}
:root[data-theme="dark"] .section.ground, :root[data-theme="dark"] .cta-band.ground, :root[data-theme="dark"] .site-footer.ground{ background: #0D1E2C; border-block: 1px solid #22394D; }

.nav a[aria-current="true"]::after{ content: ""; position: absolute; left: 11px; right: 11px; bottom: 6px; height: 2px; background: var(--c-live); }
@media (max-width: 1279.98px){ .nav-panel li a[aria-current="true"]{ color: var(--c-link); } }

.device--illus{ max-width: 100%; }
.device--illus svg{ max-height: 70vh; }
.device--inset{ background: var(--c-sunken); border: 1px solid var(--c-line); padding: clamp(12px, 3vw, var(--space-6)); }
.device--illus figcaption{ max-width: 60ch; }

.glimpse{ margin: 0; position: relative; max-width: 1100px; }
.glimpse--hero{ max-width: 1400px; }
.glimpse__media{ position: relative; overflow: hidden; border-radius: var(--radius-3); background: var(--c-surface);
  -webkit-mask-image: linear-gradient(to right, #000 62%, transparent 98%); mask-image: linear-gradient(to right, #000 62%, transparent 98%); }
.glimpse__media img{ display: block; width: 100%; height: auto; }
.glimpse--fade-b .glimpse__media{ -webkit-mask-image: linear-gradient(to bottom, #000 62%, transparent 98%); mask-image: linear-gradient(to bottom, #000 62%, transparent 98%); }
.glimpse--fade-l .glimpse__media{ -webkit-mask-image: linear-gradient(to left, #000 62%, transparent 98%); mask-image: linear-gradient(to left, #000 62%, transparent 98%); }
.glimpse--fade-rb .glimpse__media{
  -webkit-mask-image: linear-gradient(to right, #000 62%, transparent 98%), linear-gradient(to bottom, #000 62%, transparent 98%); -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right, #000 62%, transparent 98%), linear-gradient(to bottom, #000 62%, transparent 98%); mask-composite: intersect; }

.glimpse--focus .glimpse__media::after{ content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .8;
  background: radial-gradient(ellipse 58% 68% at var(--gx, 40%) var(--gy, 50%), transparent 42%, var(--c-bg) 100%); }

@media (min-width: 900px){
  .glimpse--tilt{ perspective: 1600px; }
  .glimpse--tilt .glimpse__media{ transform: rotateY(-7deg) rotateX(2deg); transform-origin: 0 50%; box-shadow: var(--elev-2); }
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .glimpse__media img{ filter: brightness(.92); } }
:root[data-theme="dark"] .glimpse__media img{ filter: brightness(.92); }
.glimpse__tag{ position: absolute; z-index: 1; left: 12px; top: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px;
  font: var(--fw-medium) var(--fs-label)/1 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase;
  color: var(--c-ink); background: var(--c-surface); border: 1px solid var(--c-line-strong); border-radius: var(--radius-1); }
.glimpse__tag::before{ content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--c-live); }
.glimpse figcaption{ display: flex; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; margin-top: var(--space-3); padding-top: 9px; border-top: 1px solid var(--c-line);
  font: var(--fw-medium) 12.5px/1.45 var(--font-mono); color: var(--c-muted); letter-spacing: .02em; }
.glimpse figcaption .dot{ margin-right: 6px; width: 7px; height: 7px; }

.hero--shot .glimpse{ margin-bottom: var(--space-7); }
.hero--shot:has(.glimpse) + *{ padding-top: var(--space-section); }

.glimpse--fade-lb .glimpse__media{
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 12%, #000 100%), linear-gradient(to bottom, #000 78%, transparent 100%); -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right, transparent 0, #000 12%, #000 100%), linear-gradient(to bottom, #000 78%, transparent 100%); mask-composite: intersect; }

.glimpse--tag-r .glimpse__tag{ left: auto; right: 12px; }

h1, .hero h1{ hyphens: manual; -webkit-hyphens: manual; }

@media (max-width: 640px){
  .glimpse--illus-sm .glimpse__tag{ display: none; }
  .glimpse--illus-sm .glimpse__media{ -webkit-mask-image: none; mask-image: none; background: transparent; }
  .glimpse--illus-sm .glimpse__media img{ filter: none; }
}
.hero__aside{ max-width: 60ch; }

@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) svg[aria-label^="Kaart met een gemarkeerde"] :is(.il-ct,.il-ctm),
  :root:not([data-theme="light"]) svg[aria-label^="Map with one highlighted"] :is(.il-ct,.il-ctm){ stroke: #7E9AB2; stroke-opacity: .6; } }
:root[data-theme="dark"] svg[aria-label^="Kaart met een gemarkeerde"] :is(.il-ct,.il-ctm),
:root[data-theme="dark"] svg[aria-label^="Map with one highlighted"] :is(.il-ct,.il-ctm){ stroke: #7E9AB2; stroke-opacity: .6; }

.flow--3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 560px){ .flow--3{ grid-template-columns: minmax(0,1fr); } }

.device--illus{ align-self: start; }
.device--illus svg{ display: block; width: 100%; height: auto; max-height: none; }
.device--inset{ padding: clamp(12px, 3vw, var(--space-5)); }
.device--illus svg .il-wat, .device--illus svg .il-lives{ stroke-width: 2.8; }
.device--illus svg .il-navy{ stroke-width: 2.6; }
.device--illus svg .il-fit{ stroke-width: 2.4; }
.device--illus svg .il-ink, .device--illus svg .il-inkf{ stroke-width: 1.9; }
.device--illus svg .il-soft{ stroke-width: 1.7; }
.device--illus svg .il-band{ fill-opacity: .22; }

.glimpse--baked{ max-width: 900px; margin-left: auto; margin-right: auto; }
.glimpse--baked .glimpse__media{ -webkit-mask-image: none; mask-image: none; background: transparent; border-radius: 0; }
.glimpse figcaption .glimpse__tag{ position: static; }
@media (max-width: 640px){ .glimpse--hero.glimpse--baked{ display: none; } }
.video__lang{ margin: 0 0 var(--space-1); font-size: var(--fs-small); color: var(--c-muted); }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .glimpse--baked .glimpse__media img{ filter: invert(.9) hue-rotate(180deg) saturate(1.2); } }
:root[data-theme="dark"] .glimpse--baked .glimpse__media img{ filter: invert(.9) hue-rotate(180deg) saturate(1.2); }
:root{
  --wave-h: clamp(64px, 12vw, 176px);
  --x-light: var(--c-bg);
  --x-sunken: var(--c-sunken);
  --x-surface: var(--c-surface);
  --x-contour: var(--c-contour);
  --x-contour-major: var(--c-contour-major);
  --x-ground: var(--g-bg);
  --x-navy: var(--brand-navy);
  --n-text: #FFFFFF;
  --n-muted: #C9D6E3;
  --n-link: #CFE3F5;
  --n-line: rgba(255,255,255,.22);
  --n-line-strong: rgba(255,255,255,.34);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --x-ground: #0D1E2C; } }
:root[data-theme="dark"]{ --x-ground: #0D1E2C; }
.navy{
  color-scheme: dark;
  --c-bg: var(--brand-navy); --c-surface: var(--brand-navy-mid); --c-sunken: var(--brand-navy-mid);
  --c-ink: var(--n-text); --c-text: var(--n-text); --c-muted: var(--n-muted); --c-navy: var(--n-link);
  --c-line: var(--n-line); --c-grid: rgba(255,255,255,.12); --c-line-strong: rgba(255,255,255,.55);
  --c-contour: var(--n-line); --c-contour-major: var(--n-line-strong);
  --c-water: var(--g-water); --c-water-soft: var(--brand-navy-mid);
  --c-live: var(--brand-green); --c-live-text: #A3D877; --c-live-soft: var(--brand-navy-mid);
  --c-action-bg: var(--brand-green); --c-action-fg: #07141F; --c-action-hover: #A3D877;
  --c-link: var(--n-link); --c-focus: #A3D877; --c-error: #FF8A80; --c-selection: var(--brand-navy-deep);
  background-color: var(--c-bg); color: var(--c-text);
}
.section.navy, .cta-band.navy{ background: var(--c-bg); }
.navy .on-dark{ display: inline-block; }
.navy .on-light{ display: none; }
.wave{
  --wave-from: var(--x-light); --wave-to: var(--x-light);
  --wave-from-line: var(--x-contour-major); --wave-from-dash: var(--x-contour);
  --wave-base: var(--wave-from); --wave-paint: var(--wave-to);
  position: relative; display: block; height: var(--wave-h); margin: 0;
  background: var(--wave-base); overflow-x: clip; pointer-events: none;
}
.wave svg{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; max-width: none; overflow: visible; display: block; }
.wave .wave__lines{ top: -10px; }
.wave .wave__lines--dash{ top: -18px; }
.wave__fill{ fill: var(--wave-paint); }
.wave__echo{ display: none; fill: color-mix(in srgb, var(--wave-to) 36%, var(--wave-from)); }
.wave__line, .wave__dash{ fill: none; stroke-width: 1px; vector-effect: non-scaling-stroke; }
.wave__line{ stroke: var(--wave-from-line); }
.wave__dash{ stroke: var(--wave-from-dash); stroke-dasharray: 6 8; }
.wave__dot, .wave__dot-ring{ display: none; fill: none; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.wave__dot{ stroke: var(--c-live); stroke-width: 10px; }
.wave__dot-ring{ stroke: var(--wave-base); stroke-width: 16px; }
.wave--to-light{ --wave-to: var(--x-light); }
.wave--to-sunken{ --wave-to: var(--x-sunken); }
.wave--to-surface{ --wave-to: var(--x-surface); }
.wave--to-ground{ --wave-to: var(--x-ground); }
.wave--to-navy{ --wave-to: var(--x-navy); }
.wave--from-light{ --wave-from: var(--x-light); }
.wave--from-sunken{ --wave-from: var(--x-sunken); }
.wave--from-surface{ --wave-from: var(--x-surface); }
.wave--from-ground{ --wave-from: var(--x-ground); --wave-from-line: var(--g-line-strong); --wave-from-dash: var(--g-line); }
.wave--from-navy{ --wave-from: var(--x-navy); --wave-from-line: var(--n-line-strong); --wave-from-dash: var(--n-line); }
.wave--plain .wave__lines{ display: none; }
.wave--echo .wave__echo{ display: inline; }
.wave--flip-x svg{ transform: scaleX(-1); }
.wave--flip-y svg{ transform: scaleY(-1); }
.wave--flip-x.wave--flip-y svg{ transform: scale(-1,-1); }
.wave--flip-y{ --wave-base: var(--wave-to); --wave-paint: var(--wave-from); }
.wave--tuck{ margin-top: calc(-.5 * var(--space-section)); }
.wave--dot .wave__dot, .wave--dot .wave__dot-ring, .wave--hero .wave__dot, .wave--hero .wave__dot-ring{ display: inline; }
@media (prefers-reduced-motion: no-preference){
  .wave--flow .wave__dash, .wave--hero .wave__dash{ animation: wave-flow 9s linear infinite; }
}
@keyframes wave-flow{ to{ stroke-dashoffset: -140; } }
.hero:has(+ .wave), .hero.wave-bottom{ border-bottom: 0; }
.wave + .ground, :root:not([data-theme="light"]) .wave + .ground, :root[data-theme="dark"] .wave + .ground{ border-top-width: 0; }
.ground:has(+ .wave), :root:not([data-theme="light"]) .ground:has(+ .wave), :root[data-theme="dark"] .ground:has(+ .wave){ border-bottom-width: 0; }
:where(.wave-bottom){ --wave-to: var(--x-light); }
:where(.wave-top){ --wave-from: var(--x-light); }
.wave-bottom{ position: relative; padding-bottom: max(var(--space-section), calc(var(--wave-h) + var(--space-6))); }
.wave-top{ position: relative; padding-top: max(var(--space-section), calc(var(--wave-h) + var(--space-6))); }
.hero.wave-bottom{ padding-bottom: var(--wave-h); }
.wave-bottom::after, .wave-top::before,
.wave-bottom:not(.wave-top)::before, .wave-top:not(.wave-bottom)::after{
  content: ""; position: absolute; left: 0; right: 0; pointer-events: none;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: 100% var(--wave-h); mask-size: 100% var(--wave-h);
}
.wave-bottom::after{ bottom: 0; height: var(--wave-h); background: var(--wave-to);
  -webkit-mask-image: url("/dawaco-site/assets/img/waves/wave-bottom.svg"); mask-image: url("/dawaco-site/assets/img/waves/wave-bottom.svg"); }
.wave-top::before{ top: 0; height: var(--wave-h); background: var(--wave-from);
  -webkit-mask-image: url("/dawaco-site/assets/img/waves/wave-top.svg"); mask-image: url("/dawaco-site/assets/img/waves/wave-top.svg"); }
.wave-bottom:not(.wave-top)::before{ bottom: 0; height: calc(var(--wave-h) + 18px); background: var(--c-contour-major);
  -webkit-mask-image: url("/dawaco-site/assets/img/waves/wave-line.svg"), url("/dawaco-site/assets/img/waves/wave-dash.svg"); mask-image: url("/dawaco-site/assets/img/waves/wave-line.svg"), url("/dawaco-site/assets/img/waves/wave-dash.svg");
  -webkit-mask-position: left 0 bottom 10px, left 0 bottom 18px; mask-position: left 0 bottom 10px, left 0 bottom 18px; }
.wave-top:not(.wave-bottom)::after{ top: 0; height: calc(var(--wave-h) + 18px); background: var(--c-contour-major);
  -webkit-mask-image: url("/dawaco-site/assets/img/waves/wave-line.svg"), url("/dawaco-site/assets/img/waves/wave-dash.svg"); mask-image: url("/dawaco-site/assets/img/waves/wave-line.svg"), url("/dawaco-site/assets/img/waves/wave-dash.svg");
  -webkit-mask-position: left 0 top 10px, left 0 top 18px; mask-position: left 0 top 10px, left 0 top 18px; }
.wave--flip-x.wave-bottom::before, .wave--flip-x.wave-bottom::after, .wave--flip-x.wave-top::before, .wave--flip-x.wave-top::after{ transform: scaleX(-1); }
.wave-bottom.wave--plain::before, .wave-top.wave--plain::after{ content: none; }
.wave-bottom, :root:not([data-theme="light"]) .wave-bottom.wave-bottom, :root[data-theme="dark"] .wave-bottom.wave-bottom{ border-bottom-width: 0; }
.wave-top, :root:not([data-theme="light"]) .wave-top.wave-top, :root[data-theme="dark"] .wave-top.wave-top{ border-top-width: 0; }
.cycle{ margin: 0; display: grid; justify-items: center; gap: var(--space-4); }
.cycle__wheel{ display: block; width: min(100%, 520px); height: auto; }
.cycle figcaption{ font-size: var(--fs-small); color: var(--c-muted); max-width: 52ch; text-align: center; }
@media (min-width: 1080px){ .cycle--sticky{ position: sticky; top: calc(var(--header-h, 69px) + var(--space-6)); } }
@media (max-width: 480px){ .cycle__wheel{ width: min(100%, 340px); } }
.cycle-legend{ list-style: none; margin: 0; padding: 0; counter-reset: cyc; border-top: 1px solid var(--c-line); }
.cycle-legend > li{ counter-increment: cyc; display: grid; grid-template-columns: 3.2ch minmax(0,1fr); column-gap: var(--space-3); padding: var(--space-4) 0; border-bottom: 1px solid var(--c-line); }
.cycle-legend > li::before{ content: counter(cyc, decimal-leading-zero); grid-row: 1 / span 3; font: var(--fw-medium) var(--fs-label)/1.9 var(--font-mono); letter-spacing: var(--tracking-label); color: var(--c-muted); }
.cycle-legend h3{ margin: 0 0 var(--space-2); font-size: var(--fs-h4); }
.cycle-legend p{ margin: 0; display: grid; grid-template-columns: 9ch minmax(0,1fr); column-gap: var(--space-3); max-width: 70ch; }
.cycle-legend p + p{ margin-top: var(--space-2); }
.cycle-legend__tag{ font: var(--fw-medium) var(--fs-label)/1.9 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-navy); }
@media (max-width: 480px){ .cycle-legend p{ grid-template-columns: minmax(0,1fr); } }

.announce{ background: var(--brand-navy-mid); color: var(--g-text); font-size: var(--fs-small); }
.announce .wrap{ display: flex; flex-wrap: wrap; align-items: center; gap: 6px var(--space-4); min-height: 44px; padding-top: 8px; padding-bottom: 8px; }
.announce p{ margin: 0; max-width: none; color: var(--g-text); }
.announce strong{ color: #FFFFFF; font-weight: 600; }
.announce__tag{ display: inline-block; font: var(--fw-medium) 12px/1 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: #07141F; background: var(--brand-green); border-radius: var(--radius-1); padding: 5px 7px; margin-right: 10px; vertical-align: 1px; }
.announce a{ color: #FFFFFF; font-weight: 600; text-decoration: underline; text-underline-offset: .2em; white-space: nowrap; }
.announce a:focus-visible{ outline: 2px solid #A3D877; outline-offset: 2px; }
@media (max-width: 700px){ .announce__more{ display: none; } }
.home > .section{ padding: clamp(48px, 2rem + 3vw, 88px) 0; }
.home .section-head{ margin-bottom: var(--space-6); }
.home-hero{ background: var(--c-bg); }
.home-hero .hero__bg{ opacity: .5; -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 38%, transparent 62%); mask-image: linear-gradient(90deg, #000 0%, #000 38%, transparent 62%); }
.home-hero__grid{ position: relative; display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); grid-template-areas: "copy film" "cta film"; column-gap: var(--space-8); align-items: start; padding-top: var(--space-7); padding-bottom: var(--space-6); }
.home-hero__copy{ grid-area: copy; }
.home-hero__cta{ grid-area: cta; }
.home-hero__film{ grid-area: film; }
.home-hero .display{ font-size: clamp(2.75rem, 1.2rem + 4.2vw, 5.25rem); margin: 0 0 var(--space-5); }
.home-hero .lead{ max-width: 46ch; margin: 0; }
.home-hero .kicker, .home-hero .lead{ background: color-mix(in srgb, var(--c-bg) 84%, transparent); }
.home-hero__cta .btn-row{ margin-top: var(--space-6); }
.home-facts{ list-style: none; margin: var(--space-6) 0 0; padding: var(--space-4) 0 0; max-width: none; display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); border-top: 1px solid var(--c-line); font: var(--fw-medium) var(--fs-label)/1.5 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); }
.film-label{ display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); margin: 0 0 var(--space-3); max-width: none; font: var(--fw-medium) var(--fs-label)/1.4 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); }
.film-label a{ text-transform: none; letter-spacing: 0; font: var(--fw-semibold) var(--fs-small)/1.4 var(--font-body); white-space: nowrap; }
.home-hero__film figcaption{ display: block; padding-top: var(--space-3); }
.home-hero__film .video__credit{ margin-top: var(--space-1); }
.home-hero__film figcaption > span{ display: block; }
.home-hero__film figcaption > span + span{ margin-top: 2px; color: var(--c-muted); }
@media (max-width: 1079px){
  .home-hero__grid{ grid-template-columns: minmax(0,1fr); grid-template-areas: "copy" "film" "cta"; row-gap: var(--space-5); padding-top: var(--space-6); }
  .home-hero__cta .btn-row{ margin-top: 0; }
  .home-hero .display{ margin-bottom: var(--space-4); }
}
@media (max-width: 639px){ .home-facts{ display: none; } .film-label{ margin-bottom: var(--space-2); } }
.home > .home-release{ padding: var(--space-7) 0 var(--space-8); }
.home-release__mark{ display: block; width: 280px; max-width: 100%; height: auto; margin: 0 0 var(--space-5); }
.home-release h2{ font-size: var(--fs-h3); max-width: 26ch; }
.home-release .lead{ margin-top: var(--space-4); font-size: 17px; max-width: 58ch; }
.home-release .btn-row{ margin-top: var(--space-5); }
.home-release .btn.ghost{ color: var(--c-ink); }
.facts-list{ margin: 0; border-top: 1px solid var(--c-line); }
.facts-list > div{ display: grid; grid-template-columns: 11.5rem minmax(0,1fr); gap: var(--space-4); padding: 11px 0; border-bottom: 1px solid var(--c-line); }
.facts-list dt{ font: var(--fw-medium) var(--fs-label)/1.6 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); }
.facts-list dd{ margin: 0; color: var(--c-ink); font-weight: 600; font-size: 16px; }
.home-release__more{ margin: var(--space-4) 0 0; font-size: var(--fs-small); color: var(--c-muted); }
.home-release__more a{ color: var(--c-ink); font-weight: 600; }
@media (max-width: 900px){ .home-release__mark{ width: 220px; } .facts-list > div{ grid-template-columns: minmax(0,1fr); gap: 2px; } }
.mv{ display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); border-top: 1px solid var(--c-ink); }
.mv > div{ padding: var(--space-6) var(--space-7) var(--space-6) 0; }
.mv > div + div{ padding-left: var(--space-7); padding-right: 0; border-left: 1px solid var(--c-line); }
.mv h3{ font-size: var(--fs-h4); margin: 0 0 var(--space-3); }
.mv p{ max-width: 62ch; }
.mv p + p{ margin-top: var(--space-3); }
.mv .mv__line{ font: var(--fw-semibold) var(--fs-h4)/1.35 var(--font-display); color: var(--c-ink); }
@media (max-width: 939px){ .mv > div, .mv > div + div{ padding: var(--space-5) 0; border-left: 0; } .mv > div + div{ border-top: 1px solid var(--c-line); } }
.stances{ list-style: none; margin: var(--space-6) 0 0; padding: 0; max-width: none; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border-top: 1px solid var(--c-line); }
.stances li{ padding: var(--space-5) var(--space-5) var(--space-5) 0; }
.stances li + li{ padding-left: var(--space-5); border-left: 1px solid var(--c-line); }
.stances .icon{ color: var(--c-navy); margin-bottom: var(--space-3); }
.stances h3{ font-size: var(--fs-h4); margin: 0 0 var(--space-2); }
.stances p{ font-size: 16px; margin: 0; }
@media (max-width: 1079px){ .stances{ grid-template-columns: repeat(2, minmax(0,1fr)); } .stances li:nth-child(3){ padding-left: 0; border-left: 0; } .stances li:nth-child(n+3){ border-top: 1px solid var(--c-line); } }
@media (max-width: 519px){ .stances li{ padding: var(--space-4) var(--space-3) var(--space-4) 0; } .stances li:nth-child(2n){ padding-left: var(--space-3); padding-right: 0; } .stances h3{ font-size: 17px; } .stances p{ font-size: 14.5px; } .stances .icon{ margin-bottom: var(--space-2); } }
.home-more{ margin: var(--space-5) 0 0; }
.solutions{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--space-5); margin-bottom: var(--space-8); }
.solution{ position: relative; display: grid; grid-template-columns: auto minmax(0,1fr); gap: var(--space-5); padding: var(--space-6); background: var(--c-surface); border: 1px solid var(--c-line); border-top: 3px solid var(--c-navy); }
.solution--eco{ border-top-color: var(--c-live); }
.solution .icon{ color: var(--c-navy); }
.solution .label{ display: block; margin-bottom: var(--space-2); }
.solution h3{ font-size: var(--fs-h3); margin: 0 0 var(--space-3); }
.solution p{ font-size: 16px; margin: 0 0 var(--space-3); }
.solution .link-arrow::before{ content: ""; position: absolute; inset: 0; }
.solution:hover{ border-color: var(--c-line-strong); }
.solution:focus-within{ outline: 2px solid var(--c-focus); outline-offset: 2px; }
.solution .link-arrow:focus-visible{ outline: 0; }
.sub-head{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--space-3); margin: 0 0 var(--space-4); }
.sub-head h3{ font-size: var(--fs-h3); }
.feature h4{ font-size: var(--fs-h4); margin: 0 0 var(--space-3); }
.home .features + .footnote{ margin-top: var(--space-4); }
@media (max-width: 900px){ .solutions{ grid-template-columns: minmax(0,1fr); margin-bottom: var(--space-7); } }
@media (max-width: 519px){ .solution{ grid-template-columns: minmax(0,1fr); padding: var(--space-5); gap: var(--space-3); } }
.home-cycle{ align-items: start; }
.home-cycle .cycle__wheel{ width: min(100%, 480px); }
.home .cycle-legend > li{ grid-template-columns: 3.2ch minmax(0,1fr) minmax(0,1fr); column-gap: var(--space-4); padding: var(--space-3) 0; }
.home .cycle-legend > li::before{ grid-row: 1 / span 2; }
.home .cycle-legend h3{ grid-column: 2 / -1; margin-bottom: var(--space-1); }
.home .cycle-legend p{ display: block; font-size: 15px; }
.home .cycle-legend p + p{ margin-top: 0; }
.home .cycle-legend__tag{ display: block; line-height: 1.6; }
.home #h-cycle .footnote{ margin-top: var(--space-4); }
@media (max-width: 719px){
  .home .cycle-legend > li{ grid-template-columns: 3.2ch minmax(0,1fr); }
  .home .cycle-legend > li::before{ grid-row: 1 / span 3; }
  .home .cycle-legend h3{ grid-column: 2; }
  .home .cycle-legend p{ grid-column: 2; }
  .home .cycle-legend p + p{ margin-top: var(--space-2); }
  .home .cycle-legend__tag{ display: inline; margin-right: var(--space-2); }
}
.home > .home-method{ padding: var(--space-6) 0 var(--space-7); }
.method{ list-style: none; margin: var(--space-6) 0 var(--space-5); padding: 0; max-width: none; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: var(--space-5); position: relative; }
.method::before{ content: ""; position: absolute; top: 28px; left: 10%; right: 10%; border-top: 1px solid var(--c-line); }
.method li{ position: relative; text-align: center; }
.method__ic{ position: relative; display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--c-bg); border: 1px solid var(--c-line-strong); color: var(--c-ink); margin-bottom: var(--space-3); }
.method__ic svg{ width: 32px; height: 32px; display: block; }
.method h3{ font-size: var(--fs-h4); margin: 0 0 var(--space-2); }
.method p{ font-size: 16px; color: var(--c-muted); max-width: 22ch; margin: 0 auto; }
@media (max-width: 1079px){
  .method{ grid-template-columns: minmax(0,1fr); gap: var(--space-4); }
  .method::before{ top: 28px; bottom: 28px; left: 28px; right: auto; border-top: 0; border-left: 1px solid var(--c-line); }
  .method li{ text-align: left; display: grid; grid-template-columns: 56px minmax(0,1fr); column-gap: var(--space-4); align-items: center; }
  .method__ic{ grid-row: span 2; margin: 0; }
  .method p{ margin: 0; max-width: none; }
}
.sector-grid{ list-style: none; margin: 0; padding: 0; max-width: none; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--c-line); }
.sector-grid li{ border-bottom: 1px solid var(--c-line); }
.sector-grid li:not(:nth-child(3n+1)){ border-left: 1px solid var(--c-line); }
.sector-grid a{ display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--space-2) var(--space-4); height: 100%; padding: var(--space-5); text-decoration: none; color: var(--c-text); }
.sector-grid li:nth-child(3n+1) a{ padding-left: 0; }
.sector-grid h3{ font-size: var(--fs-h4); margin: 0; grid-column: 1; }
.sector-grid p{ grid-column: 1; margin: 0; font-size: 16px; }
.sector-grid .arr{ grid-column: 2; grid-row: 1 / span 2; align-self: center; font-family: var(--font-mono); color: var(--c-link); }
.sector-grid a:hover h3{ text-decoration: underline; text-underline-offset: .2em; }
@media (prefers-reduced-motion: no-preference){ .sector-grid .arr{ transition: transform var(--dur-fast) var(--ease-out); } .sector-grid a:hover .arr{ transform: translateX(3px); } }
@media (max-width: 1079px){ .sector-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } .sector-grid li:nth-child(n){ border-left: 0; } .sector-grid li:nth-child(2n){ border-left: 1px solid var(--c-line); } .sector-grid li a{ padding-left: var(--space-5); } .sector-grid li:nth-child(2n+1) a{ padding-left: 0; } }
@media (max-width: 719px){ .sector-grid{ grid-template-columns: minmax(0,1fr); } .sector-grid li:nth-child(n){ border-left: 0; } .sector-grid li:nth-child(n) a{ padding: var(--space-4) 0; } }
.heritage{ list-style: none; margin: var(--space-6) 0 0; padding: 0; max-width: none; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: var(--space-5); position: relative; }
.heritage::before{ content: ""; position: absolute; top: 6px; left: 0; right: 0; border-top: 1px solid var(--c-line-strong); }
.heritage li{ position: relative; padding-top: var(--space-5); }
.heritage li::before{ content: ""; position: absolute; left: 0; top: 0; width: 13px; height: 13px; border-radius: 50%; background: var(--c-sunken); border: 1.6px solid var(--c-navy); box-sizing: border-box; }
.heritage li.is-now::before{ background: var(--c-live); border-color: var(--c-live); }
.heritage__when{ display: block; font: var(--fw-medium) var(--fs-label)/1.5 var(--font-mono); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--c-muted); }
.heritage h3{ font-size: 18px; margin: var(--space-1) 0 var(--space-1); }
.heritage p{ font-size: var(--fs-small); margin: 0; color: var(--c-text); }
@media (max-width: 719px){
  .heritage{ grid-template-columns: minmax(0,1fr); gap: var(--space-3); padding-left: var(--space-5); }
  .heritage::before{ top: 4px; bottom: 4px; left: 6px; right: auto; border-top: 0; border-left: 1px solid var(--c-line-strong); }
  .heritage li{ padding-top: 0; }
  .heritage li::before{ left: calc(-1 * var(--space-5)); top: 4px; }
}
.home-case{ margin-top: var(--space-7); align-items: center; }
.home-case h3{ font-size: var(--fs-h3); margin: 0 0 var(--space-3); }
.home-orgs{ margin-top: var(--space-7); }
.home-orgs h3{ font-size: var(--fs-h4); margin: 0 0 var(--space-2); }
.home-orgs > p{ margin: 0 0 var(--space-4); font-size: 16px; }
.home-orgs .logo-wall{ grid-template-columns: repeat(6, minmax(0,1fr)); }
@media (max-width: 1079px){ .home-orgs .logo-wall{ grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 519px){ .home-orgs .logo-wall{ grid-template-columns: repeat(2, minmax(0,1fr)); } .home-orgs .logo-wall li{ font-size: 13px; padding: var(--space-2) 0; } }
.news-feature{ position: relative; padding: var(--space-6); }
.news-feature .label{ display: block; margin-bottom: var(--space-4); }
.news-feature img{ display: block; width: 200px; height: auto; margin-bottom: var(--space-5); }
.news-feature h3{ font-size: var(--fs-h3); margin: 0 0 var(--space-3); }
.news-feature h3 a{ color: var(--c-ink); text-decoration: none; }
.news-feature h3 a::before{ content: ""; position: absolute; inset: 0; }
.news-feature h3 a:hover{ text-decoration: underline; text-underline-offset: .2em; }
.news-feature p{ font-size: 16px; margin: 0; }
.news-feature time{ display: block; margin-top: var(--space-4); font: var(--fw-medium) var(--fs-label)/1.4 var(--font-mono); color: var(--c-muted); }
.home .posts .post{ grid-template-columns: 110px minmax(0,1fr) auto; }
@media (max-width: 700px){ .home .posts .post{ grid-template-columns: minmax(0,1fr); } }
.home > .home-close{ padding: var(--space-8) 0; }
.home-close h2{ max-width: 18ch; }
.home-close .cta-band__contact{ line-height: 1.9; }
.home-close .sel{ -webkit-user-select: all; user-select: all; }
.home-close .btn.ghost{ color: var(--c-ink); }
.news-feature.ground{ background: var(--c-bg); }
.home > .wave + .section{ padding-top: clamp(24px, 1rem + 2vw, 48px); }
.home-hero .hero__bg{ opacity: .3; -webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 12%, transparent 34%, #000 43%, transparent 62%); mask-image: linear-gradient(90deg, #000 0%, transparent 12%, transparent 34%, #000 43%, transparent 62%); }
@media (max-width: 639px){ .home-hero .hero__bg{ display: none; } }
@media (min-width: 640px){ .home-facts{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-4); } }
@media (max-width: 1079px){ .home-hero__grid{ grid-template-areas: "copy" "cta" "film"; } .home-hero__cta .btn-row{ margin-top: var(--space-2); } .home-facts{ margin-top: var(--space-4); } }
.home > .home-mission{ padding-bottom: clamp(40px, 1.5rem + 2vw, 72px); }
.home-mission .mv:has(> [data-approval]){ grid-template-columns: minmax(0,1fr); }
.home-mission .mv:has(> [data-approval]) > div{ padding-right: 0; }
.home-mission .mv > div:first-child p{ max-width: 76ch; }
.home-mission .stances{ margin-top: var(--space-4); }
.home-mission .stances .icon{ color: var(--n-text); }
.home-mission .home-more .link-arrow{ color: var(--n-link); }
.home .sub-head--services{ align-items: center; margin: 0 0 var(--space-5); padding-top: var(--space-2); }
.home .sub-head--services h3{ font-size: var(--fs-h2); max-width: 24ch; }
.home .features.features--services{ border-top: 0; gap: var(--space-4); }
.home .features.features--services > .feature.feature{ padding: var(--space-5); border: 1px solid var(--c-line); border-top: 3px solid var(--c-navy); background: var(--c-surface); }
.home .features--services .feature .icon{ color: var(--c-navy); }
@media (max-width: 1079px){ .home .features.features--services{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 599px){ .home .features.features--services{ grid-template-columns: minmax(0,1fr); } }
.home > .home-release{ padding: var(--space-6) 0; }
.home-release__inner{ display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--space-5) var(--space-7); align-items: end; }
.home-release__inner .home-release__mark{ width: 220px; margin-bottom: var(--space-4); }
.home-release__inner h2{ max-width: 32ch; }
.home-release__inner .lead{ margin-top: var(--space-3); }
.home-release__inner > .btn-row{ margin-top: 0; }
@media (max-width: 900px){ .home-release__inner{ grid-template-columns: minmax(0,1fr); } .home-release__inner .home-release__mark{ width: 180px; } }
.cycle-legend__intro{ margin: 0 0 var(--space-3); font-size: var(--fs-small); color: var(--c-muted); max-width: 70ch; }
.home #h-cycle .btn-row{ margin-top: var(--space-5); }
.home-partner{ font-size: 16px; color: var(--c-muted); }
.home > .home-method{ padding-bottom: var(--space-6); }
.home > .home-method + .home-close{ padding-top: 0; }
.home-method + .home-close .cta-band__inner{ border-top: 1px solid var(--n-line); padding-top: var(--space-7); }
.home-mission .mv:not(:has(> div:not([data-approval]))){ display: none; }
.home-mission__text .home-mission__body{ margin: var(--space-3) 0 0; font-size: 16px; color: var(--c-muted); max-width: 60ch; }
.home-mission .section-head{ margin-bottom: var(--space-5); }
