@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/space-grotesk-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/space-grotesk-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/space-grotesk-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/space-grotesk-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/ibm-plex-sans-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/ibm-plex-sans-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/ibm-plex-mono-latin-600-normal.woff2') format('woff2');}

body{margin:0}img{max-width:100%}[hidden]{display:none!important}
/* ============================================================
   POLARARC — site styles
   Design system: glacial navy + ice-cyan, aurora-arc signature.
   Display: Space Grotesk · Body: IBM Plex Sans · Data: IBM Plex Mono
   ============================================================ */

:root{
  /* colour */
  --navy:        #0B2545;
  --navy-2:      #102E58;   /* lifted panel on dark */
  --steel:       #1E466B;
  --ice:         #2BB3DC;   /* accent cyan */
  --ice-bright:  #7BD8F0;   /* glints / links on dark */
  --frost:       #F4F8FC;   /* cool near-white surface */
  --frost-2:     #E9F1F8;   /* subtle fill on light */
  --frost-line:  #D5E1ED;   /* hairlines on light */
  --ink:         #0B2545;   /* text on light */
  --ink-soft:    #46596E;   /* secondary text on light */
  --on-dark:     #E8F2FA;   /* text on navy */
  --on-dark-soft:#9FB6CC;   /* secondary text on navy */
  --line-dark:   rgba(123,216,240,.16);

  /* type */
  --font-display: 'Space Grotesk', ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif;
  --font-body:    'IBM Plex Sans', ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* shape */
  --radius:   14px;
  --radius-sm:10px;
  --maxw:     1140px;
  --shadow:   0 1px 2px rgba(11,37,69,.04), 0 12px 30px -16px rgba(11,37,69,.18);
  --shadow-lg:0 1px 2px rgba(11,37,69,.05), 0 28px 60px -28px rgba(11,37,69,.30);
}

