/*
Theme Name:   Trustbridge Partners (Layerly)
Template:     layerly-base
Version:      1.0.0
Layerly Site: trustbridgepartnersllc-com
Description:  Per-site theme for Trustbridge Partners. Holds ONLY this site's own CSS, bespoke sections and page templates. The framework lives in the parent and is updated fleet-wide — never copy a framework file in here without recording it as a fork.
*/

/* Layerly — per-site CSS split from the framework by css-split.mjs (Phase 3, 2026-09-29).
   37 token overrides, 808 rules that are new or differ from the framework release this site started from.
   Framework rules identical to that release stay in the parent and update with it. */

:root {
  --color-1: #2196F3;
  --color-2: #2A2A2A;
  --color-3: #F5F5F5;
  --color-5: #E2E8F0;
  --color-6: #0B1849;
  --color-7: #003049;
  --color-primary: var(--color-1-strong);
  --color-text-muted: color-mix(in srgb, var(--color-2) 72%, var(--color-3));
  --color-error: #C81E1E;
  --font-1: 'Stack Sans Headline', 'Libre Franklin', system-ui, sans-serif;
  --font-2: 'Libre Franklin', system-ui, -apple-system, sans-serif;
  --font-3: 'Libre Franklin', system-ui, sans-serif;
  --text-h3: clamp(20px, 2.4vw, 24px);
  --text-h2: clamp(24px, 3vw, 28px);
  --text-h1: clamp(30px, 4.2vw, 44px);
  --color-1-strong: #1565C0;
  --nav-bg: var(--color-3);
  --nav-fg: var(--color-7);
  --nav-height: 65px;
  --nav-link-weight: var(--weight-bold);
  --nav-link-hover: var(--color-1);
  --nav-gap: var(--space-lg);
  --text-base-lg: 18px;
  --text-xxl: clamp(34px, 5vw, 56px);
  --leading-h1: 1.09;
  --leading-h2: 1.29;
  --leading-h3: 1.29;
  --leading-lg: 1.3;
  --leading-body: 1.375;
  --color-primary-hover: color-mix(in srgb, var(--color-1) 78%, #000);
  --color-accent-hover: color-mix(in srgb, var(--color-6) 82%, #fff);
  --color-highlight-hover: color-mix(in srgb, var(--color-7) 80%, #000);
  --color-on-light-hover: color-mix(in srgb, var(--color-3) 88%, #000);
  --color-bg-alt: color-mix(in srgb, var(--color-3) 92%, #000);
  --color-text-muted-on-dark: color-mix(in srgb, var(--color-3) 72%, var(--color-6));
  --angle: 100px;
  --angle-pad: 56px;
}

.nav__logo-img {
  max-height: 44px;
  height: auto;
  width: auto;
}

.footer__logo-img {
  max-height: 40px;
  width: auto;
}

body { line-height: var(--leading-body); }

h5 { font-size: var(--text-base-lg); font-weight: var(--weight-med); }

.site-footer a:hover { color: var(--color-accent-hover); opacity: 1; }

.site-footer--minimal .site-footer__copyright { margin: 0; color: var(--color-text-muted-on-dark); font-size: var(--text-sm); }

.site-footer--minimal .site-footer__legal-list a:hover { color: var(--color-bg); }

.nav__inner { display: flex; align-items: center; gap: var(--nav-gap); }

.nav__logo { order: 1; flex: 0 0 auto; margin-inline: 0; }

.nav__menu { order: 2; flex: 1 1 auto; display: flex; align-items: center; justify-content: flex-end; gap: var(--nav-gap); }

.nav__logo-text { font-family: var(--font-display); font-weight: 600; font-size: var(--text-md);
  color: var(--color-1-strong); letter-spacing: -0.01em; white-space: nowrap; }

.nav__list a { color: var(--nav-fg); font-size: var(--text-sm); font-weight: var(--nav-link-weight); text-decoration: none; }

.nav__cta { order: 3; margin-left: 0; font-size: var(--text-sm); padding: 10px 18px; white-space: nowrap; }

.nav.is-scrolled { box-shadow: 0 1px 0 var(--color-border), 0 6px 18px rgba(0,0,0,.06); }

@media (max-width:768px) {
  .nav__logo { order: 1; margin-inline: 0; }
}

@media (max-width:768px) {
  .nav__menu { order: 3; flex-direction: column; align-items: flex-start; gap: var(--space-md);
      background: var(--color-3); padding: var(--space-xl); }
}

@media (max-width:768px) {
  .nav__list { flex-direction: column; align-items: flex-start; gap: var(--space-md); }
}

@media (max-width:768px) {
  .nav__list a { font-size: var(--text-lg); }
}

@media (max-width:768px) {
  .nav__cta { margin-left: 0; }
}

@media (max-width:768px) {
  .nav__menu[data-mobile-menu]:not(.is-open) { visibility: hidden; }
}

@media (max-width:768px) {
  .nav__menu[data-mobile-menu].is-open { visibility: visible; }
}

.nav { --nav-bg: var(--color-3); --nav-fg: var(--color-7); --nav-height: 65px;
       --nav-link-weight: var(--weight-bold); --nav-link-hover: var(--color-1);
       border-bottom: 1px solid transparent; }

.nav__inner { position: relative; display: flex; align-items: center; gap: var(--nav-gap); }

.nav__logo { position: static; transform: none; margin: 0; order: 1; }

.nav__menu { flex: 1 1 auto; display: flex; align-items: center; }

.nav__list { margin-left: auto; margin-right: 0; }

.nav__cta { margin-left: 0; border-radius: var(--radius-full); }

.btn { border-radius: var(--radius-full); }

@media (max-width:768px) {
  .nav__logo { position: static; transform: none; }
}

@media (max-width:768px) {
  .nav__menu { flex: 0 0 auto; }
}

@media (max-width:768px) {
  .nav__list { margin-right: 0; margin-left: 0; }
}

@media (max-width:768px) {
  .nav__cta { margin-left: 0; }
}

.btn { border-radius: var(--radius-lg); transition: background-color .18s ease, color .18s ease, border-color .18s ease; }

.nav__cta { border-radius: var(--radius-lg); }

.btn--primary { background: var(--color-1-strong); color: #fff; border-color: var(--color-1-strong); }

.btn--primary:hover, .btn--primary:focus-visible {
  background: var(--color-primary-hover); border-color: var(--color-primary-hover); color: #fff; }

.btn--ghost:hover, .btn--ghost:focus-visible {
  background: var(--color-7); border-color: var(--color-7); color: var(--color-3); }

.btn--light { background: var(--color-3); color: var(--color-7); border-color: var(--color-3); }

.btn--light:hover, .btn--light:focus-visible {
  background: #fff; border-color: #fff; color: var(--color-7); }

@media (max-width:768px) {
  .nav__menu[data-mobile-menu] { background: var(--color-6); justify-content: flex-start;
      padding-block: calc(var(--nav-height) + var(--space-xl)); }
}

@media (max-width:768px) {
  .nav__menu[data-mobile-menu] .nav__list a { color: var(--color-3); font-size: var(--text-xl);
      display: block; padding-block: var(--space-md); min-height: 44px; }
}

@media (max-width:768px) {
  .nav__menu[data-mobile-menu] .nav__list a:hover { color: var(--color-1); }
}

@media (max-width:768px) {
  .nav__menu[data-mobile-menu] .nav__cta { background: var(--color-3); color: var(--color-7);
      border-color: var(--color-3); margin-top: var(--space-lg); }
}

@media (max-width:768px) {
  .nav.is-open .ly-burger > span { background: var(--color-3); }
}

@media (max-width:768px) {
  .nav__menu[data-mobile-menu] .nav__list a:hover { color: #FFFFFF; }
}

html { line-height: var(--leading-body); }

h1 { line-height: var(--leading-h1); }

h2 { line-height: var(--leading-h2); }

h3 { line-height: var(--leading-h3); }

h1, h2, h3 { font-weight: 600; }

h4 { font-size: var(--text-lg); }

h5 { font-size: var(--text-base-lg); }

.hero__inner { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--space-xxl); align-items: start; }

.hero__title { font-size: var(--text-h1); color: var(--color-7); margin: 0; max-width: 22ch; }

.hero__aside { padding-top: var(--space-md); }

.hero__body { color: var(--color-2); margin-bottom: var(--space-lg); }

.hero-band { line-height: 0; }

.hero-band__img { width: 100%; height: clamp(220px, 39vw, 560px); object-fit: cover; display: block; }

.intro { color: var(--color-3); }

.intro__inner { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xxl); align-items: center; }

.intro__title { font-size: var(--text-h2); color: var(--color-3); margin: 0 0 var(--space-md); }

.intro__body { color: var(--color-5); margin-bottom: var(--space-lg); }

.intro__media img { width: 100%; border-radius: var(--radius-md); display: block; }

.problem-framing { color: var(--color-3); }

.problem-framing__title { font-size: var(--text-h2); color: var(--color-3); margin: 0 0 var(--space-md); max-width: 24ch; }

.problem-framing__lede { color: var(--color-5); margin-bottom: var(--space-xl); max-width: 46ch; }

.problem-framing__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xl); align-items: start; }

.problem-framing__media img { width: 100%; border-radius: var(--radius-md); display: block; }

.problem-framing__card { background: var(--color-4); color: var(--color-2); border-radius: var(--radius-md); padding: var(--space-xl); }

.problem-framing__pair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-lg); margin: var(--space-lg) 0;
  padding-block: var(--space-lg); border-block: 1px solid var(--color-border); }

.problem-framing__pair p { margin: 0; color: var(--color-7); font-size: var(--text-sm); }

.problem-framing__close { margin: 0; font-weight: var(--weight-bold); }

.problem-framing__outro { margin-top: var(--space-xl); font-size: var(--text-lg); color: var(--color-3); max-width: 44ch; }

.service-grid__head { margin-bottom: var(--space-xl); }

.service-grid__head h2 { font-size: var(--text-h2); color: var(--color-7); margin: 0 0 var(--space-sm); max-width: 26ch; }

.service-grid__lede { color: var(--color-2); margin: 0; }

.service-grid__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-lg); list-style: none; margin: 0; padding: 0; }

.service-grid__card { background: var(--color-4); border-radius: var(--radius-md); padding: var(--space-xl); }

.service-grid__icon { display: inline-block; font-size: var(--text-xl); color: var(--color-1); margin-bottom: var(--space-md); }

.service-grid__card-title { font-size: var(--text-lg); margin: 0 0 var(--space-sm); color: var(--color-2); }

.service-grid__card-body { font-size: var(--text-sm); color: var(--color-text-muted); margin: 0; }

.process-steps__head { margin-bottom: var(--space-xl); }

.process-steps__head h2 { font-size: var(--text-h2); color: var(--color-7); margin: 0 0 var(--space-sm); }

.process-steps__lede { color: var(--color-2); margin: 0; }

.process-steps__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-lg); list-style: none; margin: 0; padding: 0; }

.process-steps__card { background: var(--color-4); border-radius: var(--radius-md); padding: var(--space-xl); }

.process-steps__chip { display: inline-block; background: var(--color-7); color: var(--color-3); font-size: var(--text-xs);
  font-weight: var(--weight-bold); padding: 4px 12px; border-radius: var(--radius-full); margin-bottom: var(--space-md); }

.process-steps__card-title { font-size: var(--text-base-lg); margin: 0 0 var(--space-sm); color: var(--color-1-strong); }

.process-steps__card-body { font-size: var(--text-sm); color: var(--color-text-muted); margin: 0; }

.industries__top { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xxl); margin-bottom: var(--space-xl); }

.industries__top h2 { font-size: var(--text-h2); color: var(--color-7); margin: 0 0 var(--space-sm); max-width: 18ch; }

.industries__lede { color: var(--color-2); margin: 0; }

.industries__body { color: var(--color-2); }

.industries__accent { color: var(--color-1-strong); font-size: var(--text-lg); }

.industries__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-lg); list-style: none; margin: 0; padding: 0;
  border-top: 1px solid var(--color-border); padding-top: var(--space-xl); }

