/* Approved September 2026 review: shared presentation and accessible controls. */
:root { --review-width: 1180px; --review-gutter: 24px; }
body.home-page, body.detail-page { margin: 0; padding: 0; color: var(--black); background: var(--body-bg); font: 400 1rem/1.65 Inter, sans-serif; }
*, *::before, *::after { box-sizing: border-box; }
.page-wrap, .interim-section-wrap, .page-footer .footer-inner, .home-page .f-container-regular { width: min(var(--review-width), calc(100% - var(--review-gutter) * 2)); max-width: var(--review-width); margin-inline: auto; }
.navbar { padding: 12px 0; }
.navbar .nav-container { width: min(var(--review-width), calc(100% - var(--review-gutter) * 2)); margin-inline: auto; padding: 0; gap: 20px; }
.navbar .form-button { margin: 0; width: auto; min-width: 0; max-width: none; min-height: 48px; max-height: none; padding: 12px 22px; white-space: normal; line-height: 1.4; }
.home-page-nav { gap: 12px 24px; }
.home-page-nav a { white-space: nowrap; }
.page-skip { position: fixed; top: -100px; left: 16px; z-index: 300; padding: 10px 20px; color: var(--dark-purple); background: #fff; }
.page-skip:focus { top: 10px; }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex="0"]:focus-visible { outline: 3px solid var(--teal); outline-offset: 5px; }
main:focus { outline: none; }
[hidden] { display: none !important; }
.detail-page [id], .home-page [id] { scroll-margin-top: 120px; }
.home-page h2, .detail-page h2 { font-family: Poppins, sans-serif; font-size: clamp(1.8rem, 3.4vw, 3.2rem); font-weight: 700; line-height: 1.16; letter-spacing: -.035em; text-wrap: balance; }
.home-page h2 strong, .detail-page h2 strong { font: inherit; letter-spacing: inherit; }
.home-page h3, .detail-page h3 { font-family: Poppins, sans-serif; }
.home-page .h1-heading, .detail-page .h1-heading { width: auto; max-width: 100%; height: auto; line-height: 1.08; }
.home-page .h1-heading .bold-text, .detail-page .h1-heading .bold-text { font-family: Inter, sans-serif; font-size: clamp(2.5rem, 4.8vw, 4.2rem); font-weight: 700; line-height: 1.08; letter-spacing: -.045em; white-space: normal; }
.home-page .paragraph-large-2, .detail-page .paragraph-large-2 { max-width: 680px; font: 400 1.125rem/1.65 Inter, sans-serif; }
.page-section, .home-pains-section, .interim-flywheel-section, .interim-offers-section, .quote-band { padding-block: 64px; }
.section-heading p, .role-section-intro p, .role-intro-copy { max-width: 680px; }
.detail-page .page-hero { padding: 56px 0 42px !important; }
.page-hero .page-wrap { width: min(var(--review-width), calc(100% - var(--review-gutter) * 2)); }

