:root {
  --site-colour-ink: #10212f;
  --site-colour-ink-soft: #17384d;
  --site-colour-muted: #587082;
  --site-colour-line: #d8e4ea;
  --site-colour-paper: #f4f8fb;
  --site-colour-surface: #ffffff;
  --site-colour-brand: #149bd7;
  --site-colour-brand-dark: #0f6f9c;
  --site-colour-brand-pale: #eaf8ff;
  --site-colour-positive: #1f8f6a;
  --site-colour-warning: #b56a12;
  --site-colour-danger: #b4233c;
  --site-colour-focus: #f4bf36;
  --site-font: Arial, Helvetica, sans-serif;
  --site-radius-small: 8px;
  --site-radius-medium: 14px;
  --site-radius-large: 24px;
  --site-shadow-small: 0 10px 28px rgba(15, 33, 49, .08);
  --site-shadow-large: 0 24px 60px rgba(15, 33, 49, .14);
  --site-width-narrow: 760px;
  --site-width-content: 1040px;
  --site-width-wide: 1180px;
  --site-space-1: .4rem;
  --site-space-2: .75rem;
  --site-space-3: 1rem;
  --site-space-4: 1.5rem;
  --site-space-5: 2rem;
  --site-space-6: 3rem;
  --site-space-7: 4.5rem;
  --site-motion-fast: 150ms;
  --site-motion-standard: 240ms;
  font-family: var(--site-font);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body[data-site-shell="public"] {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  background: var(--site-colour-paper);
  color: var(--site-colour-ink);
  font-family: var(--site-font);
  font-size: 1rem;
  line-height: 1.6;
}
img { max-width: 100%; }
a { color: var(--site-colour-brand-dark); }
a:hover { color: var(--site-colour-ink); }
button, input, select, textarea { font: inherit; }

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 4px solid var(--site-colour-focus);
  outline-offset: 3px;
}

.site-skip-link {
  position: fixed;
  z-index: 100;
  top: var(--site-space-3);
  left: var(--site-space-3);
  padding: .7rem 1rem;
  border-radius: var(--site-radius-small);
  background: var(--site-colour-surface);
  color: var(--site-colour-ink);
  font-weight: 900;
  transform: translateY(-180%);
  transition: transform var(--site-motion-fast) ease;
}
.site-skip-link:focus { transform: translateY(0); }
.site-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.site-container,
.site-container--wide,
.site-container--narrow {
  width: calc(100% - 2rem);
  margin-inline: auto;
}
.site-container { max-width: var(--site-width-content); }
.site-container--wide { max-width: var(--site-width-wide); }
.site-container--narrow { max-width: var(--site-width-narrow); }