.industries__col h3 { font-size: var(--text-base-lg); margin: 0 0 var(--space-sm); color: var(--color-2); }

.industries__col p { font-size: var(--text-sm); color: var(--color-text-muted); margin: 0; }

.cta__card { background: var(--color-7); color: var(--color-3); border-radius: var(--radius-md);
  padding: var(--space-xxl); display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xxl); }

.cta__left h2 { font-size: var(--text-h2); color: var(--color-3); margin: 0 0 var(--space-md); max-width: 18ch; }

.cta__left p { margin: 0; color: var(--color-5); }

.cta__lead { font-weight: var(--weight-bold); margin: 0 0 var(--space-sm); }

.cta__body { color: var(--color-5); margin: 0 0 var(--space-lg); }

@media (max-width:900px) {
  .hero__inner, .intro__inner, .problem-framing__grid, .industries__top, .cta__card { grid-template-columns: 1fr; gap: var(--space-xl); }
}

@media (max-width:900px) {
  .service-grid__grid, .process-steps__grid, .industries__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width:600px) {
  .service-grid__grid, .process-steps__grid, .industries__grid, .problem-framing__pair { grid-template-columns: 1fr; }
}

.hero, .hero__title, .hero__aside, .hero__body { text-align: left; }

.hero__inner { align-items: center; }

.hero { padding-block: var(--space-xxl) var(--space-xl); }

.hero__inner { text-align: left; max-width: var(--container-max); margin-inline: auto; }

.hero__title, .hero__aside, .hero__body { text-align: left; }

.contact-block { color: var(--color-3); }

.contact-block__head { margin-bottom: var(--space-xl); }

.contact-block__title { font-size: var(--text-h2); color: var(--color-3); margin: 0 0 var(--space-sm); }

.contact-block__lede { color: var(--color-5); margin: 0; }

.contact-block__card { background: var(--color-3); color: var(--color-2); border-radius: var(--radius-md);
  padding: var(--space-xxl); display: grid; grid-template-columns: 1fr 1.15fr; gap: var(--space-xxl); align-items: start; }

.contact-block__note-text { color: var(--color-2); margin: 0; }

.contact-block { --field-bg: transparent; --field-border: var(--color-2); --field-radius: 0;
  --field-focus: var(--color-1); --label-color: var(--color-2); --form-cols: 2; }

.contact-block input:not([type=checkbox]), .contact-block select, .contact-block textarea {
  border: 0; border-bottom: 1px solid var(--color-2); border-radius: 0; background: transparent; padding-inline: 0; }

.contact-block .btn { background: var(--color-1-strong); color: #fff; }

.site-footer { background: var(--color-6); color: var(--color-3); }

.site-footer a { color: var(--color-5); }

.site-footer a:hover { color: var(--color-3); }

.site-footer__logo, .site-footer .site-footer__brand { color: var(--color-3); font-family: var(--font-display); font-weight: 600; }

.site-footer__tagline { color: var(--color-5); max-width: 34ch; }

.site-footer__copyright, .layerly-copyright { color: var(--color-text-muted-on-dark); }

@media (max-width:900px) {
  .contact-block__card { grid-template-columns: 1fr; gap: var(--space-xl); }
}

.footer { background: var(--color-6); color: var(--color-3); padding-block: var(--space-xxl); }

.footer__inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-xxl); align-items: start; }

.footer__logo-text { color: var(--color-3); font-family: var(--font-display); font-weight: 600; font-size: var(--text-lg); }

.footer__tagline { color: var(--color-5); max-width: 34ch; margin-top: var(--space-md); }

.footer__columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-xl); }

.footer__col-heading { color: var(--color-1); font-weight: var(--weight-bold); font-size: var(--text-sm); margin: 0 0 var(--space-md); }

.footer__col-list a { color: var(--color-5); text-decoration: none; font-size: var(--text-sm); }

.footer__col-list a:hover { color: var(--color-3); }

.layerly-copyright { background: var(--color-6); color: var(--color-text-muted-on-dark); }

.layerly-copyright a { color: var(--color-text-muted-on-dark); }

@media (max-width:900px) {
  .footer__inner { grid-template-columns: 1fr; gap: var(--space-xl); }
}

.section--angle-top { clip-path: polygon(0 var(--angle, 5%), 100% 0, 100% 100%, 0 100%); }

.section--angle-bottom { clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--angle, 5%)), 0 100%); }

.section--angle-both { clip-path: polygon(0 var(--angle, 5%), 100% 0, 100% calc(100% - var(--angle, 5%)), 0 100%); }

.service-grid__icon { display: inline-block; width: 40px; height: 40px; color: var(--color-1); margin-bottom: var(--space-md); }

.service-grid__icon-svg { width: 100%; height: 100%; display: block; }

.service-grid__icon { width: 44px; height: 44px; }

@media (max-width:700px) {
  .industries { padding-top: calc(var(--space-xl) + 28px); }
}

.intro, .service-grid, .industries, .contact-block, .footer {
  padding-top: calc(var(--space-xxl) + var(--angle) + var(--angle-pad));
}

.hero, .problem-framing, .process-steps, .cta, .contact-block {
  padding-bottom: calc(var(--space-xxl) + var(--angle));
}

@media (max-width:700px) {
  :root { --angle: 28px; --angle-pad: 20px; }
}

.problem-framing__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xxl); align-items: start; }

.problem-framing__col { display: flex; flex-direction: column; gap: var(--space-lg); }

.problem-framing__title { margin: 0; }

.problem-framing__lede { margin: 0; }

.problem-framing__media { margin: 0; }

.problem-framing__media img { width: 100%; border-radius: var(--radius-md); display: block; }

.problem-framing__outro { margin: 0; font-size: var(--text-lg); color: var(--color-3); max-width: none; }

@media (max-width:900px) {
  .problem-framing__grid { grid-template-columns: 1fr; }
}

.page-hero { padding-block: calc(var(--space-xxl) + 20px) var(--space-xxl); }

.page-hero__title { font-size: var(--text-h1); color: var(--color-7); margin: 0 0 var(--space-md); max-width: 24ch; }

.page-hero__sub { color: var(--color-1-strong); font-weight: var(--weight-bold); font-size: var(--text-sm); margin: 0; }

.statement__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xxl); align-items: start; }

.statement__lead { color: var(--color-1); font-size: var(--text-h3); font-weight: 600; margin: 0; line-height: var(--leading-h3); }

.statement__body { color: var(--color-2); margin: 0; }

.gap-block__title { font-size: var(--text-h2); color: var(--color-7); margin: 0 0 var(--space-sm); }

.gap-block__lede { color: var(--color-1-strong); font-weight: var(--weight-bold); font-size: var(--text-sm); margin: 0 0 var(--space-xl); max-width: 40ch; }

.gap-block__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xxl); align-items: start; }

.gap-block__col { display: flex; flex-direction: column; gap: var(--space-lg); }

.gap-block__small { color: var(--color-2); font-size: var(--text-sm); margin: 0; }

.gap-block__statement { color: var(--color-2); font-size: var(--text-h3); font-weight: 600; line-height: var(--leading-h3); margin: 0; }

.gap-block__media img { width: 100%; border-radius: var(--radius-md); display: block; }

.standards__title { font-size: var(--text-h2); color: var(--color-7); margin: 0 0 var(--space-sm); }

.standards__lede { color: var(--color-1-strong); font-weight: var(--weight-bold); font-size: var(--text-sm); margin: 0 0 var(--space-xl); }

.standards__panel { list-style: none; margin: 0; padding: var(--space-xl); display: grid;
  grid-template-columns: repeat(4, 1fr); gap: 0; background: color-mix(in srgb, var(--color-3) 45%, #fff);
  border-radius: var(--radius-md); }

.standards__col { padding-inline: var(--space-lg); border-left: 1px solid var(--color-border); }

.standards__col:first-child { border-left: 0; padding-left: 0; }

.standards__icon { display: block; width: 40px; height: 40px; color: var(--color-1); margin-bottom: var(--space-md); }

.standards__icon-svg { width: 100%; height: 100%; display: block; }

.standards__col-title { font-size: var(--text-base-lg); color: var(--color-2); margin: 0 0 var(--space-sm); }

.standards__col-body { font-size: var(--text-sm); color: var(--color-text-muted); margin: 0; }

.security-first__title { font-size: var(--text-h2); color: var(--color-7); margin: 0 0 var(--space-sm); max-width: 20ch; }

.security-first__lede { color: var(--color-1-strong); font-weight: var(--weight-bold); font-size: var(--text-sm); margin: 0 0 var(--space-xl); }

.security-first__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xxl); align-items: start; }

.security-first__media img { width: 100%; border-radius: var(--radius-md); display: block; }

.security-first__statement { color: var(--color-1-strong); font-size: var(--text-h3); font-weight: 600; line-height: var(--leading-h3); margin: 0 0 var(--space-lg); }

.security-first__body { color: var(--color-2); font-size: var(--text-sm); margin: 0; }

@media (max-width:900px) {
  .statement__grid, .gap-block__grid, .security-first__grid { grid-template-columns: 1fr; gap: var(--space-xl); }
}

@media (max-width:900px) {
  .standards__panel { grid-template-columns: repeat(2, 1fr); gap: var(--space-lg); }
}

@media (max-width:900px) {
  .standards__col { border-left: 0; padding-left: 0; }
}

@media (max-width:600px) {
  .standards__panel { grid-template-columns: 1fr; }
}

.footer__inner { display: block; }

.footer__brand { margin-bottom: var(--space-xl); }

.footer__logo-text { font-size: var(--text-lg); line-height: 1.15; display: inline-block; max-width: 8ch; }

.footer__brand::after { content: ""; display: block; height: 1px; background: rgba(245,245,245,.18);
  margin-top: var(--space-xl); }

.footer__tagline { margin-top: 0; }

.footer__columns { display: grid; grid-template-columns: repeat(2, minmax(0, 200px)); gap: var(--space-xl);
  justify-content: end; }

.footer__inner { display: grid; grid-template-columns: 1fr auto; gap: var(--space-xxl); align-items: start; }

.footer__brand { grid-column: 1 / -1; margin-bottom: 0; }

.footer__col-heading { color: var(--color-1); }

.layerly-copyright { padding-block: var(--space-lg); font-size: var(--text-xs); }

@media (max-width:900px) {
  .footer__inner { grid-template-columns: 1fr; }
}

@media (max-width:900px) {
  .footer__columns { justify-content: start; grid-template-columns: repeat(2, 1fr); }
}

.contact-block {
  background-color: var(--color-7);
  background-image: linear-gradient(color-mix(in srgb, var(--color-7) 88%, transparent),
                                    color-mix(in srgb, var(--color-7) 88%, transparent)),
                    url("/wp-content/uploads/2026/08/set-home-intro-b.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.statement { clip-path: polygon(0 var(--angle), 100% 0, 100% 100%, 0 100%); margin-top: calc(var(--angle) * -1);
             padding-top: calc(var(--space-xxl) + var(--angle)); }

.standards { clip-path: polygon(0 var(--angle), 100% 0, 100% 100%, 0 100%); margin-top: calc(var(--angle) * -1);
             padding-top: calc(var(--space-xxl) + var(--angle) + var(--angle-pad)); }

.gap-block__media img { aspect-ratio: 560 / 320; object-fit: cover; height: auto; }

.standards__panel { background: var(--color-4); padding: 0; gap: 0; }

.standards__col { padding: var(--space-lg) var(--space-lg) var(--space-md); }

.standards__col-title { color: var(--color-1-strong); }

.standards__icon { width: 64px; height: 64px; }

@media (max-width:700px) {
  :root { --angle: 44px; }
}

@media (max-width:700px) {
  .standards__icon { width: 48px; height: 48px; }
}

.offer__title { font-size: var(--text-h2); color: var(--color-7); margin: 0 0 var(--space-sm); }

.offer__lede { color: var(--color-1-strong); font-weight: var(--weight-bold); font-size: var(--text-sm); margin: 0 0 var(--space-lg); max-width: 42ch; }

.offer__intro { color: var(--color-2); font-size: var(--text-sm); max-width: 68ch; margin: 0 0 var(--space-xl);
  padding-bottom: var(--space-xl); border-bottom: 1px solid var(--color-border); }

.offer__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr);
  gap: var(--space-xl) var(--space-lg); }