/* ---------- reset / base ---------- */
*, *::before, *::after{ box-sizing: border-box; }
*{ margin: 0; }
html{ scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body{
  font-family: var(--font-body);
  background: var(--frost);
  color: var(--ink);
  line-height: 1.62;
  font-size: 1.287rem;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg{ display: block; max-width: 100%; }
a{ color: inherit; text-decoration: none; }
h1, h2, h3, h4{ font-family: var(--font-display); font-weight: 600; line-height: 1.08; letter-spacing: -0.01em; color: var(--ink); }
strong{ font-weight: 600; }
::selection{ background: var(--ice); color: #06203A; }

/* keyboard focus */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline: 2px solid var(--ice);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ---------- layout ---------- */
.container{ width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: 28px; }
.section{ padding-block: clamp(3.6rem, 7vw, 6.5rem); }
.section--navy{ background: var(--navy); color: var(--on-dark); }
.section--navy h1, .section--navy h2, .section--navy h3, .section--navy h4{ color: #fff; }
.section--frost2{ background: var(--frost-2); }
.section-head{ max-width: 46rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
.section-head.center{ margin-inline: auto; text-align: center; }

/* ---------- type helpers ---------- */
.eyebrow{
  font-family: var(--font-mono);
  font-size: 0.792rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--steel);
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: 1.1rem;
}
.eyebrow::before{ content: ""; width: 26px; height: 1px; background: var(--ice); display: inline-block; }
.section--navy .eyebrow{ color: var(--ice-bright); }
.hero .eyebrow, .page-head .eyebrow{ color: #fff; }
.hero .eyebrow{ font-size: clamp(.86rem, 1.5vw, 1.05rem); letter-spacing: .15em; margin-bottom: 1.35rem; justify-content: center; }
.hero .eyebrow::before, .page-head .eyebrow::before{ display: none; }

.h2{ font-size: clamp(1.87rem, 3.4vw, 2.97rem); }
.h3{ font-size: clamp(1.43rem, 2vw, 1.76rem); }
.lede{ font-size: clamp(1.155rem, 1.5vw, 1.342rem); color: var(--ink-soft); line-height: 1.6; }
.section--navy .lede{ color: var(--on-dark-soft); }
.muted{ color: var(--ink-soft); }
.mono{ font-family: var(--font-mono); }
.nowrap{ white-space: nowrap; }

/* ---------- buttons ---------- */
.btn{
  display: inline-flex; align-items: center; gap: .55rem;
  font-family: var(--font-body); font-weight: 600; font-size: 1.186rem;
  padding: .85rem 1.4rem; border-radius: 999px; border: 1px solid transparent;
  cursor: pointer; transition: transform .15s ease, background .2s ease, box-shadow .2s ease, border-color .2s ease, color .2s ease;
  line-height: 1; white-space: nowrap;
}
.btn .arr{ transition: transform .2s ease; }
.btn:hover .arr{ transform: translateX(3px); }
.btn-sm{ padding: .62rem 1rem; font-size: 1.089rem; }
.btn-primary{ background: var(--ice); color: #06203A; box-shadow: 0 8px 22px -10px rgba(43,179,220,.7); }
.btn-primary:hover{ background: #45c2e6; transform: translateY(-1px); }
.btn-dark{ background: var(--navy); color: #fff; }
.btn-dark:hover{ background: var(--steel); transform: translateY(-1px); }
.btn-outline{ background: transparent; border-color: rgba(123,216,240,.45); color: var(--ice-bright); }
.btn-outline:hover{ border-color: var(--ice-bright); background: rgba(123,216,240,.08); }
.btn-ghost-dark{ background: transparent; border-color: var(--frost-line); color: var(--ink); }
.btn-ghost-dark:hover{ border-color: var(--steel); background: #fff; }

/* ---------- header / nav ---------- */
.site-header{
  position: sticky; top: 0; z-index: 50;
  background: #fff;
  border-bottom: 1px solid var(--frost-line);
  border-top: 3px solid var(--ice);
  box-shadow: 0 6px 24px -18px rgba(11,37,69,.35);
}
.header-inner{ display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 70px; }
.brand{ display: inline-flex; align-items: center; gap: .62rem; }
.brand-mark{ width: 30px; height: 30px; flex: none; }
.brand-word{ font-family: var(--font-display); font-weight: 700; font-size: 1.18rem; letter-spacing: .02em; }
.brand-word-1{ color: #fff; }
.brand-word-2{ color: var(--ice); }
.brand-logo{ height: 34px; width: auto; display: block; }
.site-footer .brand-logo{ height: 30px; }
@media (max-width: 640px) { .brand-logo{ height: 30px; }}

.site-nav{ display: flex; align-items: center; gap: .35rem; }
.nav-link{
  font-size: 1.162rem; font-weight: 500; color: var(--ink-soft);
  padding: .55rem .8rem; border-radius: 8px; transition: color .15s ease, background .15s ease;
}
.nav-link:hover{ color: var(--ink); }
.nav-link.active{ color: var(--ink); }
.nav-link.active::after{
  content: ""; display: block; height: 2px; width: 20px; margin: 4px auto 0;
  background: var(--ice); border-radius: 2px;
}
.nav-cta{ margin-left: .6rem; }

.nav-toggle{ display: none; background: transparent; border: 1px solid var(--frost-line); border-radius: 9px; padding: .5rem; cursor: pointer; }
.nav-toggle span{ display: block; width: 20px; height: 2px; background: var(--ink); border-radius: 2px; transition: .25s ease; }
.nav-toggle span + span{ margin-top: 4px; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

/* ---------- hero ---------- */
.hero{ position: relative; background: var(--navy); color: var(--on-dark); overflow: hidden; isolation: isolate; }
.hero::after{ /* fade into next section */
  content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 120px;
  background: linear-gradient(to bottom, transparent, rgba(244,248,252,.0)); pointer-events: none;
}
.hero-arcs{ position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.hero-arcs svg{ position: absolute; right: -8%; top: 50%; transform: translateY(-50%); width: min(120vh, 1100px); height: auto; opacity: .9; }
.hero-grain{ position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(60% 80% at 78% 38%, rgba(43,179,220,.16), transparent 60%),
    radial-gradient(40% 60% at 12% 90%, rgba(30,70,107,.5), transparent 70%);
}
.hero-inner{ position: relative; z-index: 1; padding-block: clamp(4.5rem, 10vw, 8.5rem); max-width: 60rem; margin-inline: auto; text-align: center; }
.hero h1{ max-width: 20ch; margin-inline: auto; }
.hero h1{ font-size: clamp(2.75rem, 6.2vw, 5.17rem); font-weight: 600; color: #fff; letter-spacing: -0.02em; line-height: 1.02; }
.hero h1 .accent{ color: var(--ice); }
.hero-sub{ margin-top: 1.4rem; margin-inline: auto; font-size: clamp(1.1rem, 1.35vw, 1.276rem); color: var(--on-dark-soft); max-width: 60ch; line-height: 1.55; }
.hero-cta{ margin-top: 2.2rem; display: flex; flex-wrap: wrap; gap: .85rem; justify-content: center; }
.hero-meta{ margin-top: 2.4rem; padding-top: 1.6rem; border-top: 1px solid var(--line-dark); }
.hero-meta .eyebrow-meta{ margin-bottom: 0; color: var(--on-dark); font-size: clamp(.62rem, 1.15vw, .84rem); letter-spacing: .1em; white-space: nowrap; }
.hero-meta .eyebrow-meta::before{ display: none; }

/* arc animation */
@media (prefers-reduced-motion: no-preference){
  .arc-rot { transform-box: fill-box; transform-origin: center; animation: arcspin 64s linear infinite; }
  .arc-rot.rev { animation-duration: 90s; animation-direction: reverse; }
  .arc-pulse { animation: arcpulse 7s ease-in-out infinite; }
}
@keyframes arcspin { to{ transform: rotate(360deg); }}
@keyframes arcpulse { 0%,100%{ opacity:.35 } 50%{ opacity:.9 }}

/* ---------- page header (inner pages) ---------- */
.page-head{ position: relative; background: var(--navy); color: var(--on-dark); overflow: hidden; isolation: isolate; }
.page-head .hero-arcs svg{ width: min(80vh, 720px); opacity: .55; right: -6%; }
.page-head-inner{ position: relative; z-index: 1; padding-block: clamp(3.4rem, 7vw, 5.4rem); max-width: 50rem; }
.page-head h1{ font-size: clamp(2.31rem, 4.6vw, 3.74rem); color: #fff; }
.page-head .lede{ margin-top: 1.1rem; color: var(--on-dark-soft); }

/* ---------- generic grids ---------- */
.grid{ display: grid; gap: 1.4rem; }
.grid > *{ min-width: 0; }
.grid-2{ grid-template-columns: repeat(2, 1fr); }
.grid-3{ grid-template-columns: repeat(3, 1fr); }

/* card base */
.card{
  background: #fff; border: 1px solid var(--frost-line); border-radius: var(--radius);
  padding: 1.7rem; box-shadow: var(--shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card.hover:hover{ transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: #bcd3e6; }
.section--navy .card{ background: var(--navy-2); border-color: var(--line-dark); box-shadow: none; }

/* ---------- "why now" cards ---------- */
.why-card{ display: flex; flex-direction: column; gap: .7rem; }
.why-date{ font-family: var(--font-mono); font-size: .8rem; letter-spacing: .06em; color: var(--ice-bright); }
.why-card h3{ font-size: 1.428rem; color: #fff; }
.why-card p{ color: var(--on-dark-soft); font-size: 1.186rem; }

/* ---------- pillar cards (home) ---------- */
.pillar{ position: relative; }
.pillar .num{ font-family: var(--font-mono); font-size: .8rem; color: var(--ice); letter-spacing: .1em; }
.pillar h3{ margin-top: .5rem; font-size: 1.549rem; }
.pillar p{ margin-top: .6rem; color: var(--ink-soft); font-size: 1.198rem; }
.pillar .more{ margin-top: 1.1rem; font-weight: 600; font-size: 1.113rem; color: var(--steel); display: inline-flex; align-items: center; gap: .4rem; }
.pillar:hover .more .arr{ transform: translateX(3px); }
.pillar .picon{ width: 44px; height: 44px; border-radius: 11px; background: var(--frost-2); display: grid; place-items: center; margin-bottom: 1rem; }
.pillar .picon svg{ width: 23px; height: 23px; stroke: var(--steel); }

/* ---------- detailed service blocks ---------- */
.svc{ display: grid; grid-template-columns: 1fr 1.25fr; gap: clamp(1.5rem, 4vw, 3.4rem); align-items: start; }
.svc + .svc{ margin-top: clamp(2.4rem, 5vw, 4rem); padding-top: clamp(2.4rem, 5vw, 4rem); border-top: 1px solid var(--frost-line); }
.svc.flip .svc-media{ order: 2; }
.svc-side .eyebrow{ margin-bottom: .8rem; }
.svc-side h2{ font-size: clamp(1.65rem, 2.6vw, 2.31rem); }
.svc-side p{ margin-top: .9rem; color: var(--ink-soft); }
.svc-media{ background: var(--navy); border-radius: var(--radius); padding: 1.8rem; color: var(--on-dark); position: relative; overflow: hidden; }
.svc-media .badge{ font-family: var(--font-mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ice-bright); }
.feature-list{ list-style: none; padding: 0; margin: .4rem 0 0; display: grid; gap: .8rem; }
.feature-list li{ position: relative; padding-left: 1.9rem; color: var(--on-dark); font-size: 1.174rem; line-height: 1.5; }
.feature-list li::before{
  content: ""; position: absolute; left: 0; top: .15em; width: 1.15rem; height: 1.15rem;
  border-radius: 50%; background: rgba(43,179,220,.16);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237BD8F0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size: .78rem; background-repeat: no-repeat; background-position: center;
}
.feature-list.dark-on-light li{ color: var(--ink); }
.feature-list.dark-on-light li::before{ background: var(--frost-2);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E466B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size: .78rem; background-repeat: no-repeat; background-position: center; }

/* ---------- regulation grid ---------- */
.reg-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.reg-item{ border: 1px solid var(--frost-line); border-radius: var(--radius-sm); padding: 1.15rem 1.2rem; background: #fff; }
.reg-item .ref{ font-family: var(--font-mono); font-size: .76rem; color: var(--steel); letter-spacing: .02em; }
.reg-item h4{ margin-top: .35rem; font-size: 1.234rem; }
.reg-item p{ margin-top: .35rem; font-size: 1.065rem; color: var(--ink-soft); line-height: 1.45; }
.reg-item.key{ border-color: var(--ice); background: linear-gradient(180deg, #fff, #f2fbfe); box-shadow: 0 10px 30px -18px rgba(43,179,220,.55); }
.reg-item.key .ref{ color: #1190b6; }
.reg-tag{ display: inline-block; font-family: var(--font-mono); font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; color: #0d7ea3; background: rgba(43,179,220,.14); padding: .15rem .5rem; border-radius: 5px; margin-top: .6rem; }
.reg-horizon{ margin-top: 1.4rem; font-size: 1.113rem; color: var(--ink-soft); border-left: 3px solid var(--ice); padding-left: 1rem; }

/* ---------- process / steps ---------- */
.steps{ counter-reset: step; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
.step{ position: relative; padding-top: 2.4rem; }
.step::before{
  counter-increment: step; content: counter(step, decimal-leading-zero);
  position: absolute; top: 0; left: 0; font-family: var(--font-mono); font-size: 0.902rem;
  color: var(--ice); letter-spacing: .08em;
}
.step::after{ content: ""; position: absolute; top: .45rem; left: 2.6rem; right: 0; height: 1px; background: var(--frost-line); }
.steps .step:last-child::after{ display: none; }
.section--navy .step::after{ background: var(--line-dark); }
.step h3{ font-size: 1.307rem; }
.step p{ margin-top: .45rem; font-size: 1.125rem; color: var(--ink-soft); }
.section--navy .step p{ color: var(--on-dark-soft); }

/* ---------- differentiators ---------- */
.diff{ display: flex; gap: 1rem; align-items: flex-start; }
.diff .dot{ flex: none; width: 38px; height: 38px; border-radius: 10px; background: rgba(43,179,220,.12); display: grid; place-items: center; }
.diff .dot svg{ width: 19px; height: 19px; stroke: var(--ice); }
.section:not(.section--navy) .diff .dot{ background: var(--frost-2); }
.section:not(.section--navy) .diff .dot svg{ stroke: var(--steel); }
.diff h3{ font-size: 1.283rem; }
.diff p{ margin-top: .3rem; font-size: 1.125rem; color: var(--ink-soft); }
.section--navy .diff p{ color: var(--on-dark-soft); }

/* ---------- audience chips ---------- */
.chips{ display: flex; flex-wrap: wrap; gap: .7rem; }
.chip{ border: 1px solid var(--line-dark); border-radius: 999px; padding: .6rem 1.1rem; font-size: 1.113rem; color: var(--on-dark); display: inline-flex; align-items: center; gap: .55rem; }
.chip::before{ content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ice); }

/* ---------- CTA band ---------- */
.cta-band{ position: relative; background: linear-gradient(120deg, var(--navy), var(--steel)); color: #fff; border-radius: var(--radius); padding: clamp(2.2rem, 5vw, 3.4rem); overflow: hidden; }
.cta-band h2{ color: #fff; font-size: clamp(1.76rem, 3vw, 2.53rem); max-width: 24ch; }
.cta-band p{ margin-top: .8rem; color: var(--on-dark-soft); max-width: 46ch; }
.cta-band .hero-cta{ margin-top: 1.8rem; }
.cta-arc{ position: absolute; right: -60px; top: -60px; width: 320px; opacity: .5; pointer-events: none; }

/* ---------- contact ---------- */
.contact-grid{ display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(1.6rem, 4vw, 3.2rem); align-items: start; }
.contact-grid > *{ min-width: 0; }
.contact-card{ display: grid; gap: 1.3rem; min-width: 0; }
.cinfo{ display: flex; gap: .9rem; align-items: flex-start; min-width: 0; }
.cinfo > div{ min-width: 0; }
.cinfo .ci-val{ font-weight: 500; overflow-wrap: anywhere; }
.cinfo .ci-ic{ flex: none; width: 40px; height: 40px; border-radius: 10px; background: var(--frost-2); display: grid; place-items: center; }
.cinfo .ci-ic svg{ width: 19px; height: 19px; stroke: var(--steel); }
.cinfo .ci-label{ font-family: var(--font-mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); }
.cinfo a.ci-val:hover{ color: var(--steel); text-decoration: underline; }
.ph{ color: #8aa0b4; font-style: italic; } /* placeholder styling */

.form-card{ background: #fff; border: 1px solid var(--frost-line); border-radius: var(--radius); padding: clamp(1.4rem, 3vw, 2rem); box-shadow: var(--shadow); }
.field{ display: grid; gap: .4rem; margin-bottom: 1.1rem; }
.field label{ font-size: 1.029rem; font-weight: 600; color: var(--ink); }
.field{ min-width: 0; }
.field input, .field textarea, .field select{
  font-family: var(--font-body); font-size: 1.21rem; color: var(--ink);
  padding: .8rem .9rem; border: 1px solid var(--frost-line); border-radius: var(--radius-sm); background: var(--frost);
  transition: border-color .15s ease, box-shadow .15s ease;
  width: 100%; max-width: 100%; box-sizing: border-box;
}
.field input:focus, .field textarea:focus, .field select:focus{ border-color: var(--ice); box-shadow: 0 0 0 3px rgba(43,179,220,.16); outline: none; }
.field textarea{ resize: vertical; min-height: 120px; }
.form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.form-note{ font-size: 0.992rem; color: var(--ink-soft); margin-top: .4rem; }

/* ---------- footer ---------- */
.site-footer{ background: var(--navy); color: var(--on-dark-soft); padding-block: clamp(3rem, 6vw, 4.5rem) 1.8rem; }
.footer-grid{ display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 2rem; }
.footer-brand .brand{ margin-bottom: 1rem; }
.footer-boiler{ font-size: 1.113rem; line-height: 1.6; max-width: 34ch; }
.footer-col h4{ font-family: var(--font-mono); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ice-bright); margin-bottom: 1rem; font-weight: 500; }
.footer-col ul{ list-style: none; padding: 0; display: grid; gap: .6rem; }
.footer-col a, .footer-col li{ font-size: 1.125rem; color: var(--on-dark-soft); }
.footer-col a:hover{ color: #fff; }
.footer-bottom{ display: flex; flex-wrap: wrap; justify-content: space-between; gap: .8rem; margin-top: 2.4rem; padding-top: 1.6rem; border-top: 1px solid var(--line-dark); }
.footer-bottom p{ font-size: 0.992rem; color: var(--on-dark-soft); }
.footer-bottom .footer-fine{ flex-basis: 100%; font-size: 0.92rem; line-height: 1.6; opacity: .85; margin-top: .5rem; }
.footer-bottom .footer-fine a{ color: var(--ice-bright); text-decoration: underline; text-underline-offset: 2px; }
.footer-bottom .footer-fine a:hover{ color: #fff; }
.footer-bottom .mono{ font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }

/* ---------- legal ---------- */
.legal-updated{ font-family: var(--font-mono); font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 1.8rem; }
.legal-prose{ max-width: 52rem; }
.legal-prose h2{ font-size: 1.5rem; margin-top: 2.4rem; }
.legal-prose p{ margin-top: .85rem; color: var(--ink-soft); font-size: 1.186rem; }
.legal-prose a{ color: var(--steel); text-decoration: underline; text-underline-offset: 2px; }
.legal-prose a:hover{ color: var(--ink); }

/* ---------- reveal on scroll (progressive enhancement) ---------- */
.js .reveal{ opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.js .reveal.is-visible{ opacity: 1; transform: none; }
.js .reveal.d1{ transition-delay: .06s; }
.js .reveal.d2{ transition-delay: .12s; }
.js .reveal.d3{ transition-delay: .18s; }
@media (prefers-reduced-motion: reduce) {
  .js .reveal{ opacity: 1 !important; transform: none !important; transition: none !important; }
  html{ scroll-behavior: auto; }}

/* ---------- responsive ---------- */
@media (max-width: 960px){
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .reg-grid { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .step::after { display: none; }
}
@media (max-width: 820px) {
  .nav-toggle{ display: block; }
  .site-nav{
    position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: .2rem;
    background: #fff; border-bottom: 1px solid var(--frost-line);
    padding: .8rem 28px 1.2rem; display: none;
  }
  .site-nav.open{ display: flex; }
  .nav-link{ padding: .8rem .4rem; border-radius: 8px; }
  .nav-link.active::after{ display: none; }
  .nav-link.active{ color: var(--steel); font-weight: 600; }
  .nav-cta{ margin: .5rem 0 0; justify-content: center; }
  .svc, .svc.flip .svc-media{ grid-template-columns: 1fr; order: 0; }
  .svc-media{ order: -1; }
  .contact-grid{ grid-template-columns: 1fr; }}
@media (max-width: 640px) {
  .container{ padding-inline: 20px; }
  .grid-2, .grid-3, .reg-grid, .steps{ grid-template-columns: 1fr; }
  .form-row{ grid-template-columns: 1fr; }
  .footer-grid{ grid-template-columns: 1fr; }
  .hero-arcs svg{ opacity: .5; right: -30%; }}

/* ============================================================
   POLARARC — enhancements
   Loaded AFTER styles.css. Additive only: remove the single
   <link> tag and the site reverts to its previous styling.
   ============================================================ */

/* ---------- staggered reveal (overrides the flat d1/d2/d3) ---------- */
.js .reveal.d4{ transition-delay: .24s; }
.js .reveal.d5{ transition-delay: .30s; }
.js .reveal.d6{ transition-delay: .36s; }
.js .js .stagger > *{ opacity: 0; transform: translateY(16px); transition: opacity .55s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1); }
.js .stagger.is-visible > *{ opacity: 1; transform: none; }
.js .stagger.is-visible > *:nth-child(1){ transition-delay: .00s; }
.js .stagger.is-visible > *:nth-child(2){ transition-delay: .07s; }
.js .stagger.is-visible > *:nth-child(3){ transition-delay: .14s; }
.js .stagger.is-visible > *:nth-child(4){ transition-delay: .21s; }
.js .stagger.is-visible > *:nth-child(5){ transition-delay: .28s; }
.js .stagger.is-visible > *:nth-child(6){ transition-delay: .35s; }

/* ---------- hero: slow aurora drift ---------- */
@media (prefers-reduced-motion: no-preference){
  .hero .hero-grain {
    background-size: 160% 160%, 160% 160%;
    animation: aurora 38s ease-in-out infinite alternate;
  }
}
@keyframes aurora {
  0%{ background-position:  20% 30%,  80% 70%; }
  50%{ background-position:  60% 45%,  35% 55%; }
  100%{ background-position:  35% 60%,  65% 35%; }}

/* ============================================================
   DEADLINE RAIL — live regulatory clock
   ============================================================ */
.rail{
  margin-top: clamp(2rem, 4vw, 3rem);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line-dark);
  border: 1px solid var(--line-dark);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.rail-item{
  background: var(--navy);
  padding: 1.3rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: .45rem;
  position: relative;
}
.rail-item .rail-reg{
  font-family: var(--font-mono);
  font-size: .74rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--on-dark-soft);
}
.rail-item .rail-name{ font-family: var(--font-display); font-weight: 600; font-size: 1.24rem; color: #fff; line-height: 1.2; }
.rail-item .rail-when{ font-size: 1.06rem; color: var(--on-dark-soft); }
.rail-count{
  display: inline-flex; align-items: baseline; gap: .4rem;
  font-family: var(--font-mono); font-weight: 500;
  margin-top: .3rem;
}
.rail-count .n{ font-size: 1.9rem; color: var(--ice-bright); line-height: 1; letter-spacing: -.02em; }
.rail-count .u{ font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--on-dark-soft); }
.rail-item[data-state="live"] .rail-count .n{ color: #7BE0B8; font-size: 1.15rem; letter-spacing: .02em; }
.rail-item[data-state="soon"] .rail-count .n{ color: #FFC46B; }
.rail-item[data-state="soon"]::before{
  content: ""; position: absolute; inset-inline: 0; top: 0; height: 2px; background: #FFC46B; opacity: .9;
}
.rail-item[data-state="live"]::before{
  content: ""; position: absolute; inset-inline: 0; top: 0; height: 2px; background: #7BE0B8; opacity: .8;
}
@media (max-width: 820px) { .rail{ grid-template-columns: 1fr; }}

/* ============================================================
   ECONOMIC OPERATOR CHAIN — animated
   ============================================================ */
.chain-panel{
  background: var(--navy); border-radius: var(--radius);
  padding: clamp(1.5rem, 3vw, 2.2rem);
  color: var(--on-dark); position: relative; overflow: hidden;
}
.chain-wrap{ margin-top: 0; }
.chain-legend{
  font-family: var(--font-mono); font-size: .72rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--ice-bright); margin-bottom: 1.4rem;
}
.chain{ display: grid; grid-template-columns: minmax(0,.85fr) 34px minmax(0,2.6fr); align-items: stretch; gap: 0; }
.chain-outside{ display: grid; align-content: center; }
.chain-eu{
  border: 1.5px dashed rgba(123,216,240,.5);
  border-radius: var(--radius);
  padding: 1.15rem 1.15rem 1.25rem;
  position: relative;
  background: rgba(123,216,240,.04);
}
.chain-eu-label{
  position: absolute; top: -.72rem; left: 1rem;
  background: var(--navy); padding: 0 .55rem;
  font-family: var(--font-mono); font-size: .68rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--ice-bright);
}
.chain-inner{
  display: grid;
  grid-template-columns: minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr);
  gap: 0; align-items: stretch;
}
.chain-node{
  padding: .8rem .85rem;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  display: flex; flex-direction: column; gap: .3rem;
  min-width: 0;
}
.chain-node .cn-role{
  font-family: var(--font-mono); font-size: .66rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--on-dark-soft);
}
.chain-node .cn-name{ font-family: var(--font-display); font-weight: 600; font-size: 1.1rem; color: #fff; line-height: 1.25; }
.chain-node .cn-note{ font-size: .99rem; color: var(--on-dark-soft); line-height: 1.45; }
.chain-node.is-key{
  border-color: var(--ice);
  background: rgba(43,179,220,.12);
  box-shadow: 0 0 0 1px rgba(43,179,220,.25), 0 14px 34px -20px rgba(43,179,220,.8);
}
.chain-node.is-key .cn-role{ color: var(--ice-bright); }
.chain-node.is-out{ border-color: rgba(159,182,204,.28); background: rgba(255,255,255,.02); border-style: dashed; }

/* connectors */
.chain-link{ position: relative; align-self: center; height: 2px; background: rgba(123,216,240,.22); margin: 0 .3rem; }
.chain-link.gap{ margin: 0; }
.chain-link::after{
  content: ""; position: absolute; top: 50%; left: 0; width: 6px; height: 6px; margin-top: -3px;
  border-radius: 50%; background: var(--ice-bright); opacity: 0;
  box-shadow: 0 0 10px 2px rgba(123,216,240,.6);
}
.chain-foot{ margin-top: 1.1rem; color: var(--on-dark-soft); font-size: .96rem; line-height: 1.55; }
.chain-foot strong{ color: var(--on-dark); }

/* draw-in animation */
.js .chain-node, .js .chain-eu, .js .chain-link{ opacity: 0; transition: opacity .5s ease, transform .5s ease; transform: translateY(10px); }
.js .chain.is-drawn .chain-eu{ opacity: 1; transform: none; transition-delay: .05s; }
.js .chain.is-drawn .chain-node{ opacity: 1; transform: none; }
.js .chain.is-drawn .chain-link{ opacity: 1; transform: none; }
.js .chain.is-drawn .chain-outside .chain-node{ transition-delay: .10s; }
.js .chain.is-drawn .chain-link.l1{ transition-delay: .26s; }
.js .chain.is-drawn .chain-node.n2{ transition-delay: .40s; }
.js .chain.is-drawn .chain-link.l2{ transition-delay: .56s; }
.js .chain.is-drawn .chain-node.n3{ transition-delay: .68s; }
.js .chain.is-drawn .chain-link.l3{ transition-delay: .82s; }
.js .chain.is-drawn .chain-node.n4{ transition-delay: .94s; }

@media (prefers-reduced-motion: no-preference) {
  .chain.is-drawn .chain-link::after{ animation: travel 3.4s cubic-bezier(.5,0,.5,1) 1.4s infinite; }
  .chain.is-drawn .chain-link.l2::after{ animation-delay: 1.75s; }
  .chain.is-drawn .chain-link.l3::after{ animation-delay: 2.1s; }
  .chain.is-drawn .chain-node.is-key{ animation: keyglow 5.5s ease-in-out 1.6s infinite; }}
@keyframes travel {
  0%{ opacity: 0; left: 0; }
  12%{ opacity: 1; }
  30%{ opacity: 1; left: calc(100% - 6px); }
  38%{ opacity: 0; left: calc(100% - 6px); }
  100%{ opacity: 0; left: calc(100% - 6px); }}
@keyframes keyglow {
  0%, 100%{ box-shadow: 0 0 0 1px rgba(43,179,220,.25), 0 14px 34px -20px rgba(43,179,220,.8); }
  50%{ box-shadow: 0 0 0 1px rgba(43,179,220,.5),  0 14px 40px -18px rgba(43,179,220,1); }}
@media (prefers-reduced-motion: reduce) {
  .js .chain-node, .js .chain-eu, .js .chain-link{ opacity: 1 !important; transform: none !important; transition: none !important; }
  .chain-link::after{ display: none; }}

@media (max-width: 900px) {
  .chain{ grid-template-columns: 1fr; }
  .chain-link{ height: 22px; width: 2px; margin: .5rem auto; justify-self: center; }
  .chain-link::after{ left: 50% !important; margin-left: -3px; top: 0; }
  .chain-inner{ grid-template-columns: 1fr; }
  .chain-eu{ margin-top: .3rem; }
  @keyframes travel {
    0%{ opacity: 0; top: 0; }
    12%{ opacity: 1; }
    30%{ opacity: 1; top: calc(100% - 6px); }
    38%{ opacity: 0; top: calc(100% - 6px); }
    100%{ opacity: 0; top: calc(100% - 6px); }}}

/* ============================================================
   QUALIFICATION TOOL
   ============================================================ */
.qz{ max-width: 46rem; margin-inline: auto; }
.qz-shell{
  background: #fff; border: 1px solid var(--frost-line); border-radius: var(--radius);
  box-shadow: var(--shadow-lg); overflow: hidden;
}
.qz-bar{ height: 4px; background: var(--frost-2); position: relative; }
.qz-bar i{ position: absolute; inset-block: 0; left: 0; background: var(--ice); width: 0; transition: width .45s cubic-bezier(.22,.61,.36,1); display: block; }
.qz-body{ padding: clamp(1.6rem, 4vw, 2.6rem); }
.qz-step{ display: none; }
.qz-step.is-active{ display: block; animation: qzin .4s cubic-bezier(.22,.61,.36,1); }
@keyframes qzin { from{ opacity: 0; transform: translateX(14px); } to{ opacity: 1; transform: none; }}
@media (prefers-reduced-motion: reduce) { .qz-step.is-active{ animation: none; } .qz-bar i{ transition: none; }}

.qz-count{ font-family: var(--font-mono); font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; color: var(--steel); }
.qz-q{ font-family: var(--font-display); font-weight: 600; font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.15; margin-top: .7rem; }
.qz-help{ margin-top: .6rem; color: var(--ink-soft); font-size: 1.09rem; }
.qz-opts{ display: grid; gap: .7rem; margin-top: 1.6rem; }
.qz-opt{
  text-align: left; width: 100%;
  font-family: var(--font-body); font-size: 1.16rem; color: var(--ink);
  background: var(--frost); border: 1px solid var(--frost-line); border-radius: var(--radius-sm);
  padding: 1rem 1.1rem; cursor: pointer;
  display: flex; align-items: center; gap: .9rem;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.qz-opt:hover{ border-color: var(--ice); background: #fff; transform: translateX(2px); }
.qz-opt .tick{
  flex: none; width: 20px; height: 20px; border-radius: 50%;
  border: 1.5px solid var(--frost-line); display: grid; place-items: center;
  transition: border-color .15s ease, background .15s ease;
}
.qz-opt:hover .tick{ border-color: var(--ice); }
.qz-opt.is-picked{ border-color: var(--ice); background: #f2fbfe; }
.qz-opt.is-picked .tick{ background: var(--ice); border-color: var(--ice); }
.qz-opt.is-picked .tick::after{ content: ""; width: 7px; height: 7px; border-radius: 50%; background: #fff; }
.qz-back{
  margin-top: 1.4rem; background: none; border: 0; cursor: pointer; padding: .3rem 0;
  font-family: var(--font-body); font-size: 1.03rem; color: var(--ink-soft);
}
.qz-back:hover{ color: var(--ink); text-decoration: underline; }

/* result */
.qz-verdict{ border-left: 3px solid var(--ice); padding-left: 1.1rem; margin-bottom: 1.6rem; }
.qz-verdict h2{ font-size: clamp(1.5rem, 2.6vw, 2rem); }
.qz-verdict p{ margin-top: .6rem; color: var(--ink-soft); }
.qz-oblig{ display: grid; gap: .8rem; margin: 1.4rem 0; }
.qz-ob{
  border: 1px solid var(--frost-line); border-left: 3px solid var(--ice);
  border-radius: var(--radius-sm); padding: 1rem 1.15rem; background: var(--frost);
}
.qz-ob.none{ border-left-color: #9FB6CC; }
.qz-ob .ref{ font-family: var(--font-mono); font-size: .74rem; letter-spacing: .06em; color: var(--steel); }
.qz-ob h3{ font-size: 1.19rem; margin-top: .3rem; }
.qz-ob p{ font-size: 1.05rem; color: var(--ink-soft); margin-top: .35rem; line-height: 1.5; }
.qz-ob .when{ display: inline-block; margin-top: .55rem; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; padding: .18rem .5rem; border-radius: 5px; background: rgba(43,179,220,.14); color: #0d7ea3; }
.qz-ob .when.soon{ background: rgba(255,169,48,.16); color: #9a5c00; }
.qz-disclaim{ font-size: .97rem; color: var(--ink-soft); line-height: 1.55; border-top: 1px solid var(--frost-line); padding-top: 1rem; margin-top: 1.4rem; }
.qz-capture{ background: var(--frost-2); border-radius: var(--radius-sm); padding: 1.3rem; margin-top: 1.4rem; }
.qz-capture h3{ font-size: 1.24rem; }
.qz-capture p{ font-size: 1.05rem; color: var(--ink-soft); margin-top: .4rem; }
.qz-capture .form-row{ margin-top: 1rem; }
.qz-restart{ margin-top: 1.2rem; }

/* home page teaser */
.tool-band{
  display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(1.4rem, 4vw, 3rem);
  align-items: center;
  background: linear-gradient(120deg, #fff, var(--frost-2));
  border: 1px solid var(--frost-line); border-radius: var(--radius);
  padding: clamp(1.8rem, 4vw, 3rem); box-shadow: var(--shadow);
}
.tool-band h2{ font-size: clamp(1.65rem, 2.8vw, 2.31rem); }
.tool-band p{ margin-top: .8rem; color: var(--ink-soft); }
.tool-band .hero-cta{ margin-top: 1.6rem; justify-content: flex-start; }
.tool-mini{ display: grid; gap: .55rem; }
.tool-mini div{
  display: flex; align-items: center; gap: .7rem;
  background: #fff; border: 1px solid var(--frost-line); border-radius: var(--radius-sm);
  padding: .75rem .9rem; font-size: 1.05rem; color: var(--ink-soft);
}
.tool-mini div span.q{ font-family: var(--font-mono); font-size: .72rem; color: var(--ice); letter-spacing: .1em; }
@media (max-width: 820px) { .tool-band{ grid-template-columns: 1fr; }}

/* ============================================================
   REGULATORY WATCH
   ============================================================ */
.watch-list{ display: grid; gap: 1rem; }
.watch-item{
  background: #fff; border: 1px solid var(--frost-line); border-radius: var(--radius);
  padding: 1.4rem 1.5rem; box-shadow: var(--shadow);
  display: grid; grid-template-columns: 150px 1fr; gap: 1.4rem;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.watch-item:hover{ border-color: #bcd3e6; box-shadow: var(--shadow-lg); }
.section--navy .watch-item{ background: var(--navy-2); border-color: var(--line-dark); box-shadow: none; }
.watch-when{ font-family: var(--font-mono); font-size: .78rem; letter-spacing: .08em; color: var(--steel); text-transform: uppercase; line-height: 1.5; }
.section--navy .watch-when{ color: var(--ice-bright); }
.watch-tag{
  display: inline-block; margin-top: .5rem; font-family: var(--font-mono);
  font-size: .66rem; letter-spacing: .12em; text-transform: uppercase;
  padding: .16rem .5rem; border-radius: 5px; background: var(--frost-2); color: var(--steel);
}
.watch-tag.now{ background: rgba(255,169,48,.18); color: #9a5c00; }
.watch-item h3{ font-size: 1.34rem; line-height: 1.2; }
.watch-item p{ margin-top: .55rem; color: var(--ink-soft); font-size: 1.1rem; line-height: 1.55; }
.watch-item .impact{ margin-top: .8rem; font-size: 1.05rem; color: var(--ink); border-left: 2px solid var(--ice); padding-left: .85rem; }
.section--navy .watch-item p{ color: var(--on-dark-soft); }
.section--navy .watch-item .impact{ color: var(--on-dark); }
@media (max-width: 700px) { .watch-item{ grid-template-columns: 1fr; gap: .7rem; }}

/* ============================================================
   FORM STATES
   ============================================================ */
.hp-field{ position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.field.has-error input, .field.has-error textarea, .field.has-error select{ border-color: #D6455B; background: #fff6f7; }
.field-err{ font-size: .96rem; color: #B3283D; margin-top: .1rem; }
.form-status{ margin-top: 1rem; font-size: 1.05rem; line-height: 1.5; border-radius: var(--radius-sm); padding: .9rem 1rem; display: none; }
.form-status.is-on{ display: block; }
.form-status.ok{ background: #EAF8F1; border: 1px solid #A9DCC4; color: #175C3C; }
.form-status.bad{ background: #FDF0F2; border: 1px solid #F0C0C8; color: #9C2438; }
.btn[disabled]{ opacity: .6; cursor: default; pointer-events: none; }
.btn .spin{
  width: 14px; height: 14px; border-radius: 50%; display: none;
  border: 2px solid rgba(6,32,58,.25); border-top-color: #06203A;
  animation: spin .7s linear infinite;
}
.btn.is-busy .spin{ display: inline-block; }
.btn.is-busy .arr{ display: none; }
@keyframes spin { to{ transform: rotate(360deg); }}
@media (prefers-reduced-motion: reduce) { .btn .spin{ animation-duration: 2s; }}

/* ---------- misc ---------- */
/* The header is sticky, so anchor targets need to clear it. This also fixes
   the services.html#ar / #ce / #hosting jumps landing under the header. */
[id]{ scroll-margin-top: 92px; }

.section--tight{ padding-block: clamp(2.4rem, 5vw, 4rem); }
.center-cta{ text-align: center; margin-top: clamp(1.8rem, 4vw, 2.6rem); }
.thanks-wrap{ max-width: 40rem; }
.thanks-wrap .feature-list{ margin-top: 1.4rem; }

/* POLARARC | Editorial visual layer. Original content and scripts retained. */
:root{--navy:#123340;--navy-2:#1b4250;--steel:#0b5269;--ice:#0b5269;--ice-bright:#c8e0e5;--frost:#fbfaf7;--frost-2:#f1f0eb;--frost-line:#d6dcda;--ink:#1c2b32;--ink-soft:#54666f;--on-dark:#f5f7f5;--on-dark-soft:#c4d3d7;--line-dark:rgba(223,238,239,.2);--font-display:Georgia,'Times New Roman',serif;--font-body:'Segoe UI',Arial,Helvetica,sans-serif;--font-mono:Consolas,'Liberation Mono',monospace;--radius:5px;--radius-sm:4px;--maxw:1440px;--shadow:0 3px 12px rgba(23,45,52,.035);--shadow-lg:0 8px 24px rgba(23,45,52,.065);--copper:#a56743}
html{scroll-padding-top:100px}body{background:var(--frost);font-size:1.04rem;line-height:1.7}h1,h2,h3,h4{font-weight:500;letter-spacing:-.033em;line-height:1.13}p{overflow-wrap:break-word}strong{font-weight:650}button,input,textarea,select{font:inherit}::selection{background:#d3e5e7;color:var(--ink)}
.container{max-width:var(--maxw);padding-inline:clamp(22px,4.5vw,64px)}.section{padding-block:clamp(52px,6vw,84px)}.section--tight{padding-block:42px}.section--navy{background:#f7f6f2;color:var(--ink)}.section--frost2{background:var(--frost-2)}.section--navy :is(h1,h2,h3,h4){color:var(--ink)}.section--navy :is(.lede,.diff p,.step p,.watch-item p){color:var(--ink-soft)}.section--navy .eyebrow{color:var(--steel)}.section-head{max-width:52rem;margin-bottom:34px}.section-head .lede{margin-top:16px}.h2{font-size:clamp(30px,3.25vw,44px)}.h3{font-size:clamp(24px,2.3vw,30px)}.lede{font-size:1.065rem;line-height:1.75}.eyebrow{font-size:.67rem;letter-spacing:.155em;line-height:1.7;margin-bottom:14px;color:var(--steel)}.eyebrow::before{width:23px;background:var(--copper)}
.site-header{background:rgba(251,250,247,.98);border-top:0;border-bottom:1px solid var(--frost-line);box-shadow:none}.header-inner{min-height:86px;gap:24px}.brand{flex-shrink:0}.brand-logo{width:176px;height:auto;max-width:none}.site-header .brand-logo{mix-blend-mode:multiply}.site-nav{gap:16px}.nav-link{font-size:.98rem;white-space:nowrap;padding:12px 5px;position:relative;border-radius:0;line-height:1.3}.nav-link.active{color:var(--steel)}.nav-link.active::after{position:absolute;bottom:4px;left:5px;right:5px;width:auto;height:2px;margin:0;background:var(--copper);border-radius:0}.nav-cta{margin-left:24px}.nav-toggle{border:0;padding:12px;border-radius:4px}.nav-toggle span{width:25px;background:var(--ink)}
.btn{font-size:1rem;font-weight:600;min-height:48px;padding:13px 23px;line-height:1.25;white-space:normal;justify-content:center;box-shadow:none;transition:background .15s,border-color .15s,color .15s}.btn-sm{font-size:.93rem;min-height:42px;padding:11px 20px}.btn-primary,.btn-dark{color:#fff;background:var(--steel);border-color:var(--steel);box-shadow:0 5px 12px rgba(10,70,85,.09)}.btn-primary:hover,.btn-dark:hover{background:#083c4c;border-color:#083c4c;transform:none;box-shadow:none}.btn-outline,.btn-ghost-dark{background:transparent;color:var(--steel);border-color:#7498a4}.btn-outline:hover,.btn-ghost-dark:hover{background:#e9eff0;border-color:var(--steel)}
/* Editable hero text; imagery is decorative rather than content baked into a screenshot. */
.hero{background:var(--frost);color:var(--ink);border-bottom:1px solid var(--frost-line)}.hero::after,.hero-grain,.hero-arcs,.cta-arc{display:none!important}.editorial-visual{position:absolute;inset:0 0 0 auto;width:47%;background:#ccd7db;isolation:isolate;clip-path:polygon(32% 0,100% 0,100% 100%,4% 77%);z-index:0}.editorial-visual::before{content:'';position:absolute;inset:0;background-image:var(--hero-photo),var(--hero-fallback);background-size:cover;background-position:52% 42%;background-repeat:no-repeat}.editorial-drafting{position:absolute;width:260px;height:440px;right:calc(40% - 48px);top:32px;pointer-events:none;opacity:.43;z-index:0}.editorial-drafting svg{width:100%;height:100%;stroke:#78909b;stroke-width:.6;fill:none}.hero-inner{max-width:var(--maxw);text-align:left;margin-inline:auto;padding-block:84px 70px;min-height:745px}.hero .eyebrow{font-size:.71rem;color:#587480;letter-spacing:.14em;max-width:59%;text-align:left;justify-content:flex-start;margin-bottom:28px;line-height:1.8}.hero h1{font-size:clamp(48px,5.6vw,84px);line-height:1.06;font-weight:500;letter-spacing:-.045em;color:var(--ink);margin:0;width:61%;max-width:790px;text-wrap:balance}.hero h1 .accent{color:var(--steel)}.hero-sub{max-width:590px;width:51%;font-size:1.18rem;line-height:1.65;color:var(--ink-soft);margin:24px 0 0}.hero-cta{justify-content:flex-start;gap:14px;margin-top:28px}.hero>.hero-inner>.hero-cta{max-width:61%;position:relative;z-index:2}.hero-meta{width:58%;max-width:730px;margin-top:42px;padding-top:22px;border-color:#c9d1d2}.hero-meta .eyebrow-meta{font-size:.63rem;line-height:1.95;letter-spacing:.12em;color:#55707c;white-space:normal;max-width:100%;margin:0}
.page-head{background:var(--frost);color:var(--ink);border-bottom:1px solid var(--frost-line)}.page-head-inner{max-width:var(--maxw);padding-block:64px 68px;min-height:368px}.page-head .eyebrow{color:var(--steel);font-size:.7rem;margin-bottom:23px}.page-head h1{color:var(--ink);font-size:clamp(38px,4.25vw,64px);width:62%;max-width:800px;line-height:1.08;letter-spacing:-.04em;text-wrap:balance}.page-head .lede{width:54%;max-width:670px;color:var(--ink-soft);font-size:1.075rem;line-height:1.7;margin-top:21px}.page-head .editorial-visual{width:39%;clip-path:polygon(28% 0,100% 0,100% 100%,0 100%)}.page-head .editorial-visual::before{background-position:50% 33%}.page-head .editorial-drafting{right:calc(34% - 40px);height:310px;width:220px;top:17px}:is(#pv-check,#pv-privacy,#pv-legal,#pv-thanks) .page-head-inner{min-height:0;padding-block:52px}:is(#pv-check,#pv-privacy,#pv-legal,#pv-thanks) .page-head h1{width:100%;max-width:980px;font-size:clamp(36px,4vw,56px)}:is(#pv-check,#pv-privacy,#pv-legal,#pv-thanks) .page-head .lede{width:100%;max-width:850px}
.home-why{background:#fff;border-bottom:1px solid var(--frost-line)}:is(.home-why,.home-pillars,.home-watch) .section-head{display:grid;grid-template-columns:1.05fr 1fr;gap:0 64px;max-width:none;text-align:left;align-items:center}:is(.home-why,.home-pillars,.home-watch) .section-head>.eyebrow{grid-column:1/-1;justify-self:start}:is(.home-why,.home-pillars,.home-watch) .section-head>.lede{margin:0!important}.grid{gap:22px}.card{border-color:var(--frost-line);box-shadow:none;padding:26px;background:#fff;border-radius:4px}.card.hover:hover{transform:none;box-shadow:var(--shadow-lg);border-color:#75949b}.section--navy .card{background:#fff;border-color:var(--frost-line)}.why-card{gap:13px;border-top:2px solid #aebdc2}.why-card .why-date{font-size:.65rem;color:var(--steel);letter-spacing:.045em}.why-card h3{font-family:var(--font-body);font-size:1.11rem;letter-spacing:-.015em;font-weight:600;color:var(--ink);line-height:1.35}.why-card p{font-size:.98rem;color:var(--ink-soft);line-height:1.65}
.rail{border:1px solid var(--frost-line);border-radius:4px;background:var(--frost-line);margin-top:28px}.rail-item{background:#f6f7f4;padding:22px;gap:8px}.rail-item .rail-reg{font-size:.6rem;letter-spacing:.045em;color:var(--ink-soft)}.rail-item .rail-name{font-family:var(--font-body);color:var(--ink);font-size:.98rem;font-weight:600;letter-spacing:-.01em;line-height:1.4}.rail-item .rail-when{font-size:.85rem;color:var(--ink-soft)}.rail-count .n{color:var(--steel);font-family:var(--font-display);font-size:2.15rem;font-weight:500}.rail-count .u{color:var(--ink-soft);font-size:.59rem;letter-spacing:.04em}.rail-item[data-state='soon'] .rail-count .n{color:#895936}.rail-item[data-state='soon']::before{background:var(--copper)}.rail-item[data-state='live'] .rail-count .n{color:#326557}.rail-item[data-state='live']::before{background:#326557}
.home-problem .section-head{max-width:none!important;display:grid;grid-template-columns:1fr 1fr;gap:0 56px}.home-problem .section-head>.eyebrow{grid-column:1/-1}.home-problem .section-head>h2{grid-column:1;grid-row:2/4;max-width:530px}.home-problem .section-head>.lede{grid-column:2;margin-top:0;font-size:1rem}.home-problem .section-head>.lede+.lede{margin-top:14px!important}.chain-panel{background:#fff;color:var(--ink);border:1px solid var(--frost-line);padding:30px;border-radius:4px}.chain-legend{color:var(--steel);font-size:.65rem;letter-spacing:.11em}.chain-node .cn-role{font-size:.58rem;color:#596b74;letter-spacing:.07em}.chain-node .cn-name{font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.chain-node .cn-note{font-size:.88rem;color:var(--ink-soft);line-height:1.6}.chain-eu{border:1px dashed #95adb4;background:#f8f9f6;border-radius:4px;padding:20px 14px 14px}.chain-eu-label{color:var(--steel);background:#fff;font-size:.58rem;letter-spacing:.05em;top:-.65rem}.chain-node.is-key{border:1px solid var(--steel);background:var(--steel);box-shadow:none!important;animation:none!important}.chain-node.is-key .cn-name{color:#fff}.chain-node.is-key :is(.cn-note,.cn-role){color:#e3edef}.chain-node.is-out{border-color:#b5c2c5;background:#fafbf9}.chain-link{height:1px;background:#93a8af}.chain-link::after{width:6px;height:6px;top:50%;left:auto;right:0;margin-top:-3px;border-top:1px solid #78949d;border-right:1px solid #78949d;border-radius:0;transform:rotate(45deg);background:none;box-shadow:none;opacity:1;animation:none!important}.chain-foot{font-size:.87rem;color:var(--ink-soft);border-top:1px solid var(--frost-line);padding-top:18px;margin-top:20px}.chain-foot strong{color:var(--ink)}
.home-pillars{background:#f2f2ed}.pillar{display:flex;flex-direction:column;padding:30px;border-top:2px solid #8ba6ae}.pillar .picon{background:none;width:38px;height:38px;border-radius:0;margin-bottom:18px}.pillar .picon svg{height:32px;width:32px}.pillar .num{font-size:.62rem;color:var(--copper)}.pillar h3{font-size:1.7rem;font-weight:500;line-height:1.15;letter-spacing:-.025em;margin-top:10px}.pillar p{font-size:1rem;line-height:1.7;margin:16px 0 26px}.pillar .more{font-size:.9rem;margin-top:auto;color:var(--steel);text-decoration:underline;text-underline-offset:5px}.home-check{background:var(--frost)}.tool-band{background:#eeefea;border:1px solid #d6dcd7;border-radius:4px;box-shadow:none;padding:36px;grid-template-columns:1.18fr 1fr;gap:50px}.tool-band h2{font-size:clamp(28px,2.65vw,38px);line-height:1.16}.tool-band p{font-size:1rem;line-height:1.7}.tool-mini{gap:0;border-top:1px solid #cbd3cf}.tool-mini div{border:0;border-bottom:1px solid #cbd3cf;background:transparent;border-radius:0;font-size:.97rem;padding:17px 0}.tool-mini div span.q{color:var(--copper);font-size:.67rem;min-width:24px}
.home-difference{background:#fff;border-block:1px solid var(--frost-line)}.home-difference>.container{display:grid;grid-template-columns:.9fr 1.5fr;gap:60px;align-items:start}.home-difference .section-head{margin:0}.home-difference .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px!important}.diff{gap:14px;padding-bottom:24px;border-bottom:1px solid #e1e5e2}.diff .dot,.section:not(.section--navy) .diff .dot{background:none;width:28px;height:32px;border-radius:0}.diff .dot svg{stroke:var(--steel);width:25px;height:25px}.diff h3{font-family:var(--font-body);font-weight:600;font-size:1rem;letter-spacing:-.02em;line-height:1.3}.diff p{font-size:.94rem;line-height:1.65;margin-top:9px}
.svc{grid-template-columns:1.08fr 1fr;gap:56px;align-items:start}.svc+.svc{padding-top:54px;margin-top:54px}.svc-side h2{font-size:clamp(29px,3vw,40px);line-height:1.17}.svc-side p{font-size:1.015rem;line-height:1.78;margin-top:20px}.svc-media{background:#f0f2ed;color:var(--ink);border:1px solid #d7dfd9;border-radius:4px;padding:30px}.svc-media .badge{color:var(--steel);font-size:.66rem;letter-spacing:.1em;display:block;padding-bottom:16px;border-bottom:1px solid #c8d5cf}.feature-list{gap:15px}.feature-list li{font-size:.99rem;line-height:1.7;color:var(--ink);padding-left:28px}.feature-list li::before,.feature-list.dark-on-light li::before{background-color:#dbe8e3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23195660' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:12px;width:18px;height:18px;top:4px}.editorial-photo{height:235px;background-color:#d8deda;background-image:var(--desk-photo),var(--desk-fallback);background-size:cover;background-position:center 60%;border-radius:3px;margin-bottom:25px}.about-who .svc-media{padding:0 0 28px}.about-who .svc-media>.badge,.about-who .svc-media>.feature-list{margin-inline:28px}.about-operating>.container{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:60px}.about-operating .section-head{margin:0;max-width:none}.about-operating .editorial-photo{height:100%;min-height:280px;margin:0;background-position:center}
.reg-grid{gap:16px}.reg-item{padding:24px;background:#fff;border-radius:4px}.reg-item .ref{font-size:.65rem}.reg-item h4{font-family:var(--font-body);font-size:1.12rem;line-height:1.3;font-weight:600;letter-spacing:-.025em;margin-top:13px}.reg-item p{font-size:.94rem;line-height:1.65;margin-top:10px}.reg-item.key{background:#fafcf9;border-color:#819ea1;box-shadow:none;border-top:2px solid var(--steel)}.reg-item.key .ref{color:var(--steel)}.reg-tag{background:#e7efeb;color:#285e62;font-size:.59rem;letter-spacing:.055em;margin-top:15px;border-radius:2px}.reg-horizon{font-size:.97rem;line-height:1.8;border-left:2px solid var(--copper);margin-top:26px;padding-left:20px}.steps{gap:26px}.step{padding-top:52px}.step::before{border:1px solid #a1b4b9;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font-size:.67rem;color:var(--steel)}.step::after{top:16px;left:48px;background:#c8d2d2!important}.step h3{font-family:var(--font-body);font-size:1.03rem;letter-spacing:-.02em;font-weight:600;line-height:1.35}.step p{font-size:.96rem;line-height:1.7;margin-top:10px}.chips{gap:12px}.chip{color:var(--ink);border-color:#b6c6c7;font-size:.96rem;background:#fff;border-radius:3px;padding:12px 16px}.chip::before{height:5px;width:5px;background:var(--copper)}
.home-watch{background:#f6f5f1}.watch-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.watch-item{display:flex;flex-direction:column;gap:18px;padding:26px;border:1px solid var(--frost-line);box-shadow:none;background:#fff;border-radius:4px}.watch-item:hover{border-color:#96adb3;box-shadow:none}.watch-item>div:first-child{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.watch-when{font-size:.64rem;letter-spacing:.015em;line-height:1.6}.watch-tag{font-size:.56rem;letter-spacing:.045em;border-radius:2px;background:#eaf0ed;color:#36636a;margin:0;padding:4px 7px}.watch-tag.now{background:#f1e5d8;color:#815735}.watch-item h3{font-size:1.72rem;line-height:1.16;letter-spacing:-.03em;font-weight:500}.watch-item p{font-size:.97rem;line-height:1.75;margin-top:17px}.watch-item .impact{margin-top:22px;font-size:.92rem;color:var(--ink-soft);border-left:2px solid #bb9171;padding-left:15px}#pv-watch .watch-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}#pv-watch .watch-item{padding:32px}#pv-watch .watch-item h3{font-size:1.92rem;max-width:34ch}.center-cta{margin-top:30px}
.cta-band{border-radius:4px;background:var(--navy);padding:44px 48px;display:grid;grid-template-columns:1.2fr 1fr;gap:14px 44px;isolation:isolate}.cta-band::before{content:'';position:absolute;inset:0 0 0 46%;background-image:linear-gradient(90deg,var(--navy),rgba(18,51,64,.65)),var(--hero-photo),var(--hero-fallback);background-position:center,center 80%,center 80%;background-size:cover;opacity:.6;z-index:-1}.cta-band h2{font-size:clamp(29px,2.9vw,38px);line-height:1.18;max-width:30ch;grid-column:1}.cta-band p{font-size:1rem;line-height:1.75;margin:0;max-width:54ch;grid-column:1;color:#d3e0e3}.cta-band .hero-cta{grid-column:2;grid-row:1/3;align-self:center;justify-content:flex-end;margin:0;gap:12px}.cta-band .btn-primary{background:#fafaf7;border-color:#fafaf7;color:var(--steel);box-shadow:none}.cta-band .btn-primary:hover{background:#d9e9ec}.cta-band .btn-outline{border-color:#bdced2;color:#fff;background:transparent}.cta-band .btn-outline:hover{background:rgba(255,255,255,.1)}
.contact-grid{grid-template-columns:.85fr 1.25fr;gap:56px}.contact-card{gap:26px;padding-bottom:8px}.cinfo .ci-label{font-size:.65rem;color:#5a737d;letter-spacing:.09em}.cinfo .ci-val{font-size:1.08rem;font-weight:500}.cinfo .ci-ic{background:#e7eeeb;border-radius:4px}.contact-grid .card{background:transparent;padding:25px 0;border:0;border-top:1px solid var(--frost-line);border-radius:0;font-size:1rem}.contact-grid .card .eyebrow{font-size:.65rem}.form-card{padding:32px;border-color:#cbd5d3;border-radius:4px;box-shadow:none;background:#fff}.field{gap:8px;margin-bottom:20px}.field label{font-size:.87rem;line-height:1.5;font-weight:600}.field input,.field textarea,.field select{font-size:1rem;line-height:1.5;padding:12px 14px;background:#fcfcf9;border-color:#cbd5d3;border-radius:4px;min-height:48px}.field textarea{min-height:160px}.field input:focus,.field textarea:focus,.field select:focus{box-shadow:0 0 0 3px rgba(11,82,105,.1);border-color:var(--steel)}.field input::placeholder,.field textarea::placeholder{color:#71848c}.form-note{font-size:.85rem;line-height:1.65;margin-top:18px}.field-err{font-size:.86rem}.form-status{font-size:.96rem}
.qz{max-width:850px}.qz-shell{border:1px solid #c7d2d0;border-radius:4px;box-shadow:0 8px 28px rgba(30,53,54,.04)}.qz-body{padding:40px}.qz-bar{height:3px;background:#e7ece8}.qz-count{font-size:.67rem;color:var(--steel);letter-spacing:.1em}.qz-q{font-size:clamp(27px,2.8vw,36px);font-weight:500;letter-spacing:-.025em;line-height:1.2;margin-top:15px}.qz-help{font-size:1rem;line-height:1.75;margin-top:14px}.qz-opts{gap:12px;margin-top:25px}.qz-opt{font-size:1rem;padding:17px 18px;line-height:1.6;background:#fafbf8;border-radius:4px;gap:14px}.qz-opt:hover{transform:none;border-color:#537e89;background:#f0f5f0}.qz-opt.is-picked{background:#e8f0ec;border-color:var(--steel)}.qz-opt .tick{border-color:#9cafb2}.qz-back{font-size:.94rem}.qz-verdict h2{font-size:clamp(28px,3vw,36px)}.qz-ob{background:#fafbf8;border-radius:4px;padding:20px}.qz-ob .ref{font-size:.65rem;line-height:1.7}.qz-ob h3{font-family:var(--font-body);font-size:1.05rem;line-height:1.4;letter-spacing:-.015em;font-weight:600;margin-top:10px}.qz-ob p{font-size:.98rem;line-height:1.7}.qz-ob .when{background:#e4eeea;color:#326268;font-size:.6rem;line-height:1.65;letter-spacing:.035em;white-space:normal}.qz-ob .when.soon{background:#f0e6d9;color:#7e5839}.qz-capture{background:#edf1ec;padding:25px;border-radius:4px}.qz-capture h3{font-size:1.65rem;font-weight:500}.qz-capture p{font-size:.97rem}.qz-disclaim{font-size:.86rem;line-height:1.8}
.js .reveal,.js .stagger>*{opacity:1;transform:none;transition:none}.js .chain-node,.js .chain-eu,.js .chain-link{opacity:1;transform:none;transition:none}.chain.is-drawn .chain-node.is-key{animation:none!important}.legal-prose{max-width:900px;margin-inline:auto}.legal-updated{font-size:.68rem;letter-spacing:.07em}.legal-prose h2{font-size:1.85rem;font-weight:500;line-height:1.25}.legal-prose p{font-size:1.03rem;line-height:1.85;margin-top:16px}.thanks-wrap{max-width:820px}
.site-footer{background:var(--navy);padding-top:56px;color:#c5d4d9}.site-footer .brand-logo{height:auto;width:176px}.footer-grid{grid-template-columns:1.4fr .75fr 1fr 1fr;gap:40px}.footer-boiler{font-size:.93rem;line-height:1.8;color:#c5d4d9;max-width:36ch}.footer-col h4{font-size:.65rem;letter-spacing:.09em;color:#e0eaeb;font-weight:500;margin-bottom:18px}.footer-col a,.footer-col li{font-size:.93rem;line-height:1.65;color:#c5d4d9}.footer-col ul{gap:11px}.footer-col a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{margin-top:36px;padding-top:24px;padding-bottom:12px;border-color:#3d5965}.footer-bottom p{font-size:.86rem;color:#c5d4d9}.footer-bottom .mono{font-size:.59rem;line-height:1.8;letter-spacing:.065em}.footer-bottom .footer-fine{font-size:.78rem;line-height:1.85;max-width:1100px;opacity:1}[id]{scroll-margin-top:106px}
@media(max-width:1180px){.site-nav{gap:10px}.nav-link{font-size:.92rem}.nav-cta{margin-left:14px}.site-nav .btn{font-size:.88rem;padding-inline:17px}.brand-logo{width:158px}.hero-inner{min-height:675px;padding-block:65px 58px}.hero h1{font-size:clamp(51px,5.8vw,72px);width:63%}.hero-sub{font-size:1.06rem;width:53%}.hero>.hero-inner>.hero-cta{max-width:59%;gap:12px}.hero>.hero-inner>.hero-cta .btn{font-size:.94rem;padding-inline:18px}.hero-meta{width:56%;margin-top:34px}.hero .eyebrow{font-size:.65rem}.home-difference>.container{gap:35px}.home-difference .grid{gap:22px!important}.diff{gap:10px}.cta-band{padding:36px;gap:24px}.cta-band .hero-cta{flex-direction:column;align-items:flex-start;justify-self:end}}
@media(max-width:1040px){.header-inner{min-height:76px}.brand-logo{width:170px}.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--frost);border-bottom:1px solid var(--frost-line);padding:20px 32px 28px;flex-direction:column;align-items:stretch;gap:4px;box-shadow:0 10px 20px rgba(23,45,52,.07)}.site-nav.open{display:flex}.nav-link{font-size:1rem;padding:12px 0;border-bottom:1px solid #e4e8e4}.nav-link.active::after{display:none}.nav-link.active{font-weight:600}.nav-cta{margin:14px 0 0;align-self:flex-start}.site-nav .btn{font-size:1rem;padding-inline:24px}.svc{gap:32px}.chain{grid-template-columns:1fr}.chain-inner{grid-template-columns:1fr 22px 1fr 22px 1fr}.chain-outside{margin-bottom:12px}.chain-outside>.chain-node{max-width:400px}.chain>.chain-link{display:none}.chain-link{width:auto;height:1px;margin:0 4px}.chain-link::after{left:auto!important;right:0;margin-left:0;top:50%}.chain-eu{padding:25px 15px 15px}.chain-node{padding:16px}.chain-node .cn-role{font-size:.54rem}.home-difference>.container{grid-template-columns:1fr}.home-difference .section-head{max-width:700px}.home-difference .grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.watch-list{grid-template-columns:1fr}.home-watch .watch-item{display:grid;grid-template-columns:150px 1fr;gap:24px}.home-watch .watch-item>div:first-child{display:block}.home-watch .watch-tag{margin-top:10px}.footer-grid{grid-template-columns:1.1fr 1fr 1fr}.footer-brand{grid-column:1/-1;display:flex;gap:36px;align-items:flex-start}.footer-boiler{max-width:70ch}.footer-brand .brand{margin-top:8px}}
@media(max-width:820px){.hero-inner{padding-top:52px;padding-bottom:46px;min-height:620px}.hero h1{font-size:clamp(43px,6.3vw,53px);width:65%;text-wrap:initial}.hero .eyebrow{max-width:60%;font-size:.6rem;margin-bottom:25px}.hero-sub{width:54%;font-size:1rem;line-height:1.7}.hero>.hero-inner>.hero-cta{max-width:57%;flex-direction:column;align-items:flex-start}.hero>.hero-inner>.hero-cta .btn{font-size:.89rem;min-height:45px;max-width:100%;padding-inline:16px}.hero-meta{width:58%}.hero-meta .eyebrow-meta{font-size:.57rem}.editorial-visual{width:44%;clip-path:polygon(28% 0,100% 0,100% 100%,0 87%)}.editorial-drafting{width:160px;right:calc(35% - 20px);top:30px}.page-head-inner{min-height:310px;padding-block:46px}.page-head h1{width:63%;font-size:clamp(36px,5.3vw,46px)}.page-head .lede{width:58%;font-size:1rem}.page-head .editorial-visual{width:34%}:is(.home-why,.home-pillars,.home-watch) .section-head{grid-template-columns:1fr;gap:16px}:is(.home-why,.home-pillars,.home-watch) .section-head>.eyebrow{margin:0}.home-problem .section-head{grid-template-columns:1fr;gap:16px}.home-problem .section-head>h2{grid-column:auto;grid-row:auto;max-width:none}.home-problem .section-head>.eyebrow{margin:0}.home-problem .section-head>.lede{grid-column:auto}.home-problem .section-head>.lede+.lede{margin-top:0!important}.grid-3{grid-template-columns:1fr}.rail{grid-template-columns:1fr}.rail-item{display:grid;grid-template-columns:1fr auto;padding:22px;gap:8px 22px}.rail-count{grid-column:2;grid-row:1/4;align-self:center;flex-direction:column;gap:8px;text-align:right;align-items:flex-end}.rail-item :is(.rail-reg,.rail-name,.rail-when){grid-column:1}.svc{grid-template-columns:1fr}.svc.flip .svc-media{order:0}.svc-media{order:0;padding:28px}.svc.flip .svc-side{order:-1}.tool-band{grid-template-columns:1fr;padding:28px;gap:28px}.home-difference .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px!important}.about-operating>.container{grid-template-columns:1fr;gap:32px}.about-operating .editorial-photo{min-height:280px;height:280px}.about-who .editorial-photo{height:300px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid>.reveal{order:2}.contact-grid>.form-card{order:1}.contact-grid .card{max-width:none}.cta-band{grid-template-columns:1fr;padding:34px}.cta-band h2,.cta-band p{grid-column:1;max-width:100%}.cta-band .hero-cta{grid-column:1;grid-row:auto;justify-self:start;flex-direction:row;margin-top:14px}.cta-band::before{inset:0;opacity:.2}#pv-watch .watch-list{grid-template-columns:1fr}.footer-grid{gap:30px}.footer-brand{display:block}.footer-brand .brand{margin-top:0}.footer-boiler{max-width:65ch}}
@media(max-width:600px){.container{padding-inline:23px}.section{padding-block:46px}.section--tight{padding-block:32px}.header-inner{min-height:72px}.brand-logo{width:150px}.site-nav{padding-inline:23px}.h2{font-size:32px}.section-head{margin-bottom:26px}.lede{font-size:1rem}.hero{display:flex;flex-direction:column}.hero-inner{min-height:0;padding:38px 23px 29px;width:100%;display:flex;flex-direction:column}.hero .eyebrow{font-size:.61rem;max-width:100%;letter-spacing:.11em;margin-bottom:21px;line-height:1.9}.hero h1{font-size:clamp(34px,9.45vw,55px);width:100%;max-width:100%;letter-spacing:-.05em;line-height:1.1;text-wrap:initial}.hero-sub{width:100%;max-width:100%;font-size:1rem;line-height:1.7;margin-top:23px}.hero>.hero-inner>.hero-cta{max-width:100%;width:100%;margin-top:26px;gap:12px;align-items:stretch}.hero>.hero-inner>.hero-cta .btn{font-size:.94rem;min-height:48px;padding-inline:15px;width:100%}.hero-meta{width:100%;max-width:none;margin-top:26px;padding-top:18px}.hero-meta .eyebrow-meta{font-size:.56rem;max-width:100%;letter-spacing:.06em;line-height:1.95}.hero>.editorial-visual{position:relative;inset:auto;order:2;width:100%;height:300px;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);margin-top:0}.hero>.editorial-visual::before{background-position:55% 28%;background-size:cover}.hero>.editorial-drafting{display:none}.page-head-inner{padding-block:36px;min-height:0}.page-head h1{font-size:38px;width:100%;max-width:100%}.page-head .lede{width:100%;max-width:100%;font-size:1rem}.page-head .eyebrow{font-size:.62rem;margin-bottom:17px}.page-head .editorial-visual,.page-head .editorial-drafting{display:none}:is(#pv-check,#pv-privacy,#pv-legal,#pv-thanks) .page-head-inner{padding-block:34px}:is(#pv-check,#pv-privacy,#pv-legal,#pv-thanks) .page-head h1{font-size:36px}.card{padding:23px}.why-card{gap:12px}.why-card h3{font-size:1.08rem}.why-card p{font-size:.96rem}.rail-item{padding:19px 17px;gap:9px 15px}.rail-item .rail-name{font-size:.91rem}.rail-count .n{font-size:1.9rem}.rail-count .u{font-size:.53rem}.rail-item .rail-when{font-size:.8rem}.rail-item .rail-reg{font-size:.56rem}.rail-item[data-state='live'] .rail-count .n{font-size:1.01rem}.chain-panel{padding:22px 17px}.chain-inner{grid-template-columns:1fr}.chain-node .cn-role{font-size:.58rem}.chain-node .cn-name{font-size:1rem}.chain-node .cn-note{font-size:.89rem}.chain-eu{padding:28px 12px 14px;margin-top:20px}.chain-eu-label{font-size:.53rem;left:7px;right:7px;text-align:center;top:-.5rem;line-height:1.5;padding:0 3px}.chain-inner .chain-link{height:18px;width:1px;justify-self:center;margin:8px 0}.chain-inner .chain-link::after{left:50%!important;right:auto;top:auto;bottom:0;margin:0 0 0 -3px;transform:rotate(135deg)}.chain-legend{font-size:.59rem}.chain-foot{font-size:.84rem}.pillar{padding:26px}.pillar h3{font-size:1.7rem}.pillar p{font-size:.98rem}.pillar .picon{margin-bottom:12px}.tool-band{padding:25px 21px;gap:25px}.tool-band h2{font-size:30px}.tool-band .hero-cta{flex-direction:column;align-items:stretch}.tool-mini div{font-size:.92rem;line-height:1.6}.home-difference .grid{grid-template-columns:1fr;gap:23px!important}.diff{padding-bottom:22px}.diff h3{font-size:1.01rem}.diff p{font-size:.97rem}.diff .dot{width:32px}.watch-list,#pv-watch .watch-list{gap:20px}.home-watch .watch-item{display:flex;gap:20px}.home-watch .watch-item>div:first-child{display:flex;flex-wrap:wrap}.home-watch .watch-tag{margin:0}.watch-item,#pv-watch .watch-item{padding:25px 22px}.watch-item h3,#pv-watch .watch-item h3{font-size:1.7rem}.watch-item p{font-size:.97rem}.watch-item .impact{font-size:.91rem}.svc{gap:28px}.svc+.svc{padding-top:38px;margin-top:38px}.svc-side h2{font-size:31px}.svc-side p{font-size:1rem}.svc-media{padding:24px}.feature-list li{font-size:.96rem}.reg-grid{grid-template-columns:1fr}.reg-item{padding:23px}.reg-horizon{font-size:.95rem}.steps{grid-template-columns:1fr;gap:30px}.step{padding:0 0 0 52px}.step::before{top:0}.step::after{display:none}.step p{font-size:.97rem}.chip{font-size:.9rem;padding:10px 12px}.about-who .editorial-photo{height:215px}.about-operating .editorial-photo{height:230px;min-height:230px}.cta-band{padding:31px 25px;gap:18px}.cta-band h2{font-size:31px}.cta-band p{font-size:.97rem}.cta-band .hero-cta{width:100%;flex-direction:column;align-items:stretch}.cta-band .btn{width:100%}.contact-grid{gap:29px}.form-card{padding:25px 20px}.form-row{grid-template-columns:1fr;gap:0}.field label{font-size:.87rem}.field input,.field textarea,.field select{font-size:1rem;padding:12px;min-width:0}.contact-grid .card{font-size:.97rem}.cinfo .ci-val{font-size:1.05rem}.qz-body{padding:27px 20px}.qz-count{font-size:.64rem}.qz-q{font-size:28px}.qz-help{font-size:.97rem}.qz-opt{font-size:.97rem;padding:15px 13px;gap:12px;align-items:flex-start}.qz-opt .tick{margin-top:3px}.qz-ob{padding:18px 15px}.qz-ob h3{font-size:1rem}.qz-ob .ref{font-size:.61rem}.qz-capture{padding:22px 17px}.qz-capture button{width:100%}.qz-verdict{padding-left:15px}.qz-verdict h2{font-size:28px}.qz-verdict p{font-size:1rem}.qz-disclaim{font-size:.82rem}.legal-prose h2{font-size:1.6rem}.legal-prose p{font-size:1rem;line-height:1.85}.legal-updated{font-size:.6rem}.thanks-wrap .hero-cta{align-items:stretch;flex-direction:column}.site-footer{padding-top:43px;padding-bottom:73px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}.footer-brand{grid-column:1/-1}.footer-col:last-child{grid-column:1/-1;padding-top:23px;border-top:1px solid #3d5965}.footer-col a,.footer-col li{font-size:.9rem}.footer-boiler{font-size:.92rem}.footer-bottom{gap:14px;margin-top:28px;padding-top:25px}.footer-bottom .mono{font-size:.55rem}.footer-bottom .footer-fine{font-size:.76rem}.site-footer .brand-logo{width:164px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.site-header,.nav-toggle,.editorial-visual,.editorial-drafting{display:none!important}body{font-size:11pt;background:#fff}.section{padding-block:20px}.container{padding-inline:0}.hero-inner,.page-head-inner{padding:0;min-height:0}.hero h1,.hero-sub,.hero-meta,.page-head h1,.page-head .lede{width:100%;max-width:100%}.card,.watch-item,.qz-ob{break-inside:avoid}}
/* Final typographic and anchor alignment refinements. */
html{scroll-padding-top:0}
.hero h1{font-weight:600;width:60%;letter-spacing:-.045em}
@media(max-width:820px){.hero h1{width:65%}}
@media(max-width:600px){.hero h1{width:100%;font-size:clamp(34px,10vw,45px)}}
.hero h1{text-wrap:initial}

:root{--hero-photo:url("assets/hero-eu-flag.webp");--desk-photo:url("assets/technical-documentation.webp");--hero-fallback:url("assets/hero-eu-flag.webp");--desk-fallback:url("assets/technical-documentation.webp")}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--navy);color:#fff;padding:12px 18px;font-family:var(--font-body);font-size:.95rem;border-radius:0 0 4px 0}
.skip-link:focus{left:0}

/* Utilities replacing former inline style attributes, so the Content
   Security Policy can forbid inline styles outright. */
.u-margintop-3567{margin-top:1.6rem}
.u-margintop-2b65{margin-top:1.1rem}
.u-margintop-5a77{margin-top:1.4rem}
.u-marginbottom-023e{margin-bottom:1.4rem}
.u-marginbottom-9590{margin-bottom:1rem}
.u-liststyle-padding-7f3b{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.u-display-gap-b8fb{display:flex;gap:.8rem}
.u-color-fontweight-ecb3{color:var(--ice);font-weight:500}
.u-margintop-02a0{margin-top:1.2rem}
.u-marginbottom-916e{margin-bottom:.8rem}
.u-color-7902{color:var(--ink-soft)}
.u-margintop-9dae{margin-top:1rem}
.u-width-justifycontent-d616{width:100%;justify-content:center}
.u-color-textdecoration-8fc2{color:var(--steel);text-decoration:underline}
.u-maxwidth-90d9{max-width:58rem}
.u-margintop-ebc5{margin-top:.9rem}
.u-margininline-0975{margin-inline:auto}
.u-gap-6744{gap:1.8rem 1.4rem}
.u-margintop-color-ac46{margin-top:1.6rem;color:var(--ink-soft)}
.u-justifycontent-margintop-ba6f{justify-content:flex-start;margin-top:1.8rem}
.u-maxwidth-margintop-c9a8{max-width:52rem;margin-top:2rem}

/* Build marker, read by install-check.html */
:root{--polararc-build:'20260914'}
