:root {
  --ink: #10233f;
  --navy: #17365d;
  --blue: #1769aa;
  --blue-dark: #0f4f84;
  --teal: #147d73;
  --canvas: #f7f8fa;
  --pale-blue: #eaf4fb;
  --text: #25364d;
  --muted: #5c6b7d;
  --border: #d9e1e8;
  --white: #fff;
  --error: #b42318;
  --shell: 72rem;
  --reading: 44rem;
  --radius: .9rem;
  --shadow: 0 18px 50px rgba(16, 35, 63, .1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--white); font: 400 1rem/1.7 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body.menu-is-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
iframe { max-width: 100%; }
a { color: var(--blue); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--blue-dark); text-decoration-thickness: .13em; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, h4 { color: var(--ink); line-height: 1.15; text-wrap: balance; }
h1 { margin: 0 0 1.25rem; font-size: clamp(2.5rem, 7vw, 4.75rem); letter-spacing: -.045em; }
h2 { margin: 0 0 1rem; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.03em; }
h3 { margin: 0 0 .75rem; font-size: clamp(1.3rem, 2vw, 1.65rem); }
p, ul, ol { margin-block: 0 1.25rem; }
:focus-visible { outline: 3px solid #f0a828; outline-offset: 3px; }
::selection { color: var(--ink); background: #cce8fa; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: .5rem; left: .5rem; width: auto; height: auto; padding: .75rem 1rem; clip: auto; color: var(--white); background: var(--ink); }
.skip-link { position: absolute; }
.shell { width: min(calc(100% - 2.5rem), var(--shell)); margin-inline: auto; }
.reading-width { width: min(100%, var(--reading)); }
.site-main { min-height: 55vh; }
.section { padding-block: clamp(4rem, 8vw, 7rem); }
.section--compact { padding-block: clamp(2.75rem, 5vw, 4.5rem); }
.section--canvas { background: var(--canvas); }
.section--navy { color: #e8f0f7; background: var(--ink); }
.section--navy h2, .section--navy h3 { color: var(--white); }
.section--navy .card { color: var(--text); }
.section--navy .card h2, .section--navy .card h3 { color: var(--ink); }
.eyebrow { display: inline-flex; margin-bottom: .9rem; color: var(--teal); font-size: .78rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.section--navy .eyebrow { color: #82d7ca; }
.lede { max-width: 46rem; color: var(--muted); font-size: clamp(1.12rem, 2vw, 1.32rem); }
.section--navy .lede { color: #c8d7e5; }
.section-heading { display: grid; gap: 1rem; margin-bottom: 2.5rem; }

.button { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; padding: .72rem 1.15rem; border: 2px solid transparent; border-radius: .55rem; color: var(--white); background: var(--blue); font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; }
.button:hover { color: var(--white); background: var(--blue-dark); text-decoration: none; }
.button--secondary { color: var(--ink); border-color: var(--border); background: var(--white); }
.button--secondary:hover { color: var(--ink); border-color: var(--blue); background: var(--pale-blue); }
.button--light { color: var(--ink); background: var(--white); }
.button--light:hover { color: var(--ink); background: #dfeef8; }
.button-group { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.75rem; }

.site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(217, 225, 232, .9); background: rgba(255, 255, 255, .96); backdrop-filter: blur(12px); }
.header-inner { display: flex; min-height: 5rem; align-items: center; gap: 1.5rem; }
.site-brand { display: inline-flex; max-width: 14rem; align-items: center; color: var(--ink); font-size: 1.15rem; font-weight: 800; line-height: 1.1; text-decoration: none; }
.site-logo-image { width: auto; max-height: 3.25rem; object-fit: contain; }
.primary-navigation { margin-left: auto; }
.primary-navigation .menu { display: flex; align-items: center; gap: 1.1rem; margin: 0; padding: 0; list-style: none; }
.primary-navigation .menu-item { position: relative; }
.primary-navigation .nav-link { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--ink); font-size: .93rem; font-weight: 650; text-decoration: none; }
.primary-navigation .current-menu-item > .nav-link, .primary-navigation .nav-link:hover { color: var(--blue); }
.submenu-toggle { display: inline-grid; min-width: 2.25rem; min-height: 2.75rem; padding: .25rem; place-items: center; border: 0; color: var(--ink); background: transparent; }
.submenu-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.sub-menu { position: absolute; top: 100%; left: 0; min-width: 15rem; margin: 0; padding: .5rem; border: 1px solid var(--border); border-radius: .55rem; background: var(--white); box-shadow: var(--shadow); list-style: none; }
.sub-menu[hidden] { display: none; }
.sub-menu .nav-link { width: 100%; padding-inline: .65rem; }
.menu-toggle { display: none; min-width: 2.75rem; min-height: 2.75rem; padding: .5rem; border: 1px solid var(--border); border-radius: .5rem; color: var(--ink); background: var(--white); }
.menu-toggle-lines, .menu-toggle-lines::before, .menu-toggle-lines::after { display: block; width: 1.4rem; height: 2px; background: currentColor; content: ""; }
.menu-toggle-lines { position: relative; }
.menu-toggle-lines::before { position: absolute; top: -.42rem; }
.menu-toggle-lines::after { position: absolute; top: .42rem; }
.header-cta { white-space: nowrap; }
.cart-link { position: relative; display: inline-grid; min-width: 2.75rem; min-height: 2.75rem; place-items: center; border: 1px solid var(--border); border-radius: 50%; color: var(--ink); text-decoration: none; }
.cart-link:hover { color: var(--blue); border-color: var(--blue); background: var(--pale-blue); text-decoration: none; }
.cart-icon { display: block; }
.cart-count { position: absolute; top: -.35rem; right: -.35rem; display: grid; min-width: 1.25rem; height: 1.25rem; padding-inline: .25rem; place-items: center; border: 2px solid var(--white); border-radius: 999px; color: var(--white); background: var(--navy); font-size: .68rem; font-weight: 800; line-height: 1; }

.hero { position: relative; overflow: hidden; padding-block: clamp(4.5rem, 10vw, 8.5rem); background: linear-gradient(135deg, #f7fbfe 0%, #eaf4fb 58%, #f7f8fa 100%); }
.hero::after { position: absolute; right: -8rem; bottom: -13rem; width: 34rem; height: 34rem; border: 5rem solid rgba(23, 105, 170, .07); border-radius: 50%; content: ""; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr); align-items: center; gap: clamp(2rem, 6vw, 5rem); }
.hero-copy { max-width: 49rem; }
.hero-copy p { max-width: 43rem; color: #40556e; font-size: clamp(1.1rem, 2.2vw, 1.34rem); }
.hero-media { display: block; overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid rgba(23, 54, 93, .12); border-radius: 1.4rem; background: var(--canvas); box-shadow: var(--shadow); }
.hero-media img { width: 100%; height: 100%; object-fit: cover; }
.service-hero .hero-media { aspect-ratio: 16 / 10; }
.hero-panel { padding: clamp(1.4rem, 3vw, 2.1rem); border: 1px solid rgba(23, 54, 93, .12); border-radius: 1.4rem; background: rgba(255, 255, 255, .88); box-shadow: var(--shadow); }
.hero-panel ul { display: grid; gap: .75rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.hero-panel li { display: grid; grid-template-columns: 1.35rem 1fr; gap: .55rem; }
.hero-panel li::before { color: var(--teal); font-weight: 900; content: "✓"; }
.not-found-code { color: var(--blue); font-size: clamp(5rem, 14vw, 10rem); line-height: 1; }

.grid { display: grid; gap: 1.25rem; }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.card { position: relative; padding: 1.6rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); }
.card--link { transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.card--link:hover { transform: translateY(-2px); border-color: #a9cbe1; box-shadow: 0 12px 34px rgba(16, 35, 63, .08); }
.card--link a::after { position: absolute; inset: 0; content: ""; }
.card p:last-child { margin-bottom: 0; }
.product-family-card { display: flex; min-height: 100%; flex-direction: column; }
.product-family-card > a { margin-top: auto; }
.offering-status, .product-type-label { display: inline-flex; width: fit-content; margin: 0 0 .85rem; padding: .3rem .6rem; border-radius: 999px; color: var(--navy); background: var(--pale-blue); font-size: .75rem; font-weight: 750; letter-spacing: .03em; }
.service-card::before { display: inline-grid; width: 2.5rem; height: 2.5rem; margin-bottom: 1rem; place-items: center; border-radius: .65rem; color: var(--blue); background: var(--pale-blue); font-size: 1.25rem; content: "◆"; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .75fr); align-items: start; gap: clamp(2.5rem, 7vw, 6rem); }
.contact-options .split > *, .contact-options .grid, .contact-options .card { min-width: 0; }
.contact-options .card a:not(.button) { overflow-wrap: anywhere; }
.check-list { display: grid; gap: .8rem; padding: 0; list-style: none; }
.check-list li { display: grid; grid-template-columns: 1.4rem 1fr; gap: .6rem; }
.check-list li::before { color: var(--teal); font-weight: 900; content: "✓"; }
.steps { counter-reset: step; }
.step { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; }
.step::before { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: 50%; color: var(--white); background: var(--navy); font-weight: 800; counter-increment: step; content: counter(step); }
.grid--5 .step { grid-template-columns: 1fr; }
.card-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.card-list li { padding: 1.25rem; border: 1px solid var(--border); border-radius: var(--radius); color: var(--ink); background: var(--white); font-weight: 700; }
.tag-list { display: flex; flex-wrap: wrap; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.tag-list li { padding: .55rem .8rem; border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; color: var(--white); background: rgba(255, 255, 255, .08); }
.section--canvas .tag-list li { color: var(--ink); border-color: var(--border); background: var(--white); }
details { padding: 1rem 0; border-bottom: 1px solid var(--border); }
summary { color: var(--ink); font-weight: 750; cursor: pointer; }
details p { margin: .8rem 0 0; }

.page-hero { padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--pale-blue); }
.page-hero h1 { max-width: 52rem; font-size: clamp(2.5rem, 6vw, 4rem); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .5rem; padding-block: 1rem; color: var(--muted); font-size: .9rem; }
.breadcrumbs a { color: var(--muted); }
.entry-content { width: min(100%, var(--reading)); margin-inline: auto; padding-block: clamp(2.75rem, 6vw, 5rem); }
.entry-content > * { max-width: 100%; }
.entry-content > .alignwide { width: min(72rem, calc(100vw - 2.5rem)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.entry-content blockquote { margin-inline: 0; padding: 1.2rem 1.4rem; border-left: 4px solid var(--teal); background: var(--canvas); }
.entry-meta { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; color: var(--muted); font-size: .9rem; }
.post-card { overflow: hidden; padding: 0; }
.post-card-image { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--canvas); }
.post-card-image img { width: 100%; height: 100%; object-fit: cover; }
.post-card-body { padding: 1.45rem; }
.post-card h2, .post-card h3 { font-size: 1.35rem; }
.post-grid--featured .post-card:first-child { grid-column: span 2; }
.post-grid--featured .post-card:first-child .post-card-image { aspect-ratio: 2 / 1; }
.insight-tools { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; }
.taxonomy-list { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; list-style: none; }
.taxonomy-list a { display: inline-flex; padding: .25rem .6rem; border-radius: 999px; color: var(--navy); background: var(--pale-blue); font-size: .82rem; text-decoration: none; }
.post-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 2.5rem; }
.nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 2.5rem; }
.page-numbers { display: grid; min-width: 2.75rem; min-height: 2.75rem; padding: .4rem; place-items: center; border: 1px solid var(--border); border-radius: .4rem; text-decoration: none; }
.page-numbers.current { color: var(--white); border-color: var(--navy); background: var(--navy); }

.search-form { display: flex; gap: .65rem; max-width: 38rem; }
.search-form label { flex: 1; }
input[type="text"], input[type="email"], input[type="search"], input[type="tel"], textarea, select { width: 100%; min-height: 2.8rem; padding: .65rem .75rem; border: 1px solid #aebbc8; border-radius: .5rem; color: var(--text); background: var(--white); }
textarea { min-height: 9rem; resize: vertical; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .65rem; border: 1px solid var(--border); text-align: left; vertical-align: top; }
button, input[type="submit"] { min-height: 2.75rem; padding: .7rem 1.1rem; border: 2px solid transparent; border-radius: .5rem; color: var(--white); background: var(--blue); font-weight: 750; cursor: pointer; }
.wpforms-container .wpforms-field-label { color: var(--ink); }
.wpforms-container label.wpforms-error { color: var(--error); }

.opportunity-map-hero { background: linear-gradient(135deg, #f7fbfe 0%, #eaf4fb 58%, #f7f8fa 100%); }
.opportunity-map-hero .hero-copy p { color: #40556e; font-size: 1.1rem; }
.opportunity-map-hero .hero-copy .opportunity-map-supporting { color: var(--ink); font-size: 1rem; font-weight: 700; }
.opportunity-map-tertiary { display: inline-flex; margin-top: 1rem; font-weight: 700; }
.opportunity-map-credibility { border-block: 1px solid var(--border); background: var(--white); }
.opportunity-map-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.opportunity-map-fact { display: flex; min-height: 3.5rem; align-items: center; gap: .65rem; color: var(--ink); font-weight: 750; }
.opportunity-map-fact svg { flex: 0 0 auto; color: var(--teal); }
.opportunity-map-problems .card:last-child { grid-column: 2 / span 1; }
.opportunity-map-deliverables .card { min-height: 100%; }
.deliverable-number { display: grid; width: 2.4rem; height: 2.4rem; margin-bottom: 1rem; place-items: center; border-radius: 50%; color: var(--white); background: var(--navy); font-weight: 800; }
.opportunity-map-sample { overflow: hidden; }
.opportunity-map-preview-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr); align-items: start; gap: 1.5rem; }
.opportunity-map-preview-grid figure { margin: 0; }
.opportunity-map-preview-grid img, .featured-opportunity-map-image, .home-opportunity-map-image { width: 100%; height: auto; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }
.opportunity-map-preview-grid figcaption { margin-top: .6rem; color: var(--muted); font-size: .88rem; font-weight: 700; }
.opportunity-map-preview-stack { display: grid; gap: 1.5rem; }
.opportunity-map-note { margin: 2.25rem 0 0; padding: 1rem 1.2rem; border: 1px solid rgba(255, 255, 255, .25); border-radius: var(--radius); color: #dce9f3; background: rgba(255, 255, 255, .06); }
.opportunity-map-packages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1.25rem; }
.opportunity-map-package { display: flex; min-width: 0; flex-direction: column; }
.opportunity-map-package--featured { border: 2px solid var(--blue); box-shadow: var(--shadow); }
.opportunity-map-package .package-price { margin-bottom: .8rem; color: var(--navy); font-size: 1.65rem; font-weight: 850; line-height: 1.2; }
.opportunity-map-package .package-timing { color: var(--muted); font-size: .9rem; }
.opportunity-map-package .button { width: 100%; margin-top: auto; }
.opportunity-map-disclaimer { max-width: 58rem; margin: 1.5rem 0 0; color: var(--muted); font-size: .92rem; }
.opportunity-map-audiences { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.opportunity-map .section--navy .check-list li::before { color: #82d7ca; }
.opportunity-map-related-links { padding-top: 2rem; }
.opportunity-map-related-links a { color: #e7f2fa; }
.opportunity-map-request { scroll-margin-top: 6rem; }
.opportunity-map-form-card { min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); }
.opportunity-map-form-card .wpforms-container { margin: 0; }
.opportunity-map-form-card .wpforms-field { min-width: 0; }
.opportunity-map-form-card input, .opportunity-map-form-card select, .opportunity-map-form-card textarea { max-width: 100%; }
.opportunity-map-form-card .wpforms-error-container, .opportunity-map-form-card .wpforms-confirmation-container-full { border: 1px solid var(--border); border-left: 4px solid var(--teal); border-radius: .45rem; background: var(--white); }
.product-family-secondary { display: inline-flex; margin-top: .65rem; }
.featured-opportunity-map-image, .home-opportunity-map-image { align-self: center; }
.featured-opportunity-map .check-list { max-width: 34rem; }
.featured-opportunity-map .featured-opportunity-map-image { background: #f7f8fa; }
.opportunity-map-service-callout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(15rem, .8fr); align-items: center; gap: clamp(2rem, 6vw, 5rem); padding: clamp(1.7rem, 4vw, 3rem); border: 1px solid var(--border); border-radius: 1.25rem; background: var(--white); box-shadow: var(--shadow); }
.opportunity-map-service-callout .button-group { justify-content: flex-start; }
.opportunity-map-confirmation .cta-band .button { overflow-wrap: anywhere; }

.cta-band { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; padding: clamp(1.7rem, 4vw, 3rem); border-radius: 1.25rem; color: #dce9f3; background: var(--navy); }
.cta-band h2 { color: var(--white); }
.cta-band .eyebrow { color: #82d7ca; }
.site-footer { color: #cfdae6; background: #0b1a2e; }
.footer-grid { display: grid; grid-template-columns: minmax(15rem, 1.35fr) repeat(auto-fit, minmax(10rem, .65fr)); gap: 2.5rem; padding-block: 4rem 3rem; }
.footer-brand { max-width: 24rem; }
.site-footer h2, .site-footer h3 { color: var(--white); font-size: 1rem; }
.site-footer a { color: #e7f2fa; overflow-wrap: anywhere; }
.footer-menu { margin: 0; padding: 0; list-style: none; }
.footer-menu li + li { margin-top: .4rem; }
.footer-meta { padding-block: 1.1rem; border-top: 1px solid rgba(255, 255, 255, .13); font-size: .85rem; }
.footer-meta p { margin: 0; }

.commerce-main { padding-block: clamp(2.5rem, 6vw, 5rem); }
.commerce-intro { max-width: var(--reading); margin-bottom: 2rem; }
.product-card-benefit, .product-format { font-size: .92rem; }
.product-type-label { margin-top: .25rem; }
.product-resource-details { clear: both; padding-top: 3rem; }
.product-related-support { margin-top: 1.25rem; }
.woocommerce ul.products, .woocommerce-page ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.woocommerce ul.products::before, .woocommerce ul.products::after, .woocommerce-page ul.products::before, .woocommerce-page ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { display: flex; width: auto; min-width: 0; height: 100%; margin: 0; padding: 1rem; flex-direction: column; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); }
.woocommerce .commerce-main ul.products[class*="columns-"] li.product, .woocommerce-page .commerce-main ul.products[class*="columns-"] li.product { width: 100%; float: none; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; border-radius: .6rem; background: var(--canvas); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { overflow-wrap: anywhere; }
.woocommerce ul.products li.product .price { margin-top: auto; }
.woocommerce ul.products li.product .button { align-self: flex-start; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { min-height: 2.75rem; color: var(--white); background: var(--blue); }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { color: var(--white); background: var(--blue-dark); }
.woocommerce-message, .woocommerce-info { border-top-color: var(--teal); }
.woocommerce table.shop_table { border-color: var(--border); border-radius: var(--radius); }
.woocommerce form .form-row label { color: var(--ink); font-weight: 650; }
.woocommerce-error { border-top-color: var(--error); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0 0 2rem; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: .65rem .75rem; border-bottom: 1px solid var(--border); }
.woocommerce div.product div.images img { border-radius: var(--radius); }

@media (max-width: 74.99rem) {
  .header-inner { min-height: 4.5rem; }
  .menu-toggle { display: inline-grid; margin-left: auto; place-items: center; }
  .site-header .header-cta.button { display: none; }
  .primary-navigation { position: absolute; top: 100%; left: 0; width: 100%; margin: 0; border-bottom: 1px solid var(--border); background: var(--white); box-shadow: var(--shadow); }
  .primary-navigation[hidden] { display: none; }
  .primary-navigation .menu { display: grid; gap: 0; width: min(calc(100% - 2.5rem), var(--shell)); margin-inline: auto; padding-block: .7rem 1rem; }
  .primary-navigation .menu-item-has-children { display: grid; grid-template-columns: 1fr auto; }
  .primary-navigation .nav-link { min-height: 3rem; border-bottom: 1px solid var(--border); }
  .primary-navigation .sub-menu { position: static; grid-column: 1 / -1; min-width: 0; border: 0; border-radius: 0; box-shadow: none; }
  .hero-grid, .split { grid-template-columns: 1fr; }
	.grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .opportunity-map-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .opportunity-map-preview-grid { grid-template-columns: 1fr; }
  .opportunity-map-preview-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .opportunity-map-packages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .opportunity-map-package:last-child { grid-column: 1 / -1; }
  .opportunity-map-audiences { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .opportunity-map-service-callout { grid-template-columns: 1fr; }
}

@media (max-width: 47.99rem) {
  .shell { width: min(calc(100% - 2rem), var(--shell)); }
	.grid--2, .grid--3, .grid--4, .grid--5, .card-list, .footer-grid, .cta-band, .post-navigation { grid-template-columns: 1fr; }
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: 1fr; }
	.post-grid--featured .post-card:first-child { grid-column: auto; }
	.insight-tools { flex-direction: column; }
	.insight-tools > * { width: 100%; }
  .hero { padding-block: 4rem; }
  .hero-panel { padding: 1.25rem; }
  .section { padding-block: 4rem; }
  .button-group .button { width: 100%; }
  .search-form { flex-direction: column; }
  .opportunity-map-facts, .opportunity-map-preview-stack, .opportunity-map-packages, .opportunity-map-audiences { grid-template-columns: 1fr; }
  .opportunity-map-package:last-child, .opportunity-map-problems .card:last-child { grid-column: auto; }
  .opportunity-map-hero .hero-copy p { font-size: 1rem; }
  .opportunity-map-package .package-price { font-size: 1.45rem; }
  .opportunity-map-request { scroll-margin-top: 5rem; }
}

@media (forced-colors: active) {
  .button, .page-numbers, .card { border: 1px solid ButtonText; }
}

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

/* Workflow Intelligence Sprint */
.workflow-sprint-hero .hero-copy { align-self: center; }
.workflow-sprint-supporting { font-weight: 650; color: var(--navy); }
.workflow-sprint-label { margin-top: 1rem; color: var(--muted); font-size: .92rem; font-weight: 650; letter-spacing: .01em; }
.workflow-sprint-tertiary { display: inline-block; margin-top: .75rem; font-weight: 700; }
.workflow-sprint-tertiary--light { color: #fff; }
.workflow-sprint-credibility { border-block: 1px solid var(--border); background: #fff; }
.workflow-sprint-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.workflow-sprint-fact { display: flex; align-items: center; gap: .65rem; min-height: 3rem; font-weight: 700; color: var(--navy); }
.workflow-sprint-fact svg { flex: 0 0 auto; color: var(--teal); }
.workflow-system figure,
.workflow-before-after figure,
.workflow-sample figure { margin: 1.5rem 0 0; }
.workflow-system img,
.workflow-before-after img,
.workflow-sample img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.workflow-system img { background: #fff; }
.workflow-before-after figcaption,
.workflow-sample figcaption { margin-top: .7rem; color: var(--muted); font-size: .9rem; }
.workflow-deliverables .card,
.workflow-examples .card,
.workflow-sprint-problems .card { height: 100%; }
.workflow-boundaries { align-items: stretch; }
.workflow-not-one { margin-top: 1.25rem; border-color: #d9a4a4; }
.workflow-not-one h3 { color: #7f1d1d; }
.scope-review-list { margin: 0; padding-left: 1.25rem; }
.scope-review-list li + li { margin-top: .55rem; }
.workflow-steps { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .75rem; counter-reset: workflow-step; margin-top: 1.5rem; }
.workflow-steps .step { min-width: 0; display: flex; flex-direction: column; gap: .8rem; padding: 1rem; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: var(--radius); }
.workflow-steps .step > span { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 999px; background: #f0a828; color: var(--navy); font-weight: 800; }
.workflow-steps .step h3 { font-size: 1rem; }
.workflow-steps .step p { font-size: .9rem; }
.workflow-package-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; align-items: stretch; }
.workflow-package { display: flex; flex-direction: column; gap: .75rem; }
.workflow-package .button { margin-top: auto; align-self: flex-start; }
.workflow-package--featured { border: 2px solid var(--teal); box-shadow: 0 1rem 2rem rgba(13,39,62,.12); }
.package-exclusions { padding-top: .75rem; border-top: 1px solid var(--border); color: var(--muted); font-size: .92rem; }
.workflow-disclaimer { max-width: 70rem; margin-top: 1.25rem; color: var(--muted); }
.workflow-sample .split { align-items: center; }
.workflow-sample figure { max-width: 38rem; justify-self: end; }
.workflow-sprint-form-card { min-width: 0; }
.workflow-sprint-form-card .wpforms-error-summary { margin-bottom: 1.5rem; padding: 1rem 1.1rem; border: 1px solid #dc9b9b; border-left: .3rem solid var(--error); border-radius: .5rem; color: var(--ink); background: #fff7f7; }
.workflow-sprint-form-card .wpforms-error-summary h3 { margin: 0 0 .65rem; font-size: 1.05rem; }
.workflow-sprint-form-card .wpforms-error-summary ul { margin: 0; padding-left: 1.25rem; }
.workflow-sprint-form-card .wpforms-error-summary li + li { margin-top: .35rem; }
.workflow-sprint-form-card .wpforms-error-summary a { color: #8b1d1d; font-weight: 700; }
.workflow-sprint-form-card .wpforms-error-summary:focus { outline: 3px solid #f0a828; outline-offset: 3px; }
.workflow-sprint-request .split { align-items: start; }
.workflow-sprint-confirmation .notice-card { margin-top: 1.25rem; padding: 1rem; border-left: .3rem solid var(--teal); background: var(--canvas); }
.featured-workflow-sprint-image,
.home-workflow-sprint-card img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.featured-workflow-sprint-image { max-width: 38rem; justify-self: end; }

@media (max-width: 74.99rem) {
  .workflow-sprint-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workflow-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workflow-steps .step:last-child { grid-column: 1 / -1; }
  .workflow-package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workflow-package:last-child { grid-column: 1 / -1; }
}

@media (max-width: 47.99rem) {
  .workflow-sprint-facts,
  .workflow-steps,
  .workflow-package-grid { grid-template-columns: 1fr; }
  .workflow-steps .step:last-child,
  .workflow-package:last-child { grid-column: auto; }
  .workflow-package .button,
  .workflow-sprint .button-group .button { width: 100%; text-align: center; }
  .workflow-system figure,
  .workflow-before-after figure { margin-inline: -.4rem; overflow: hidden; }
}