.offer__item-title { color: var(--color-1-strong); font-size: var(--text-base-lg); margin: 0 0 var(--space-sm); }

.offer__item-body { color: var(--color-2); font-size: var(--text-sm); margin: 0; }

.protect { color: var(--color-3); }

.protect__top { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xxl); margin-bottom: var(--space-xl); }

.protect__title { font-size: var(--text-h2); color: var(--color-3); margin: 0 0 var(--space-md); max-width: 20ch; }

.protect__lede { color: var(--color-5); margin: 0; }

.protect__statement { color: var(--color-3); font-size: var(--text-h3); font-weight: 600; line-height: var(--leading-h3); margin: 0 0 var(--space-md); }

.protect__body { color: var(--color-5); font-size: var(--text-sm); margin: 0; }

.protect__grid { list-style: none; margin: 0 0 var(--space-xxl); padding: var(--space-xl) 0 0; display: grid;
  grid-template-columns: repeat(4, 1fr); gap: var(--space-lg); border-top: 1px solid rgba(245,245,245,.2); }

.protect__col { padding-left: var(--space-lg); border-left: 1px solid rgba(245,245,245,.2); }

.protect__col:first-child { border-left: 0; padding-left: 0; }

.protect__col h3 { color: var(--color-3); font-size: var(--text-base-lg); margin: 0 0 var(--space-sm); }

.protect__col p { color: var(--color-5); font-size: var(--text-sm); margin: 0; }

.protect__steps { margin-top: var(--space-xxl); }

.faqs__grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--space-xxl); align-items: start; }

.faqs__title { font-size: var(--text-h2); color: var(--color-7); margin: 0 0 var(--space-sm); max-width: 14ch; }

.faqs__lede { color: var(--color-1-strong); font-weight: var(--weight-bold); font-size: var(--text-sm); margin: 0 0 var(--space-xl); }

.faqs__card { background: var(--color-4); border-radius: var(--radius-md); padding: var(--space-xl); }

.faqs__card h3 { font-size: var(--text-base-lg); color: var(--color-2); margin: 0 0 var(--space-sm); }

.faqs__card p { font-size: var(--text-sm); color: var(--color-text-muted); margin: 0; }

.faqs { --accordion-border: var(--color-border); --accordion-q-size: var(--text-sm); }

@media (max-width:900px) {
  .offer__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width:900px) {
  .protect__top, .faqs__grid { grid-template-columns: 1fr; gap: var(--space-xl); }
}

@media (max-width:900px) {
  .protect__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width:900px) {
  .protect__col { border-left: 0; padding-left: 0; }
}

@media (max-width:600px) {
  .offer__grid, .protect__grid { grid-template-columns: 1fr; }
}

.process-steps__split { display: grid; grid-template-columns: 1fr 1.1fr; gap: var(--space-xxl); align-items: start; }

.process-steps__media img { width: 100%; border-radius: var(--radius-md); display: block; aspect-ratio: 4 / 5; object-fit: cover; }

.process-steps__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-lg); }

.process-steps__row { display: grid; grid-template-columns: auto 1fr; gap: var(--space-md); align-items: start;
  background: var(--color-4); border-radius: var(--radius-md); padding: var(--space-lg); }

.process-steps__row .process-steps__chip { margin: 0; }

.hero-band { clip-path: polygon(0 var(--angle), 100% 0, 100% 100%, 0 calc(100% - var(--angle))); }

@media (max-width:900px) {
  .process-steps__split { grid-template-columns: 1fr; }
}

.process-steps__row { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-sm); }

.process-steps__row .process-steps__chip { margin: 0 0 var(--space-xs); }

.process-steps__row .process-steps__card-title { margin: 0 0 var(--space-xs); }

.process-steps__row .process-steps__card-body { margin: 0; }

.hero-band { clip-path: polygon(0 var(--angle), 100% 0, 100% 100%, 0 calc(100% - var(--angle)));
             margin-top: calc(var(--angle) * -1); }

.intro, .statement { clip-path: none; margin-top: 0; padding-top: var(--space-xxl); }

section.section.intro { clip-path: none; margin-top: 0; padding-top: var(--space-xxl); }

section.section.statement { clip-path: none; margin-top: 0; padding-top: var(--space-xxl); }

section.section.service-grid,
section.section.industries,
section.section.contact-block,
section.section.standards,
section.section.problem-framing,
.site-content .footer, footer.footer {
  clip-path: polygon(0 var(--angle), 100% 0, 100% 100%, 0 100%);
  margin-top: calc(var(--angle) * -1);
  padding-top: calc(var(--space-xxl) + var(--angle));
  position: relative; z-index: 1;
}

section.hero-band {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - var(--angle)));
  margin-top: 0;
}

section.section.intro, section.section.statement {
  clip-path: none; margin-top: 0; padding-top: var(--space-xxl);
}

@media (max-width:700px) {
  :root { --angle: 44px; }
}

section.hero-band {
  clip-path: polygon(0 0, 100% var(--angle), 100% 100%, 0 100%);
  margin-top: calc(var(--angle) * -1);
  position: relative; z-index: 1;
}

section.section.intro, section.section.statement,
section.section.problem-framing, section.section.service-grid,
section.section.industries, section.section.contact-block,
section.section.standards, footer.footer {
  clip-path: polygon(0 0, 100% var(--angle), 100% 100%, 0 100%);
  margin-top: calc(var(--angle) * -1);
  padding-top: calc(var(--space-xxl) + var(--angle));
  position: relative; z-index: 1;
}

@media (max-width:700px) {
  :root { --angle: 44px; }
}

section.hero-band,
section.section.intro, section.section.statement,
section.section.problem-framing, section.section.service-grid,
section.section.industries, section.section.contact-block,
section.section.standards, footer.footer {
  clip-path: polygon(0 var(--angle), 100% 0, 100% 100%, 0 100%);
}

section.section.cta { background: var(--color-4); }

.statement .btn { margin-top: var(--space-lg); }

.offer__grid { border-top: 1px solid var(--color-border); }

.offer__item { padding: var(--space-xl) var(--space-lg) var(--space-xl) 0;
  border-bottom: 1px solid var(--color-border); }

.offer__grid > .offer__item + .offer__item { border-left: 1px solid var(--color-border); padding-left: var(--space-lg); }

.protect__steps { margin-top: calc(var(--space-xxl) * 1.5); }

.protect__steps .protect__lede { margin-bottom: var(--space-xl); }

.protect__steps .process-steps__grid { margin-top: var(--space-xl); }

section.section.protect, section.section.faqs {
  clip-path: polygon(0 var(--angle), 100% 0, 100% 100%, 0 100%);
  margin-top: calc(var(--angle) * -1);
  padding-top: calc(var(--space-xxl) + var(--angle));
  position: relative; z-index: 1;
}

.page-template-page-services section.section.cta,
body.page-services section.section.cta { background: var(--color-3); }

body.page-id-9 section.section.cta { background: var(--color-3); }

.offer__grid { border-top: 0; }

.offer__item { border: 0; border-left: 1px solid var(--color-border);
  padding: 0 var(--space-lg) var(--space-xl) var(--space-lg); }

.offer__grid > .offer__item + .offer__item { border-left: 1px solid var(--color-border); padding-left: var(--space-lg); }

.offer__grid > .offer__item:nth-child(4n + 1) { border-left: 0; padding-left: 0; }

@media (max-width:900px) {
  .offer__grid > .offer__item:nth-child(4n + 1) { border-left: 1px solid var(--color-border); padding-left: var(--space-lg); }
}

@media (max-width:900px) {
  .offer__grid > .offer__item:nth-child(2n + 1) { border-left: 0; padding-left: 0; }
}

@media (max-width:600px) {
  .offer__item, .offer__grid > .offer__item + .offer__item { border-left: 0; padding-left: 0; }
}

section.hero-band,
section.section.intro, section.section.statement,
section.section.problem-framing, section.section.service-grid,
section.section.industries, section.section.contact-block,
section.section.standards, section.section.protect, section.section.faqs,
footer.footer {
  padding-top: calc(var(--space-xxl) + var(--angle) + var(--angle-pad));
}

section.section.protect, section.section.problem-framing, section.section.service-grid,
section.section.process-steps, section.section.industries, section.section.cta,
section.section.gap-block, section.section.security-first, section.section.contact-block {
  padding-bottom: calc(var(--space-xxl) + var(--angle) + var(--angle-pad));
}

section.hero-band { padding-top: 0; }

@media (max-width:700px) {
  :root { --angle-pad: 28px; }
}

.home .hero-band__img {
  object-position: center 75%;
}

.problem-framing__pair--one {
  grid-template-columns: 1fr;
}

.hero-overlay, .brand-band, .media-split, .photo-mosaic, .approach, .step-list, .cta-band {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --overlay-dark: rgba(0, 0, 0, .6);
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-xs: 12px;
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h3: clamp(22px, 2.4vw, 32px);
  --text-h2: clamp(30px, 4.2vw, 48px);
  --text-h1: clamp(38px, 5.6vw, 70px);
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  font-family: var(--font-4);
  color: var(--color-text);
}

.hero-overlay, .brand-band, .media-split, .cta-band {
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  background-color: var(--section-bg-color, var(--color-10));
}

.photo-mosaic, .approach, .step-list {
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  background-color: var(--section-bg-color, var(--color-9));
}

.hero-overlay .btn, .cta-band .btn {
  background: var(--color-12);
  border-color: var(--color-12);
  color: var(--color-8);
  border-radius: var(--radius-md);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  padding: var(--space-md) var(--space-xl);
}

.hero-overlay .btn:hover, .hero-overlay .btn:focus-visible, .cta-band .btn:hover, .cta-band .btn:focus-visible {
  background: var(--color-10);
  border-color: var(--color-10);
  color: var(--color-8);
}

.hero-overlay .btn:focus-visible, .cta-band .btn:focus-visible {
  outline: 2px solid var(--color-10);
  outline-offset: 3px;
}

.hero-overlay {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 800px;
  padding-block: var(--space-xxl);
}

.hero-overlay__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-overlay__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-overlay__tint {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--overlay-dark);
}

.hero-overlay__inner {
  position: relative;
  z-index: 2;
  width: 100%;
}

.hero-overlay__title {
  font-family: var(--font-display);
  font-size: clamp(34px, 4.6vw, 60px);
  font-weight: var(--weight-bold);
  line-height: 1.06;
  color: var(--color-text);
  margin: 0 0 var(--space-lg);
  max-width: 38ch;
}

.hero-overlay__lede {
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.35;
  color: var(--color-text);
  margin: 0 0 var(--space-md);
  max-width: 52ch;
}

.hero-overlay__body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0 0 var(--space-xl);
  max-width: 62ch;
}

.hero-overlay__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
}

.brand-band {
  display: flex;
  align-items: center;
  min-height: 89px;
  padding-block: var(--space-lg);
}

.brand-band__inner {
  width: 100%;
  text-align: center;
}

.brand-band__wordmark {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  letter-spacing: .01em;
  color: var(--color-text);
}

.media-split {
  display: flex;
  align-items: center;
  min-height: 516px;
  padding-block: var(--space-xxl);
}

.media-split__inner {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: var(--space-xxl);
  align-items: center;
  width: 100%;
}

.media-split__media {
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.media-split__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.media-split__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.14;
  color: var(--color-text);
  margin: 0 0 var(--space-md);
  max-width: 20ch;
}

.media-split__lede {
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
  color: var(--color-text);
  margin: 0 0 var(--space-md);
}

.media-split__body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

.photo-mosaic {
  padding-block: var(--space-xxl);
}

.photo-mosaic__head {
  max-width: 74ch;
  margin-bottom: var(--space-xxl);
}

.photo-mosaic__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.14;
  margin: 0 0 var(--space-md);
  max-width: 24ch;
}

.photo-mosaic__lede {
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
  margin: 0 0 var(--space-md);
}

