@font-face { font-family: Manrope; src: url('assets/fonts/manrope-variable.woff2') format('woff2'); font-style: normal; font-weight: 200 800; font-display: swap; }
@font-face { font-family: 'Instrument Serif'; src: url('assets/fonts/instrument-serif-italic.woff2') format('woff2'); font-style: italic; font-weight: 400; font-display: swap; }

:root { --ink: #18221e; --paper: #fff; --surface: #f0f3ef; --paper-soft: #47534d; --muted: #58655c; --line: #d9dfd9; --line-strong: #a2afa4; --signal: #aa3427; --gold: #245743; --gold-bright: #b83729; --aqua: #245743; --ember: #b83729; --container: 1280px; }
html { background: #fafbf9; }
body { background: #fafbf9; font-family: Manrope, 'Segoe UI', sans-serif; font-size: 16px; font-weight: 450; line-height: 1.8; }
h1, h2, h3 { font-weight: 600; letter-spacing: 0; }
h2 { font-size: 48px; line-height: 1.14; }
h3 { font-size: 21px; line-height: 1.3; }
.signature-type { font-family: 'Instrument Serif', Georgia, serif; font-style: italic; font-weight: 400; line-height: 1; }
h1 .signature-type { font-size: 1.22em; }
h2 .signature-type { font-size: 1.17em; }
.eyebrow { font-size: 16px; line-height: 1.5; font-weight: 650; color: #8c392e; margin-bottom: 23px; }
.lead { font-size: 21px; line-height: 1.6; }
::selection { background: #e9efa9; color: #192a20; }
:focus-visible { outline-color: #b83729; }
.site-header, .site-header.is-scrolled { background: rgba(250,251,249,.96); border-bottom: 0; color: #1b241e; }
.nav { width: min(1440px,calc(100% - 80px)); gap: 25px; }
.wordmark span { font-family: Manrope, sans-serif; font-size: 16px; font-weight: 800; }
.nav-links { gap: 22px; }
.nav-links > a { font-size: 15px; font-weight: 650; color: #4a554d; }
.nav-links > a:hover, .nav-links > a.is-active { color: #ae3729; }
.nav-links .nav-cta { background: #203d30; min-height: 36px; padding-inline: 20px; }
.nav-links .nav-cta:hover { background: #a73528; color: white; }
.button { min-height: 50px; padding: 14px 24px; font-size: 16px; font-weight: 700; border-radius: 30px; gap: 12px; transition: background 180ms, color 180ms, box-shadow 180ms; }
.button-primary, .button-light { background: #b43829; color: #fff; }
.button-primary:hover, .button-light:hover { background: #8e281c; transform: none; box-shadow: 0 5px 20px #ad302521; }
.button-ghost, .button-secondary { color: #203d30; border-color: #9ba89c; background: transparent; }
.button-ghost:hover, .button-secondary:hover { transform: none; background: #e9efdf; }
.text-link, .case-text-link, .example-strip-link { color: #a93326; font-weight: 650; font-size: 16px; }
.hero-actions { gap: 12px; }

/* A single full-bleed scene; typography and the art have separate focal areas. */
.hero { height: calc(100svh - 66px); min-height: 790px; max-height: 1040px; padding: 120px max(64px,calc((100% - 1360px)/2)) 55px; background: #f8f9f7; }
.hero-copy { width: 100%; max-width: 1440px; text-align: left; margin: auto; }
.hero h1 { max-width: 620px; margin: 0 0 24px; font-size: 60px; line-height: 1.05; font-weight: 750; }
.hero h1 > span { display: block; }
.hero-subtitle { max-width: 620px; margin: 0 0 13px; font-size: 18px; line-height: 1.4; font-weight: 650; color: #203d30; }
.hero h1 .signature-type { display: block; font-size: 96px; line-height: 1.02; font-weight: 600; color: #ac3326; padding-bottom: 5px; }
.hero-subhead { max-width: 460px; margin: 0 0 18px; font-size: 16px; line-height: 1.65; color: #424e46; }
.hero-assurance { max-width: 620px; text-align: left; margin: 0 0 24px; font-size: 20px; font-weight: 800; line-height: 1.4; color: #203d30; }
.hero .hero-actions { justify-content: flex-start; max-width: 620px; }
.hero .hero-actions .button:last-child { flex-basis: auto; border: 0; padding-inline: 8px; }
.hero-media { inset: 0; }
.hero-ripple { position: absolute; display: none; pointer-events: none; aspect-ratio: 1672 / 941; }
.hero-media.is-rippling .hero-ripple { display: block; }
.hero-media.is-rippling img { visibility: hidden; }
/* Match the mask's aspect ratio and placement to the artwork, including letterboxed layouts. */
.hero-media :is(img, .hero-ripple) { --hero-art-position: right center; width: 84%; max-width: none; height: 96%; right: 20px; left: auto; bottom: 0; margin: 0; object-fit: contain; object-position: var(--hero-art-position); mix-blend-mode: multiply; mask-image: url('assets/atelier/hero-edge-mask.svg'); mask-size: contain; mask-position: var(--hero-art-position); mask-repeat: no-repeat; mask-composite: add; animation: none; transform-origin: 75% 65%; }
.capability-ticker { --ticker-gap: 46px; padding: 21px 0; background: #e8edde; }
.ticker-track { gap: 0; animation: none; will-change: transform; }
.ticker-group { display: flex; flex: 0 0 auto; align-items: center; gap: var(--ticker-gap); padding-inline-end: var(--ticker-gap); }
.ticker-group > * { flex-shrink: 0; white-space: nowrap; }
.ticker-track span { color: #294331; font-family: 'Instrument Serif', Georgia, serif; font-style: italic; font-size: 27px; }
.ticker-track i { background: #9aab89; width: 3px; height: 3px; }

.section { width: min(var(--container),calc(100% - 128px)); padding-block: 115px; }
.section-header > p:last-child, .section-header-split > p { font-size: 16px; line-height: 1.8; max-width: 680px; }
.section-header-split { gap: 80px; grid-template-columns: 1.15fr .85fr; }
.centered-header { max-width: 880px; }
.architecture-section .section-header { text-align: left; margin: 0; max-width: 990px; }
.architecture-section h2 { font-size: 56px; }
.architecture-copy { margin: 50px 0 0; max-width: 1170px; grid-template-columns: 1.25fr 1fr; gap: 92px; }
.architecture-copy .lead { font-size: 20px; }
.architecture-sequence { margin-top: 60px; gap: 45px; }
.architecture-sequence article > span { color: #a73327; font-size: 16px; }
.architecture-sequence strong { font-size: 18px; margin-top: 13px; }
.architecture-sequence p { font-size: 16px; }
.mission-section, .capability-section, .deliverables-section, .content-band, .examples-preview, .contact-section { width: 100%; padding-inline: max(64px,calc((100% - var(--container))/2)); }

.context-section { width: 100%; display: block; padding: 110px max(64px,calc((100% - var(--container))/2)); background: #153e32; --ink: #fbfdf6; --muted: #c7d5ca; --signal: #e7f0a7; }
.context-copy { display: grid; grid-template-columns: .95fr 1.05fr; gap: 0 95px; }
.context-copy > .eyebrow, .context-copy > h2, .context-copy > .lead { width: 100%; max-width: none; text-align: left; margin-left: 0; margin-right: 0; grid-column: 1; }
.context-copy > .eyebrow { grid-row: 1; color: #d6e69e; }
.context-copy > h2 { grid-row: 2; font-size: 57px; margin-bottom: 28px; }
.context-copy > .lead { grid-row: 3; font-size: 17px; color: #ccd9cf; }
.context-copy > .text-link { grid-column: 1; grid-row: 4; justify-self: start; margin: 33px 0 0; color: #e7f0a7; font-size: 16px; }
.context-selector { grid-column: 2; grid-row: 1 / span 4; width: 100%; margin: 0; display: flex; flex-direction: column; justify-content: space-between; }
.context-panel { order: 1; padding: 0 0 40px; min-height: 315px; text-align: left; margin: 0; max-width: none; }
.context-panel > span { display: none; }
.context-panel h3 { margin: 0 0 25px; font-family: 'Instrument Serif', Georgia, serif; font-style: italic; font-size: 36px; font-weight: 400; line-height: 1.17; text-wrap: pretty; }
.context-panel p { font-size: 16px; line-height: 1.8; color: #ccd9cf; }
.context-tabs { order: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: 100%; padding: 0; background: none; border-radius: 0; }
.context-tabs button { border: 1px solid #6d8b7e; border-radius: 5px; min-height: 45px; color: #e4ece1; padding: 11px 12px; font-size: 16px; }
.context-tabs button[aria-selected="true"] { background: #e6efa9; color: #1d3b2b; border-color: #e6efa9; }
.context-tabs button:focus-visible { outline-color: #fff; }

.mission-section { background: #fafbf9; }
.mission-grid { grid-template-columns: repeat(30,minmax(0,1fr)); gap: 55px 30px; margin-top: 70px; }
.mission-grid article { grid-column: span 6; padding: 0; }
.mission-grid article:nth-child(-n+3) { grid-column: span 10; padding: 0 20px 28px 0; }
.mission-grid h3 { margin: 0 0 20px; font-size: 21px; }
.mission-grid article:nth-child(-n+3) h3 { font-family: 'Instrument Serif', Georgia, serif; font-style: italic; font-size: 63px; font-weight: 400; margin-bottom: 22px; }
.mission-grid article:nth-child(1) h3 { color: #b63729; }
.mission-grid article:nth-child(2) h3 { color: #235640; }
.mission-grid article:nth-child(3) h3 { color: #18251d; }
.mission-grid p { font-size: 16px; line-height: 1.8; }
.mission-grid article:nth-child(-n+3) p { font-size: 16px; }
.capability-section { background: #f0f3ef; }
.capability-grid { grid-template-columns: 1fr 1fr; gap: 0 68px; margin-top: 58px; }
.capability-card { display: block; padding: 34px 0 37px; min-height: 275px; border-radius: 0; background: transparent; border-bottom: 1px solid #cbd5ca; }
.capability-card:hover { box-shadow: none; transform: none; }
.capability-card > div { display: flex; flex-direction: column; height: 100%; }
.capability-card .card-label { font-size: 16px; color: #8e392c; margin-bottom: 16px; }
.capability-card:nth-child(3n+2) .card-label, .capability-card:nth-child(3n) .card-label { color: #3b674a; }
.capability-card h3 { font-size: 25px; max-width: 485px; margin-bottom: 16px; transition: color 180ms; }
.capability-card:hover h3, .capability-card:focus-visible h3 { color: #ae3528; }
.capability-card p:not(.card-label) { max-width: 485px; font-size: 16px; color: #56655a; }
.capability-card b { margin-top: auto; font-size: 16px; color: #224d36; }
.section-actions { margin-top: 50px; }

.build-section { background: #181f1b; --ink: #f6f7f0; --muted: #c0ccc1; --signal: #e6eca5; }
.build-inner { width: min(var(--container),calc(100% - 128px)); padding: 112px 0 95px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 50px 95px; }
.build-intro { text-align: left; margin: 0; align-self: center; }
.build-intro .eyebrow { color: #dbe49b; }
.build-intro h2 { font-size: 47px; margin-bottom: 30px; }
.build-intro p:last-child { margin: 0; font-size: 16px; line-height: 1.8; }
.delivery-specimen { align-self: center; background: #f2f4e9; color: #233c2d; padding: 36px; border-radius: 6px; box-shadow: 14px 18px 0 #74816920; }
.specimen-kicker { font-size: 15px; font-weight: 700; color: #95452e; margin-bottom: 22px; }
.delivery-specimen h3 { font-size: 21px; line-height: 1.2; margin: 0 0 30px; }
.delivery-specimen h3 .signature-type { font-size: 32px; }
.specimen-path { display: flex; gap: 5px; align-items: center; justify-content: space-between; position: relative; margin-bottom: 32px; }
.specimen-path::before { content: ''; position: absolute; inset: 50% 0 auto; height: 1px; background: #bac8b6; }
.specimen-path span { z-index: 1; padding: 7px 10px; border: 1px solid #849a7d; background: #f2f4e9; border-radius: 3px; font-size: 15px; font-weight: 600; animation: pathway-pulse 6s ease-in-out infinite; }
.specimen-path span:nth-child(2) { animation-delay: 2s; }
.specimen-path span:nth-child(3) { animation-delay: 4s; }
.delivery-specimen dl { margin: 0; }
.delivery-specimen dl > div { padding: 10px 0; border-top: 1px solid #cdd7c6; }
.delivery-specimen dt { font-size: 15px; font-weight: 750; }
.delivery-specimen dd { margin: 2px 0 0; font-size: 16px; color: #54654e; }
.specimen-foot { font-size: 15px; color: #586c50; margin: 20px 0 0; }
.build-levels { grid-column: 1 / -1; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 38px; margin-top: 10px; }
.build-levels h3 { margin: 0 0 18px; font-size: 17px; }
.build-levels p { font-size: 16px; }
.build-boundary { grid-column: 1 / -1; font-size: 16px; margin: 0 auto; color: #b7c5b8; }

.process-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 52px 70px; margin-top: 65px; }
.process-grid > article, .mission-grid > article, .architecture-sequence > article { min-width: 0; }
.process-grid h3 { font-family: 'Instrument Serif',Georgia,serif; font-style: italic; font-weight: 400; font-size: 35px; color: #2c583c; margin: 0 0 18px; }
.process-grid p { font-size: 16px; }
.examples-preview { background: #e8edde; }
.examples-feature { gap: 76px; grid-template-columns: 1.1fr 1fr; }
.examples-image { padding: 15px; background: #fff; border-radius: 5px; box-shadow: 0 16px 45px #24402c14; }
.examples-image img { width: 100%; height: auto; object-fit: contain; }
.examples-copy h2 { font-size: 44px; }
.examples-copy p:not(.eyebrow) { font-size: 16px; line-height: 1.8; color: #4e6050; }
.example-strip { gap: 36px; margin-top: 60px; }
.example-strip h3 { font-size: 16px; margin: 0 0 17px; }
.example-strip p { font-size: 16px; }
.example-strip-link { font-size: 16px; }
.axiom-section { gap: 100px; grid-template-columns: 1fr 1fr; }
.axiom-copy h2 { font-size: 45px; }
.axiom-copy p:last-child { font-size: 16px; }
.axiom-grid { gap: 0 25px; }
.axiom-grid span { font-family: 'Instrument Serif',Georgia,serif; font-style: italic; font-weight: 400; font-size: 32px; padding-block: 16px; color: #2a5740; }
.axiom-grid span:nth-child(3n+1) { color: #a9382a; }
.axiom-grid span:nth-child(3n) { color: #5f715c; }
.deliverables-section { background: #f0f3ef; }
.deliverable-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px 55px; }
.deliverable-grid h3 { font-size: 19px; margin: 0 0 17px; }
.deliverable-grid p { font-size: 16px; }
.fit-section { gap: 100px; }
.fit-copy h2 { font-size: 45px; }
.fit-orbit { gap: 18px 27px; }
.fit-orbit span { font-family: 'Instrument Serif',Georgia,serif; font-style: italic; font-weight: 400; font-size: 28px; color: #2e5940; }
.fit-orbit span:nth-child(3n) { color: #aa392b; }
.fit-orbit span:nth-child(3n+1) { color: #687660; }

.contact-section { background: #e8edde; gap: 85px; grid-template-columns: .95fr 1.05fr; }
.contact-copy h2 { font-family: 'Instrument Serif',Georgia,serif; font-weight: 400; font-style: italic; font-size: 64px; line-height: 1.05; max-width: 530px; }
.contact-copy > p:not(.eyebrow) { font-size: 16px; color: #4d5d4f; }
.contact-promise { font-size: 16px; color: #3e5943; gap: 12px; }
.contact-form { box-shadow: 0 15px 50px #294f2d0b; border-radius: 6px; padding: 33px; }
.form-row label { font-size: 16px; color: #364737; }
.form-row input, .form-row select, .form-row textarea { font-family: Manrope, sans-serif; font-size: 16px; border-color: #b5c1b1; border-radius: 4px; background: #fff; }
.form-row input:focus, .form-row select:focus, .form-row textarea:focus { border-color: #597454; box-shadow: 0 0 0 3px #52794915; }
.form-row input::placeholder, .form-row textarea::placeholder { color: #606e63; }
.form-note { font-size: 16px; line-height: 1.8; color: #586950; }
.turnstile-note { color: #a83325; }
.form-button { min-height: 52px; }
.site-footer { background: #fafbf9; border-top: 0; overflow: hidden; }
.footer-inner { width: min(var(--container),calc(100% - 128px)); padding: 48px 0 32px; min-height: 160px; }
.footer-brand { font-size: 16px; }
.footer-links { color: #53624f; font-size: 16px; }
.footer-copyright { font-size: 15px; }
.footer-inner { flex-wrap: wrap; }
.footer-social { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.footer-social a { display: inline-flex; align-items: center; justify-content: flex-start; gap: 8px; width: auto; height: auto; min-height: 44px; padding: 4px 0; font-size: 16px; font-weight: 700; line-height: 1.4; color: #24462f; white-space: nowrap; }
.footer-social svg { width: 19px; height: 19px; flex: 0 0 19px; fill: currentColor; }
.footer-social a:hover { color: #aa3427; }
.footer-social a:hover span { text-decoration: underline; text-underline-offset: 4px; }

/* Service artwork is unique to its page and is never cropped. */
.page-hero { background: #f6f8f4; padding: 105px 0 0; position: relative; }
.page-hero-inner { width: min(1100px,calc(100% - 128px)); padding-bottom: 28px; text-align: center; }
.page-hero h1 { font-size: 54px; max-width: 1000px; margin: 21px auto; line-height: 1.08; }
.page-hero .eyebrow { font-size: 16px; margin-top: 22px; margin-bottom: 16px; color: #9a3b2a; }
.page-hero-inner > p:not(.eyebrow):not(.breadcrumb) { font-size: 17px; max-width: 800px; line-height: 1.65; }
.breadcrumb { font-size: 15px !important; color: #55684f; }
.breadcrumb a { color: #496540; }
.page-hero-media { position: relative; background: #f6f8f4; height: 310px; padding: 0 35px 25px; }
.page-hero:not(.case-detail-hero) .page-hero-media img { width: min(100%,1100px); height: 100%; object-fit: contain; margin: auto; animation: none; mask: none; mix-blend-mode: multiply; }
.art-caption { position: absolute; bottom: 3px; right: max(35px,calc((100% - 1100px)/2)); font-size: 15px; color: #697563; margin: 0; }
.text-hero { padding-bottom: 60px; background: #e8edde; }
.text-hero .page-hero-inner { padding-bottom: 0; }
.text-hero h1 { max-width: 1090px; font-size: 69px; }
.page-insights .text-hero { background: #f0e9e4; }
.page-insights .text-hero h1 { font-family: 'Instrument Serif',Georgia,serif; font-style: italic; font-size: 84px; font-weight: 400; }
.page-examples .text-hero { background: #203e31; color: #f4f7ed; --muted: #d4decf; }
.page-examples .text-hero h1 { font-size: 84px; }
.page-examples .text-hero .eyebrow, .page-examples .text-hero .breadcrumb, .page-examples .text-hero .breadcrumb a { color: #d9e7a0; }
.page-examples .text-hero p { color: #d4decf; }
.page-examples .text-hero .button { background: #e3eca3; color: #1e3d2a; border-color: #e3eca3; }
.page-examples .text-hero .button-ghost { background: none; color: #e3eca3; border: 0; }
.discipline-map { width: min(1040px,calc(100% - 128px)); margin: 65px auto 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; text-align: center; position: relative; }
.discipline-map > div { padding: 30px 15px; background: #fafbf6; border-radius: 5px; border-top: 3px solid #9cb48e; }
.discipline-map > div:nth-child(2) { border-top-color: #ae382a; }
.discipline-map strong { display: block; font-size: 23px; font-weight: 550; }
.discipline-map span { color: #586d4c; font-size: 16px; }
.discipline-map p { grid-column: 1 / -1; margin: 10px 0 0; font-size: 19px; color: #304e32; }
.discipline-map p .signature-type { font-size: 34px; color: #a03425; }
.page-intro { grid-template-columns: 1fr 1fr; gap: 90px; }
.page-intro h2 { font-size: 44px; }
.page-intro-copy p { font-size: 16px; }
.page-intro-copy .lead { font-size: 19px; }
.service-block { grid-template-columns: .9fr 1.1fr; gap: 55px; padding: 37px 0; }
.service-block > div { grid-column: 2; }
.service-block h3 { font-size: 26px; }
.service-block p, .service-block li { font-size: 16px; }
.detail-grid { gap: 25px; }
.detail-grid article, .problem-card, .outcome-card, .insight-card, .example-case { background: #fff; padding: 31px; border-radius: 6px; border: 1px solid #dce3d8; box-shadow: none; }
.detail-grid h3, .problem-card h3, .outcome-card h3, .insight-card h3, .example-case h3 { font-size: 19px; }
.detail-grid p, .problem-card p, .outcome-card p, .insight-card p, .example-case p { font-size: 16px; line-height: 1.8; }
.problem-card > span, .example-case > span { color: #963c2e; font-size: 16px; }
.article-layout { grid-template-columns: minmax(0,790px) 260px; gap: 85px; }
.page-hero .article-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 20px; margin-top: 24px; font-size: 15px; line-height: 1.6; color: #58655c; }
.article-meta span { display: inline-block; }
.article-content h2 { font-size: 30px; line-height: 1.2; }
.article-content p, .article-content li { font-size: 17px; line-height: 1.95; color: #465a47; }
.article-aside { background: #edf1e7; padding: 27px; border-radius: 5px; }
.article-aside h2, .article-aside h3 { font-size: 18px; }
.page-cta { background: #203e31; padding: 85px 48px; color: #f5f7ef; }
.page-cta .eyebrow { color: #e0e99e; }
.page-cta h2 { font-family: 'Instrument Serif',Georgia,serif; font-weight: 400; font-style: italic; font-size: 57px; }
.page-cta p:not(.eyebrow) { color: #cddcc8; font-size: 16px; }
.page-cta .button-primary { background: #e5eda5; color: #203d2a; }
.page-cta .button-primary:hover { background: #f1f6c7; }
.published-case-card { background: #eff3ea; border-radius: 6px; border: 0; }
.published-case-copy { padding: 40px; }
.published-case-copy h3 { font-size: 30px; }
.published-case-copy p:not(.eyebrow) { font-size: 16px; }
.published-case-copy .eyebrow { font-size: 16px; }
.published-case-image { padding: 27px; }
.published-case-image img { object-fit: contain; height: auto; }
.case-evidence-badges span, .case-tags span { font-size: 15px; background: #dde6d7; color: #385030; border-color: #ccd9c3; }
.case-study-standard-copy h3 { font-size: 27px; }
.case-study-fields div { grid-template-columns: 1fr; gap: 8px; }
.case-detail-hero h1 { font-size: 55px; }
.case-detail-hero .page-hero-media { background: #f6f8f4; padding: 0 48px 50px; }
.case-detail-hero .page-hero-media img { mask: none; }
.case-problem-grid article, .case-flow article, .case-deliverables-grid article, .workflow-grid article, .implementation-ledger article { background: #f0f3ec; border: 0; border-radius: 5px; }
.case-problem-grid h3, .case-flow h3, .case-deliverables-grid h3 { font-size: 18px; margin-top: 0; }
.case-flow small { display: block; color: #9c3b2c; margin-bottom: 15px; }
.case-metrics strong { color: #aa3527; }
.case-gallery figure { background: #eff3eb; border-radius: 5px; }
.case-gallery img { object-fit: contain; }
.product-paths > div { padding: 25px; background: #e9efdf; }
.legal-hero { background: #e8edde; padding: 140px 32px 65px; }
.legal-hero h1 { font-family: 'Instrument Serif',Georgia,serif; font-style: italic; font-weight: 400; font-size: 76px; }
.legal-content { max-width: 840px; padding-top: 65px; }
.legal-content h2 { font-size: 22px; }
.legal-content p, .legal-content li { font-size: 16px; line-height: 1.95; }
.thank-panel h1 { font-family: 'Instrument Serif',Georgia,serif; font-style: italic; font-size: 74px; font-weight: 400; }


.case-status-tags span { font-size: 14px; }
.case-study-fields span, .evidence-legend span, .case-state-strip span, .receipt-card dt,
.case-gallery figcaption span, .availability-status span, .confidential-evidence-panel > span,
.technical-evidence-policy > span, .case-flow small { font-size: 16px; }
.case-study-fields strong, .example-case .case-list, .article-aside a,
.case-problem-grid p, .case-flow p, .workflow-grid p, .case-deliverables-grid p,
.safety-mode-grid p, .implementation-ledger p { font-size: 16px; }
.case-study-note, .receipt-card dd, .receipt-card code { font-size: 16px; }

@keyframes pathway-pulse { 0%,25%,100% { background: #f2f4e9; color: #233c2d; } 35%,55% { background: #244d35; color: #f4f7e7; } }

@media (min-width: 1700px) {
  .hero { padding-top: 134px; }
  .hero h1 { font-size: 68px; max-width: 700px; }
  .hero h1 .signature-type { font-size: 108px; }
  .hero-subhead { font-size: 17px; max-width: 500px; }
  .hero-media :is(img, .hero-ripple) { width: 86%; right: 0; }
}
@media (max-width: 1280px) {
  .nav-links { gap: 16px; }
  .nav { width: calc(100% - 56px); }
  .hero { padding-inline: 48px; }
  .hero h1 { font-size: 56px; max-width: 560px; }
  .hero h1 .signature-type { font-size: 88px; }
  .hero-subhead { max-width: 425px; font-size: 16px; }
  .hero .hero-actions .button { padding-inline: 18px; }
  .context-copy { gap: 0 55px; }
  .context-copy > h2 { font-size: 48px; }
  .build-inner { gap: 45px 55px; }
  .build-intro h2 { font-size: 41px; }
  .examples-copy h2 { font-size: 39px; }
}
@media (max-width: 1120px) {
  .hero-subtitle { margin-inline: auto; }
  .nav-links { gap: 0; background: #f8faf4; padding: 98px 40px 40px; }
  .nav-links > a { font-size: 21px; font-weight: 550; min-height: 59px; color: #254730; }
  .nav-links .nav-cta { font-size: 16px; min-height: 52px; margin-top: 24px; }
  .hero { padding: 100px 40px 0; min-height: 960px; max-height: 1120px; }
  .hero-copy { text-align: center; }
  .hero h1 { max-width: 900px; margin-inline: auto; font-size: 58px; }
  .hero h1 .signature-type { font-size: 92px; }
  .hero-subhead { margin-inline: auto; max-width: 630px; font-size: 16px; }
  .hero-assurance { text-align: center; margin-inline: auto; }
  .hero .hero-actions { margin: auto; justify-content: center; max-width: 670px; }
  .hero-media :is(img, .hero-ripple) { --hero-art-position: center bottom; width: auto; right: 50%; height: 36%; bottom: 0; translate: 33.6% 0; }
  .section { width: calc(100% - 80px); padding-block: 85px; }
  .mission-section, .capability-section, .deliverables-section, .content-band, .examples-preview, .contact-section, .context-section { width: 100%; padding-inline: 40px; }
  .architecture-section h2 { font-size: 48px; }
  .architecture-copy { gap: 50px; }
  .architecture-sequence { grid-template-columns: repeat(2,1fr); gap: 35px; }
  .context-copy { grid-template-columns: 1fr 1fr; gap: 0 50px; }
  .context-panel { min-height: 465px; }
  .context-panel h3 { font-size: 31px; }
  .mission-grid { grid-template-columns: repeat(6,1fr); gap: 38px; }
  .mission-grid article, .mission-grid article:nth-child(-n+3) { grid-column: span 2; }
  .mission-grid article:nth-child(-n+3) h3 { font-size: 52px; }
  .capability-grid { gap: 0 40px; }
  .capability-card h3 { font-size: 21px; }
  .build-inner { width: calc(100% - 80px); }
  .delivery-specimen { padding: 26px; }
  .build-levels { grid-template-columns: repeat(2,1fr); }
  .examples-feature { gap: 45px; }
  .section-header-split { gap: 45px; }
  .contact-section { grid-template-columns: .85fr 1.15fr; gap: 40px; }
  .contact-copy h2 { font-size: 54px; }
  .contact-form { padding: 26px; }
  .footer-inner { width: calc(100% - 80px); }
  .page-hero h1, .text-hero h1 { font-size: 54px; }
  .page-hero-inner { width: calc(100% - 80px); }
  .page-intro { gap: 50px; }
  .article-layout { grid-template-columns: minmax(0,1fr) 230px; gap: 45px; }
  .service-block { gap: 35px; }
  .published-case-copy { padding: 30px; }
}
@media (max-width: 800px) {
  .hero { min-height: 940px; }
  .hero h1 { font-size: 54px; }
  .hero h1 .signature-type { font-size: 84px; }
  .hero-media :is(img, .hero-ripple) { height: 35%; width: auto; }
  h2, .section-header h2, .architecture-section h2 { font-size: 39px; }
  .section-header-split, .architecture-copy, .context-copy, .build-inner, .examples-feature, .axiom-section, .fit-section, .contact-section, .page-intro, .article-layout { grid-template-columns: 1fr; }
  .section-header-split { gap: 28px; }
  .architecture-copy { gap: 20px; margin-top: 36px; }
  .context-copy { gap: 0; }
  .context-copy > .eyebrow, .context-copy > h2, .context-copy > .lead, .context-copy > .text-link, .context-selector { grid-column: 1; grid-row: auto; }
  .context-copy > h2 { max-width: 590px; font-size: 50px; }
  .context-selector { margin-top: 48px; }
  .context-panel { min-height: 340px; padding-bottom: 30px; }
  .context-panel h3 { font-size: 33px; }
  .context-tabs { grid-template-columns: repeat(4,1fr); }
  .context-tabs button { padding: 10px 7px; }
  .context-copy > .text-link { margin-top: 35px; }
  .mission-grid { grid-template-columns: repeat(2,1fr); gap: 38px 30px; }
  .mission-grid article, .mission-grid article:nth-child(-n+3) { grid-column: auto; }
  .mission-grid article:nth-child(-n+3) { padding: 0; }
  .mission-grid article:nth-child(-n+3) h3 { font-family: Manrope,sans-serif; font-style: normal; font-size: 26px; font-weight: 600; }
  .mission-grid h3 { font-size: 26px; }
  .mission-grid article p, .mission-grid article:nth-child(-n+3) p { font-size: 16px; }
  .build-inner { padding-block: 85px; gap: 48px; }
  .build-intro { max-width: 630px; }
  .build-intro h2 { font-size: 42px; }
  .delivery-specimen { width: min(500px,100%); justify-self: center; padding: 35px; }
  .build-levels { margin-top: 0; }
  .process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .examples-copy { order: -1; }
  .examples-copy h2 { font-size: 44px; }
  .examples-image { max-width: 680px; }
  .example-strip { grid-template-columns: repeat(2,1fr); }
  .axiom-section { gap: 30px; }
  .axiom-grid { grid-template-columns: repeat(4,1fr); }
  .axiom-grid span { font-size: 26px; }
  .deliverable-grid { grid-template-columns: repeat(2,1fr); gap: 38px; }
  .fit-section { gap: 35px; }
  .contact-copy { position: static; }
  .contact-copy h2 { max-width: 600px; }
  .contact-form { padding: 30px; }
  .page-hero { padding-top: 110px; }
  .page-hero-media { height: 360px; padding-inline: 18px; }
  .page-insights .text-hero h1, .page-examples .text-hero h1 { font-size: 60px; }
  .discipline-map { width: calc(100% - 80px); gap: 12px; }
  .discipline-map strong { font-size: 18px; }
  .discipline-map span { font-size: 15px; }
  .service-block { grid-template-columns: 1fr; gap: 18px; }
  .service-block > div { grid-column: 1; }
  .article-aside { max-width: 100%; }
  .published-case-image { padding: 22px; }
  .published-case-copy { padding: 10px 30px 35px; }
}
@media (max-width: 540px) {
  body { font-size: 16px; }
  .hero-subtitle { font-size: 16px; margin-bottom: 15px; }
  .mission-grid, .build-levels, .process-grid, .example-strip { grid-template-columns: 1fr; }
  .architecture-sequence { grid-template-columns: 1fr; }
  .specimen-path { flex-wrap: wrap; justify-content: flex-start; gap: 10px; }
  .specimen-path::before { display: none; }
  .nav { width: calc(100% - 36px); }
  .wordmark span { font-size: 16px; }
  .nav-links { padding: 82px 25px 35px; }
  .nav-links > a { font-size: 21px; min-height: 57px; }
  .hero { display: flex; flex-direction: column; align-items: stretch; padding: 94px 22px 0; height: auto; min-height: calc(100svh - 34px); max-height: none; }
  .hero-copy { order: 1; flex: 0 0 auto; margin: 0; }
  .hero-media { order: 2; flex: 0 0 auto; position: relative; inset: auto; width: calc(100% + 44px); aspect-ratio: 16 / 11; margin: -8px -22px 0; }
  .hero h1 { font-size: 39px; line-height: 1.08; margin-bottom: 23px; }
  .hero h1 .signature-type { font-size: 66px; line-height: 1.03; padding-top: 0; }
  .hero-subhead { font-size: 16px; line-height: 1.65; margin-bottom: 17px; }
  .hero-assurance { display: block; font-size: 16px; margin-bottom: 24px; }
  .hero .hero-actions { gap: 10px 8px; }
  .hero .hero-actions .button { min-height: 48px; padding: 12px 16px; font-size: 15px; }
  .hero .hero-actions .button:last-child { flex-basis: 100%; min-height: 40px; padding: 6px; }
  .hero-media :is(img, .hero-ripple) { width: 140%; height: auto; right: 50%; bottom: 0; }
  .capability-ticker { --ticker-gap: 30px; padding: 16px 0; }
  .ticker-track span { font-size: 25px; }
  .section { width: calc(100% - 44px); padding-block: 73px; }
  .mission-section, .capability-section, .deliverables-section, .content-band, .examples-preview, .contact-section, .context-section { width: 100%; padding-inline: 22px; }
  h2, .section-header h2, .architecture-section h2, .examples-copy h2, .axiom-copy h2, .fit-copy h2 { font-size: 32px; line-height: 1.16; }
  h2 .signature-type { font-size: 1.24em; line-height: 1.05; }
  .eyebrow { font-size: 16px; margin-bottom: 20px; }
  .section-header > p:last-child, .section-header-split > p { font-size: 16px; margin-top: 24px; }
  .architecture-copy .lead { font-size: 18px; }
  .architecture-copy > p { font-size: 16px; }
  .architecture-sequence { gap: 28px 22px; margin-top: 40px; }
  .architecture-sequence strong { font-size: 16px; }
  .architecture-sequence p { font-size: 16px; }
  .context-copy > h2 { font-size: 38px; }
  .context-copy > .lead { font-size: 16px; }
  .context-selector { margin-top: 40px; }
  .context-panel { min-height: 395px; }
  .context-panel h3 { font-size: 29px; }
  .context-panel p { font-size: 16px; }
  .context-tabs { grid-template-columns: 1fr 1fr; }
  .context-tabs button { min-height: 52px; font-size: 16px; }
  .context-copy > .text-link { font-size: 16px; gap: 5px; line-height: 1.6; }
  .mission-grid { gap: 30px 25px; margin-top: 43px; }
  .mission-grid h3, .mission-grid article:nth-child(-n+3) h3 { font-size: 21px; margin-bottom: 15px; }
  .mission-grid article p, .mission-grid article:nth-child(-n+3) p { font-size: 16px; line-height: 1.85; }
  .capability-grid { grid-template-columns: 1fr; margin-top: 26px; }
  .capability-card { min-height: 0; padding-block: 28px; }
  .capability-card h3 { font-size: 23px; }
  .capability-card p:not(.card-label) { font-size: 16px; }
  .capability-card .card-label { font-size: 15px; }
  .build-inner { width: calc(100% - 44px); padding-block: 73px; gap: 40px; }
  .build-intro h2 { font-size: 32px; }
  .build-intro p:last-child { font-size: 16px; }
  .delivery-specimen { padding: 26px; box-shadow: 8px 11px 0 #74816920; }
  .delivery-specimen h3 { font-size: 18px; }
  .delivery-specimen h3 .signature-type { font-size: 28px; }
  .specimen-path span { font-size: 15px; padding: 7px 9px; }
  .build-levels { gap: 30px 23px; }
  .build-levels h3 { font-size: 16px; }
  .build-levels p { font-size: 16px; }
  .build-boundary { font-size: 15px; text-align: left; }
  .process-grid { grid-template-columns: repeat(2,1fr); gap: 33px 23px; margin-top: 43px; }
  .process-grid h3 { font-size: 28px; }
  .process-grid p { font-size: 16px; line-height: 1.85; }
  .examples-feature { gap: 32px; }
  .examples-image { padding: 9px; }
  .examples-copy p:not(.eyebrow) { font-size: 16px; }
  .example-strip { gap: 30px 24px; margin-top: 43px; }
  .example-strip h3 { font-size: 16px; }
  .example-strip p { font-size: 16px; }
  .example-strip-link { font-size: 15px; }
  .axiom-grid { grid-template-columns: repeat(2,1fr); }
  .axiom-grid span { font-size: 29px; padding-block: 10px; }
  .deliverable-grid { grid-template-columns: 1fr; gap: 29px; margin-top: 42px; }
  .deliverable-grid h3 { font-size: 19px; margin-bottom: 12px; }
  .deliverable-grid p { font-size: 16px; }
  .fit-orbit { gap: 15px 23px; }
  .fit-orbit span { font-size: 25px; }
  .contact-copy h2 { font-size: 47px; }
  .contact-copy > p:not(.eyebrow) { font-size: 16px; }
  .contact-form { padding: 24px 18px; }
  .form-row label { font-size: 15px; }
  .form-note { font-size: 16px; }
  .form-button { font-size: 16px; }
  .footer-inner { width: calc(100% - 44px); padding-top: 38px; gap: 20px; }
  .footer-copyright { font-size: 15px; }
  .footer-social { display: grid; grid-template-columns: 1fr; gap: 5px; }
  .footer-social a { font-size: 16px; }
  .page-hero { padding-top: 103px; }
  .page-hero-inner, .case-detail-hero .page-hero-inner { width: calc(100% - 44px); padding-bottom: 30px; }
  .page-hero h1, .text-hero h1, .case-detail-hero h1 { font-size: 36px; line-height: 1.14; margin-block: 23px; }
  .page-hero-inner > p:not(.eyebrow):not(.breadcrumb) { font-size: 16px; line-height: 1.8; }
  .page-hero .eyebrow { font-size: 16px; margin-top: 25px; }
  .breadcrumb { font-size: 15px !important; }
  .page-hero .hero-actions { gap: 10px; }
  .page-hero .hero-actions .button { min-height: 45px; font-size: 15px; padding: 12px 18px; }
  .page-hero-media { height: auto; padding: 0 0 38px; }
  .page-hero:not(.case-detail-hero) .page-hero-media img { width: 100%; height: auto; }
  .art-caption { bottom: 8px; right: 22px; font-size: 14px; }
  .text-hero { padding-bottom: 42px; }
  .page-insights .text-hero h1 { font-size: 51px; }
  .page-examples .text-hero h1 { font-size: 41px; }
  .discipline-map { width: calc(100% - 44px); margin-top: 35px; gap: 12px; grid-template-columns: 1fr; }
  .discipline-map > div { padding: 22px 8px; }
  .discipline-map strong { font-size: 18px; }
  .discipline-map span { display: block; margin-top: 6px; font-size: 16px; line-height: 1.6; }
  .discipline-map p { font-size: 16px; margin-top: 14px; }
  .discipline-map p .signature-type { display: inline; font-size: 27px; }
  .page-intro { gap: 26px; }
  .page-intro h2 { font-size: 31px; }
  .page-intro-copy p { font-size: 16px; }
  .page-intro-copy .lead { font-size: 18px; }
  .service-block { padding-block: 28px; gap: 14px; }
  .service-block h3 { font-size: 22px; }
  .service-block p, .service-block li { font-size: 16px; }
  .detail-grid article, .problem-card, .outcome-card, .insight-card, .example-case { padding: 26px; }
  .detail-grid h3, .problem-card h3, .outcome-card h3, .insight-card h3, .example-case h3 { font-size: 19px; }
  .detail-grid p, .problem-card p, .outcome-card p, .insight-card p, .example-case p { font-size: 16px; }
  .article-content h2 { font-size: 25px; }
  .article-content p, .article-content li { font-size: 16px; line-height: 1.95; }
  .page-cta { padding: 65px 22px; }
  .page-cta h2 { font-size: 40px; }
  .page-cta p:not(.eyebrow) { font-size: 16px; }
  .published-case-copy { padding: 15px 24px 30px; }
  .published-case-copy h3 { font-size: 23px; }
  .published-case-copy p:not(.eyebrow) { font-size: 16px; }
  .published-case-image { padding: 16px; }
  .case-detail-hero .page-hero-media { padding: 0 22px 32px; }
  .case-state-strip strong { font-size: 16px; }
  .case-problem-grid h3, .case-flow h3, .case-deliverables-grid h3 { font-size: 18px; }
  .legal-hero { padding: 113px 22px 48px; }
  .legal-hero h1 { font-size: 53px; }
  .legal-content { width: calc(100% - 44px); padding-top: 38px; }
  .legal-content h2 { font-size: 19px; }
  .legal-content p, .legal-content li { font-size: 16px; }
}
@media (max-width: 370px) {
  .hero { padding-inline: 18px; }
  .hero-media { width: calc(100% + 36px); margin-inline: -18px; }
  .hero h1 { font-size: 34px; }
  .hero h1 .signature-type { font-size: 58px; }
  .hero .hero-actions .button { font-size: 14px; padding-inline: 10px; }
  .contact-section { padding-inline: 14px; }
  .contact-form { padding-inline: 12px; }
  .context-panel { min-height: 455px; }
  .page-hero h1 { font-size: 31px; }
  .page-case-studies-enterprise-service-operations-platform .section-header h2 { font-size: 28px; }
  .discipline-map strong { font-size: 18px; }
}
/* Give compact layouts room to reflow instead of squeezing their text. */
@media (min-width: 801px) and (max-width: 960px) {
  .contact-section { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .contact-copy { position: static; max-width: 650px; }
  .contact-form { width: 100%; }
  .contact-form .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
}
@media (max-width: 640px) {
  .mission-grid, .architecture-sequence, .capability-grid, .build-levels, .process-grid,
  .detail-grid, .problem-grid, .outcome-grid, .insight-grid, .example-library,
  .case-flow, .workflow-grid, .case-deliverables-grid, .implementation-ledger,
  .deliverable-grid { grid-template-columns: minmax(0,1fr); }
  .context-tabs, .axiom-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-inner { flex-direction: column; align-items: flex-start; gap: 20px; }
  .footer-social { display: flex; gap: 8px 24px; }
}
@media (max-width: 400px) {
  .footer-social { flex-direction: column; align-items: flex-start; gap: 4px; }
}
@media (min-width: 1121px) and (max-height: 800px) {
  .page-hero:not(.text-hero):not(.case-detail-hero) { padding-top: 90px; }
  .page-hero:not(.text-hero):not(.case-detail-hero) h1 { font-size: 45px; margin-block: 17px; }
  .page-hero:not(.case-detail-hero) .page-hero-media { height: 255px; }
  .hero { min-height: 725px; padding-top: 99px; }
  .hero h1 { font-size: 54px; }
  .hero h1 .signature-type { font-size: 86px; }
  .hero-subhead { font-size: 16px; }
  .hero-assurance { margin-bottom: 18px; }
}
@media (max-width: 540px) and (max-height: 740px) {
  .hero { padding-top: 89px; min-height: 790px; }
  .hero h1 { font-size: 35px; margin-bottom: 20px; }
  .hero h1 .signature-type { font-size: 62px; }
  .hero-subhead { font-size: 16px; line-height: 1.65; }
  .hero-media :is(img, .hero-ripple) { height: auto; bottom: 0; }
}
@media (min-width: 901px) and (max-width: 1120px) and (max-height: 900px) {
  .hero { min-height: 725px; padding-top: 98px; }
  .hero-copy { text-align: left; }
  .hero h1 { max-width: 470px; margin-inline: 0; font-size: 44px; }
  .hero h1 .signature-type { font-size: 74px; }
  .hero-subtitle { max-width: 460px; margin-inline: 0; font-size: 16px; }
  .hero-subhead { max-width: 395px; margin-inline: 0; font-size: 16px; }
  .hero-assurance { text-align: left; margin-inline: 0; }
  .hero .hero-actions { margin: 0; max-width: 510px; justify-content: flex-start; }
  .hero .hero-actions .button { font-size: 15px; padding-inline: 14px; }
  .hero-media :is(img, .hero-ripple) { --hero-art-position: right center; width: 78%; height: 88%; right: 0; translate: none; }
}
@media (max-width: 540px) and (max-height: 600px) {
  .hero { min-height: 710px; padding-top: 84px; }
  .hero h1 { font-size: 34px; margin-bottom: 18px; }
  .hero h1 .signature-type { font-size: 58px; }
  .hero-subhead { font-size: 16px; line-height: 1.6; }
  .hero-detail { display: none; }
  .hero-media :is(img, .hero-ripple) { height: auto; bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-media.is-rippling .hero-ripple { display: none; }
  .hero-media.is-rippling img { visibility: visible; }
  .hero-media :is(img, .hero-ripple), .ticker-track, .specimen-path span { animation: none !important; }
}
@media print {
  .discipline-map { display: none; }
  body { font-family: sans-serif; color: #000; background: #fff; }
  .hero, .section, .page-hero, .build-inner, .context-section { width: 100%; height: auto; min-height: 0; padding: 20px 0; }
}