/* Keep hero actions directly below the introduction. */
.home-page .f-section-large { display: block; padding: 56px 0 42px !important; }
.home-page .f-grid-two-column { display: grid !important; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); grid-template-rows: auto; align-items: center; column-gap: 48px; row-gap: 24px; }
.home-page .f-header-main { grid-area: 1 / 1 / 2 / 2 !important; width: auto; max-width: 100%; gap: 16px; }
.home-page .f-margin-bottom-12:empty { display: none; }
.home-page .f-margin-bottom-40, .home-page .f-header-main p { margin: 0; }
.home-page .f-header-image-wrapper-tall { grid-area: 1 / 2 / 2 / 3 !important; height: 380px; align-self: center; }
.home-page .f-image-cover { width: 100%; height: 100%; object-fit: contain; }
.home-page .scta-wrapper-copy { margin-top: 8px; }
.home-page .scta-wrapper, .home-page .scta-wrapper-copy { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; width: auto; max-width: 100%; }
.home-page :is(.scta-wrapper, .scta-wrapper-copy) a, .about-close .button-row a { width: auto; min-width: 0; max-width: 100%; min-height: 55px; max-height: none; margin: 0; padding: 15px 24px; white-space: normal; line-height: 1.4; }
.home-page .secondary-cta, .detail-page .secondary-cta { background: var(--yellow); color: var(--dark-purple); border: 2px solid var(--yellow); box-shadow: none; }
.home-page .secondary-cta:hover, .detail-page .secondary-cta:hover { color: var(--dark-purple); background: #ffd363; border-color: #ffd363; }

/* Every result appears once, with manual controls and native swipe scrolling. */
.results-strip-section { padding-block: 64px; }
.results-strip-head, .results-strip-section .scta-wrapper { width: min(var(--review-width), calc(100% - var(--review-gutter) * 2)); margin-inline: auto; padding: 0; }
.results-strip-head { display: grid; grid-template-columns: 1fr auto; gap: 12px 20px; align-items: center; }
.results-strip-head h2 { grid-column: 1 / -1; margin: 0; }
.results-controls { display: flex; gap: 10px; }
.results-controls button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #ffffff80; border-radius: 50%; background: transparent; color: #fff; font: 500 1.5rem/1 Inter, sans-serif; cursor: pointer; }
.results-controls button:disabled { opacity: .3; cursor: default; }
.results-strip { width: min(var(--review-width), calc(100% - var(--review-gutter) * 2)); margin-inline: auto; overflow-x: auto; overflow-y: hidden; mask-image: none; -webkit-mask-image: none; scroll-snap-type: x mandatory; scrollbar-color: var(--teal) #ffffff18; scrollbar-width: thin; }
.results-track { width: max-content; display: flex; flex-wrap: nowrap; gap: 16px; padding: 0 0 16px; animation: none; transform: none; }
.results-track .results-card { display: flex; width: 360px; min-height: 194px; margin: 0; scroll-snap-align: start; }
.results-track .results-stat { white-space: normal; font-size: 1.7rem; line-height: 1.15; }
.results-track .results-desc, .results-track .results-company { white-space: normal; }
.results-track .results-desc { line-height: 1.45; }

.levels-of-digiops { padding: 64px max(var(--review-gutter), calc((100% - var(--review-width)) / 2)); }
.levels-of-digiops > h2 { text-align: left; }
.levels-of-digiops .lodo-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto; gap: 40px; }
.accordion-top { width: 100%; border: 0; background: transparent; color: inherit; text-align: left; font: inherit; cursor: pointer; }
.levels-of-digiops .accordion-top-wrap { display: flex; align-items: center; gap: 12px; min-width: 0; padding-right: 12px; }
.levels-of-digiops .accordion-top-text { font: 600 1.1rem/1.4 Inter, sans-serif; }
.level-number { flex: 0 0 32px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--color); color: #fff; font: 700 .875rem/1 Inter, sans-serif; }
.accordion-top-icon, .accordion-top-icon-wrap, .accordion-icon-stripe-1, .accordion-icon-stripe-2 { display: block; }
.accordion-top-icon { flex-shrink: 0; }
.accordion-bottom, .accordion.is-open .accordion-bottom { max-height: none; transition: none; }
.page-faq summary { position: relative; display: block; list-style: none; padding-right: 40px; }
.page-faq summary::-webkit-details-marker { display: none; }
.page-faq summary::after { content: ''; position: absolute; right: 6px; top: .4em; width: 10px; height: 10px; border-right: 2px solid var(--color); border-bottom: 2px solid var(--color); transform: rotate(45deg); transition: transform .2s; }
.page-faq details[open] summary::after { transform: rotate(225deg); top: .65em; }
.home-page .w-slider-arrow-left, .home-page .w-slider-arrow-right { border: 0; padding: 0; background: transparent; font: inherit; }
.home-page .blog-btn-wrapper { display: flex; }
.home-page .w-slide { transition: none; }
.home-page .w-slide[aria-hidden="true"] { visibility: hidden; }
.home-page .testimonials-section { padding-inline: max(var(--review-gutter), calc((100% - var(--review-width)) / 2)); }
.home-page .pr-section-large-copy { padding: 56px max(var(--review-gutter), calc((100% - var(--review-width)) / 2)); }
.about-close { padding: 36px 0 48px; background: #f7f7fb; }
.about-close .button-row { margin-top: 0; justify-content: center; }
.not-found { min-height: 65vh; display: grid; align-content: center; padding-block: 64px; }
.not-found h1 { color: var(--color); font: 700 clamp(2.5rem, 6vw, 4.2rem)/1.1 Inter, sans-serif; letter-spacing: -.04em; }

@media (max-width: 991px) {
  .navbar .home-page-nav { order: 3; flex: 1 0 100%; padding-top: 0; }
  .navbar .nav-container { gap: 10px 20px; }
  .home-page .f-grid-two-column { column-gap: 28px; }
}
@media (max-width: 767px) {
  .navbar { padding-block: 10px; }
  .navbar .logo { width: 116px; }
  .navbar .form-button { min-height: 44px; max-width: 170px; padding: 10px 14px; font-size: .75rem; }
  .home-page-nav { gap: 4px 18px; }
  .home-page-nav a { padding-block: 4px; font-size: .8125rem; line-height: 1.4; }
  .detail-page [id], .home-page [id] { scroll-margin-top: 155px; }
  .page-section, .home-pains-section, .interim-flywheel-section, .interim-offers-section, .quote-band { padding-block: 48px; }
  .home-page .f-section-large { padding: 36px 0 32px !important; }
  .home-page .f-grid-two-column { display: flex !important; flex-direction: column; gap: 24px; }
  .home-page .f-header-image-wrapper-tall { display: none; }
  .home-page .f-header-main { gap: 18px; }
  .home-page .h1-heading .bold-text, .detail-page .h1-heading .bold-text { font-size: clamp(2.25rem, 10vw, 3.4rem); }
  .home-page .scta-wrapper-copy { width: 100%; }
  .home-page :is(.scta-wrapper, .scta-wrapper-copy) a { padding-inline: 20px; }
  .detail-page .page-hero { padding: 36px 0 !important; }
  .page-hero .page-wrap { width: calc(100% - var(--review-gutter) * 2); }
  .results-page .hero-visual { display: none; }
  .results-strip-section { padding-block: 48px; }
  .results-track .results-card { width: min(320px, calc(100vw - var(--review-gutter) * 2 - 16px)); }
  .results-track .results-stat { font-size: 1.5rem; }
  .levels-of-digiops { padding-block: 48px; }
  .levels-of-digiops .lodo-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .levels-of-digiops .accordion-top-text { font-size: 1rem; }
  .levels-of-digiops .accordion-top-wrap { gap: 10px; }
  .engineer-page .role-intro-copy .button-row { margin: 8px 0 26px; }
  .about-close .button-row { justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