.photo-mosaic__body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

.photo-mosaic__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-lg);
}

.photo-mosaic__cell {
  grid-column: span 2;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--color-10);
}

.photo-mosaic__cell:first-child {
  grid-column: span 4;
  aspect-ratio: 16 / 9;
}

.photo-mosaic__cell:nth-child(n + 3) {
  aspect-ratio: 4 / 3;
}

.photo-mosaic__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.approach {
  padding-block: var(--space-xxl);
}

.approach__head {
  max-width: 62ch;
  margin-bottom: var(--space-xxl);
}

.approach__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.14;
  margin: 0 0 var(--space-md);
  max-width: 22ch;
}

.approach__lede {
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
  margin: 0;
}

.approach__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-xl) var(--space-xxl);
}

.approach__item {
  border-top: 2px solid var(--color-8);
  padding-top: var(--space-md);
}

.approach__item-title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  color: var(--color-text);
  margin: 0 0 var(--space-sm);
}

.approach__item-body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

.step-list {
  padding-block: var(--space-xxl);
}

.step-list__head {
  max-width: 62ch;
  margin-bottom: var(--space-xxl);
}

.step-list__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.14;
  margin: 0 0 var(--space-md);
}

.step-list__lede {
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
  margin: 0;
}

.step-list__grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: var(--space-xxl);
  align-items: start;
}

.step-list__media {
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 3 / 4;
}

.step-list__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.step-list__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-lg);
}

.step-list__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-lg);
  align-items: start;
  border-radius: var(--radius-md);
  padding: var(--space-xl);
  background: var(--color-9);
}

.step-list__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  border-radius: var(--radius-full);
  background: var(--color-12);
  color: var(--color-8);
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
}

.step-list__item-title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  color: var(--color-text);
  margin: 0 0 var(--space-sm);
}

.step-list__item-body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

.cta-band {
  display: flex;
  align-items: center;
  min-height: 600px;
  padding-block: var(--space-xxl);
  text-align: center;
}

.cta-band__inner {
  width: 100%;
}

.cta-band__title {
  font-family: var(--font-display);
  font-size: var(--text-h1);
  font-weight: var(--weight-bold);
  line-height: 1.06;
  color: color-mix(in srgb, var(--color-13) 90%, #000);
  margin: 0 auto var(--space-lg);
  max-width: 20ch;
}

.cta-band__lede {
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  color: var(--color-text);
  margin: 0 auto var(--space-md);
  max-width: 46ch;
}

.cta-band__body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0 auto var(--space-xl);
  max-width: 58ch;
}

.cta-band__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-md);
}

@media (max-width:900px) {
  .hero-overlay { min-height: 620px; }
}

@media (max-width:900px) {
  .media-split { display: block; min-height: 0; }
}

@media (max-width:900px) {
  .media-split__inner, .step-list__grid { grid-template-columns: 1fr; }
}

@media (max-width:900px) {
  .approach__list { grid-template-columns: 1fr; }
}

@media (max-width:900px) {
  .photo-mosaic__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width:900px) {
  .photo-mosaic__cell, .photo-mosaic__cell:first-child { grid-column: span 1; aspect-ratio: 4 / 3; }
}

@media (max-width:900px) {
  .cta-band { min-height: 460px; }
}

@media (max-width:600px) {
  .hero-overlay { min-height: 560px; }
}

@media (max-width:600px) {
  .photo-mosaic__grid { grid-template-columns: 1fr; }
}

@media (max-width:600px) {
  .step-list__item { grid-template-columns: 1fr; gap: var(--space-md); }
}

#contact.cta-band {
  scroll-margin-top: var(--nav-height, 65px);
}

.approach-cards, .audience-band {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-xs: 12px;
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h3: clamp(22px, 2.4vw, 32px);
  --text-h2: clamp(30px, 4.2vw, 48px);
  --text-h1: clamp(38px, 5.6vw, 70px);
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  --color-text: var(--color-11);
  --color-text-muted: rgba(51, 51, 51, .74);
  font-family: var(--font-4);
  color: var(--color-text);
  background-color: var(--section-bg-color, var(--color-9));
}

.approach-cards {
  padding-block: var(--space-xxl);
}

.approach-cards__head {
  max-width: 62ch;
  margin-bottom: var(--space-xxl);
}

.approach-cards__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.14;
  color: var(--color-text);
  margin: 0 0 var(--space-md);
  max-width: 22ch;
}

.approach-cards__lede {
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
  color: var(--color-text);
  margin: 0;
}

.approach-cards__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
}

.approach-cards__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-height: 276px;
  padding: var(--space-xl);
  background: var(--color-10);
  border: 4px solid var(--color-10);
  border-radius: var(--radius-md);
}

.approach-cards__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-sm);
  background: var(--color-12);
  color: var(--color-8);
}

.approach-cards__icon svg {
  width: 22px;
  height: 22px;
  display: block;
}

.approach-cards__card-title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  color: var(--color-text);
  margin: 0;
}

.approach-cards__card-body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

.approach-cards__actions {
  margin-top: var(--space-xxl);
}

.approach-cards .btn {
  background: var(--color-8);
  border-color: var(--color-8);
  color: var(--color-10);
  border-radius: var(--radius-md);
  font-family: var(--font-4);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  padding: var(--space-md) var(--space-xl);
}

.approach-cards .btn:hover, .approach-cards .btn:focus-visible {
  background: var(--color-12);
  border-color: var(--color-12);
  color: var(--color-8);
}

.approach-cards .btn:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
}

.audience-band {
  display: flex;
  align-items: center;
  min-height: 625px;
  padding-block: var(--space-xxl);
}

.audience-band__inner {
  width: 100%;
}

.audience-band__head {
  max-width: 74ch;
  margin-bottom: var(--space-xxl);
}

.audience-band__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.14;
  color: var(--color-text);
  margin: 0 0 var(--space-md);
  max-width: 24ch;
}

.audience-band__lede {
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
  color: var(--color-text);
  margin: 0 0 var(--space-md);
}

.audience-band__body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

.audience-band__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-xl) var(--space-xxl);
}

.audience-band__item {
  border-top: 4px solid var(--color-12);
  padding-top: var(--space-md);
}

.audience-band__item-title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  color: var(--color-text);
  margin: 0 0 var(--space-sm);
}

.audience-band__item-body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

@media (max-width:900px) {
  .approach-cards__list {
    grid-template-columns: 1fr;
  }
}

@media (max-width:900px) {
  .audience-band__list {
    grid-template-columns: 1fr;
  }
}

@media (max-width:900px) {
  .audience-band {
    min-height: 0;
  }
}

.nav, .footer, .layerly-copyright {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
}

body .nav {
  --nav-bg: transparent;
  --nav-fg: var(--color-11);
  --nav-height: var(--nav-h, 131px);
  --nav-link-weight: var(--weight-bold);
  --nav-link-hover: var(--color-12);
  --nav-gap: 30px;
  background: var(--nav-bg);
  color: var(--nav-fg);
  font-family: var(--font-4);
}

body .nav__inner {
  min-height: var(--nav-height);
}

body .nav__logo-text {
  font-family: var(--font-4);
  font-size: var(--text-lg, 22px);
  font-weight: var(--weight-bold);
  color: var(--nav-fg);
  letter-spacing: 0;
}

body .nav__list a {
  font-family: var(--font-4);
  font-size: 16px;
  font-weight: var(--weight-bold);
  color: var(--nav-fg);
}

body .nav__list a:hover, body .nav__list a:focus-visible {
  color: var(--nav-link-hover);
}

body .nav .nav__cta {
  background: var(--color-12);
  border-color: var(--color-12);
  color: var(--color-8);
  border-radius: 10px;
  font-family: var(--font-4);
  font-size: 16px;
  font-weight: var(--weight-bold);
  padding: 14px 30px;
}

body .nav .nav__cta:hover, body .nav .nav__cta:focus-visible {
  background: var(--color-8);
  border-color: var(--color-8);
  color: var(--color-10);
}

body.home .nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
  background: transparent;
  --nav-fg: var(--color-10);
}

body.home .nav.is-scrolled {
  box-shadow: none;
}

body { --nav-h: clamp(64px, 10vw, 131px); }

body.home .hero-overlay__inner {
  padding-top: var(--nav-h);
}

body:not(.home) .nav {
  background: var(--color-9);
}

body .footer__brand { grid-column: auto; }

body footer.footer {
  clip-path: none;
  margin-top: 0;
  padding-top: var(--footer-pad-y, 60px);
}

body .footer {
  margin-top: 0;
  --footer-bg: var(--color-10);
  --footer-fg: var(--color-11);
  --footer-heading: var(--color-8);
  --footer-link: var(--color-11);
  --footer-link-hover: var(--color-8);
  --footer-pad-y: 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 714px;
  padding-block: var(--footer-pad-y);
  background: var(--footer-bg);
  color: var(--footer-fg);
  font-family: var(--font-4);
}

body .footer__inner {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 60px;
  align-items: start;
  padding-block: 0;
}

body .footer__logo-text {
  display: block;
  font-family: var(--font-4);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--weight-bold);
  line-height: 1.25;
  color: var(--color-8);
}

body .footer__logo { display: block; overflow: visible; }

body .footer__tagline {
  font-family: var(--font-4);
  font-size: 18px;
  line-height: 1.5;
  color: var(--footer-link);
  max-width: 30ch;
  margin-top: 20px;
}

body .footer__columns {
  display: contents;
}

body .footer__col-heading {
  font-family: var(--font-4);
  font-size: 16px;
  font-weight: var(--weight-bold);
  color: var(--footer-heading);
  margin: 0 0 20px;
}

body .footer__col-list {
  display: grid;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

body .footer__col-list a {
  font-family: var(--font-4);
  font-size: 16px;
  color: var(--footer-link);
  text-decoration: none;
}

body .footer__col-list a:hover, body .footer__col-list a:focus-visible {
  color: var(--footer-link-hover);
  text-decoration: underline;
  text-underline-offset: 3px;
}

body .layerly-copyright {
  background: var(--color-10);
  color: var(--color-11);
  font-family: var(--font-4);
  font-size: 15px;
  text-align: center;
  padding-block: 30px;
}

body .layerly-copyright a {
  color: var(--color-8);
}

@media (max-width:900px) {
  body .footer {
    min-height: 0;
  }
}

@media (max-width:900px) {
  body .footer__inner {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}

@media (max-width:768px) {
  body.home .nav__menu {
    background: var(--color-8);
  }
}

@media (max-width:768px) {
  body.home .nav__menu .nav__list a {
    color: var(--color-10);
  }
}

@media (max-width:768px) {
  body .footer__inner {
    grid-template-columns: 1fr;
  }
}

section.approach-cards, section.audience-band {
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
}

section.hero-overlay {
  --color-text: var(--color-10);
  --color-text-muted: rgba(255, 255, 255, .88);
}

.cta-band .btn:hover, .cta-band .btn:focus-visible {
  background: var(--color-8);
  border-color: var(--color-8);
  color: var(--color-10);
}

.cta-band .btn:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
}

.media-split.section--divider-bottom-curve::before, .step-list.section--divider-bottom-curve::before {
  height: var(--divider-h, 55px);
}

.media-split.section--divider-bottom-curve::before {
  background-color: var(--color-9);
}

.step-list.section--divider-bottom-curve::before {
  height: var(--divider-h, 55px);
  background-color: var(--color-10);
}

.media-split.section--divider-bottom-curve, .step-list.section--divider-bottom-curve {
  --divider-h: clamp(28px, 4.3vw, 55px);
  padding-bottom: calc(var(--space-xxl) + var(--divider-h));
}

.service-cards {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-xs: 12px;
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h3: clamp(22px, 2.4vw, 32px);
  --text-h2: clamp(30px, 4.2vw, 48px);
  --text-h1: clamp(38px, 5.6vw, 70px);
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --radius-full: 9999px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  --color-text: var(--color-11);
  --color-text-muted: rgba(51, 51, 51, .74);
  --card-hairline: color-mix(in srgb, var(--color-8) 16%, transparent);
  font-family: var(--font-4);
  color: var(--color-text);
  background-color: var(--section-bg-color, var(--color-9));
  padding-block: var(--space-xxl);
}

.service-cards__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxl);
}