.site-header {
  position: relative;
  z-index: 20;
  background: rgba(255, 255, 255, .97);
}
.site-header--dark {
  background: var(--site-colour-ink);
  color: #ffffff;
}
.site-header__inner {
  width: min(var(--site-width-wide), calc(100% - 2rem));
  min-height: 82px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--site-space-4);
}
.site-brand {
  flex: 0 1 270px;
  display: inline-flex;
  align-items: center;
  border-radius: var(--site-radius-small);
  text-decoration: none;
}
.site-brand img { display: block; width: min(100%, 260px); height: auto; }
.site-nav { display: flex; align-items: center; justify-content: flex-end; gap: .45rem; flex-wrap: wrap; }
.site-nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .5rem .8rem;
  border-radius: var(--site-radius-small);
  color: inherit;
  font-weight: 800;
  text-decoration: none;
}
.site-nav a:hover,
.site-nav a[aria-current="page"] { background: var(--site-colour-brand-pale); color: var(--site-colour-ink); }
.site-header--dark .site-nav a:hover,
.site-header--dark .site-nav a[aria-current="page"] { background: rgba(255, 255, 255, .12); color: #ffffff; }
.site-nav .site-nav__account {
  border: 2px solid currentColor;
  padding-inline: 1rem;
}
.site-header--dark .site-nav .site-nav__account { background: #ffffff; border-color: #ffffff; color: var(--site-colour-ink); }

.site-button-row { display: flex; align-items: center; gap: var(--site-space-3); flex-wrap: wrap; }
.site-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .7rem 1.15rem;
  border: 2px solid var(--site-colour-brand);
  border-radius: var(--site-radius-small);
  background: var(--site-colour-brand);
  color: #07151e;
  font-weight: 900;
  line-height: 1.2;
  text-decoration: none;
  transition: transform var(--site-motion-fast) ease, background var(--site-motion-fast) ease;
}
.site-button:hover { transform: translateY(-2px); background: #42b9eb; color: #07151e; }
.site-button--secondary { background: transparent; color: var(--site-colour-ink); border-color: var(--site-colour-ink); }
.site-button--secondary:hover { background: var(--site-colour-ink); color: #ffffff; }
.site-button--light { background: #ffffff; border-color: #ffffff; color: var(--site-colour-ink); }
.site-button--light:hover { background: var(--site-colour-brand-pale); color: var(--site-colour-ink); }
.site-button--quiet { background: transparent; border-color: transparent; color: var(--site-colour-brand-dark); }

.site-page-hero {
  padding: clamp(3.5rem, 8vw, 6.5rem) 0;
  overflow: hidden;
  background: linear-gradient(135deg, var(--site-colour-ink) 0%, var(--site-colour-ink-soft) 72%, #0f5272 100%);
  color: #ffffff;
}
.site-eyebrow {
  margin: 0 0 var(--site-space-2);
  color: var(--site-colour-brand-dark);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .1em;
  line-height: 1.3;
  text-transform: uppercase;
}
.site-page-hero .site-eyebrow { color: #a5e3fb; }
.site-page-title {
  max-width: 900px;
  margin: 0;
  font-size: clamp(2.45rem, 7vw, 5.5rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.site-page-intro {
  max-width: 760px;
  margin: var(--site-space-4) 0 0;
  color: #d9ecf5;
  font-size: clamp(1.1rem, 2.2vw, 1.32rem);
  line-height: 1.65;
}

.site-section { padding: clamp(3.5rem, 8vw, 6rem) 0; }
.site-section--surface { background: var(--site-colour-surface); }
.site-section--compact { padding-block: clamp(2.4rem, 6vw, 4rem); }
.site-section-heading { max-width: 760px; margin-bottom: var(--site-space-5); }
.site-section-heading h2 {
  margin: 0 0 var(--site-space-2);
  font-size: clamp(1.85rem, 4vw, 3.1rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.site-section-heading p { margin: 0; color: var(--site-colour-muted); font-size: 1.08rem; }
.site-prose { max-width: var(--site-width-narrow); }
.site-prose h2 { margin: 2.2rem 0 .6rem; font-size: clamp(1.55rem, 3vw, 2.15rem); line-height: 1.15; }
.site-prose h2:first-child { margin-top: 0; }
.site-prose p, .site-prose li { color: var(--site-colour-muted); }

.site-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--site-space-4); }
.site-card-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-card {
  min-width: 0;
  padding: clamp(1.35rem, 3vw, 2rem);
  border: 1px solid var(--site-colour-line);
  border-radius: var(--site-radius-medium);
  background: var(--site-colour-surface);
  box-shadow: var(--site-shadow-small);
}
.site-card__marker {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  margin-bottom: var(--site-space-4);
  border-radius: 12px;
  background: var(--site-colour-brand-pale);
  color: var(--site-colour-brand-dark);
  font-weight: 900;
}
.site-card h2, .site-card h3 { margin: 0 0 .6rem; line-height: 1.2; }
.site-card p { margin: 0; color: var(--site-colour-muted); }
.site-card .site-button-row { margin-top: var(--site-space-4); }

.site-product-proof-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--site-space-4);
}
.site-product-proof-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--site-colour-line);
  border-radius: var(--site-radius-large);
  background: var(--site-colour-surface);
  box-shadow: var(--site-shadow-small);
}
.site-product-proof-preview {
  min-height: 620px;
  overflow: hidden;
  border-bottom: 1px solid var(--site-colour-line);
  background: #eaf3f7;
}
.site-product-proof-preview iframe {
  width: 133.3334%;
  height: 827px;
  display: block;
  border: 0;
  background: #ffffff;
  transform: scale(.75);
  transform-origin: top left;
}
.site-product-proof-body { padding: clamp(1.35rem, 3vw, 2rem); }
.site-product-proof-body h3 { margin: .25rem 0 .65rem; font-size: clamp(1.35rem, 2.5vw, 1.8rem); line-height: 1.15; }
.site-product-proof-body > p:not(.site-eyebrow) { margin: 0; color: var(--site-colour-muted); }
.site-product-proof-facts { display: grid; gap: .75rem; margin: 1.2rem 0 0; }
.site-product-proof-facts div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: .65rem; }
.site-product-proof-facts dt { color: var(--site-colour-ink); font-weight: 900; }
.site-product-proof-facts dd { margin: 0; color: var(--site-colour-muted); }
.site-product-proof-body .site-button { margin-top: 1.1rem; }

.site-notice {
  margin: var(--site-space-4) 0 0;
  padding: .85rem 1rem;
  border-left: 5px solid var(--site-colour-brand);
  border-radius: var(--site-radius-small);
  background: var(--site-colour-brand-pale);
  color: #17475e;
  font-weight: 800;
}
.site-notice[data-kind="success"] { border-color: var(--site-colour-positive); background: #edf9f3; color: #176448; }
.site-notice[data-kind="error"] { border-color: var(--site-colour-danger); background: #fff0f3; color: var(--site-colour-danger); }

.site-credibility {
  padding: var(--site-space-4);
  border: 1px solid #b9e7f9;
  border-radius: var(--site-radius-medium);
  background: var(--site-colour-brand-pale);
  color: #17475e;
  font-size: 1.08rem;
  font-weight: 800;
}
.site-credibility p { margin: 0; }

.site-cta {
  padding: clamp(2rem, 5vw, 3.4rem);
  border-radius: var(--site-radius-large);
  background: linear-gradient(135deg, var(--site-colour-ink), var(--site-colour-ink-soft));
  color: #ffffff;
  box-shadow: var(--site-shadow-large);
}
.site-cta h2 { max-width: 800px; margin: 0 0 .7rem; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.1; }
.site-cta p { max-width: 740px; margin: 0 0 var(--site-space-4); color: #d9ecf5; }

.site-footer { padding: 2.2rem 0; background: var(--site-colour-ink); color: #c9d9e1; }
.site-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--site-space-4); flex-wrap: wrap; }
.site-footer__brand { display: grid; gap: .35rem; }
.site-footer__brand strong { color: #ffffff; }
.site-footer__links { display: flex; gap: .4rem 1rem; flex-wrap: wrap; }
.site-footer a { color: #d9ecf5; font-weight: 800; }

@media (max-width: 920px) {
  .site-header__inner { align-items: flex-start; padding-block: var(--site-space-3); }
  .site-brand { flex-basis: 220px; }
  .site-card-grid { grid-template-columns: 1fr 1fr; }
  .site-product-proof-grid { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .site-header__inner { display: grid; }
  .site-brand { width: 230px; flex-basis: auto; }
  .site-nav { justify-content: flex-start; }
}

@media (max-width: 700px) {
  .site-brand { width: 220px; }
  .site-card-grid, .site-card-grid--two { grid-template-columns: 1fr; }
  .site-button-row .site-button { width: 100%; }
  .site-product-proof-preview { min-height: 640px; height: 640px; }
  .site-product-proof-preview iframe { height: 854px; }
  .site-product-proof-facts div { grid-template-columns: 1fr; gap: .15rem; }
  .site-footer__inner { display: grid; }
}

@media (max-width: 430px) {
  .site-header__inner, .site-container, .site-container--wide, .site-container--narrow { width: calc(100% - 1.25rem); }
  .site-nav { gap: .2rem; }
  .site-nav a { min-height: 42px; padding: .42rem .6rem; font-size: .92rem; }
  .site-nav .site-nav__account { padding-inline: .75rem; }
}

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

@media print {
  body[data-site-shell="public"] { background: #ffffff; color: #000000; }
  .site-skip-link, .site-nav, .site-button-row { display: none !important; }
  .site-product-proof-preview { display: none !important; }
  .site-header, .site-header--dark, .site-page-hero, .site-footer, .site-cta { background: #ffffff !important; color: #000000 !important; box-shadow: none; }
  .site-page-intro, .site-cta p, .site-footer a { color: #222222 !important; }
  .site-card { break-inside: avoid; box-shadow: none; }
}
