:root {
  --navy-950: #071a22;
  --navy-900: #0b2430;
  --navy-800: #123744;
  --ink: #172b33;
  --ink-soft: #53666e;
  --paper: #f5f2ea;
  --white: #fffefd;
  --mint: #dcefe8;
  --mint-strong: #a9d8c8;
  --orange: #f79a3e;
  --orange-bright: #ffb668;
  --coral: #b7463b;
  --line: #d6dedb;
  --line-dark: rgba(255, 255, 255, .18);
  --shadow-sm: 0 12px 34px rgba(7, 26, 34, .08);
  --shadow-lg: 0 28px 80px rgba(7, 26, 34, .16);
  --radius-sm: .7rem;
  --radius: 1.2rem;
  --radius-lg: 2rem;
  --font-heading: "Avenir Next", Avenir, "Segoe UI", sans-serif;
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body, button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button { color: inherit; font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 {
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.08;
  overflow-wrap: break-word;
  hyphens: auto;
}
h1 {
  max-width: 15ch;
  margin-bottom: 1.5rem;
  font-size: clamp(2.75rem, 6vw, 5.35rem);
}
h2 { margin-bottom: 1.25rem; font-size: clamp(2rem, 4.2vw, 4.1rem); }
h3 { margin-bottom: .85rem; font-size: clamp(1.22rem, 2vw, 1.55rem); }
p { margin-bottom: 1.1rem; }

.container { width: min(1180px, calc(100% - 3rem)); margin-inline: auto; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  z-index: 1000;
  top: .75rem;
  left: .75rem;
  padding: .8rem 1rem;
  border-radius: .35rem;
  background: var(--white);
  color: var(--navy-950);
  font-weight: 800;
  transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0); }
:focus-visible {
  outline: 3px solid var(--white);
  outline-offset: 2px;
  box-shadow: 0 0 0 7px var(--navy-950);
}

.site-header {
  position: absolute;
  z-index: 100;
  inset: 0 0 auto;
  color: var(--white);
}
.header-inner {
  display: flex;
  min-height: 5.25rem;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.brand {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: .72rem;
  color: inherit;
  font-family: var(--font-heading);
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -.02em;
  text-decoration: none;
}
.brand img { width: 1.55rem; height: auto; }
.brand > span > span { color: var(--orange-bright); }
.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(.75rem, 1.55vw, 1.5rem);
  font-size: .74rem;
  font-weight: 750;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.site-nav > a,
.nav-group-link,
.submenu-toggle {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, .78);
  cursor: pointer;
  text-decoration: none;
  transition: color .18s ease;
}
.site-nav > a:hover,
.site-nav > a:focus-visible,
.nav-group-link:hover,
.nav-group-link:focus-visible,
.submenu-toggle:hover,
.submenu-toggle:focus-visible,
.site-nav [aria-current="page"],
.nav-group.is-current > .nav-group-link { color: var(--orange-bright); }
.site-nav .nav-cta {
  min-height: 2.65rem;
  padding: 0 1rem;
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: 999px;
  color: var(--white);
}
.site-nav .nav-cta:hover { border-color: var(--orange-bright); }
.nav-group { position: relative; display: flex; align-items: center; }
.submenu-toggle { gap: .42rem; justify-content: center; padding: 0; }
.submenu-chevron { font-size: 1rem; }
.submenu-toggle[aria-expanded="true"] > span:last-child { transform: rotate(180deg); }
.submenu {
  position: absolute;
  top: calc(100% + .35rem);
  left: 50%;
  display: grid;
  width: 20rem;
  padding: .65rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--radius);
  background: rgba(7, 26, 34, .98);
  box-shadow: var(--shadow-lg);
  transform: translateX(-50%);
}
.js .submenu { display: none; }
.js .submenu.is-open { display: grid; }
.js .nav-group-link-fallback { display: none; }
html:not(.js) .submenu-toggle { display: none; }
.submenu a {
  display: grid;
  gap: .1rem;
  padding: .78rem .85rem;
  border-radius: .6rem;
  color: rgba(255, 255, 255, .82);
  text-decoration: none;
  text-transform: none;
}
.submenu a:hover,
.submenu a:focus-visible,
.submenu a[aria-current="page"] { background: rgba(255, 255, 255, .08); color: var(--white); }
.submenu strong { font-size: .8rem; letter-spacing: .02em; }
.submenu small { color: rgba(255, 255, 255, .55); font-size: .72rem; font-weight: 500; letter-spacing: 0; }
.menu-toggle {
  display: none;
  width: 2.9rem;
  min-height: 2.9rem;
  padding: .6rem;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.menu-toggle span:not(.sr-only) { display: block; width: 1.25rem; height: 2px; margin: .27rem auto; background: var(--white); }

.hero {
  position: relative;
  display: grid;
  min-height: 45rem;
  align-items: center;
  overflow: hidden;
  padding: 9.5rem 0 6.5rem;
  background:
    radial-gradient(circle at 76% 22%, rgba(247, 154, 62, .13), transparent 27rem),
    linear-gradient(125deg, var(--navy-950), var(--navy-900) 60%, #12404a);
  color: var(--white);
  isolation: isolate;
}
.hero::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 4rem 4rem;
  content: "";
  mask-image: linear-gradient(90deg, #000 25%, transparent 90%);
}
.hero-orb { position: absolute; z-index: -1; border: 1px solid rgba(255, 255, 255, .12); border-radius: 50%; }
.hero-orb-one { top: 5rem; right: -11rem; width: 34rem; height: 34rem; }
.hero-orb-two { right: 7rem; bottom: -13rem; width: 24rem; height: 24rem; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(19rem, .64fr); align-items: center; gap: clamp(3.25rem, 8vw, 8rem); }
.hero-copy,
.hero-panel { min-width: 0; }
.eyebrow {
  margin-bottom: 1.1rem;
  color: var(--orange-bright);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.eyebrow-dark { color: var(--coral); }
.status-label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1.1rem;
  padding: .48rem .8rem;
  border: 1px solid rgba(169, 216, 200, .42);
  border-radius: 999px;
  background: rgba(169, 216, 200, .1);
  color: #bfeada;
  font-size: .72rem;
  font-weight: 750;
  line-height: 1.45;
  white-space: normal;
}
.hero-lead { max-width: 42rem; margin-bottom: 2rem; color: rgba(255, 255, 255, .74); font-size: clamp(1.03rem, 1.6vw, 1.22rem); line-height: 1.72; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.button {
  display: inline-flex;
  max-width: 100%;
  min-width: 0;
  min-height: 3.1rem;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .78rem 1.25rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: normal;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--orange); color: var(--navy-950); }
.button-primary:hover { background: var(--orange-bright); }
.button-quiet { border-color: rgba(255, 255, 255, .38); color: var(--white); }
.button-quiet:hover { border-color: var(--white); }
.button-dark { margin-top: 1rem; background: var(--navy-900); color: var(--white); }
.button-dark:hover { background: var(--navy-800); }
.hero-panel {
  padding: clamp(1.7rem, 3.4vw, 2.6rem);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .07);
  box-shadow: 0 2rem 6rem rgba(0, 0, 0, .18);
  backdrop-filter: blur(14px);
}
.panel-kicker { margin-bottom: .65rem; color: var(--orange-bright); font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hero-panel h2 { margin-bottom: 1.65rem; font-size: clamp(1.7rem, 3vw, 2.55rem); }
.check-list { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.check-list li { display: grid; grid-template-columns: 1.65rem 1fr; align-items: start; color: rgba(255, 255, 255, .75); font-size: .91rem; }
.check-list span { color: var(--orange-bright); font-weight: 900; }

.trust-strip { background: var(--orange); color: var(--navy-950); }
.trust-list { display: flex; min-height: 4rem; flex-wrap: wrap; align-items: center; justify-content: center; gap: .7rem 1.8rem; }
.trust-list span { font-size: .68rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.trust-list span::before { margin-right: 1.8rem; color: rgba(7, 26, 34, .35); content: "•"; }
.trust-list span:first-child::before { content: none; }

.breadcrumbs { padding-top: 1.4rem; padding-bottom: 1.4rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; color: var(--ink-soft); font-size: .78rem; list-style: none; }
.breadcrumbs li + li::before { margin-right: .5rem; color: #93a09f; content: "/"; }
.breadcrumbs a { color: var(--ink); }

.section { padding: clamp(5rem, 9vw, 8.5rem) 0; }
.tone-paper { background: var(--paper); }
.tone-white { background: var(--white); }
.tone-mint { background: var(--mint); }
.tone-navy { background: var(--navy-900); color: var(--white); }
.section-intro { max-width: 46rem; margin-bottom: clamp(2.2rem, 5vw, 4rem); }
.section-intro > p:last-child:not(.eyebrow) { max-width: 42rem; margin-bottom: 0; color: var(--ink-soft); font-size: clamp(1rem, 1.6vw, 1.14rem); }
.tone-navy .section-intro > p:last-child:not(.eyebrow) { color: rgba(255, 255, 255, .64); }

.card-grid { display: grid; gap: 1rem; }
.card-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.info-card {
  position: relative;
  display: flex;
  min-height: 18.5rem;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 2.1rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .52);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.info-card:hover { border-color: rgba(183, 70, 59, .45); box-shadow: var(--shadow-sm); transform: translateY(-3px); }
.info-card.is-featured { border-color: var(--navy-900); background: var(--navy-900); color: var(--white); }
.info-card.is-featured p { color: rgba(255, 255, 255, .66); }
.info-card.is-featured .text-link { color: var(--orange-bright); }
.card-topline { display: flex; min-height: 2rem; align-items: flex-start; justify-content: space-between; gap: .6rem; margin-bottom: 2.5rem; }
.card-number { color: var(--coral); font-size: .7rem; font-weight: 850; letter-spacing: .11em; }
.info-card.is-featured .card-number { color: var(--orange-bright); }
.info-card h3 { max-width: 17ch; }
.info-card p { margin-bottom: 1.2rem; color: var(--ink-soft); font-size: .91rem; }
.info-card .text-link { margin-top: auto; }
.badge {
  display: inline-flex;
  width: fit-content;
  padding: .35rem .62rem;
  border-radius: 999px;
  background: var(--mint);
  color: var(--navy-900);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.badge-warm { margin-bottom: 1.25rem; background: #fff0d9; color: #8a4a11; }
.text-link { width: fit-content; color: var(--coral); font-size: .74rem; font-weight: 850; letter-spacing: .045em; text-decoration: none; text-transform: uppercase; }
.text-link:hover { text-decoration: underline; }

.split-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .82fr); align-items: start; gap: clamp(3rem, 9vw, 8rem); }
.split-grid > * { min-width: 0; }
.split-grid .section-intro { margin-bottom: 1.6rem; }
.prose { max-width: 43rem; color: var(--ink-soft); font-size: 1.03rem; }
.detail-panel { padding: clamp(1.7rem, 3.5vw, 2.6rem); border-radius: var(--radius-lg); background: var(--navy-900); color: var(--white); box-shadow: var(--shadow-lg); }
.detail-panel h3 { font-size: clamp(1.6rem, 3vw, 2.35rem); }
.detail-panel > p { color: rgba(255, 255, 255, .62); }
.detail-list { display: grid; gap: 0; margin: 1.7rem 0 0; padding: 0; list-style: none; }
.detail-list li { display: grid; grid-template-columns: 1.35rem 1fr; gap: .6rem; padding: 1rem 0; border-top: 1px solid var(--line-dark); }
.detail-list li > span { color: var(--orange-bright); }
.detail-list strong { display: block; margin-bottom: .18rem; font-size: .87rem; }
.detail-list small { display: block; color: rgba(255, 255, 255, .57); font-size: .78rem; line-height: 1.5; }

.steps-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; counter-reset: steps; }
.steps-grid li { min-height: 16rem; padding: 1.6rem; border-top: 1px solid currentColor; color: inherit; }
.steps-grid li > span { color: var(--orange-bright); font-size: .72rem; font-weight: 850; letter-spacing: .1em; }
.steps-grid h3 { margin-top: 2.75rem; }
.steps-grid p { color: rgba(255, 255, 255, .62); font-size: .88rem; }
.tone-paper .steps-grid p,
.tone-white .steps-grid p,
.tone-mint .steps-grid p { color: var(--ink-soft); }

.comparison-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; }
.comparison-card { display: flex; min-height: 20rem; flex-direction: column; padding: 1.6rem; border: 1px solid rgba(23, 43, 51, .16); border-radius: var(--radius); background: rgba(255, 255, 255, .52); }
.comparison-label { margin-bottom: 2.4rem; color: var(--coral); font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.comparison-card p:not(.comparison-label) { color: var(--ink-soft); font-size: .88rem; }
.comparison-card .text-link { margin-top: auto; }

.case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.case-card { display: grid; grid-template-columns: minmax(10rem, .84fr) minmax(0, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.case-image { position: relative; min-height: 17rem; overflow: hidden; background: var(--navy-900); }
.case-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.case-image:hover img { transform: scale(1.035); }
.case-body { display: flex; flex-direction: column; padding: 1.55rem; }
.case-type { margin-bottom: .65rem; color: var(--coral); font-size: .64rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.case-body > p:not(.case-type) { color: var(--ink-soft); font-size: .85rem; }
.case-body .text-link { margin-top: auto; }

.link-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.link-card { display: flex; min-height: 18rem; flex-direction: column; padding: 1.8rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); color: inherit; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.link-card:hover { border-color: var(--mint-strong); box-shadow: var(--shadow-sm); transform: translateY(-3px); }
.link-card > span { margin-bottom: 2rem; color: var(--coral); font-size: .66rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.link-card p { color: var(--ink-soft); font-size: .89rem; }
.link-card strong { margin-top: auto; color: var(--coral); font-size: .75rem; text-transform: uppercase; }

.faq-grid { display: grid; grid-template-columns: minmax(15rem, .65fr) minmax(0, 1fr); align-items: start; gap: clamp(3rem, 8vw, 7rem); }
.faq-grid .section-intro { position: sticky; top: 2rem; margin-bottom: 0; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: grid; min-height: 4.75rem; grid-template-columns: 1fr 2rem; align-items: center; gap: 1rem; padding: .85rem 0; cursor: pointer; font-family: var(--font-heading); font-size: 1.05rem; font-weight: 750; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--coral); font-family: var(--font-body); font-size: 1.4rem; font-weight: 400; text-align: center; transition: transform .18s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 45rem; padding: 0 3rem 1.35rem 0; color: var(--ink-soft); }

.contact-section { padding: clamp(5rem, 10vw, 8rem) 0; background: var(--coral); color: var(--white); }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .65fr); align-items: end; gap: clamp(3rem, 9vw, 8rem); }
.contact-grid h2 { max-width: 16ch; }
.contact-grid > div:first-child > p:last-child { max-width: 42rem; color: var(--white); font-size: 1.05rem; }
.contact-card { display: flex; flex-direction: column; padding: 1.8rem; border: 1px solid rgba(255, 255, 255, .4); border-radius: var(--radius); }
.contact-card p { margin-bottom: 1.1rem; color: var(--white); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.contact-card a { width: fit-content; min-height: 2.75rem; overflow-wrap: anywhere; color: var(--white); font-family: var(--font-heading); font-size: clamp(1.08rem, 2vw, 1.4rem); font-weight: 750; }
.contact-card small { margin-top: 1rem; color: var(--white); }

.site-footer { padding-top: 4.5rem; background: var(--navy-950); color: rgba(255, 255, 255, .68); }
.footer-top { display: grid; grid-template-columns: minmax(15rem, 1.4fr) repeat(3, minmax(9rem, .7fr)); gap: 2.5rem; padding-bottom: 3.5rem; }
.footer-brand p { max-width: 24rem; margin-top: 1rem; font-size: .88rem; }
.footer-top > div:not(.footer-brand) { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }
.footer-top h2 { margin-bottom: .55rem; color: var(--white); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.footer-top a,
.footer-top span { color: rgba(255, 255, 255, .64); font-size: .8rem; text-decoration: none; }
.footer-top a { min-height: 2rem; }
.footer-top a:hover { color: var(--orange-bright); }
.footer-bottom { display: flex; min-height: 4.5rem; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--line-dark); font-size: .72rem; }
.footer-bottom a { color: var(--orange-bright); }

@media (max-width: 1060px) {
  .header-inner { min-height: 4.75rem; }
  .js .menu-toggle { display: block; }
  .site-nav {
    position: absolute;
    top: 4.75rem;
    right: 1.5rem;
    left: 1.5rem;
    display: flex;
    max-height: calc(100vh - 6rem);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    overflow-y: auto;
    padding: .65rem;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: var(--radius);
    background: rgba(7, 26, 34, .985);
    box-shadow: var(--shadow-lg);
  }
  .js .site-nav { display: none; }
  .js .site-nav.is-open { display: flex; }
  .site-nav > a,
  .nav-group-link,
  .submenu-toggle { min-height: 3rem; padding: 0 .85rem; }
  .site-nav .nav-cta { justify-content: center; margin-top: .4rem; }
  .nav-group { display: block; }
  .nav-group-link,
  .submenu-toggle { width: 100%; justify-content: space-between; }
  .submenu { position: static; grid-column: 1 / -1; width: auto; margin: 0 .2rem .55rem; border: 0; background: rgba(255, 255, 255, .04); box-shadow: none; transform: none; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { max-width: 52rem; }
  .hero-panel { max-width: 38rem; }
  .steps-grid,
  .comparison-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .container { width: min(100% - 2rem, 42rem); }
  .hero { min-height: auto; padding: 7.8rem 0 4.5rem; }
  .hero::before { background-size: 2.8rem 2.8rem; }
  h1 { font-size: clamp(2.45rem, 12.2vw, 4.4rem); }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .trust-list { justify-content: flex-start; padding: .95rem 0; gap: .45rem .9rem; }
  .trust-list span::before { margin-right: .9rem; }
  .card-grid-2,
  .card-grid-3,
  .split-grid,
  .case-grid,
  .link-grid,
  .faq-grid,
  .contact-grid { grid-template-columns: 1fr; }
  .info-card { min-height: auto; }
  .card-topline { margin-bottom: 1.8rem; }
  .detail-panel { border-radius: var(--radius); }
  .case-card { grid-template-columns: 1fr; }
  .case-image { min-height: 13rem; }
  .faq-grid .section-intro { position: static; margin-bottom: 1rem; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding: 1.2rem 0; }
}

@media (max-width: 520px) {
  .site-nav { right: 1rem; left: 1rem; }
  .brand { font-size: .98rem; }
  .steps-grid,
  .comparison-grid { grid-template-columns: 1fr; }
  .steps-grid li,
  .comparison-card { min-height: auto; }
  .steps-grid h3 { margin-top: 1.6rem; }
  .comparison-label { margin-bottom: 1.5rem; }
  .comparison-card .text-link { margin-top: 1.3rem; }
}

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