.service-cards__cols {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: var(--space-xxl);
  align-items: start;
}

.service-cards__head {
  max-width: 34ch;
}

.service-cards__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.14;
  color: var(--color-text);
  margin: 0 0 var(--space-md);
}

.service-cards__lede {
  font-size: var(--text-base-lg);
  line-height: 1.5;
  font-weight: var(--weight-bold);
  color: var(--color-text);
  margin: 0;
}

.service-cards__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
}

.service-cards__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-height: 190px;
  padding: var(--space-xl);
  background: var(--color-9);
  border: 4px solid var(--card-hairline);
  border-radius: var(--radius-md);
  transition: border-color 160ms ease;
}

.service-cards__card:hover,
.service-cards__card:focus-within {
  border-color: var(--color-12);
}

@media (prefers-reduced-motion:reduce) {
  .service-cards__card { transition: none; }
}

.service-cards__card-title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  color: var(--color-8);
  margin: 0;
}

.service-cards__card-body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

.service-cards__panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xl);
  padding: var(--space-xl) var(--space-xxl);
  background: var(--color-12);
  border-radius: var(--radius-lg);
}

.service-cards__panel-copy {
  max-width: none;
}

.service-cards__panel-title {
  font-family: var(--font-display);
  font-size: var(--text-h3);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  color: var(--color-8);
  margin: 0 0 var(--space-xs);
}

.service-cards__panel-body {
  font-size: var(--text-md);
  line-height: 1.5;
  color: var(--color-8);
  margin: 0;
}

.service-cards__panel-actions {
  flex: 0 0 auto;
}

.service-cards .btn.service-cards__panel-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-10);
  border: 2px solid var(--color-10);
  color: var(--color-8);
  border-radius: var(--radius-md);
  font-family: var(--font-4);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  padding: var(--space-md) var(--space-xl);
  text-decoration: none;
  white-space: nowrap;
}

.service-cards .btn.service-cards__panel-btn:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
}

.service-cards .btn.service-cards__panel-btn:hover, .service-cards .btn.service-cards__panel-btn:focus-visible {
  background: var(--color-8);
  border-color: var(--color-8);
  color: var(--color-10);
}

@media (max-width:1024px) {
  .service-cards__cols {
      grid-template-columns: 1fr;
      gap: var(--space-xl);
    }
}

@media (max-width:1024px) {
  .service-cards__head {
      max-width: 62ch;
    }
}

@media (max-width:700px) {
  .service-cards__list {
      grid-template-columns: 1fr;
    }
}

@media (max-width:700px) {
  .service-cards__panel {
      flex-direction: column;
      align-items: flex-start;
      padding: var(--space-xl);
    }
}

.hero-overlay .btn.hero-overlay__cta-secondary {
  background: transparent;
  border-color: var(--color-10);
  color: var(--color-10);
  border-radius: var(--radius-md);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  padding: var(--space-md) var(--space-xl);
}

.hero-overlay .btn.hero-overlay__cta-secondary:hover, .hero-overlay .btn.hero-overlay__cta-secondary:focus-visible {
  background: var(--color-10);
  border-color: var(--color-10);
  color: var(--color-8);
}

.media-split__actions {
  margin-top: var(--space-xl);
}

.media-split .btn.media-split__cta {
  display: inline-flex;
  background: var(--color-12);
  border-color: var(--color-12);
  color: var(--color-8);
  border-radius: var(--radius-md);
  font-family: var(--font-4);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  padding: var(--space-md) var(--space-xl);
  text-decoration: none;
}

.media-split .btn.media-split__cta:hover, .media-split .btn.media-split__cta:focus-visible {
  background: var(--color-8);
  border-color: var(--color-8);
  color: var(--color-10);
}

.media-split .btn.media-split__cta:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
}

.service-cards__icon {
  display: inline-flex;
  color: var(--color-13);
  margin-bottom: var(--space-xs);
}

.service-cards__icon .icon {
  display: block;
  width: 40px;
  height: 40px;
  font-size: 40px;
}

.service-cards__icon svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: none;
  stroke: currentColor;
}

.audience-panel {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --color-14: #74716F;
  --panel-inset: 30px;
  --panel-hairline: color-mix(in srgb, var(--color-10) 40%, transparent);
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-xs: 12px;
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h3: clamp(22px, 2.4vw, 32px);
  --text-h2: clamp(30px, 4.2vw, 48px);
  --text-h1: clamp(38px, 5.6vw, 70px);
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --radius-full: 9999px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  font-family: var(--font-4);
  color: var(--color-text);
  background-color: var(--section-bg-color, var(--color-9));
  padding-block: var(--panel-inset);
  /* Inset the band so the bg image is not full-bleed, and round it. The image
     and the overlay (.section--with-overlay::after, inset:0) both paint on THIS
     element, so overflow:hidden is what makes the radius clip the overlay too —
     without it the tint keeps square corners. Fluid clamp handles small screens
     without a media query. */
  --panel-outset: clamp(16px, 4vw, 56px);
  margin-inline: var(--panel-outset);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.audience-panel__inner {
  width: 100%;
  padding-inline: var(--panel-inset);
}

.audience-panel__box {
  border-radius: var(--radius-lg);
  padding: clamp(48px, 6vw, 88px) var(--space-xl);
  text-align: center;
  background: transparent;
}

.audience-panel__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.14;
  color: var(--color-10);
  margin: 0 auto var(--space-md);
  max-width: 26ch;
}

.audience-panel__lede {
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.35;
  color: var(--color-10);
  margin: 0 auto var(--space-md);
  max-width: 52ch;
}

.audience-panel__body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-10);
  margin: 0 auto;
  max-width: 74ch;
}

.audience-panel__tags {
  list-style: none;
  margin: var(--space-xl) auto 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: var(--space-md);
  column-gap: var(--space-xl);
  max-width: 80ch;
}

.audience-panel__tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--color-10);
  font-size: var(--text-md);
  font-weight: var(--weight-med);
}

.audience-panel__tag-icon {
  display: inline-flex;
  color: var(--color-12);
}

.audience-panel__tag-icon svg {
  width: 18px;
  height: 18px;
  display: block;
}

@media (max-width:700px) {
  .audience-panel__inner { padding-inline: var(--space-md); }
}

@media (max-width:700px) {
  .audience-panel__box { padding: var(--space-xxl) var(--space-lg); }
}

.step-row {
  /* Same hue as --color-12 (#FF8040) but dark enough for text on the white
     card: 5.08:1 vs #FFFFFF. #FF8040 itself is only 2.50:1 and fails as text. */
  --step-row-label-ink: #B84E0E;
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-xs: 12px;
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h3: clamp(22px, 2.4vw, 32px);
  --text-h2: clamp(30px, 4.2vw, 48px);
  --text-h1: clamp(38px, 5.6vw, 70px);
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --radius-full: 9999px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  font-family: var(--font-4);
  color: var(--color-text);
  background-color: var(--section-bg-color, var(--color-9));
  padding-block: var(--space-xxl);
}

.step-row__head {
  max-width: 68ch;
  margin-bottom: var(--space-xxl);
}

.step-row__title {
  font-family: var(--font-display);
  font-size: clamp(34px, 4.6vw, 60px);
  font-weight: var(--weight-bold);
  line-height: 1.08;
  color: var(--color-text);
  margin: 0 0 var(--space-md);
  max-width: 16ch;
}

.step-row__lede {
  font-size: var(--text-base-lg);
  line-height: 1.55;
  color: var(--color-text-muted);
  margin: 0;
}

.step-row__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(var(--step-row-cols, 4), minmax(0, 1fr));
  gap: var(--space-xl);
}

.step-row__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-sm);
  background: var(--color-10);
  border-radius: var(--radius-md);
  padding: var(--space-xl);
}

.step-row__label {
  display: block;
  color: var(--step-row-label-ink);
  font-size: var(--text-sm);
  font-weight: var(--weight-bold);
  letter-spacing: .02em;
}

.step-row__item-title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  color: var(--color-text);
  margin: 0;
}

.step-row__item-body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

.step-row.section--divider-bottom-curve::before {
  height: var(--divider-h, 55px);
  background-color: var(--color-10);
}

.step-row.section--divider-bottom-curve {
  --divider-h: clamp(28px, 4.3vw, 55px);
  padding-bottom: calc(var(--space-xxl) + var(--divider-h));
}

@media (max-width:1000px) {
  .step-row__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width:620px) {
  .step-row__list { grid-template-columns: 1fr; }
}

.cta-band .btn.cta-band__link {
  background: transparent;
  border-color: transparent;
  color: var(--color-8);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  text-decoration: underline;
  text-underline-offset: 3px;
  padding: var(--space-md) var(--space-sm);
}

.cta-band .btn.cta-band__link:hover, .cta-band .btn.cta-band__link:focus-visible {
  background: transparent;
  border-color: transparent;
  color: color-mix(in srgb, var(--color-13) 90%, #000);
}

.cta-band .btn.cta-band__link:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
}

.step-row .step-row__list {
  align-items: stretch;
}

.step-row .step-row__item {
  transform: none;
}

.step-row .step-row__item:nth-child(1) {
  --step-row-step: 0;
}

.step-row .step-row__item:nth-child(2) {
  --step-row-step: 1;
}

.step-row .step-row__item:nth-child(3) {
  --step-row-step: 2;
}

.step-row .step-row__item:nth-child(4) {
  --step-row-step: 3;
}

.step-row .step-row__item:nth-child(5) {
  --step-row-step: 4;
}

.step-row .step-row__item:nth-child(6) {
  --step-row-step: 5;
}

.step-row .step-row__item:nth-child(7) {
  --step-row-step: 6;
}

.step-row .step-row__item:nth-child(8) {
  --step-row-step: 7;
}

@media (max-width:1000px) {
  .step-row .step-row__list {
      --step-row-stagger: 0px;
      padding-bottom: 0;
    }
}

.icon-cards {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-xs: 12px;
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h3: clamp(22px, 2.4vw, 32px);
  --text-h2: clamp(30px, 4.2vw, 48px);
  --text-h1: clamp(38px, 5.6vw, 70px);
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  font-family: var(--font-4);
  color: var(--color-text);
  background-color: var(--section-bg-color, var(--color-9));
  padding-block: var(--space-xxl);
}

.icon-cards__head {
  max-width: 78ch;
  margin-bottom: var(--space-xxl);
}

.icon-cards__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.14;
  color: var(--color-text);
  margin: 0 0 var(--space-md);
  max-width: 22ch;
}

.icon-cards__lede {
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
  line-height: 1.5;
  color: var(--color-text);
  margin: 0 0 var(--space-md);
}

.icon-cards__body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

.icon-cards__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-xl);
}

.icon-cards__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-height: 276px;
  padding: var(--space-xl);
  background: transparent;
  /* --card-hairline is scoped to .service-cards and is NOT defined here; an
     undefined var invalidates the whole shorthand and border-style falls back
     to none (no border at all). Keep --color-5 as the fallback. */
  border: 4px solid var(--card-hairline, var(--color-5));
  border-radius: var(--radius-md);
  box-shadow: none;
  transition: border-color 160ms ease;
}

.icon-cards__card:hover,
.icon-cards__card:focus-within {
  border-color: var(--color-12, #FF8040);
}

@media (prefers-reduced-motion:reduce) {
  .icon-cards__card { transition: none; }
}

.icon-cards__icon {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  align-self: flex-start;
  flex: 0 0 auto;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  color: var(--color-13);
}

.icon-cards__icon svg {
  width: 34px;
  height: 34px;
  display: block;
}

.icon-cards__card-title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  color: var(--color-8);
  margin: 0;
}

.icon-cards__card-body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

.media-band {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-xs: 12px;
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h3: clamp(22px, 2.4vw, 32px);
  --text-h2: clamp(30px, 4.2vw, 48px);
  --text-h1: clamp(38px, 5.6vw, 70px);
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  font-family: var(--font-4);
  color: var(--color-text);
  background-color: var(--section-bg-color, var(--color-9));
  display: flex;
  align-items: center;
  min-height: 553px;
  padding-block: var(--space-xxl);
}

