/* Digital Change Partners / v4.11. Company brand, shared responsive styles. */
:root {
  --ink: #142f3b;
  --muted: #53656c;
  --navy: #102e3d;
  --navy-deep: #0b222e;
  --blue: #236989;
  --ice: #b8dbe4;
  --soft: #f6f5f1;
  --line: #d7dfdf;
  --field-line: #71858e;
  --white: #fff;
  --surface-blue: #eef4f6;
  --card-shadow: 0 8px 28px rgb(16 46 61 / 5%);
  --max: 1180px;
}
*, *::before, *::after {box-sizing: border-box;}
html {scroll-padding-top: 112px;}
body {margin: 0;color: var(--ink);background: var(--white);font-family: "Segoe UI", Arial, sans-serif;font-size: 16px;line-height: 1.7;-webkit-font-smoothing: antialiased;}
body, button, input, select, textarea {font-family: "Segoe UI", Arial, sans-serif;}
[hidden] {display: none !important;}
::selection {background: var(--ice);color: var(--navy-deep);}
a {color: inherit;text-underline-offset: .22em;}
a, button, input, textarea, select, summary {-webkit-tap-highlight-color: transparent;}
:focus-visible {outline: 3px solid var(--blue);outline-offset: 5px;}
.home-hero :focus-visible, .contact-band :focus-visible, .site-footer :focus-visible, .company-intro :focus-visible {outline-color: var(--ice);}
img {max-width: 100%;display: block;height: auto;}
button, input, select, textarea {font: inherit;}
button, summary {cursor: pointer;}
button, a {touch-action: manipulation;}
p {margin: 0 0 1.2em;}
h1, h2, h3 {margin: 0;font-weight: 600;line-height: 1.1;letter-spacing: -.045em;text-wrap: balance;overflow-wrap: anywhere;}
h1 {font-size: clamp(2.5rem, 5.35vw, 4.65rem);}
h2 {font-size: clamp(2rem, 3.25vw, 3.05rem);}
h3 {font-size: 1.5rem;line-height: 1.22;letter-spacing: -.035em;}
ul, ol {margin-top: 0;}
main {min-height: 65vh;}
main:focus {outline: none;}
figure {margin: 0;}
.container {width: min(var(--max), calc(100% - 80px));margin-inline: auto;}
.reading-width {max-width: 780px;}
.skip-link {position: fixed;left: 20px;top: 12px;padding: 12px 20px;background: var(--white);color: var(--ink);z-index: 1000;transform: translateY(-150%);}
.skip-link:focus {transform: translateY(0);}
.site-header {position: sticky;top: 0;z-index: 50;border-bottom: 1px solid var(--line);background: #fff;box-shadow: 0 2px 12px rgb(16 46 61 / 3%);}
.nav-shell {min-height: 92px;display: flex;align-items: center;gap: 28px;}
.brand {display: flex;align-items: center;gap: 13px;text-decoration: none;margin-right: auto;flex-shrink: 0;}
.brand img {width: 43px;height: 52px;object-fit: contain;}
.brand > span {font-size: 17px;font-weight: 700;letter-spacing: -.025em;line-height: 1.3;}
.brand-line {display: block;margin-top: 5px;font-weight: 400;font-size: 12px;letter-spacing: .025em;color: var(--muted);}
.desktop-nav {display: flex;align-items: center;gap: 25px;}
.desktop-nav a {font-size: 14px;font-weight: 500;text-decoration: none;padding-block: 12px;position: relative;}
.desktop-nav a::after {content: "";position: absolute;height: 2px;background: var(--blue);bottom: 4px;left: 0;right: 0;transform: scaleX(0);transform-origin: left;}
.desktop-nav a[aria-current]::after {transform: scaleX(1);}
.nav-cta {display: flex;align-items: center;gap: 20px;background: var(--navy);padding: 12px 18px;color: white;text-decoration: none;font-size: 14px;font-weight: 600;border: 1px solid var(--navy);border-radius: 8px;}
.menu-toggle {align-items: center;gap: 12px;justify-content: center;background: transparent;color: var(--ink);border: 1px solid var(--line);border-radius: 8px;min-width: 48px;min-height: 46px;padding: 10px;}
.menu-icon {position: relative;width: 20px;height: 14px;border-top: 2px solid;border-bottom: 2px solid;}
.menu-icon::after {content: "";height: 2px;background: currentColor;position: absolute;inset: 4px 0 auto;}
.mobile-nav {display: none;}
.eyebrow {display: flex;align-items: center;gap: 12px;font-weight: 600;font-size: 12px;text-transform: uppercase;letter-spacing: .12em;color: var(--blue);margin: 0 0 22px;line-height: 1.5;}
.eyebrow::before {content: "";width: 25px;height: 1px;background: currentColor;flex-shrink: 0;}
.home-hero {position: relative;isolation: isolate;overflow: clip;background: radial-gradient(ellipse at 88% 18%, rgb(35 105 137 / 28%), transparent 58%), linear-gradient(125deg, var(--navy-deep), var(--navy) 64%, #153c4c);color: white;padding-block: 56px;}
.home-hero::after {content: "";pointer-events: none;position: absolute;width: 640px;height: 560px;right: -20px;top: -20px;border-radius: 50%;background: radial-gradient(ellipse, rgb(113 202 216 / 46%), rgb(54 139 166 / 24%) 35%, transparent 67%);opacity: .7;}
.hero-grid {position: relative;z-index: 1;display: grid;grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);gap: 64px;align-items: center;}
.hero-copy h1 {max-width: none;font-size: clamp(2.75rem, 4.8vw, 4.25rem);line-height: 1.04;letter-spacing: -.055em;}
.home-hero .eyebrow {color: var(--ice);}
.hero-copy h1 em {display: block;color: var(--ice);font-style: normal;}
.hero-lead {color: #e0e8eb;font-size: 17px;line-height: 1.75;max-width: 55ch;margin: 28px 0;}
.hero-actions {display: flex;align-items: center;flex-wrap: wrap;gap: 20px 25px;}
.button {display: inline-flex;justify-content: space-between;align-items: center;gap: 26px;min-height: 50px;padding: 12px 21px;background: var(--navy);color: white;border: 1px solid var(--navy);border-radius: 8px;font-size: 14px;font-weight: 600;line-height: 1.6;text-align: left;text-decoration: none;}
.button > span, .text-link > span, .nav-cta > span {font-size: 20px;line-height: 1;}

.button-secondary {background: transparent;color: var(--ink);border-color: #adbcc2;}
.home-hero .button, .contact-band .button {color: var(--navy-deep);background: var(--ice);border-color: var(--ice);}
.text-link {display: inline-flex;min-height: 44px;align-items: center;gap: 17px;font-size: 14px;font-weight: 600;line-height: 1.5;text-decoration: none;padding-block: 9px;}
.hero-actions .text-link {color: white;font-size: 13px;}
.hero-note {font-size: 14px;color: #b9cbd3;margin: 25px 0 0;}
.section {padding-block: 88px;}
.section-soft {background: var(--soft);}
.section-heading {margin-bottom: 40px;}
.item-number {display: block;color: var(--blue);font-size: 12px;font-weight: 600;letter-spacing: .08em;text-transform: uppercase;margin-bottom: 24px;}
.section-end {border-top: 1px solid var(--line);margin-top: 16px;padding-top: 16px;text-align: right;}
.heading-row {display: grid;grid-template-columns: 1.2fr 1fr;gap: 80px;align-items: end;margin-bottom: 42px;}
.section-description {color: var(--muted);font-size: 17px;margin-bottom: 4px;max-width: 40ch;}
.case-teaser-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 28px;}
.case-teaser {min-width: 0;padding: 34px 36px 30px;background: white;border: 1px solid #e1e7e6;border-radius: 16px;box-shadow: var(--card-shadow);}
.case-teaser .eyebrow {font-size: 12px;}
.case-teaser h3 {font-size: 27px;line-height: 1.25;margin-bottom: 18px;max-width: 25ch;}
.case-teaser h3 a {text-decoration: none;}
.case-teaser > p {color: var(--muted);font-size: 15px;}
.contact-band {color: white;background: linear-gradient(110deg, var(--navy-deep), var(--navy) 62%, #163d4e);padding-block: 66px;}
.contact-band-inner {display: flex;align-items: center;justify-content: space-between;gap: 50px;}
.contact-band .eyebrow {color: var(--ice);}
.contact-band h2 {max-width: 23ch;}
.contact-band p:not(.eyebrow) {color: #d2e0e6;max-width: 58ch;margin: 20px 0 0;}
.contact-band .button {flex-shrink: 0;}
.site-footer {background: var(--navy-deep);color: #d6e1e5;padding-top: 60px;font-size: 14px;}
.footer-grid {display: grid;grid-template-columns: 1.2fr .65fr 1fr;gap: 70px;padding-bottom: 42px;}
.footer-brand {color: white;font-size: 20px;line-height: 1.5;font-weight: 600;letter-spacing: -.03em;text-decoration: none;}
.footer-brand span {display: block;font-size: 14px;font-weight: 400;letter-spacing: 0;color: var(--ice);margin-top: 5px;}
.footer-grid p {color: #aebfc7;font-size: 13px;margin-top: 22px;}
.footer-grid nav, .footer-contact {display: flex;flex-direction: column;align-items: flex-start;gap: 12px;}
.footer-grid nav a, .footer-contact a {text-decoration: none;}
.footer-label {color: #aebfc7;font-size: 12px;letter-spacing: .1em;text-transform: uppercase;margin-bottom: 3px;}
.footer-contact > span:last-child {color: #aebfc7;font-size: 12px;margin-top: 6px;}
.footer-contact a {overflow-wrap: anywhere;}
.footer-bottom {border-top: 1px solid #29434f;padding-block: 22px;display: flex;justify-content: space-between;gap: 18px;color: #aebfc7;font-size: 12px;}
.page-intro {position: relative;overflow: clip;padding-block: 72px 62px;background: var(--soft);border-bottom: 1px solid var(--line);}
.page-intro::after {content: "";position: absolute;width: 430px;height: 330px;right: -80px;top: -100px;border: 1px solid #d4dfdf;border-radius: 50%;transform: rotate(35deg);pointer-events: none;}
.page-intro .container {position: relative;z-index: 1;}
.page-intro h1 {max-width: 20ch;}
.lead {font-size: 19px;color: var(--muted);line-height: 1.65;max-width: 65ch;margin: 25px 0 0;}
.page-intro .button {margin-top: 26px;}
.check-list {list-style: none;padding: 0;}
.check-list li {padding: 7px 0 7px 23px;position: relative;color: var(--muted);}
.check-list li::before {content: "";position: absolute;left: 0;top: 18px;height: 1px;width: 10px;background: var(--blue);}
.service-actions {display: flex;flex-wrap: wrap;gap: 5px 30px;margin-top: 20px;}
.scope-note {margin-top: 28px;color: var(--muted);max-width: 82ch;}
.case-section {padding-top: 10px;}
.case-detail {display: grid;grid-template-columns: .9fr 1fr;gap: 90px;padding-block: 64px;border-bottom: 1px solid var(--line);}
.case-title h2 {font-size: clamp(1.9rem, 2.8vw, 2.65rem);}
.case-story dl {margin-top: 0;}
.case-story dt {font-size: 12px;color: var(--blue);text-transform: uppercase;letter-spacing: .08em;font-weight: 600;margin-bottom: 9px;}
.case-story dd {margin: 0 0 26px;color: var(--muted);}
.case-story .case-result-text {color: var(--ink);font-size: 19px;line-height: 1.6;}
.article-tools {padding-bottom: 30px;border-bottom: 1px solid var(--line);}
.search-field {max-width: 530px;}
.search-field label {display: block;font-size: 13px;font-weight: 600;margin-bottom: 8px;}
input, select, textarea {width: 100%;min-width: 0;background: white;color: var(--ink);border: 1px solid var(--field-line);border-radius: 8px;padding: 12px 14px;line-height: 1.6;font-size: 16px;}
textarea {resize: vertical;}
input::placeholder, textarea::placeholder {color: #61727a;opacity: 1;}
.post-filters {display: flex;flex-wrap: wrap;gap: 8px;margin-top: 22px;}
.filter-chip {color: var(--ink);background: white;border: 1px solid var(--line);min-height: 44px;padding: 7px 15px;font-size: 13px;border-radius: 8px;}
.filter-chip[aria-pressed="true"] {color: white;border-color: var(--navy);background: var(--navy);}
.results-count {font-size: 12px;color: var(--muted);margin: 18px 0 0;}
.article-card {display: grid;grid-template-columns: 65px 1fr;gap: 30px;border-bottom: 1px solid var(--line);padding-block: 36px;}
.article-index {color: var(--blue);font-size: 12px;padding-top: 3px;}
.article-card .eyebrow {margin-bottom: 12px;font-size: 12px;}
.article-card h2 {max-width: 37ch;font-size: clamp(1.5rem, 2.25vw, 2rem);}
.article-card h2 a {text-decoration: none;}
.article-card p:not(.eyebrow) {color: var(--muted);max-width: 85ch;margin: 18px 0 10px;}
.no-results {padding-block: 50px;}
.no-results h2 {font-size: 28px;margin-bottom: 18px;}
.article-intro {padding: 38px 0 46px;background: linear-gradient(120deg, var(--soft), #eaf2f4);}
.back-link {display: inline-flex;align-items: center;gap: 12px;font-size: 13px;text-decoration: none;padding: 10px 0;}
.article-intro .back-link {margin-bottom: 32px;}
.article-intro h1 {font-size: clamp(2rem, 4.3vw, 3.6rem);}
.article-byline {margin-top: 27px;color: var(--muted);font-size: 12px;}
.article-byline span {padding-inline: 10px;color: var(--blue);}
.article-body {padding-block: 48px 72px;}
.article-body .reading-width > p {font-size: 18px;line-height: 1.85;color: #344d58;margin-bottom: 1.5em;}
.related-service {background: var(--soft);border-top: 2px solid var(--blue);padding: 30px;margin: 45px 0 24px;}
.related-service h2 {font-size: 28px;margin-bottom: 16px;}
.related-service .eyebrow {margin-bottom: 18px;}
.related-service > p:not(.eyebrow) {color: var(--muted);}
.related-service .text-link {margin-right: 30px;}
.faq-layout {display: grid;grid-template-columns: .8fr 1.3fr;gap: 80px;}
.faq-layout > div > p:not(.eyebrow) {max-width: 31ch;color: var(--muted);margin-top: 22px;}
.faq-list {border-top: 1px solid var(--line);}
.faq-list details {border-bottom: 1px solid var(--line);padding-block: 22px;}
.faq-list summary {display: flex;align-items: center;justify-content: space-between;gap: 30px;font-size: 18px;font-weight: 500;line-height: 1.4;list-style: none;}
.faq-list summary::-webkit-details-marker {display: none;}
.faq-list summary > span {font-weight: 400;font-size: 23px;color: var(--blue);}
.faq-list details[open] summary > span {transform: rotate(45deg);}
.faq-list details p {color: var(--muted);margin: 18px 34px 0 0;}
.contact-section {padding-top: 58px;}
.contact-layout {display: grid;grid-template-columns: .85fr 1fr;gap: 80px;}
.person-header {display: flex;align-items: center;gap: 24px;margin-bottom: 32px;}
.person-header img {width: 124px;height: 155px;object-fit: cover;border-radius: 8px;}
.person-header h2 {font-size: 28px;margin-bottom: 10px;}
.person-header p:not(.eyebrow) {font-size: 13px;color: var(--muted);line-height: 1.6;margin-bottom: 0;}
.person-header .eyebrow {margin-bottom: 13px;}
.contact-email, .contact-phone {display: flex;align-items: center;justify-content: space-between;gap: 15px;border-bottom: 1px solid var(--line);font-size: 16px;font-weight: 500;padding-block: 14px;text-decoration: none;overflow-wrap: anywhere;}
.contact-company {color: var(--muted);font-size: 12px;margin-top: 22px;}
.contact-compose {background: var(--soft);padding: 34px;}
.contact-compose h2 {font-size: 29px;margin-bottom: 26px;}
.contact-compose .eyebrow {margin-bottom: 14px;}
.form-field {margin-bottom: 20px;}
.form-field label, #copyFallback label {display: block;font-weight: 500;font-size: 14px;margin-bottom: 8px;}
.form-note {font-size: 14px;line-height: 1.65;color: var(--muted);margin: 8px 0 22px;}
.copy-button {display: block;margin: 15px auto 0;border: none;background: transparent;color: var(--ink);text-decoration: underline;text-underline-offset: 4px;min-height: 44px;padding: 8px 16px;font-size: 14px;}
#emailDraft {display: flex;}
.form-status {font-size: 14px;color: var(--ink);margin: 8px 0 0;}
.form-status:empty {display: none;}
#copyFallback {margin-top: 20px;}
.breadcrumbs {display: flex;flex-wrap: wrap;align-items: center;gap: 6px 12px;color: var(--muted);font-size: 13px;line-height: 1.5;margin-bottom: 28px;}
.breadcrumbs ol {display: flex;flex-wrap: wrap;align-items: center;gap: 6px 12px;padding: 0;margin: 0;list-style: none;}
.breadcrumbs li {display: flex;align-items: center;gap: 12px;min-width: 0;}
.breadcrumbs li + li::before {content: "/";color: var(--blue);}
.breadcrumbs a {padding-block: 6px;text-decoration: none;}
.answer-box {max-width: 82ch;margin-top: 30px;padding: 24px 28px;background: #fff;border: 1px solid var(--line);border-left: 3px solid var(--blue);border-radius: 8px;box-shadow: var(--card-shadow);}
.answer-box h2, .answer-box h3 {font-size: 20px;line-height: 1.4;letter-spacing: -.025em;margin-bottom: 10px;}
.answer-box p {color: #344d58;font-size: 17px;line-height: 1.75;}
.answer-box p:last-child {margin-bottom: 0;}
.expert-profile {display: grid;grid-template-columns: minmax(190px, .55fr) minmax(0, 1.45fr);gap: 64px;align-items: start;}
.expert-profile > * {min-width: 0;}
.expert-profile > img, .expert-profile > figure img {width: 100%;max-width: 300px;aspect-ratio: 4/5;object-fit: cover;border-radius: 8px;box-shadow: var(--card-shadow);}
.expert-profile h2 {margin-bottom: 24px;}
.expert-profile p {max-width: 70ch;color: var(--muted);}
.expertise-grid, .principles-grid {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 24px;margin-top: 36px;}
.expertise-item, .principles-grid > article, .principles-grid > div, .principles-grid > li {min-width: 0;border: 1px solid var(--line);border-radius: 14px;background: linear-gradient(145deg, white, #f7fafb);padding: 28px;box-shadow: var(--card-shadow);}
.expertise-item h2, .expertise-item h3, .principles-grid h2, .principles-grid h3 {font-size: 23px;line-height: 1.3;margin-bottom: 16px;}
.expertise-item p, .principles-grid p {color: var(--muted);font-size: 15px;}
.expertise-item p:last-child, .principles-grid p:last-child {margin-bottom: 0;}
ol.principles-grid, ul.principles-grid {padding: 0;list-style: none;}
.service-landing .reading-width {max-width: 780px;}
.service-landing .reading-width > h2 {margin-top: 42px;}
.landing-steps {padding-left: 24px;}
.service-landing h2 {margin-bottom: 24px;}
.service-landing h3 {font-size: 24px;margin: 30px 0 16px;}
.service-landing p, .service-landing li {color: #344d58;font-size: 17px;}
.service-landing > p {max-width: 70ch;}
.service-landing li {padding-block: 5px;}
.service-faq .reading-width {max-width: 780px;}
.service-faq .faq-list {margin-top: 30px;}
.service-faq h2 {margin-bottom: 30px;}
.service-faq details {border-bottom: 1px solid var(--line);padding-block: 22px;}
.service-faq details:first-of-type {border-top: 1px solid var(--line);}
.service-faq summary {font-size: 18px;line-height: 1.5;font-weight: 500;}
.service-faq details p {color: var(--muted);margin: 18px 0 0;max-width: 75ch;}
.article-summary {margin: 0 0 36px;padding: 24px 28px;border-left: 3px solid var(--blue);background: linear-gradient(120deg, var(--soft), var(--surface-blue));border-radius: 8px;}
.article-summary h2 {font-size: 22px;margin-bottom: 15px;letter-spacing: -.025em;}
.article-summary ol, .article-summary ul {padding-left: 22px;margin-bottom: 0;}
.article-summary li {padding: 5px 0 5px 5px;color: #344d58;font-size: 16px;line-height: 1.75;}
.article-summary li::marker {color: var(--blue);font-weight: 600;}
.article-section-heading {font-size: 28px;margin: 40px 0 26px;}
.answer-box .eyebrow {font-size: 12px;}
.breadcrumbs {padding-block: 12px;margin-bottom: 0;}

/* Only JavaScript-selected, small, initially off-screen blocks receive these classes. */
.home-route {display: flex;flex-direction: column;text-decoration: none;}
.home-route .text-link {margin-top: auto;}
.home-choices .section-heading {max-width: 760px;}
.home-contact-person .contact-band-inner {grid-template-columns: minmax(0, 1fr);}
.home-contact-card {flex-shrink: 0;width: 340px;max-width: 100%;min-width: 0;}
.home-contact-name {display: flex;align-items: center;gap: 18px;margin-bottom: 24px;}
.home-contact-name img {width: 80px;height: 100px;object-fit: cover;}
.home-contact-name strong {display: block;font-size: 18px;}
.home-contact-name span {display: block;color: var(--ice);font-size: 14px;line-height: 1.6;margin-top: 5px;}
@media (prefers-reduced-motion: no-preference) {
  [data-reveal].reveal-ready {transition: opacity .35s ease, transform .35s cubic-bezier(.2, .7, .3, 1);transition-delay: var(--reveal-delay, 0ms);}
  [data-reveal].reveal-pending {opacity: 0;transform: translateY(12px);}
  [data-entry="right"].reveal-pending {transform: translateX(28px);}
  [data-entry="left"].reveal-pending {transform: translateX(-24px);}
  [data-reveal-step="1"] {--reveal-delay: 80ms;}
  [data-reveal-step="2"] {--reveal-delay: 160ms;}
  [data-reveal].reveal-pending:focus-within {opacity: 1;transform: none;}
}
@media (min-width: 1081px) {.menu-toggle {display: none !important;}}
@media (max-width: 1080px) {
  .container {width: calc(100% - 56px);}
  .nav-shell {min-height: 82px;}
  .desktop-nav, .nav-cta {display: none;}
  .menu-toggle:not([hidden]) {display: flex;}
  .mobile-nav:not([hidden]) {display: block;border-top: 1px solid var(--line);max-height: calc(100dvh - 82px);overflow-y: auto;}
  .mobile-nav .container {display: grid;padding-block: 12px 24px;}
  .mobile-nav a {padding: 12px 0;border-bottom: 1px solid var(--line);text-decoration: none;font-size: 16px;}
  .mobile-nav a[aria-current] {font-weight: 700;color: var(--blue);}
  .mobile-nav .mobile-contact {margin-top: 12px;border: none;color: var(--blue);font-weight: 600;}
  .hero-grid {gap: 45px;grid-template-columns: 1.25fr .85fr;}
  .hero-copy h1 {font-size: clamp(2.55rem, 5.5vw, 3.7rem);}
  .hero-actions {gap: 10px;}
  .home-hero {padding-block: 55px;}
  .hero-lead {font-size: 16px;}
  .heading-row, .faq-layout, .case-detail {gap: 45px;}
  .contact-layout {gap: 40px;}
  .footer-grid {gap: 35px;}
  .expert-profile {gap: 40px;}
  .expertise-grid, .principles-grid {gap: 18px;}
  .expertise-item, .principles-grid > article, .principles-grid > div, .principles-grid > li {padding: 24px;}
}
@media (min-width: 761px) and (max-width: 900px) {
  .expertise-grid, .principles-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
  .expertise-grid > :last-child:nth-child(odd), .principles-grid > :last-child:nth-child(odd) {grid-column: 1 / -1;}
  .hero-grid {grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr);gap: 28px;}
  .hero-copy h1 {font-size: clamp(2.45rem, 4.85vw, 2.9rem);}
}
@media (max-width: 760px) {
  html {scroll-padding-top: 94px;}
  .container {width: calc(100% - 40px);}
  .nav-shell {min-height: 74px;gap: 15px;}
  .brand {gap: 10px;flex-shrink: 1;}
  .brand img {width: 34px;height: 41px;}
  .brand > span {font-size: 15px;}
  .brand-line {font-size: 11px;margin-top: 3px;}
  .menu-toggle > span:first-child {display: none;}
  .menu-toggle {flex-shrink: 0;}
  .mobile-nav:not([hidden]) {max-height: calc(100dvh - 74px);}
  .home-hero {padding-block: 32px;}
  .home-hero::after {width: 420px;height: 420px;right: -290px;top: -180px;}
  .hero-grid {grid-template-columns: 1fr;gap: 24px;}
  .hero-copy h1 {font-size: clamp(2.25rem, 8.8vw, 3.75rem);line-height: 1.07;max-width: 17ch;}
  .eyebrow {font-size: 12px;margin-bottom: 18px;}
  .hero-lead {margin-block: 22px;font-size: 16px;line-height: 1.7;}
  .hero-actions {flex-direction: column;align-items: stretch;gap: 10px;}
  .hero-actions .text-link {justify-content: center;padding-block: 12px;}
  .hero-note {text-align: center;margin-top: 15px;}
  .section {padding-block: 44px;}
  h2 {font-size: clamp(1.85rem, 6.2vw, 2.6rem);}
  .section-heading {margin-bottom: 24px;}
  .case-teaser-grid, .heading-row, .case-detail, .faq-layout, .contact-layout {grid-template-columns: 1fr;}
  .item-number {margin-bottom: 18px;}
  .section-end {margin: 0;border: none;padding-top: 20px;text-align: left;}
  .heading-row {gap: 18px;margin-bottom: 24px;}
  .section-description {font-size: 16px;max-width: 55ch;}
  .case-teaser-grid {gap: 20px;}
  .case-teaser {padding: 22px;}
  .case-teaser h3 {font-size: 26px;}
  .contact-band {padding-block: 40px;}
  .contact-band-inner {display: grid;gap: 28px;}
  .contact-band .button {justify-self: start;}
  .site-footer {padding-top: 40px;}
  .footer-grid {grid-template-columns: 1fr 1fr;gap: 32px 25px;padding-bottom: 30px;}
  .footer-grid > div:first-child {grid-column: 1/-1;}
  .footer-contact a {font-size: 14px;}
  .footer-bottom {flex-direction: column;gap: 5px;}
  .page-intro {padding-block: 36px 32px;}
  .page-intro h1 {font-size: clamp(2.3rem, 8.2vw, 3.3rem);}
  .lead {font-size: 17px;margin-top: 22px;}
  .case-section {padding-top: 0;}
  .check-list {font-size: 15px;}
  .service-actions {flex-direction: column;align-items: start;gap: 6px;}
  .case-detail {gap: 24px;padding-block: 40px;}
  .case-title h2 {font-size: 30px;}
  .case-story dd {margin-bottom: 20px;}
  .article-tools {padding-bottom: 24px;}
  .post-filters {gap: 7px;}
  .filter-chip {font-size: 12px;padding-inline: 11px;}
  .article-card {grid-template-columns: 1fr;gap: 0;padding-block: 28px;}
  .article-index {display: none;}
  .article-card h2 {font-size: 25px;}
  .article-card p:not(.eyebrow) {font-size: 15px;}
  .article-intro {padding-block: 22px 32px;}
  .article-intro .back-link {margin-bottom: 25px;}
  .article-intro h1 {font-size: clamp(2rem, 7.8vw, 3rem);}
  .article-body {padding-block: 32px 48px;}
  .article-body .reading-width > p {font-size: 17px;line-height: 1.8;}
  .related-service {padding: 24px;margin-top: 34px;}
  .related-service h2 {font-size: 26px;}
  .related-service .text-link {margin-right: 0;display: flex;}
  .faq-layout {gap: 32px;}
  .faq-list summary {font-size: 17px;}
  .contact-layout {gap: 34px;}
  .person-header {gap: 20px;}
  .person-header img {width: 110px;height: 138px;}
  .person-header h2 {font-size: 26px;}
  .contact-compose {padding: 26px 22px;}
  .contact-compose h2 {font-size: 27px;}
  .breadcrumbs {font-size: 12px;margin-bottom: 22px;}
  .answer-box {margin-top: 24px;padding: 20px;}
  .answer-box p {font-size: 16px;}
  .expert-profile {grid-template-columns: 1fr;gap: 28px;}
  .expert-profile > img, .expert-profile > figure img {max-width: 220px;}
  .expert-profile h2 {margin-bottom: 20px;}
  .expertise-grid, .principles-grid {grid-template-columns: 1fr;margin-top: 26px;gap: 18px;}
  .expertise-item, .principles-grid > article, .principles-grid > div, .principles-grid > li {padding: 22px;}
  .expertise-item h2, .expertise-item h3, .principles-grid h2, .principles-grid h3 {font-size: 23px;}
  .service-landing p, .service-landing li {font-size: 16px;}
  .service-faq summary {font-size: 17px;}
  .article-summary {padding: 20px;margin-bottom: 28px;}
  .article-summary h2 {font-size: 21px;}
  .article-summary li {font-size: 16px;}
}
@media (max-width: 360px) {
  .container {width: calc(100% - 32px);}
  .brand > span {font-size: 13px;}
  .brand-line {font-size: 11px;}
  .brand img {width: 29px;height: 35px;}
  .hero-copy h1 {font-size: 1.98rem;}
  .button {font-size: 13px;gap: 12px;padding-inline: 15px;}
  .footer-grid {grid-template-columns: 1fr;}
  .contact-email, .contact-phone {font-size: 14px;}
  .person-header {gap: 15px;}
  .person-header img {width: 85px;height: 106px;}
  .person-header h2 {font-size: 24px;}
}
/* Assessment services share their content across the overview and detail pages. */
.assessment-identity {display: flex;align-items: center;gap: 12px;margin-bottom: 22px;color: var(--assessment-accent);}
.assessment-symbol {flex-shrink: 0;display: grid;place-items: center;width: 42px;height: 42px;border: 1px solid currentColor;border-radius: 6px;}
.assessment-type {font-size: 12px;font-weight: 600;line-height: 1.45;letter-spacing: .04em;margin: 0;}
.assessment-shared-note {max-width: 85ch;color: var(--muted);font-size: 16px;margin: 26px 0 0;}
.assessment-anchor {display: block;height: 0;}
.assessment-intro h1 {max-width: 26ch;font-size: clamp(2.3rem, 4.4vw, 4rem);}
.assessment-intro {background: linear-gradient(115deg, var(--assessment-surface), white);border-top: 3px solid var(--assessment-accent);}
.assessment-contact-note {font-size: 14px;margin: 12px 0 0;color: var(--muted);}
.contact-band .assessment-contact-note {color: var(--ice);}
.assessment-main {min-width: 0;}
.assessment-main h2 {font-size: clamp(1.65rem, 2.6vw, 2.25rem);margin-bottom: 24px;}
.assessment-main h2:not(:first-of-type) {margin-top: 38px;}
.assessment-main .lead {font-size: 19px;}
.assessment-main .check-list {font-size: 17px;color: var(--muted);}
.assessment-focus {border-block: 1px solid var(--line);padding: 18px 0;margin-top: 32px;}
.assessment-focus summary {font-size: 19px;font-weight: 600;padding: 8px 0;}
.assessment-focus[open] summary {margin-bottom: 14px;}
.assessment-scope-title {font-size: 28px;margin: 34px 0 22px;}
.assessment-agreement {padding-block: 28px;border-bottom: 1px solid var(--line);}
.assessment-agreement p {font-size: 15px;color: var(--muted);}
.assessment-agreement p {margin: 0;}
.assessment-related {display: flex;flex-wrap: wrap;align-items: start;gap: 12px 28px;margin-block: 32px;}
.assessment-related > p, .assessment-related > h2 {flex-basis: 100%;margin: 0;}
.assessment-related .text-link {margin-top: 0;}
@media (max-width: 760px) {
  .assessment-main .lead {font-size: 17px;}
  .assessment-main .check-list {font-size: 16px;}
  .assessment-intro h1 {font-size: clamp(2.2rem, 8.2vw, 3rem);}
}
.reference-highlight {padding-block: 64px;background: radial-gradient(ellipse at 95% 100%, #f0f6f6, white 65%);}
.reference-highlight-inner {display: grid;grid-template-columns: 1.2fr 1fr;align-items: center;gap: 48px;}
.reference-highlight h2 {font-size: clamp(1.65rem, 2.4vw, 2.15rem);margin-bottom: 18px;}
.reference-highlight-copy > p:not(.eyebrow), .reference-highlight-result > p:not(.eyebrow) {color: var(--muted);font-size: 16px;margin-bottom: 12px;}
.reference-highlight-result {padding: 26px 30px;background: rgb(238 244 246 / 70%);border-radius: 16px;}
.reference-highlight-result .eyebrow {font-size: 11px;margin-bottom: 14px;}
.partner-mark {display: flex;align-items: center;gap: 18px;margin-top: 22px;}
.partner-mark img {width: 128px;flex-shrink: 0;}
.partner-mark p {margin: 0;color: var(--muted);font-size: 12px;line-height: 1.6;max-width: 32ch;}
.partner-mark-compact {display: block;}
.partner-mark-compact img {width: 142px;}
.site-footer .partner-mark p {font-size: 12px;color: #c4d3da;margin: 12px 0 0;}
.service-paths {display: grid;grid-template-columns: 1fr 1fr;gap: 16px;max-width: 880px;margin-top: 28px;}
.service-paths a {text-decoration: none;border: 1px solid var(--line);border-radius: 12px;background: white;padding: 20px 22px;}
.service-paths strong, .service-paths a > span {display: block;}
.service-paths a > span {font-size: 14px;color: var(--muted);margin-top: 5px;}
.assessment-key-facts {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 22px;max-width: 980px;margin: 26px 0 0;padding: 20px 24px;background: white;border: 1px solid var(--line);border-radius: 14px;box-shadow: var(--card-shadow);}
.assessment-key-facts dt {font-size: 12px;font-weight: 600;color: var(--muted);margin-bottom: 8px;}
.assessment-key-facts dd {font-size: 24px;line-height: 1.35;font-weight: 600;margin: 0;}
.assessment-key-facts dd span {font-size: 14px;font-weight: 400;display: block;}
.assessment-intro-actions {margin-top: 24px;}
.assessment-consultation {font-size: 16px;max-width: 65ch;margin-bottom: 16px;}
.assessment-summary-note {max-width: 100ch;font-size: 14px;color: var(--muted);margin: 20px 0 0;}
.assessment-meeting {background: var(--soft);padding: 24px;margin-top: 32px;border-radius: 14px;}
/* One visual language for DCP, its services and its partner network. */
/* Open curves connect the client's need and the required expertise. */
.brand-visual {width: 100%;max-width: 460px;justify-self: end;text-align: center;}
.brand-scene {position: relative;width: 100%;aspect-ratio: 1.18;}
.brand-diagram, .brand-diagram-compact {position: absolute;inset: 0;width: 100%;height: 100%;overflow: visible;}
.brand-diagram-compact {display: none;}
.scene-orbit {stroke: #739daa;stroke-width: 1;opacity: .4;}
.scene-orbit-inner {opacity: .22;}
.scene-flow {stroke: #d7f3fa;stroke-width: 3;stroke-linecap: round;stroke-dasharray: .09 .91;vector-effect: non-scaling-stroke;opacity: 0;}
.scene-connection {stroke: #b8dbe4;stroke-width: 1.5;stroke-linecap: round;}
.scene-point {fill: #b8dbe4;}
.scene-core {position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);display: flex;flex-direction: column;align-items: center;justify-content: center;width: 45%;aspect-ratio: 1;border: 1px solid rgb(184 219 228 / 34%);border-radius: 50%;background: radial-gradient(circle at 28% 20%, #325b6a, #173c4c 75%);box-shadow: 0 18px 44px rgb(0 15 23 / 15%);}
.scene-core strong {font-size: clamp(18px, 2.45vw, 32px);font-weight: 600;letter-spacing: -.035em;line-height: 1.08;}
.scene-core span {color: #d3e5e9;font-size: 13px;margin-top: 5px;}
.scene-label {position: absolute;color: #e0edef;font-size: 13px;line-height: 1.4;}
.scene-label-goal {left: 8%;top: -1%;}
.scene-label-expertise {right: 4%;bottom: 0;}
.brand-scene figcaption {position: absolute;bottom: -12px;width: 100%;color: #b9cbd3;font-size: 11px;}
[data-assessment] {--assessment-accent: var(--blue);--assessment-surface: var(--soft);}
.assessment-section {background: var(--soft);}
.assessment-list {border-top: 1px solid #a8b9bf;}
.assessment-row {display: grid;grid-template-columns: 1.1fr 1.25fr .8fr;gap: 38px;align-items: center;padding: 30px 0;border-bottom: 1px solid #cbd5d7;}
.assessment-row > * {min-width: 0;}
.assessment-row .assessment-identity {margin-bottom: 12px;}
.assessment-row .assessment-symbol {width: 30px;height: 30px;border: none;}
.assessment-choice h3 {font-size: 14px;line-height: 1.4;letter-spacing: 0;margin-bottom: 12px;}
.assessment-choice h3 a {text-decoration: none;}
.assessment-question {font-size: clamp(1.2rem, 1.65vw, 1.5rem);font-weight: 600;line-height: 1.3;letter-spacing: -.025em;margin: 0;}
.assessment-card-result {margin: 0;color: var(--muted);font-size: 16px;}
.assessment-card-result > span {display: block;color: var(--blue);font-size: 12px;font-weight: 600;margin-bottom: 8px;}
.assessment-meta {border-left: 1px solid #cbd5d7;padding-left: 24px;}
.assessment-facts > strong {display: block;font-size: 20px;line-height: 1.35;font-weight: 600;}
.assessment-facts strong span {font-size: 14px;font-weight: 400;}
.assessment-facts p {font-size: 14px;color: var(--muted);margin: 10px 0;}
.assessment-card-link .text-link {color: var(--blue);}
.assessment-delivery-links {display: flex;flex-wrap: wrap;gap: 8px 24px;}
.service-network-note {padding-top: 28px;margin-top: 28px;border-top: 1px solid var(--line);}
.service-network-note p {max-width: 78ch;color: var(--muted);}
.network-grid, .company-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 72px;align-items: center;}
.network-copy h2, .company-grid h2 {margin-bottom: 24px;}
.network-copy p:not(.eyebrow), .company-grid p:not(.eyebrow) {color: var(--muted);}
.network-visual {position: relative;width: 100%;max-width: 520px;aspect-ratio: 1.05;background: var(--soft);border: 1px solid var(--line);border-radius: 16px;}
.network-visual::before {content: "";position: absolute;inset: 24px;border: 1px solid #dce3e2;border-radius: 50%;}
.network-node {position: absolute;z-index: 1;background: white;padding: 18px 22px;border: 1px solid #bdcccf;border-radius: 12px;}
.network-node span {display: block;color: var(--muted);font-size: 11px;}
.network-node strong {display: block;font-size: 20px;font-weight: 600;line-height: 1.3;}
.network-node-goal {left: 7%;top: 9%;}
.network-node-dcp {left: 27%;top: 35%;background: var(--navy);color: white;border: none;padding: 22px 28px;}
.network-node-dcp strong {font-size: 26px;letter-spacing: -.035em;line-height: 1.15;}
.network-node-dcp span {color: var(--ice);margin-top: 5px;}
.network-node-expertise {right: 6%;bottom: 8%;}
.network-connection {position: absolute;width: 30%;height: 1px;background: #809da7;transform-origin: left;}
.network-connection-goal {left: 30%;top: 24%;transform: rotate(50deg);}
.network-connection-expertise {left: 53%;top: 53%;transform: rotate(52deg);}
.company-intro {background: var(--navy);color: white;}
.company-intro .eyebrow, .company-intro .lead {color: #d2e0e6;}
.company-intro::after {border-color: #49636f;}
.company-intro .button {background: var(--ice);border-color: var(--ice);color: var(--navy);}
.company-people {background: var(--soft);}
.company-grid .lead {margin-top: 0;}
.company-grid h3 {margin-bottom: 22px;}
@media (prefers-reduced-motion: no-preference) {
  .motion-enabled .network-visual.motion-seen .network-node {animation: node-in .45s ease backwards;}
  .motion-enabled .network-visual.motion-seen .network-node-dcp {animation-delay: 80ms;}
  .motion-enabled .network-visual.motion-seen .network-node-expertise {animation-delay: 160ms;}
}
@keyframes node-in {from {transform: translateY(8px);} to {transform: none;}}
@media (min-width: 761px) and (max-width: 1080px) {
  .scene-core span {display: none;}
  .assessment-row {grid-template-columns: 1fr 1fr;gap: 24px;}
  .assessment-meta {grid-column: 2;border: none;padding-left: 0;}
  .assessment-choice {grid-row: span 2;}
  .network-grid, .company-grid {gap: 36px;}
  .network-node {padding: 14px;}
  .network-node-dcp {left: 20%;top: 31%;}
  .network-node-dcp strong {font-size: 24px;}
  .network-visual {aspect-ratio: .8;}
}
@media (max-width: 760px) {
  .hero-grid {gap: 20px;}
  .brand-visual {max-width: none;justify-self: stretch;}
  .brand-scene {height: 108px;aspect-ratio: auto;}
  .brand-diagram, .scene-label, .scene-core span, .brand-scene figcaption {display: none;}
  .brand-diagram-compact {display: block;}
  .scene-core {width: 96px;}
  .scene-core strong {font-size: 15px;line-height: 1.1;}
  .assessment-row {grid-template-columns: 1fr;gap: 16px;padding-block: 26px;}
  .assessment-choice h3 {font-size: 13px;}
  .assessment-question {font-size: 22px;}
  .assessment-card-result {font-size: 15px;}
  .assessment-meta {border-left: 0;padding: 12px 0 0;border-top: 1px solid var(--line);}
  .assessment-facts > strong {font-size: 19px;}
  .assessment-facts p {margin-bottom: 4px;}
  .network-grid, .company-grid {grid-template-columns: 1fr;gap: 28px;}
  .network-node {padding: 12px 16px;}
  .network-visual {aspect-ratio: .9;}
  .network-node-dcp {left: 24%;top: 32%;padding: 12px 18px;}
  .network-node strong {font-size: 17px;}
  .network-node-dcp strong {font-size: 20px;}
  .network-node span {font-size: 10px;}
  [data-entry="right"].reveal-pending, [data-entry="left"].reveal-pending {transform: translateY(10px);}
}
@media (max-width: 760px) {
  .reference-highlight {padding-block: 36px;}
  .reference-highlight-inner, .service-paths {grid-template-columns: 1fr;gap: 20px;}
  .reference-highlight-result {padding: 22px;}
  .service-paths {gap: 10px;margin-top: 22px;}
  .service-paths a {padding: 14px 18px;}
  .assessment-key-facts {grid-template-columns: 1fr 1fr;gap: 16px;padding: 18px;margin-top: 22px;}
  .assessment-key-facts > div:last-child {grid-column: 1/-1;border-top: 1px solid var(--line);padding-top: 12px;}
  .assessment-key-facts > div:last-child dd span {display: inline;margin-left: 8px;}
  .assessment-key-facts dd {font-size: 21px;}
  .assessment-key-facts dt {margin-bottom: 5px;}
  .assessment-meeting {padding: 20px;}
}
/* Compact service selection and visible client outcomes. */
.contact-options {margin-top: 24px;}
.contact-options .text-link {color: var(--ink);font-size: 14px;}
.contact-options .button {margin-top: 0;}
.service-paths strong {display: flex;justify-content: space-between;gap: 12px;line-height: 1.4;}
.service-paths strong > span {color: var(--blue);flex-shrink: 0;}
.supporting-services {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 0 44px;}
.supporting-service {min-width: 0;border-top: 1px solid var(--line);padding: 26px 0;}
.supporting-service h3 {font-size: 24px;margin-bottom: 12px;}
.supporting-service p {color: var(--muted);margin-bottom: 10px;}
.service-outcome-intro {padding-block: 48px;background: linear-gradient(120deg, var(--soft), var(--surface-blue));}
.service-outcome-intro h1 {font-size: clamp(2.25rem, 4.1vw, 3.6rem);max-width: 24ch;}
.outcome-layout {display: grid;grid-template-columns: 1.1fr 1fr;gap: 48px;align-items: center;}
.outcome-panel {max-width: 1040px;margin-top: 0;padding: 24px 28px;background: white;border: 1px solid var(--line);border-radius: 14px;box-shadow: var(--card-shadow);min-width: 0;}
.outcome-panel h2 {font-size: 26px;line-height: 1.2;letter-spacing: -.025em;}
.outcome-panel > p {font-size: 16px;line-height: 1.55;color: var(--muted);max-width: 85ch;margin: 12px 0 0;}
.outcome-items {list-style: none;display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 24px;padding: 0;margin: 20px 0 0;}
.outcome-item {min-width: 0;border-top: 2px solid var(--ice);padding-top: 12px;}
.outcome-item strong {display: block;font-size: 16px;font-weight: 600;line-height: 1.35;}
.outcome-item span {display: block;font-size: 14px;color: var(--muted);line-height: 1.5;margin-top: 6px;}
.outcome-panel > .outcome-note {font-size: 14px;line-height: 1.5;margin-top: 18px;}
.landing-proof {padding: 22px 26px;background: var(--surface-blue);border-left: 3px solid var(--blue);margin-bottom: 30px;}
.landing-proof .eyebrow {font-size: 12px;margin-bottom: 10px;}
.landing-proof p:not(.eyebrow) {margin-bottom: 4px;}
@media (max-width: 1080px) {
  .outcome-layout {grid-template-columns: 1fr;gap: 28px;}
}
@media (max-width: 760px) {
  .supporting-services {grid-template-columns: 1fr;}
  .supporting-service {padding-block: 22px;}
  .supporting-service h3 {font-size: 23px;}
  .service-outcome-intro {padding-block: 30px;}
  .service-outcome-intro h1 {font-size: clamp(2rem, 7.5vw, 2.75rem);}
  .service-outcome-intro .lead {margin-top: 18px;}
  .outcome-panel {padding: 18px;margin-top: 0;}
  .outcome-panel h2 {font-size: 22px;}
  .outcome-panel > p {font-size: 15px;line-height: 1.5;}
  .outcome-items {grid-template-columns: 1fr;gap: 10px;margin-top: 16px;}
  .outcome-item {display: grid;grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr);gap: 12px;padding-top: 10px;border-top-width: 1px;}
  .outcome-item strong {font-size: 14px;line-height: 1.45;}
  .outcome-item span {margin-top: 0;}
  .outcome-panel > .outcome-note {font-size: 14px;margin-top: 14px;}
  .landing-proof {padding: 18px;margin-bottom: 24px;}
  .network-visual {aspect-ratio: .83;}
  .network-node-expertise {right: 5%;bottom: 6%;}
}
/* Link feedback stays distinct from decorative motion. */
:is(a.case-teaser, .service-paths a):focus-visible, :is(.case-teaser, .assessment-row, .article-card, .expertise-item):has(a:focus-visible) {border-color: var(--blue);box-shadow: 0 4px 16px rgb(16 46 61 / 10%);}
:is(.button, .nav-cta, a.text-link, .home-route, .service-paths a, .filter-chip, .menu-toggle):active {filter: brightness(.94);}
@media (hover: hover) and (pointer: fine) {
  .desktop-nav a:hover::after {transform: scaleX(1);}
  .nav-cta:hover {background: var(--blue);border-color: var(--blue);}
  .button:hover {background: var(--blue);border-color: var(--blue);}
  .button-secondary:hover {background: #e5ecee;border-color: var(--ink);}
  .home-hero .button:hover, .contact-band .button:hover, .company-intro .button:hover {background: white;border-color: white;}
  .text-link:hover {text-decoration: underline;}
  .case-teaser h3 a:hover {text-decoration: underline;}
  .footer-grid nav a:hover, .footer-contact a:hover {text-decoration: underline;}
  .filter-chip:hover {border-color: var(--blue);}
  .article-card h2 a:hover {text-decoration: underline;}
  .back-link:hover {text-decoration: underline;}
  .contact-email:hover, .contact-phone:hover {color: var(--blue);}
  .breadcrumbs a:hover {text-decoration: underline;}
  .service-paths a:hover {background: var(--surface-blue);}
  .assessment-choice h3 a:hover {text-decoration: underline;}
  :is(a.case-teaser, .service-paths a):hover, :is(.case-teaser, .assessment-row, .article-card, .expertise-item):has(a:hover) {background: var(--surface-blue);border-color: var(--blue);box-shadow: 0 8px 24px rgb(16 46 61 / 10%);}
  :is(.button, .nav-cta):hover {box-shadow: 0 5px 16px rgb(16 46 61 / 15%);}
  @media (prefers-reduced-motion: no-preference) {
    .motion-enabled :is(.button, .nav-cta, .text-link, .case-teaser, .service-paths a, .assessment-row, .article-card, .expertise-item):not(.reveal-ready) {transition: translate .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;}
    .motion-enabled :is(.button, .nav-cta):hover {translate: 0 -2px;}
    .motion-enabled :is(a.case-teaser, .service-paths a):hover, .motion-enabled :is(.case-teaser, .assessment-row, .article-card, .expertise-item):has(a:hover) {translate: 0 -3px;}
    .motion-enabled :is(.button, .text-link, .nav-cta) > span, .motion-enabled .service-paths strong > span {transition: transform .22s ease;}
    .motion-enabled :is(.button, .text-link, .nav-cta):is(:hover, :focus-visible) > span, .motion-enabled .home-route:is(:hover, :focus-visible) .text-link > span, .motion-enabled .service-paths a:is(:hover, :focus-visible) strong > span {transform: translateX(3px);}
    .motion-enabled .desktop-nav a::after, .motion-enabled .faq-list summary > span {transition: transform .22s ease;}
  }
}
/* Decorative light moves automatically; the reading surfaces remain still. */
@media (prefers-reduced-motion: no-preference) {
  .home-hero::after {animation: ambient-light 12s linear infinite alternate;}
  .scene-flow {animation: scene-flow 7s -1.4s linear infinite;}
  .ambient-paused .home-hero::after, .ambient-paused .scene-flow {animation-play-state: paused;}
}
@media (prefers-reduced-motion: no-preference) {
  .motion-enabled .motion-seen .eyebrow::before, .motion-enabled .network-visual.motion-seen .network-connection {transform-origin: left;animation: accent-draw .65s .12s ease-out backwards;}
  @supports (animation-timeline: scroll()) {
    .motion-enabled .site-header::after {content: "";position: absolute;inset: auto 0 -1px;height: 2px;background: linear-gradient(90deg, var(--blue), #75a9bb);transform-origin: left;animation: reading-progress linear both;animation-timeline: scroll(root block);pointer-events: none;}
  }
}
@keyframes ambient-light {from {transform: translate(-100px, 45px) scale(.9);opacity: .55;} to {transform: translate(60px, -35px) scale(1.08);opacity: .95;}}
@media (max-width: 760px) {
  .home-hero::after {width: 340px;height: 300px;right: -70px;top: auto;bottom: 30px;}
  .home-hero::after {animation-name: ambient-light-compact;}
  .scene-flow {stroke-width: 2.5;}
}
@keyframes ambient-light-compact {from {transform: translate(-36px, 16px);opacity: .55;} to {transform: translate(18px, -12px);opacity: .9;}}
@keyframes scene-flow {0% {stroke-dashoffset: 1;opacity: 0;} 8%, 88% {opacity: .95;} 100% {stroke-dashoffset: 0;opacity: 0;}}
@keyframes accent-draw {from {scale: 0 1;} to {scale: 1;}}
@keyframes reading-progress {from {transform: scaleX(0);} to {transform: scaleX(1);}}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior: auto;}
  *, *::before, *::after {transition: none !important;animation: none !important;}
  [data-reveal].reveal-pending {opacity: 1 !important;transform: none !important;}
}
@media print {
  .site-header, .site-footer, .contact-band, .article-tools, .hero-actions, .menu-toggle {display: none !important;}
  .container {width: 100%;}
  .section, .page-intro, .home-hero, .article-intro, .article-body {padding-block: 20px;background: white;color: black;}
  h1, h2, h3, .hero-copy h1 em, p, .hero-lead, .eyebrow {color: black !important;}
  .hero-grid {gap: 30px;}
  .brand-visual, .network-visual, .page-intro::after {display: none;}
  .hero-grid, .company-grid, .network-grid, .assessment-row {display: block;}
  .assessment-row {break-inside: avoid;}
  .assessment-meta {border: 0;padding: 0;}
  .hero-copy h1 {font-size: 36px;}
  .case-detail, .case-teaser, .faq-list details {break-inside: avoid;}
  [data-reveal].reveal-pending {opacity: 1 !important;transform: none !important;}
  .home-hero::after {display: none;}
  .expertise-item, .principles-grid > *, .answer-box {break-inside: avoid;box-shadow: none;}
}