.media-band__inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--space-xxl);
  align-items: center;
  width: 100%;
}

.media-band__title {
  font-family: var(--font-display);
  font-size: clamp(26px, 2.7vw, 34px);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  color: var(--color-text);
  margin: 0 0 var(--space-md);
  max-width: 26ch;
}

.media-band__lede {
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
  line-height: 1.5;
  color: var(--color-text);
  margin: 0 0 var(--space-md);
}

.media-band__body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

.media-band__media {
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.media-band__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.media-band {
  display: block;
  min-height: 0;
}

.compact-cta {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-xs: 12px;
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h3: clamp(22px, 2.4vw, 32px);
  --text-h2: clamp(30px, 4.2vw, 48px);
  --text-h1: clamp(38px, 5.6vw, 70px);
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  font-family: var(--font-4);
  color: var(--color-text);
  background-color: var(--section-bg-color, var(--color-9));
  display: flex;
  align-items: center;
  min-height: 307px;
  padding-block: var(--space-xxl);
  text-align: center;
}

.compact-cta__inner {
  width: 100%;
}

.compact-cta__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.1;
  color: var(--color-text);
  margin: 0 auto var(--space-md);
  max-width: 22ch;
}

.compact-cta__lede {
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.35;
  color: var(--color-text);
  margin: 0 auto var(--space-md);
  max-width: 48ch;
}

.compact-cta__body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0 auto var(--space-xl);
  max-width: 62ch;
}

.compact-cta__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-md);
}

.compact-cta .btn.compact-cta__cta {
  background: var(--color-12);
  border-color: var(--color-12);
  color: var(--color-8);
  border-radius: var(--radius-md);
  font-family: var(--font-4);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  padding: var(--space-md) var(--space-xl);
  text-decoration: none;
}

.compact-cta .btn.compact-cta__cta:hover, .compact-cta .btn.compact-cta__cta:focus-visible {
  background: var(--color-8);
  border-color: var(--color-8);
  color: var(--color-10);
}

.compact-cta .btn.compact-cta__cta:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
}

.compact-cta.section--divider-bottom-curve::before {
  height: var(--divider-h, 55px);
  background-color: var(--color-10);
}

.compact-cta.section--divider-bottom-curve {
  --divider-h: clamp(28px, 4.3vw, 55px);
  padding-bottom: calc(var(--space-xxl) + var(--divider-h));
}

.step-list.section--divider-bottom-curve {
  --divider-h: clamp(28px, 4.3vw, 55px);
  padding-bottom: calc(var(--space-xxl) + var(--divider-h));
}

.disclosures {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-xs: 12px;
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h3: clamp(22px, 2.4vw, 32px);
  --text-h2: clamp(30px, 4.2vw, 48px);
  --text-h1: clamp(38px, 5.6vw, 70px);
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  --color-border: color-mix(in srgb, var(--color-8) 16%, transparent);
  font-family: var(--font-4);
  color: var(--color-text);
  background-color: var(--section-bg-color, var(--color-10));
  min-height: 600px;
  padding-block: var(--space-xxl);
}

.disclosures .section-head {
  margin-bottom: var(--space-xxl);
}

.disclosures .section-head__heading {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.14;
  color: var(--color-text);
  margin: 0 0 var(--space-md);
}

.disclosures .section-head__sub {
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
  line-height: 1.5;
  color: var(--color-text);
  max-width: 62ch;
  margin-inline: auto;
}

.disclosures .accordion__summary {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.3;
  color: var(--color-text);
  padding-block: var(--space-lg);
}

.disclosures .accordion__icon {
  color: var(--color-12);
}

.disclosures .accordion__answer {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  padding-bottom: var(--space-lg);
}

body.home .nav, body.page-id-9 .nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
  background: transparent;
  --nav-fg: var(--color-10);
}

body.home .nav.is-scrolled, body.page-id-9 .nav.is-scrolled {
  box-shadow: none;
}

body.home .hero-overlay__inner, body.page-id-9 .hero-overlay__inner {
  padding-top: var(--nav-h);
}

body.page-id-9 .nav__menu {
  background: transparent;
}

body.page-id-9 .nav__menu .nav__list a {
  color: var(--color-10);
}

body.page-id-9 .nav__list {
  margin-inline: auto;
}

body.page-id-9 .hero-overlay__tint {
  background: linear-gradient(90deg, rgba(0,0,0,.93) 0%, rgba(0,0,0,.87) 32%, rgba(0,0,0,.66) 64%, rgba(0,0,0,.48) 100%);
}

body.page-id-9 .hero-overlay__title {
  max-width: 16ch;
}

body.page-id-9 .hero-overlay__lede, body.page-id-9 .hero-overlay__body {
  max-width: 52ch;
}

@media (max-width:768px) {
  body.page-id-9 .nav__menu {
      background: var(--color-8);
    }
}

@media (max-width:768px) {
  body.page-id-9 .nav__list {
      margin-inline: 0;
    }
}

@media (max-width:768px) {
  body.page-id-9 .hero-overlay__title {
      max-width: none;
    }
}

@media (max-width:768px) {
  body.page-id-9 .hero-overlay__tint {
      background: rgba(0,0,0,.86);
    }
}

@media (max-width:900px) {
  .icon-cards__list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:620px) {
  .icon-cards__list {
      grid-template-columns: 1fr;
    }
}

.media-band__segments {
  margin-top: var(--space-xxl);
}

.media-band__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
}

.media-band__item {
  border-top: 1px solid var(--color-5);
  padding-top: var(--space-md);
}

.media-band__item-title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.25;
  color: var(--color-text);
  margin: 0 0 var(--space-sm);
}

.media-band__item-body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

@media (max-width:700px) {
  .media-band__list {
      grid-template-columns: 1fr;
    }
}

.panel-cta {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h2: clamp(30px, 4.2vw, 48px);
  --radius-md: 10px;
  --radius-lg: 20px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  font-family: var(--font-4);
  color: var(--color-text);
  background-color: var(--section-bg-color, var(--color-9));
  padding-block: var(--space-xxl);
}

.panel-cta__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-xl);
  align-items: center;
  background: var(--color-12);
  border-radius: var(--radius-lg);
  padding: var(--space-xxl) var(--space-xl);
}

.panel-cta__title {
  font-family: var(--font-display);
  font-size: clamp(26px, 2.8vw, 36px);
  font-weight: var(--weight-bold);
  line-height: 1.15;
  color: var(--color-8);
  margin: 0 0 var(--space-md);
  max-width: 30ch;
}

.panel-cta__lede {
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
  line-height: 1.45;
  color: var(--color-8);
  margin: 0 0 var(--space-md);
  max-width: 62ch;
}

.panel-cta__body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-8);
  margin: 0;
  max-width: 70ch;
}

.panel-cta .btn.panel-cta__cta {
  background: var(--color-10);
  border-color: var(--color-10);
  color: var(--color-8);
  border-radius: var(--radius-md);
  font-family: var(--font-4);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  padding: var(--space-md) var(--space-xl);
  text-decoration: none;
  white-space: nowrap;
}

.panel-cta .btn.panel-cta__cta:hover, .panel-cta .btn.panel-cta__cta:focus-visible {
  background: var(--color-8);
  border-color: var(--color-8);
  color: var(--color-10);
}

.panel-cta .btn.panel-cta__cta:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
}

.panel-cta.section--divider-bottom-curve::before {
  height: var(--divider-h, 55px);
  background-color: var(--color-10);
}

.panel-cta.section--divider-bottom-curve {
  --divider-h: clamp(28px, 4.3vw, 55px);
  padding-bottom: calc(var(--space-xxl) + var(--divider-h));
}

@media (max-width:820px) {
  .panel-cta__panel {
      grid-template-columns: 1fr;
      align-items: start;
    }
}

.step-grid {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --step-grid-label-ink: #B84E0E;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h2: clamp(30px, 4.2vw, 48px);
  --radius-md: 10px;
  --radius-lg: 20px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  font-family: var(--font-4);
  color: var(--color-text);
  background-color: var(--section-bg-color, var(--color-10));
  padding-block: var(--space-xxl);
}

.step-grid__head {
  width: 50%;
  max-width: 52ch;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--space-xxl);
  text-align: center;
}

.step-grid__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.14;
  color: var(--color-text);
  margin: 0 0 var(--space-md);
}

.step-grid__lede {
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
  line-height: 1.5;
  color: var(--color-text);
  margin: 0;
}

.step-grid__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
}

.step-grid__item {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: var(--space-xl);
  align-items: start;
  padding: var(--space-xl);
  border-radius: var(--radius-lg);
  background: var(--color-9);
}

.step-grid__label {
  display: block;
  font-size: var(--text-sm);
  font-weight: var(--weight-bold);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--step-grid-label-ink);
  margin: 0 0 var(--space-sm);
}

.step-grid__item-title {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.5vw, 34px);
  font-weight: var(--weight-bold);
  line-height: 1.1;
  overflow-wrap: break-word;
  hyphens: auto;
  color: var(--color-text);
  margin: 0;
}

.step-grid__item-body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

@media (max-width:1000px) {
  .step-grid__list {
      grid-template-columns: 1fr;
    }
}

@media (max-width:900px) {
  .step-grid__head {
      width: 100%;
      margin-left: 0;
    }
}

@media (max-width:620px) {
  .step-grid__item {
      grid-template-columns: 1fr;
      gap: var(--space-md);
    }
}

.icon-cards__icon .icon {
  display: block;
  width: 40px;
  height: 40px;
  font-size: 40px;
}

.icon-cards__icon .icon svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: none;
  stroke: currentColor;
}

.step-grid__lead, .step-grid__detail {
  min-width: 0;
}

.gap-split, .standards-band, .photo-cta {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-xs: 12px;
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h3: clamp(22px, 2.4vw, 32px);
  --text-h2: clamp(30px, 4.2vw, 48px);
  --text-h1: clamp(38px, 5.6vw, 70px);
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  font-family: var(--font-4);
  color: var(--color-text);
  background-color: var(--section-bg-color, var(--color-10));
}

body.page-id-8 .nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
  background: transparent;
  --nav-fg: var(--color-10);
}

body.page-id-8 .nav__menu {
  background: transparent;
}

body.page-id-8 .hero-overlay__inner {
  padding-top: var(--nav-h);
}

body.page-id-8 .hero-overlay {
  min-height: 647px;
}

body.page-id-8 .hero-overlay__title {
  max-width: 20ch;
}

body.page-id-8 .hero-overlay__lede, body.page-id-8 .hero-overlay__body {
  max-width: 62ch;
}

.gap-split {
  display: flex;
  align-items: center;
  min-height: 1044px;
  padding-block: var(--space-xxl);
}

.gap-split__inner {
  width: 100%;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(30px, 5vw, 60px);
  align-items: center;
}

.gap-split__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.1;
  color: var(--color-8);
  margin: 0 0 var(--space-lg);
  max-width: 18ch;
}

.gap-split__lede {
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.35;
  color: var(--color-8);
  margin: 0 0 var(--space-lg);
  max-width: 46ch;
}

.gap-split__body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-11);
  margin: 0 0 var(--space-md);
  max-width: 60ch;
}

.gap-split__body:last-child {
  margin-bottom: 0;
}

.gap-split__media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: start;
}

.gap-split__figure {
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.gap-split__figure--b {
  margin-top: clamp(24px, 5vw, 60px);
}

.gap-split__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.gap-split.section--divider-bottom-curve::before {
  height: var(--divider-h, 55px);
  background-color: var(--color-10);
}

.gap-split.section--divider-bottom-curve {
  --divider-h: clamp(28px, 4.3vw, 55px);
  padding-bottom: calc(var(--space-xxl) + var(--divider-h));
}

.standards-band {
  display: flex;
  align-items: center;
  min-height: 807px;
  padding-block: var(--space-xxl);
}

.standards-band__inner {
  width: 100%;
}

.standards-band__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.1;
  color: var(--color-8);
  margin: 0 0 var(--space-md);
  max-width: 20ch;
}

.standards-band__lede {
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.35;
  color: var(--color-8);
  margin: 0;
  max-width: 52ch;
}

.standards-band__body {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(30px, 4vw, 60px);
  align-items: center;
}

.standards-band__media {
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.standards-band__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.standards-band__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(24px, 3vw, 40px);
}

.standards-band__item {
  border-top: 2px solid var(--color-12);
  padding-top: var(--space-lg);
}

.standards-band__item-title {
  font-family: var(--font-display);
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
  line-height: 1.3;
  color: var(--color-8);
  margin: 0 0 var(--space-sm);
}

.standards-band__item-body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-11);
  margin: 0;
}

.photo-cta {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 634px;
  padding-block: var(--space-xxl);
  overflow: hidden;
  text-align: center;
}

.photo-cta__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.photo-cta__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-cta__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(249, 243, 239, .9);
}

.photo-cta__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.photo-cta__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.1;
  color: var(--color-8);
  margin: 0 0 var(--space-lg);
  max-width: 20ch;
}

.photo-cta__lede {
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.35;
  color: var(--color-8);
  margin: 0 0 var(--space-md);
  max-width: 46ch;
}

.photo-cta__body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-11);
  margin: 0 0 var(--space-xl);
  max-width: 62ch;
}

.photo-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  justify-content: center;
}

.photo-cta .btn {
  background: var(--color-12);
  border-color: var(--color-12);
  color: var(--color-8);
  border-radius: var(--radius-md);
  font-family: var(--font-4);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  padding: var(--space-md) var(--space-xl);
}

.photo-cta .btn:hover, .photo-cta .btn:focus-visible {
  background: var(--color-8);
  border-color: var(--color-8);
  color: var(--color-10);
}

.photo-cta .btn:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
}

.photo-cta.section--divider-bottom-curve::before {
  height: var(--divider-h, 55px);
  background-color: var(--color-10);
  z-index: 3;
}

.photo-cta.section--divider-bottom-curve {
  --divider-h: clamp(28px, 4.3vw, 55px);
  padding-bottom: calc(var(--space-xxl) + var(--divider-h));
}

@media (max-width:900px) {
  .gap-split { min-height: 0; }
}

@media (max-width:900px) {
  .gap-split__inner { grid-template-columns: 1fr; }
}

@media (max-width:900px) {
  .gap-split__figure--b { margin-top: 0; }
}

@media (max-width:900px) {
  .bio-split { min-height: 0; }
}

@media (max-width:900px) {
  .bio-split__inner { grid-template-columns: 1fr; }
}

@media (max-width:900px) {
  .bio-split--media-left .bio-split__copy,
    .bio-split--media-left .bio-split__media {
      grid-column: 1;
      grid-row: auto;
    }
}

@media (max-width:900px) {
  .standards-band { min-height: 0; }
}

@media (max-width:900px) {
  .standards-band__body { grid-template-columns: 1fr; }
}

@media (max-width:900px) {
  .standards-band__list { grid-template-columns: 1fr; }
}

@media (max-width:900px) {
  .photo-cta { min-height: 0; }
}

.icon-cards__list .icon-cards__card {
  position: relative;
}

.icon-cards__card-link {
  color: inherit;
  text-decoration: none;
}

.icon-cards__card-link::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--radius-md);
}

.icon-cards__card:hover .icon-cards__card-link {
  text-decoration: none;
}

.icon-cards__card-link:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}

.icon-cards__card-link:focus-visible::after {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
}

.service-cards__list .service-cards__card {
  position: relative;
}

.service-cards__card-link {
  color: inherit;
  text-decoration: none;
}

.service-cards__card-link::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--radius-md);
}

.service-cards__card:hover .service-cards__card-link {
  text-decoration: none;
}

.service-cards__card-link:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}

.service-cards__card-link:focus-visible::after {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
}

.service-hero, .service-section, .service-explore {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --card-hairline: color-mix(in srgb, var(--color-8) 16%, transparent);
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h3: clamp(22px, 2.4vw, 32px);
  --text-h2: clamp(28px, 3.2vw, 40px);
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --service-band-pad: clamp(48px, 6vw, 88px);
  --service-gutter: clamp(32px, 5vw, 88px);
  --hero-corner: 48px;
  --explore-angle: 72px;
  font-family: var(--font-4);
}

.service-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 440px;
  padding-top: calc(var(--nav-h, 131px) + var(--space-xl));
  padding-bottom: clamp(32px, 4vw, 56px);
  overflow: hidden;
  border-bottom-left-radius: var(--hero-corner);
  border-bottom-right-radius: var(--hero-corner);
  background: var(--section-bg-color, var(--color-8));
}

.service-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.service-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}

.service-hero__tint {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0,0,0,.74) 0%, rgba(0,0,0,.62) 42%, rgba(0,0,0,.76) 100%);
}

.service-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
}

.service-hero__eyebrow {
  margin: 0 0 var(--space-md);
  font-size: var(--text-sm);
  font-weight: var(--weight-bold);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-10);
}

.service-hero__title {
  margin: 0;
  max-width: 24ch;
  font-family: var(--font-display);
  font-size: clamp(34px, 4.4vw, 58px);
  font-weight: var(--weight-bold);
  line-height: 1.08;
  color: var(--color-10);
}

body.single-service .nav {
  --color-8: #000000;
  --color-10: #FFFFFF;
  --color-12: #FF8040;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
  background: transparent;
  --nav-bg: transparent;
  --nav-fg: var(--color-10);
}

body.single-service .nav.is-scrolled {
  box-shadow: none;
}

body.single-service .nav__menu {
  background: transparent;
}

body.single-service .nav__menu .nav__list a {
  color: var(--color-10);
}

.service-section {
  padding-block: var(--service-band-pad);
  background: var(--section-bg-color, var(--color-10));
  color: var(--color-11);
}

.service-section--cream {
  background: var(--section-bg-color, var(--color-9));
}

.service-section__inner {
  display: grid;
  gap: var(--space-xl);
  align-items: start;
}

.service-section__head {
  min-width: 0;
}

.service-section__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.14;
  color: var(--color-8);
}

.service-section__body {
  display: grid;
  gap: var(--space-md);
  min-width: 0;
}

.service-section__p {
  margin: 0;
  max-width: 68ch;
  font-size: var(--text-base-lg);
  line-height: 1.72;
  color: var(--color-11);
}

.service-section__p a {
  color: var(--color-8);
  font-weight: var(--weight-bold);
  text-decoration: underline;
  text-decoration-color: var(--color-12);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.service-section__p a:hover {
  color: var(--color-12);
}

.service-section__p a:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 2px;
}

.service-section--split .service-section__inner {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--service-gutter);
}

.service-section--split .service-section__title {
  max-width: 17ch;
}

.service-section--stack .service-section__inner {
  justify-items: center;
}

.service-section--stack .service-section__head {
  max-width: 26ch;
  text-align: center;
}

.service-section--stack .service-section__body {
  max-width: 72ch;
}

.service-section--offset .service-section__head {
  width: 100%;
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid var(--card-hairline);
}

.service-section--offset .service-section__title {
  max-width: 24ch;
}

.service-section--offset .service-section__body {
  width: min(100%, 64ch);
  margin-left: auto;
}

.service-section--checklist .service-section__inner {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--service-gutter);
}

.service-section--checklist .service-section__title {
  max-width: 17ch;
}

.service-checklist {
  list-style: none;
  margin: var(--space-sm) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
}

.service-checklist__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-md);
  align-items: start;
  padding: var(--space-lg);
  border: 1px solid var(--card-hairline);
  border-radius: var(--radius-md);
}

.service-section--light .service-checklist__item {
  background: var(--color-9);
}

.service-section--cream .service-checklist__item {
  background: var(--color-10);
}

.service-checklist__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: var(--radius-full);
  background: var(--color-12);
  color: var(--color-8);
}

.service-checklist__mark .icon {
  display: block;
  width: 15px;
  height: 15px;
}

.service-checklist__mark svg {
  display: block;
  width: 100%;
  height: 100%;
}

.service-checklist__copy {
  display: grid;
  gap: var(--space-xs);
}

.service-checklist__label {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.25;
  color: var(--color-8);
}

.service-checklist__text {
  font-size: var(--text-md);
  line-height: 1.62;
  color: var(--color-11);
}

.service-section--closing {
  padding-block: clamp(40px, 5vw, 72px);
}

.service-section--closing .service-section__head {
  max-width: 28ch;
  padding-top: var(--space-lg);
  border-top: 3px solid var(--color-12);
}

.service-section--closing .service-section__title {
  font-size: var(--text-h3);
}

.service-section--closing .service-section__body {
  max-width: 64ch;
}

.service-section__actions {
  margin: var(--space-sm) 0 0;
}

.service-section__contact {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  font-family: var(--font-display);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  color: var(--color-8);
  text-decoration: underline;
  text-decoration-color: var(--color-12);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.service-section__contact:hover {
  color: var(--color-12);
}

.service-section__contact:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
}

.service-section--last {
  padding-bottom: calc(var(--service-band-pad) + var(--explore-angle));
}

.service-explore {
  position: relative;
  z-index: 1;
  margin-top: calc(var(--explore-angle) * -1);
  padding-top: calc(var(--service-band-pad) + var(--explore-angle));
  padding-bottom: var(--service-band-pad);
  clip-path: polygon(0 var(--explore-angle), 100% 0, 100% 100%, 0 100%);
  background: var(--section-bg-color, var(--color-9));
}

.service-hero + .service-explore {
  margin-top: 0;
  padding-top: var(--service-band-pad);
  clip-path: none;
}

.service-explore__inner {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  gap: var(--service-gutter);
  align-items: start;
}

.service-explore__title {
  margin: 0 0 var(--space-lg);
  max-width: 15ch;
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.14;
  color: var(--color-8);
}

.service-explore__cta {
  background: var(--color-12);
  border-color: var(--color-12);
  color: var(--color-8);
  border-radius: var(--radius-md);
  font-family: var(--font-display);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  padding: var(--space-md) var(--space-xl);
}

.service-explore__cta:hover, .service-explore__cta:focus-visible {
  background: var(--color-8);
  border-color: var(--color-8);
  color: var(--color-10);
}

.service-explore__cta:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
}

.service-explore__cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-lg);
}

.service-explore__card {
  position: relative;
  padding: var(--space-xl);
  background: var(--color-9);
  border: 4px solid var(--card-hairline);
  border-radius: var(--radius-md);
  transition: border-color 160ms ease;
}

.service-explore__card:hover,
.service-explore__card:focus-within {
  border-color: var(--color-12, #FF8040);
}

@media (prefers-reduced-motion:reduce) {
  .service-explore__card { transition: none; }
}

.service-explore__card-title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.25;
  color: var(--color-8);
}

.service-explore__card-link {
  color: inherit;
  text-decoration: none;
}

.service-explore__card-link::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--radius-md);
}

.service-explore__card:hover .service-explore__card-link {
  text-decoration: none;
}

.service-explore__card-link:focus-visible {
  outline: 2px solid var(--color-8);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}

.service-explore__card-body {
  margin: 0;
  font-size: var(--text-md);
  line-height: 1.62;
  color: var(--color-11);
}

@media (max-width:900px) {
  .service-section--split .service-section__inner,
    .service-section--checklist .service-section__inner,
    .service-explore__inner {
      grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width:900px) {
  .service-checklist {
      grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width:900px) {
  .service-section--split .service-section__title,
    .service-section--checklist .service-section__title,
    .service-section--offset .service-section__title,
    .service-explore__title {
      max-width: none;
    }
}

@media (max-width:900px) {
  .service-section--offset .service-section__body {
      margin-left: 0;
    }
}

@media (max-width:700px) {
  .service-hero, .service-section, .service-explore {
      --hero-corner: 26px;
      --explore-angle: 32px;
    }
}

@media (max-width:700px) {
  .service-hero {
      min-height: 380px;
    }
}

@media (max-width:700px) {
  body.single-service .nav__menu {
      background: var(--color-8);
    }
}

.standards-band__head {
  margin-bottom: clamp(56px, 7vw, 96px);
}

.comparison {
  padding-block: var(--space-xxl);
  background-color: var(--section-bg-color, var(--color-bg));
  color: var(--color-text);
}

.comparison__head {
  margin-bottom: clamp(32px, 4vw, 56px);
}

.comparison__title {
  margin: 0;
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.15;
}

.comparison__lede {
  margin: var(--space-md) 0 0;
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.35;
  max-width: 60ch;
}

.comparison__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.comparison__scroll:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

.comparison__table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  text-align: left;
}

.comparison__col-head {
  padding: var(--space-lg) var(--space-md);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  line-height: 1.3;
  text-align: left;
  vertical-align: bottom;
  border-bottom: 2px solid var(--color-primary);
}

.comparison__cell {
  padding: var(--space-lg) var(--space-md);
  font-size: var(--text-md);
  line-height: 1.55;
  vertical-align: top;
  border-bottom: 1px solid var(--color-border);
}

.comparison__cell-body {
  margin: 0;
}

.comparison__cell-body + .comparison__cell-body {
  margin-top: var(--space-sm);
}

.comparison__col-head:first-child, .comparison__cell:first-child {
  padding-left: 0;
}

.comparison__col-head:last-child, .comparison__cell:last-child {
  padding-right: 0;
}

.process-steps--numbered {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-xs: 12px;
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h2: clamp(30px, 4.2vw, 48px);
  --radius-md: 10px;
  --radius-lg: 20px;
  --radius-full: 9999px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  font-family: var(--font-4);
  color: var(--color-text);
  background-color: var(--section-bg-color, var(--color-9));
  padding-block: var(--space-xxl);
}

.process-steps--numbered .process-steps__head {
  max-width: 68ch;
  margin-bottom: var(--space-xxl);
}

.process-steps--numbered .process-steps__head h2 {
  font-family: var(--font-display);
  font-size: clamp(34px, 4.6vw, 60px);
  font-weight: var(--weight-bold);
  line-height: 1.08;
  color: var(--color-text);
  margin: 0 0 var(--space-md);
  max-width: 16ch;
}

.process-steps--numbered .process-steps__lede {
  font-size: var(--text-base-lg);
  line-height: 1.55;
  color: var(--color-text-muted);
  margin: 0;
}

.process-steps--numbered .process-steps__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: var(--space-xl);
  align-items: stretch;
}

.process-steps--numbered .process-steps__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-sm);
  background: var(--color-10);
  border: 0;
  border-radius: var(--radius-md);
  padding: var(--space-xl);
  text-align: left;
}

.process-steps--numbered .process-steps__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: var(--radius-full);
  background: var(--color-12);
  color: var(--color-8);
  font-family: var(--font-display);
  font-size: var(--text-base-lg);
  font-weight: var(--weight-bold);
  line-height: 1;
  opacity: 1;
  margin: 0 0 var(--space-sm);
}

.process-steps--numbered .process-steps__title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  color: var(--color-text);
  margin: 0;
}

.process-steps--numbered .process-steps__desc {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

section.section.process-steps.process-steps--numbered {
  padding-bottom: var(--space-xxl);
}

.process-steps--numbered.section--divider-bottom-curve::before {
  height: var(--divider-h, 55px);
  background-color: var(--color-10);
}

section.section.process-steps.process-steps--numbered.section--divider-bottom-curve {
  --divider-h: clamp(28px, 4.3vw, 55px);
  padding-bottom: calc(var(--space-xxl) + var(--divider-h));
}

.audience-panel__box--media .audience-panel__title,
.audience-panel__box--media .audience-panel__lede,
.audience-panel__box--media .audience-panel__body,
.audience-panel__box--media .audience-panel__tag,
.audience-panel__box--media .audience-panel__tag-label {
  color: var(--color-10);
}

.audience-panel__box--media {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--color-8);
  background-image: var(--panel-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.audience-panel__box--media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: rgb(0 0 0 / var(--panel-overlay, 0.62));
  border-radius: inherit;
  pointer-events: none;
}

.bio-split {
  --color-8: #000000;
  --color-9: #F9F3EF;
  --color-10: #FFFFFF;
  --color-11: #333333;
  --color-12: #FF8040;
  --color-13: #2CA5F4;
  --font-4: 'Cal Sans', ui-sans-serif, system-ui, sans-serif;
  --font-display: var(--font-4);
  --font-body: var(--font-4);
  --text-xs: 12px;
  --text-sm: 15px;
  --text-md: 16px;
  --text-base-lg: 18px;
  --text-lg: 22px;
  --text-h2: clamp(30px, 4.2vw, 48px);
  --radius-md: 10px;
  --radius-lg: 20px;
  --space-lg: 20px;
  --space-xl: clamp(24px, 3vw, 30px);
  --space-xxl: clamp(40px, 6vw, 60px);
  --color-text: var(--color-8);
  --color-text-muted: var(--color-11);
  font-family: var(--font-4);
  color: var(--color-text);
  background-color: var(--section-bg-color, var(--color-10));
  display: flex;
  align-items: center;
  padding-block: var(--space-xxl);
}

.bio-split__inner {
  width: 100%;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(30px, 5vw, 64px);
  align-items: center;
}

.bio-split--media-left .bio-split__copy {
  grid-column: 2;
  grid-row: 1;
}

.bio-split--media-left .bio-split__media {
  grid-column: 1;
  grid-row: 1;
}

.bio-split__title {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-bold);
  line-height: 1.1;
  color: var(--color-8);
  margin: 0 0 var(--space-lg);
  max-width: 18ch;
}

.bio-split__lede {
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.35;
  color: var(--color-8);
  margin: 0 0 var(--space-lg);
  max-width: 46ch;
}

.bio-split__body {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-11);
  margin: 0 0 var(--space-md);
  max-width: 60ch;
}

.bio-split__body:last-child {
  margin-bottom: 0;
}

.bio-split__media {
  display: block;
}

.bio-split__figure {
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.bio-split__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.bio-split__caption {
  margin: var(--space-sm) 0 0;
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--color-text-muted);
}

.bio-split.section--divider-bottom-curve::before {
  height: var(--divider-h, 55px);
  background-color: var(--color-10);
}

.bio-split.section--divider-bottom-curve {
  --divider-h: clamp(28px, 4.3vw, 55px);
  padding-bottom: calc(var(--space-xxl) + var(--divider-h));
}

.service-section--media .service-section__inner {
  grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
  gap: var(--service-gutter);
  align-items: center;
  align-content: center;
  grid-template-areas: "head media" "body media";
}

.service-section--media .service-section__head {
  grid-area: head;
  align-self: end;
}

.service-section--media .service-section__body {
  grid-area: body;
  align-self: start;
  padding-top: var(--space-md);
}

.service-section--media .service-section__media {
  grid-area: media;
}

.service-section--media.service-section--flip .service-section__inner {
  grid-template-areas: "media head" "media body";
}

.service-section--media .service-section__title {
  max-width: 18ch;
}

.service-section__media {
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.service-section__img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.service-section--twocol .service-section__inner {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--service-gutter);
}

.service-section--twocol .service-section__title {
  max-width: 17ch;
}

.service-section--twocol .service-section__body {
  columns: 2;
  column-gap: var(--service-gutter);
}

.service-section--twocol .service-section__p {
  break-inside: avoid;
  max-width: none;
}

.service-section--cards .service-section__inner {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl);
}

.service-section--cards .service-section__title {
  max-width: 24ch;
}

.service-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-xl);
}

.service-section--cols-4 .service-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-grid__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-xl);
  border-radius: var(--radius-md);
  border: 1px solid var(--card-hairline);
}

.service-section--light .service-grid__item {
  background: var(--color-9);
}

.service-section--cream .service-grid__item {
  background: var(--color-10);
}

.service-grid__num {
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: var(--weight-bold);
  line-height: 1;
  letter-spacing: 0.06em;
  color: var(--color-12);
}

.service-grid__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.service-grid__label {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.25;
  color: var(--color-8);
}

.service-grid__text {
  font-size: var(--text-md);
  line-height: 1.6;
  color: var(--color-11);
}

body.home .hero-overlay .btn.hero-overlay__cta {
  background: var(--color-13);
  border-color: var(--color-13);
  color: var(--color-8);
}

body.home .hero-overlay .btn.hero-overlay__cta:hover, body.home .hero-overlay .btn.hero-overlay__cta:focus-visible {
  background: var(--color-10);
  border-color: var(--color-10);
  color: var(--color-8);
}

.footer-contact {
  background: var(--color-bg);
  padding-block: var(--space-xxl);
}

.footer-contact__inner {
  display: flex;
  gap: var(--space-xl);
  align-items: flex-start;
  flex-wrap: wrap;
}

.footer-contact__form {
  flex: 1 1 480px;
  min-width: 280px;
}

.footer-contact__card {
  flex: 1 1 320px;
  min-width: 260px;
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
}

.footer-contact__card-heading {
  font-size: var(--text-lg);
  margin: 0 0 var(--space-sm);
  color: var(--color-1);
}

.footer-contact__card-copy {
  color: var(--color-2);
  margin: 0 0 var(--space-md);
}

.footer-contact__card-phone {
  display: inline-block;
  font-weight: 600;
  color: var(--color-1);
  text-decoration: none;
}

.footer-contact__card-phone:hover {
  text-decoration: underline;
}

.hero-overlay, .brand-band, .media-split, .photo-mosaic, .approach, .step-list,
.cta-band, .approach-cards, .audience-band, .nav, .footer, .layerly-copyright,
.service-cards, .audience-panel, .step-row, .icon-cards, .media-band,
.compact-cta, .disclosures, .panel-cta, .step-grid, .gap-split, .standards-band,
.photo-cta, .service-hero, .service-section, .service-explore,
.process-steps--numbered, .bio-split {
  --color-9: #F5F5F5;
}

body .btn.btn--primary,
body .nav .nav__menu .nav__cta,
body .nav .nav__menu[data-mobile-menu] .nav__cta,
body .hero-overlay .btn.hero-overlay__cta,
body .cta-band .btn.btn--primary {
  background: var(--color-1-strong);
  border-color: var(--color-1-strong);
  color: #FFFFFF;
}

body .btn.btn--primary:hover, body .btn.btn--primary:focus-visible,
body .nav .nav__menu .nav__cta:hover, body .nav .nav__menu .nav__cta:focus-visible,
body .nav .nav__menu[data-mobile-menu] .nav__cta:hover,
body .hero-overlay .btn.hero-overlay__cta:hover,
body .cta-band .btn.btn--primary:hover {
  background: var(--color-6);
  border-color: var(--color-6);
  color: #FFFFFF;
}

html body.home .hero-overlay .btn.btn--primary.hero-overlay__cta,
html body .hero-overlay .btn.btn--primary.hero-overlay__cta,
html body .media-split .btn.media-split__cta {
  background: var(--color-1-strong);
  border-color: var(--color-1-strong);
  color: #FFFFFF;
}

html body.home .hero-overlay .btn.btn--primary.hero-overlay__cta:hover,
html body .hero-overlay .btn.btn--primary.hero-overlay__cta:hover,
html body .media-split .btn.media-split__cta:hover {
  background: var(--color-6);
  border-color: var(--color-6);
  color: #FFFFFF;
}

.footer-contact__card-address {
  font-style: normal;
  margin: 0 0 var(--space-sm, 12px);
  line-height: 1.55;
  color: inherit;
}

/* ── Phase 3 preservation (2026-09-29): the framework's r40 redesigned the mobile menu button; keep this site's original bars.
      Retire when the site deliberately adopts the newer design. ── */
[data-mobile-menu-toggle] { padding-left: 0; padding-right: 0; }
[data-mobile-menu-toggle] > span { width: 26px; height: 3px; border-radius: 2px; }

/* ── Phase 3 preservation (2026-09-29): r40 pins FAQ question text to a fixed size; this site's questions inherit from the row.
      Retire when the site deliberately adopts the framework's size. ── */
.accordion__question { font-size: inherit; line-height: inherit; }
