/* Desktop is locked. Every rule in this file applies only below 768px. */
@media (max-width: 767px) {
  html { scroll-snap-type: none; scroll-padding-top: 82px; }
  body { font-size: 1rem; line-height: 1.55; }
  [id], #accountability, .cap-category, .impact-foundation { scroll-margin-top: 98px; }
  main, section, article, main div { min-width: 0; }
  h1, h2, h3 { overflow-wrap: break-word; text-wrap: balance; }
  .eyebrow { font-size: .875rem; line-height: 1.45; letter-spacing: .1em; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .button, .text-link, .impact-text-link { min-height: 48px; font-size: 1rem; line-height: 1.35; }
  .button { white-space: normal; padding: .75rem 1rem; }
  .button:hover { transform: none; }
  .site-header { height: 82px; grid-template-columns: minmax(0,1fr) 48px; gap: .5rem; padding: 0 1rem; }
  .site-header nav, .site-header > .button { display: none; }
  .site-header .brand { max-width: 100%; }
  .site-header .brand img { width: 178px; max-height: 62px; }
  .menu-button { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 10px; }
  .menu-button span { background: #fff; }
  .mobile-menu { top: 82px; padding: .75rem 1rem max(1rem,env(safe-area-inset-bottom)); gap: .25rem; max-height: calc(100dvh - 82px); overflow-y: auto; }
  .mobile-menu a { display: flex; align-items: center; min-height: 48px; padding: .6rem .75rem; border-bottom: 1px solid #ffffff26; font-size: 1rem; line-height: 1.4; }
  .mobile-menu a.current { background: #ffffff12; border-radius: 8px; }
  .hero { display: flex; flex-direction: column; min-height: 100svh; padding: 82px 0 0; gap: 0; background: #03203e; }
  .hero .hero-arrival-background { position: relative; inset: auto; flex: none; width: 100%; height: clamp(140px,24svh,210px); object-fit: cover; object-position: 75% 20%; }
  .hero-copy { flex: 1; display: flex; flex-direction: column; justify-content: center; max-width: none; padding: .75rem 1rem max(.75rem,env(safe-area-inset-bottom)); }
  .hero .eyebrow { margin-bottom: .4rem; }
  .hero h1 { font-size: clamp(1.6rem,6.5vw,1.85rem); line-height: 1.15; letter-spacing: -.025em; margin-bottom: .5rem; }
  .hero h1 > span, .hero h1 > em { white-space: normal; }
  .hero:after { display: none; }
  .hero-grid { display: none; }
  .hero-copy { text-shadow: none; }
  .hero .lede, .hero .purpose-line { font-size: 1rem; line-height: 1.4; margin-bottom: .5rem; }
  .hero .lede br, .hero .purpose-line br, .serve-section-head > p br { display: none; }
  .hero .purpose-line { padding: .35rem 0 .35rem .75rem; }
  .hero .purpose-line strong { margin-bottom: .5rem; }
  .hero-actions { display: grid; gap: .25rem; margin: .5rem 0; }
  .hero-actions .button { width: 100%; min-height: 44px; padding: .5rem .75rem; }
  .hero-actions .text-link { min-height: 44px; padding: .5rem .25rem; }
  .hero-actions .button span { display: none; }
  .text-link { justify-content: center; padding: .75rem .25rem; }
  .promise { display: grid; gap: .4rem; padding-left: 1rem; }
  .promise strong { font-size: .875rem; line-height: 1.5; }
  .hero .promise { padding-left: .75rem; gap: 0; }
  .hero .promise strong:not(:first-child) { display: none; }
  .journey-steps { padding: 1rem 1rem 2rem; background-attachment: scroll; }
  .journey-flywheel-bridge { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; }
  .journey-flywheel-bridge:before { display: none; }
  .journey-flywheel-copy { display: flex; flex-direction: column; justify-content: center; width: 100%; aspect-ratio: 1; min-height: min-content; padding: 1rem; border: 1px solid var(--gold); border-radius: 20px; background: #03203e; }
  .journey-flywheel-copy .eyebrow { margin-bottom: .5rem; }
  .journey-flywheel-copy h2 { font-size: clamp(1.4rem,5.8vw,2rem); line-height: 1.2; margin-bottom: .75rem; }
  .journey-flywheel-copy > p:not(.journey-purpose-line) { font-size: 1rem; line-height: 1.6; }
  .journey-purpose-line { display: none; }
  .journey-purpose-line i { display: none; }
  .static-flywheel-graphic { width: 100%; max-width: 400px; margin: 0 auto; }
  .journey-cinematic { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; padding: 1.25rem 0 0; }
  .journey-stage, .journey-stage--reverse, .journey-cinematic .impact-feature--split,
  .serve-approach article { display: flex; position: relative; width: 100%; aspect-ratio: 1; min-height: min-content; margin: 0; overflow: hidden; border-radius: 20px; }
  .journey-stage:before { display: none; }
  .journey-stage-media, .journey-stage--reverse .journey-stage-media,
  .journey-cinematic .impact-feature--split .impact-feature-media,
  .serve-approach article > img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; grid-column: auto; grid-row: auto; }
  .journey-stage-media img, .journey-cinematic .impact-feature--split .impact-feature-media img { width: 100%; height: 100%; min-height: 0; object-fit: cover; filter: none; }
  .journey-stage-media:after { display: none; }
  .journey-stage-copy, .journey-stage--reverse .journey-stage-copy,
  .journey-cinematic .impact-feature--split .impact-feature-copy,
  .serve-approach article > div { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; width: 100%; padding: 1rem; background: linear-gradient(180deg,#03203e00,#03203ecc 28%,#03203e 68%); backdrop-filter: none; color: #fff; }
  .journey-stage-copy:before, .journey-cinematic .impact-feature--split .impact-feature-copy:before { display: none; }
  .journey-stage-copy span, .journey-cinematic .impact-feature--split .impact-feature-copy > span { font-size: .875rem; line-height: 1.4; letter-spacing: .1em; margin: 0 0 .5rem; color: var(--gold-text); ;font-weight:650;text-shadow:none;-webkit-text-fill-color:currentColor;}
  .journey-stage-copy h3, .journey-cinematic .impact-feature--split .impact-feature-copy h3,
  .serve-approach h3 { font-size: clamp(1.35rem,5.5vw,1.9rem); line-height: 1.2; letter-spacing: -.015em; margin: 0 0 .6rem; color: #fff; }
  .journey-stage-copy p, .journey-cinematic .impact-feature--split .impact-feature-copy p,
  .serve-approach article p:not(.eyebrow) { font-size: 1rem; line-height: 1.45; margin: 0; color: #fff; }
  .journey-stage-copy strong { display: none; }
  .journey-cinematic .impact-feature--split .impact-feature-copy h3 em { color: var(--gold-text); ;font-weight:650;text-shadow:none;-webkit-text-fill-color:currentColor;}
  .journey-cinematic .impact-feature-actions { flex-wrap: nowrap; justify-content: space-between; align-items: center; gap: .5rem; margin-top: .75rem; }
  .journey-cinematic .impact-foundation-link { width: 48%; max-width: 160px; padding: .3rem; border-radius: 8px; background: #fff; }
  .journey-cinematic .impact-feature--split .impact-hope-button { width: 46%; min-height: 48px; }
  .journey-cinematic .impact-feature--split .impact-hope-button img { width: 100%; max-width: 145px; }
  .serve-main, .capability-main, .impact-main { padding-top: 82px; }
  .serve-hero { display: flex; flex-direction: column; min-height: calc(100svh - 82px); gap: 0; padding: 0; background: #03203e; }
  .serve-hero:before { display: none; }
  .serve-hero-copy { flex: 1; display: flex; flex-direction: column; justify-content: center; align-self: stretch; padding: .75rem 1rem max(.75rem,env(safe-area-inset-bottom)); }
  .serve-hero .eyebrow { font-size: 1rem; line-height: 1.45; letter-spacing: .1em; margin-bottom: .6rem; }
  .serve-hero h1, .capability-hero h1 { font-size: clamp(1.85rem,8vw,2.4rem); line-height: 1.2; letter-spacing: -.025em; margin-bottom: .85rem; }
  .serve-hero h1 > span, .serve-hero h1 > em { white-space: normal; }
  .serve-hero .serve-hero-copy > p:not(.eyebrow) { max-width: none; font-size: 1.25rem; line-height: 1.5; margin: 0 0 .65rem; color: #d9e1e8; }
  .serve-hero .serve-promise { margin-top: .65rem; padding: .35rem 0 .35rem .75rem; gap: .35rem; font-size: 1.125rem; line-height: 1.6; }
  .serve-hero .serve-hero-image { order: -1; flex: none; min-height: 0; width: 100%; height: clamp(140px,24svh,210px); aspect-ratio: auto; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
  .serve-hero-image > img { object-position: center 25%; opacity: 1; filter: none; }
  .serve-hero-image:after, .serve-hero-image figcaption { display: none; }
  .serve-markets, .serve-approach, .capability-overview { padding: 2rem 1rem; }
  .serve-section-head { display: block; margin-bottom: 1.25rem; }
  .serve-section-head > p { margin-top: .75rem; }
  .serve-section-head h2, .capability-intro h2 { font-size: 1.8rem; line-height: 1.2; }
  .serve-market-grid, .serve-approach-grid, .capability-market-grid { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .serve-market.vertical-card.market-with-image,
  .serve-market.vertical-card.market-with-image:nth-child(2),
  .serve-market.vertical-card.market-with-image:nth-child(3), .capability-market { display: grid; grid-template-rows: 25% minmax(min-content,1fr); gap: 0; width: 100%; aspect-ratio: 1; min-height: min-content; padding: 0; border-radius: 20px; }
  .market-card-visual, .capability-image { height: auto; min-height: 0; }
  .market-card-content, .capability-content { padding: .875rem; gap: .5rem; min-height: 0; justify-content: center; }
  .market-card-content .serve-market-title, .capability-title { min-height: 0; gap: .6rem; width: 100%; }
  .market-with-image .market-card-content .audience-sector-icon,
  .serve-market.vertical-card.market-with-image .audience-sector-icon, .capability-title svg { width: 32px; height: 32px; flex: none; padding: 0; border: 0; border-radius: 0; background: none; }
  .market-card-content .serve-market-title h3, .vertical-card .serve-market-title h3,
  .capability-title h2 { font-size: 1.25rem; line-height: 1.2; letter-spacing: -.015em; margin: 0; }
  .serve-main .serve-market.vertical-card .vertical-outcome, .capability-benefit { min-height: 0; margin: 0; font-size: 1rem; line-height: 1.45; font-weight: 500; }
  .serve-market.vertical-card .vertical-areas, .capability-content ul { display: none; }
  .serve-market.vertical-card .vertical-open, .capability-content .cap-open { min-width: 0; width: 100%; max-width: none; min-height: 48px; margin-top: auto; padding: .6rem .75rem; font-size: 1rem; line-height: 1.35; }
  .serve-approach article .eyebrow { margin-bottom: .5rem; }
  .cap-group-nav { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; margin-bottom: 1.5rem; }
  .cap-group-nav a { min-height: 64px; padding: .75rem .5rem; font-size: .875rem; line-height: 1.45; }
  .cap-category { margin-bottom: 2rem; }
  .cap-category-heading { flex-direction: column; align-items: start; gap: .5rem; padding: 1rem; }
  .cap-category-heading h2 { font-size: 1.4rem; line-height: 1.3; }
  .cap-category-heading p { font-size: 1rem; line-height: 1.5; }
  .vertical-sheet.statement { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; overflow-y: auto; }
  .statement .sheet-top { padding: .5rem .75rem; gap: .75rem; font-size: .875rem; }
  .statement .sheet-top > span { line-height: 1.4; }
  .statement .sheet-close { min-height: 48px; flex: none; }
  .statement-brand { display: grid; grid-template-columns: minmax(0,1fr); gap: .75rem; padding: 1.25rem 1rem; }
  .statement-brand > img { width: 160px; height: auto; }
  .statement-brand > div { text-align: left; }
  .statement-brand h2 { font-size: 1.6rem; line-height: 1.25; }
  .vertical-sheet .statement-brand p { font-size: .875rem; }
  .statement-visual { height: 180px; }
  .statement-intro, .statement-body { padding: 1.25rem 1rem; }
  .statement-body, .statement-sidebar { grid-template-columns: minmax(0,1fr); }
  .statement-table, .statement-table tbody, .statement-table tr, .statement-table th, .statement-table td { display: block; width: 100%; }
  .statement-table thead { display: none; }
  .statement-table tbody th, .capabilities-page .statement-table tbody th { width: 100%; padding: 1rem .875rem .5rem; }
  .statement-table tbody td { padding: .4rem .875rem .75rem; font-size: 1rem; line-height: 1.55; }
  .statement-table tbody tr { margin-bottom: 1rem; border: 1px solid #03203e26; border-radius: 10px; overflow: hidden; }
  .statement-table tbody td:nth-child(2):before { content: "Where it applies"; }
  .statement-table tbody td:nth-child(3):before, .capabilities-page .statement-table tbody td:nth-child(2):before { content: "What it enables"; }
  .statement-table tbody td:before { display: block; font-size: .875rem; font-weight: 700; margin-bottom: .25rem; color: #03203e; }
  .statement-contact { flex-direction: column; align-items: stretch; padding: 1.25rem 1rem max(1.25rem,env(safe-area-inset-bottom)); }
  .statement-contact .button { width: 100%; }
  .impact-opening { display: flex; flex-direction: column; min-height: 0; padding: 1.75rem 1rem 0; }
  .impact-opening-copy { width: 100%; padding: 0; }
  .impact-opening h1 { font-size: clamp(1.9rem,7.5vw,2.8rem); line-height: 1.2; margin-bottom: 1rem; }
  .impact-opening-copy .impact-lede, .impact-main p { font-size: 1rem; line-height: 1.6; }
  .impact-opening-copy .button { width: 100%; }
  .impact-family { position: relative; inset: auto; z-index: 0; width: calc(100% + 2rem); height: auto; aspect-ratio: 1; margin-top: 1.25rem; }
  .impact-family:after { background: linear-gradient(0deg,#03203e,transparent 50%); }
  .impact-family figcaption { left: 1rem; right: 1rem; bottom: 1rem; font-size: 1rem; }
  .impact-connection, .impact-foundation, .impact-hope { padding: 2rem 1rem; }
  .impact-section-head, .foundation-intro, .impact-hope { grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
  .impact-section-head h2, .foundation-intro h2, .impact-hope h2 { font-size: 1.8rem; line-height: 1.25; }
  .impact-path, .foundation-focus { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .impact-path article { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; aspect-ratio: 1; min-height: min-content; padding: 1.5rem; }
  .impact-path svg { width: 44px; height: 44px; margin-bottom: 1rem; }
  .impact-path h3, .foundation-focus h3 { font-size: 1.5rem; line-height: 1.25; margin: 0 0 .6rem; }
  .impact-path p { margin: 0; }
  .foundation-mark { padding: 1.5rem 0; border-left: 0; border-top: 1px solid #a68433; }
  .foundation-mark img { width: min(100%,320px); }
  .foundation-focus article { aspect-ratio: 1; min-height: min-content; padding: 1rem; }
  .foundation-focus .eyebrow { font-size: .875rem; letter-spacing: .03em; margin-bottom: .6rem; }
  .foundation-focus p { margin-bottom: .75rem; line-height: 1.45; }
  .foundation-focus img { height: 56px; max-width: 100%; padding: .25rem; }
  .foundation-focus .focus-connect .eyebrow { color: #680f0e; }
  .foundation-focus .focus-build .eyebrow { color: #fff; }
  .hope-visual { padding: 0; max-width: 420px; margin: auto; }
  .impact-closing, .serve-close, .capability-close, .contact { display: flex; flex-direction: column; align-items: stretch; gap: 1.25rem; min-height: 0; padding: 2rem 1rem; }
  .impact-closing h2, .serve-close h2, .capability-close h2, .contact h2 { font-size: 1.8rem; line-height: 1.25; }
  .impact-closing-actions { text-align: center; }
  .impact-closing .button, .serve-close .button, .capability-close .button, .contact .button { width: 100%; align-self: stretch; min-width: 0; }
  .impact-closing-actions > a:last-child { min-height: 48px; padding: .75rem 0; }
  .contact-copy > p:last-child { font-size: 1rem; line-height: 1.6; }
  footer { grid-template-columns: minmax(0,1fr); justify-items: center; gap: .75rem; text-align: center; padding: 2rem 1.25rem; font-size: .875rem; }
  footer p { margin: 0; }
  .hope-modal { padding: .75rem; }
  .hope-modal-panel { grid-template-columns: minmax(0,1fr); max-height: calc(100dvh - 1.5rem); overflow-y: auto; border-radius: 20px; }
  .hope-modal-art { min-height: 0; padding: 1rem 3rem 0; }
  .hope-modal-art img { width: 220px; max-height: 130px; object-fit: contain; }
  .hope-modal-copy { padding: 1.25rem; }
  .hope-modal-copy h2 { font-size: 1.8rem; line-height: 1.25; margin-bottom: 1rem; }
  .hope-modal-copy > p:first-child { font-size: .875rem; }
  .hope-modal-copy > p:not(:first-child) { font-size: 1rem; line-height: 1.55; }
  .hope-modal-copy a { min-height: 48px; font-size: 1rem; line-height: 1.45; letter-spacing: 0; text-transform: none; margin-top: .75rem; }
  .hope-modal-close { width: 48px; height: 48px; top: .5rem; right: .5rem; }

  /* Two compact cards per row, with the photograph clear above the caption. */
  .journey-cinematic, .serve-market-grid, .serve-approach-grid,
  .capability-market-grid, .impact-path, .foundation-focus {
    grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem;
  }
  .journey-stage, .journey-stage--reverse,
  .journey-cinematic .impact-feature--split, .serve-approach article {
    display: block; aspect-ratio: 1 / 1; min-height: 0; margin: 0;
    border-radius: 16px; cursor: pointer; backdrop-filter: none;
  }
  .journey-stage-media, .journey-stage--reverse .journey-stage-media,
  .journey-cinematic .impact-feature--split .impact-feature-media,
  .serve-approach article > img {
    position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0;
    border-radius: 0; grid-column: auto; grid-row: auto;
  }
  .journey-stage-media img, .journey-cinematic .impact-feature--split .impact-feature-media img,
  .serve-approach article > img {
    width: 100%; height: 100%; min-height: 0; object-fit: cover;
    object-position: center; opacity: 1; filter: none; transform: none;
  }
  .journey-stage-media:after, .journey-stage--reverse .journey-stage-media:after,
  .market-card-visual:after { display: none; }
  .journey-stage-copy, .journey-stage--reverse .journey-stage-copy,
  .journey-cinematic .impact-feature--split .impact-feature-copy,
  .serve-approach article > div {
    position: absolute; inset: auto 0 0; padding: 1rem .5rem .5rem;
    min-height: 0; justify-content: flex-end; backdrop-filter: none;
    background: linear-gradient(180deg,#03203e00,#03203ee8 30%,#03203e);
  }
  .journey-stage-copy span, .journey-cinematic .impact-feature--split .impact-feature-copy > span {
    font-size: .875rem; line-height: 1.2; letter-spacing: .04em; margin: 0 0 .25rem;
  }
  .journey-stage-copy h3, .journey-cinematic .impact-feature--split .impact-feature-copy h3,
  .serve-approach h3 { font-size: .875rem; line-height: 1.25; margin: 0; text-shadow: none; }
  .journey-stage-copy p, .journey-stage-copy strong,
  .journey-cinematic .impact-feature--split .impact-feature-copy p,
  .journey-cinematic .impact-feature-actions,
  .serve-approach article p { display: none; }
  .mobile-tile-prompt { display: block; margin-top: .3rem; font-size: .875rem; line-height: 1.2; color: #fff; text-decoration: underline; text-underline-offset: 2px; }
  .journey-stage-copy .mobile-tile-prompt { font-weight: 500; letter-spacing: 0; margin-top: .3rem; }
  .serve-market.vertical-card.market-with-image,
  .serve-market.vertical-card.market-with-image:nth-child(2),
  .serve-market.vertical-card.market-with-image:nth-child(3), .capability-market {
    display: block; position: relative; aspect-ratio: 1 / 1; min-height: 0;
    border-radius: 16px; background: #03203e;
  }
  .market-card-visual, .capability-image { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
  .market-card-visual img, .capability-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 1; filter: none; }
  .market-card-content, .capability-content { position: absolute; inset: auto 0 0; padding: 1rem .4rem .4rem; gap: .25rem; background: linear-gradient(180deg,#03203e00,#03203ee8 28%,#03203e); }
  .market-card-content .serve-market-title, .capability-title { min-height: 0; }
  .market-card-content .serve-market-title h3, .vertical-card .serve-market-title h3,
  .capability-title h2 { font-size: .875rem; line-height: 1.2; color: #fff; }
  .serve-market.vertical-card.market-with-image .audience-sector-icon,
  .capability-title svg, .serve-main .serve-market.vertical-card .vertical-outcome,
  .capability-benefit { display: none; }
  .serve-market.vertical-card .vertical-open, .capability-content .cap-open {
    min-height: 44px; padding: .35rem; font-size: .875rem; line-height: 1.2;
    width: 100%; margin: 0; background: #03203e; color: #fff; border: 1px solid var(--gold-light);
  }
  .impact-path article, .foundation-focus article { aspect-ratio: 1 / 1; min-height: 0; padding: .65rem; justify-content: center; cursor: pointer; }
  .impact-path article { align-items: center; text-align: center; }
  .impact-path svg { width: 32px; height: 32px; margin-bottom: .4rem; }
  .impact-path h3, .foundation-focus h3 { font-size: 1rem; line-height: 1.2; margin: 0; }
  .impact-path p, .foundation-focus p { display: none; }
  .impact-path .mobile-tile-prompt { color: #03203e; }
  .foundation-focus article { align-items: center; text-align: center; gap: .35rem; }
  .foundation-focus img { order: -1; width: 100%; height: 42px; margin: 0; padding: .25rem; object-fit: contain; opacity: 1; filter: none; }
  .foundation-focus .focus-connect .mobile-tile-prompt { color: #03203e; }
  [data-mobile-tile]:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 3px; }
  .mobile-card-dialog { width: calc(100% - 1.5rem); max-width: 540px; max-height: calc(100dvh - 1.5rem); margin: auto; padding: 0; border: 1px solid var(--gold-light); border-radius: 20px; background: #03203e; color: #fff; font: inherit; overflow-y: auto; }
  .mobile-card-dialog::backdrop { background: #03203ed9; }
  .mobile-card-dialog-header { display: flex; justify-content: flex-end; position: sticky; top: 0; z-index: 2; padding: .5rem; background: #03203e; }
  .mobile-card-dialog-close { min-height: 44px; padding: .5rem 1rem; border: 1px solid var(--gold-light); border-radius: 8px; background: #03203e; color: #fff; font: inherit; }
  .mobile-card-dialog-image { width: 100%; height: auto; max-height: 40dvh; object-fit: contain; background: #fff; }
  .mobile-card-dialog-copy { padding: 1.25rem; }
  .mobile-card-dialog-copy h2 { margin: 0 0 1rem; font-size: 1.5rem; line-height: 1.25; }
  .mobile-card-dialog-copy p, .mobile-card-dialog-copy strong { display: block; margin: 0 0 1rem; font-size: 1rem; line-height: 1.55; }
  .mobile-card-dialog-copy a, .mobile-card-dialog-copy button { display: flex; align-items: center; min-height: 44px; margin-top: .75rem; color: #fff; text-decoration: underline; }
  .mobile-card-dialog-copy button { padding: .65rem 1rem; border: 1px solid var(--gold-light); border-radius: 8px; background: #03203e; font: inherit; cursor: pointer; }
  a:focus-visible, button:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 3px; }
  .mobile-card-dialog-copy { padding-bottom: max(1.25rem,env(safe-area-inset-bottom)); overflow-wrap: anywhere; }
  .journey-cinematic .journey-stage--support { grid-column: 1 / -1; aspect-ratio: 2 / 1; }
  .mobile-large-text .journey-cinematic .journey-stage--support { aspect-ratio: 1 / 1; }
  .mobile-large-text .journey-cinematic, .mobile-large-text .serve-market-grid,
  .mobile-large-text .serve-approach-grid, .mobile-large-text .capability-market-grid,
  .mobile-large-text .impact-path, .mobile-large-text .foundation-focus { grid-template-columns: minmax(0,1fr); }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
  }
}

/* Mobile optimization sprint. Desktop and tablet remain unchanged. */
@media (max-width: 767px) {
  .journey-cinematic, .serve-market-grid, .serve-approach-grid, .capability-market-grid { gap: .75rem; }
  .journey-stage-copy h3, .journey-cinematic .impact-feature--split .impact-feature-copy h3,
  .serve-approach h3, .market-card-content .serve-market-title h3,
  .vertical-card .serve-market-title h3, .capability-title h2 {
    font-size: 1rem; line-height: 1.25; text-wrap: balance;
  }
  .journey-stage-copy, .journey-stage--reverse .journey-stage-copy,
  .journey-cinematic .impact-feature--split .impact-feature-copy,
  .serve-approach article > div, .market-card-content, .capability-content {
    padding: 1.1rem .6rem .6rem;
  }
  .mobile-tile-prompt { font-size: .8125rem; min-height: 24px; line-height: 1.4; }
  .journey-stage--support .journey-stage-copy { max-width: 65%; }
  .journey-stage--support .journey-stage-media img { object-position: center 35%; }
  .journey-stage--listen .journey-stage-media img { object-position: 55% 30%; }
  .journey-stage--plan .journey-stage-media img { object-position: center 30%; }
  .market-card-visual img, .capability-image img { object-position: center 35%; }
  .cap-group-nav a { min-height: 72px; line-height: 1.3; }
  .statement .sheet-top { position: sticky; top: 0; z-index: 5; background: #03203e; color: #fff; }
  .statement .sheet-close { color: #fff; border-color: #a68433; }
  .impact-path article:last-child, .foundation-focus article:last-child { grid-column: 1 / -1; aspect-ratio: 2 / 1; }
  .mobile-large-text .journey-stage--support .journey-stage-copy { max-width: none; }
  .mobile-large-text .impact-path article:last-child, .mobile-large-text .foundation-focus article:last-child { aspect-ratio: auto; }
  .mobile-card-dialog { overscroll-behavior: contain; }
}
@media (max-width: 359px) {
  .journey-stage-copy h3, .journey-cinematic .impact-feature--split .impact-feature-copy h3,
  .market-card-content .serve-market-title h3, .capability-title h2 { font-size: .9375rem; }
  .hero h1 { font-size: 1.5rem; }
}

/* Blend mobile row photography into the established navy treatment. */
@media (max-width: 767px) {
  .hero .hero-arrival-background {
    -webkit-mask-image: linear-gradient(to bottom,#000 0%,#000 58%,transparent 100%);
    mask-image: linear-gradient(to bottom,#000 0%,#000 58%,transparent 100%);
  }
  .serve-hero .serve-hero-image { background: #03203e; overflow: hidden; }
  .serve-hero-image::after {
    content: ""; display: block; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(to bottom,rgba(3,32,62,.06) 30%,rgba(3,32,62,.25) 62%,#03203e 100%);
  }
  .impact-family {
    -webkit-mask-image: linear-gradient(to bottom,transparent 0%,#000 18%,#000 76%,transparent 100%);
    mask-image: linear-gradient(to bottom,transparent 0%,#000 18%,#000 76%,transparent 100%);
  }
  .journey-stage-media::after, .journey-stage--reverse .journey-stage-media::after,
  .market-card-visual::after {
    content: ""; display: block; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(to bottom,rgba(3,32,62,.02) 25%,rgba(3,32,62,.16) 58%,rgba(3,32,62,.65) 100%);
  }
  .journey-stage-copy, .journey-stage--reverse .journey-stage-copy,
  .journey-cinematic .impact-feature--split .impact-feature-copy,
  .serve-approach article > div, .market-card-content, .capability-content {
    padding-top: 1.8rem;
    background: linear-gradient(to bottom,transparent 0%,rgba(3,32,62,.72) 36%,rgba(3,32,62,.95) 76%,#03203e 100%);
  }
}

/* Restore the complete Impact story on phones. */
@media (max-width: 767px) {
  .impact-page .impact-mission-story,
  .impact-page .impact-proof,
  .impact-page .impact-testimonials,
  .impact-page .impact-foundation-support { display: block !important; }
  .impact-page .impact-mission-story,
  .impact-page .impact-proof,
  .impact-page .impact-testimonials,
  .impact-page .impact-foundation-support { padding: 2rem 1rem; }
  .impact-page .impact-mission-story { background: #fff; color: #03203e; }
  .impact-mission-copy h2, .impact-proof h2, .impact-testimonials > h2,
  .impact-foundation-support h2 { font-size: 1.8rem; line-height: 1.2; margin: 0 0 1rem; }
  .impact-mission-copy > p { color: #03203e; }
  .impact-mission-copy .eyebrow { color: #680f0e; }
  .mission-phrase { border-left: 3px solid #a68433; padding-left: .75rem; font-weight: 700; }
  .impact-mission-story figure { margin: 1.5rem -1rem -2rem; background: #03203e; }
  .impact-mission-story figure img { display: block; width: 100%; height: auto; }
  .impact-page .impact-russ-quote,
  .impact-page .impact-stephanie-quote { display: grid !important; grid-template-columns: 64px minmax(0,1fr); gap: .85rem; align-items: start; margin: 1.5rem 0; padding: 1rem; border: 1px solid #a68433; border-radius: 16px; background: #03203e; color: #fff; }
  .impact-russ-quote img, .impact-stephanie-quote img { width: 64px; height: 64px; object-fit: contain; border-radius: 10px; }
  .impact-russ-quote blockquote, .impact-stephanie-quote blockquote { margin: 0; font-size: 1rem; line-height: 1.5; font-style: italic; color: #fff; }
  .impact-russ-quote .eyebrow, .impact-stephanie-quote .eyebrow { color: var(--gold-text); font-size: .8125rem; letter-spacing: .02em; margin: 0 0 .75rem; ;font-weight:650;text-shadow:none;-webkit-text-fill-color:currentColor;}
  .impact-stephanie-quote div > p:last-child { margin: .75rem 0 0; color: #fff; }
  .impact-page .impact-proof { background: linear-gradient(150deg,#680f0e,#03203e 65%); color: #fff; }
  .impact-stat-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding: 1rem; margin: 1rem 0; border: 1px solid #a68433; border-radius: 16px; background: #03203e; }
  .impact-stat-source { grid-column: 1 / -1; }
  .impact-stat-source img { max-width: 180px; height: 48px; object-fit: contain; }
  .impact-stat-source p { margin: .5rem 0 0; }
  .impact-stat { display: flex; flex-direction: column; gap: .5rem; }
  .impact-stat strong { font-size: 1.8rem; color: #fff; }
  .impact-stat span { font-size: .9375rem; line-height: 1.4; }
  .impact-main .impact-stat-note { font-size: .875rem; }
  .impact-ripple { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #a68433; }
  .ripple-graphic { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin-top: 1.5rem; }
  .ripple-ring { display: none; }
  .ripple-family { grid-column: 1 / -1; width: 100%; max-height: 240px; object-fit: cover; border-radius: 16px; }
  .ripple-node { display: grid; gap: .4rem; padding: 1rem .75rem; border: 1px solid #a68433; border-radius: 16px; background: #03203e; }
  .ripple-node:last-child { grid-column: 1 / -1; }
  .ripple-node-icon svg { width: 32px; height: 32px; fill: none; stroke: #a68433; stroke-width: 1.6; }
  .ripple-node strong { font-size: 1rem; }
  .ripple-node > span:last-child { font-size: .9375rem; }
  .impact-page .impact-testimonials { background: #03203e; color: #fff; }
  .testimonial-feature { margin: 1.25rem 0; padding: 1rem; border: 1px solid #a68433; border-radius: 16px; }
  .testimonial-feature > img { width: 88px; height: 88px; object-fit: contain; border-radius: 50%; background: #fff; margin-bottom: 1rem; }
  .testimonial-feature blockquote { margin: 0 0 1rem; font-size: 1rem; line-height: 1.55; }
  .testimonial-feature a { display: inline-flex; align-items: center; min-height: 48px; text-decoration: underline; }
  .testimonial-cards { display: grid; grid-template-columns: 1fr; gap: 1rem; }
  .testimonial-cards img { display: block; width: 100%; height: auto; border: 1px solid #a68433; border-radius: 16px; }
  .impact-page .impact-foundation-support { background: #03203e; color: #fff; border-top: 1px solid #a68433; }
  .impact-foundation-support figure { margin: 0 0 1.5rem; }
  .impact-foundation-support figure img { width: 100%; height: auto; border-radius: 16px; }
  .impact-support-actions { display: grid; gap: .75rem; }
  .impact-support-actions a { display: flex; min-height: 48px; align-items: center; justify-content: center; }
  .impact-page .impact-closing { display: none; }
  .impact-page .impact-path p { display: block; margin: .6rem 0 0; font-size: .9375rem; line-height: 1.4; }
  .impact-page .impact-path article { aspect-ratio: auto; min-height: 190px; }
  .impact-page .impact-path article:last-child { min-height: 150px; }
  .impact-page .impact-path .mobile-tile-prompt { display: none; }
}
@media (max-width: 359px) {
  .impact-page .impact-russ-quote, .impact-page .impact-stephanie-quote { grid-template-columns: 1fr; }
}

/* Mobile Impact hero: photograph first, directly below the header. */
@media (max-width: 767px) {
  .impact-page .impact-opening { padding-top: 0; }
  .impact-page .impact-opening > .impact-family {
    order: -1;
    flex: none;
    align-self: center;
    margin: 0 0 1.25rem;
    height: clamp(180px, 28svh, 260px);
    aspect-ratio: auto;
    -webkit-mask-image: linear-gradient(to bottom,#000 0%,#000 65%,transparent 100%);
    mask-image: linear-gradient(to bottom,#000 0%,#000 65%,transparent 100%);
  }
  .impact-page .impact-opening > .impact-family img { object-position: center 30%; }
  .impact-page .impact-opening > .impact-family figcaption { display: none; }
}

/* Center text across the mobile Impact page. */
@media (max-width: 767px) {
  .impact-page .impact-main { text-align: center; }
  .impact-page .impact-main p,
  .impact-page .impact-main h1,
  .impact-page .impact-main h2,
  .impact-page .impact-main h3,
  .impact-page .impact-main blockquote,
  .impact-page .impact-main figcaption,
  .impact-page .impact-stat,
  .impact-page .foundation-focus article,
  .impact-page .impact-path article { text-align: center; }
  .impact-page .impact-path article,
  .impact-page .foundation-focus article { align-items: center; }
  .impact-page .impact-closing-actions { text-align: center; }
  .impact-page .impact-stat-source img { object-position: center; margin-inline: auto; }
  .impact-page .testimonial-feature > img { margin-inline: auto; }
  .impact-page .ripple-node { justify-items: center; }
  .impact-page .mission-phrase { padding-left: 0; border-left: 0; }
}

/* Center typography throughout phone pages and detail dialogs. */
@media (max-width: 767px) {
  body { text-align: center; }
  main :is(h1,h2,h3,h4,p,blockquote,figcaption,li,th,td),
  .hero-copy, .journey-stage-copy, .serve-hero-copy,
  .market-card-content, .capability-content, .cap-category-heading,
  .statement-brand > div, .statement-intro, .statement-body,
  .statement-table :is(th,td), .statement-contact,
  .mobile-card-dialog-copy, .hope-modal-copy,
  .mobile-menu a, footer { text-align: center; }
  .mobile-menu a { justify-content: center; }
  .hero-actions, .impact-feature-actions, .journey-cinematic .impact-feature-actions,
  .statement-contact, .cap-category-heading { align-items: center; }
  .hero .purpose-line, .serve-hero .serve-promise { padding-left: 0; border-left: 0; }
  .hero .promise, .promise { padding-left: 0; }
  .serve-market-title, .capability-title { justify-content: center; }
  .mobile-card-dialog-copy a, .mobile-card-dialog-copy button { justify-content: center; }
  .statement-brand > img { margin-inline: auto; }
}

/* Fit mobile text sections to their content. Preserve square image tiles. */
@media (max-width: 767px) {
  .hero { min-height: 0; }
  .hero-copy { flex: none; padding: 1rem 1rem 1.5rem; }
  .hero h1 { font-size: clamp(1.8rem,7.2vw,2.15rem); line-height: 1.15; }
  .hero .lede, .hero .purpose-line { font-size: 1.0625rem; line-height: 1.45; }
  .hero .promise { margin-bottom: 0; }
  .hero .promise strong { font-size: .9375rem; }
  .serve-hero { min-height: 0; }
  .serve-hero-copy { flex: none; padding: 1rem 1rem 1.5rem; }
  .serve-hero h1, .capability-hero h1 { font-size: clamp(2rem,8.2vw,2.5rem); }
  .journey-flywheel-copy { aspect-ratio: auto; min-height: 0; padding: 1.5rem 1.125rem; }
  .journey-flywheel-copy h2 { font-size: clamp(1.65rem,6.5vw,2.15rem); line-height: 1.2; }
  .journey-flywheel-copy > p:not(.journey-purpose-line) { font-size: 1.125rem; line-height: 1.5; margin-bottom: 0; }
  .serve-section-head h2, .capability-intro h2 { font-size: 1.95rem; }
  .serve-section-head > p, .capability-intro > p { font-size: 1.0625rem; line-height: 1.5; }
}

/* Give the mobile Impact hero button breathing room above the next row. */
@media (max-width: 767px) {
  .impact-page .impact-opening-copy { padding-bottom: 1.5rem; }
}

/* Cinematic mobile commerce to impact story. */
@media (max-width: 767px) {
  .impact-page .impact-connection {
    position: relative; isolation: isolate; overflow: hidden;
    padding: 2rem 1rem;
    background: linear-gradient(155deg,rgba(104,15,14,.92),rgba(3,32,62,.84) 58%,#03203e),url('assets/impact/story-connection.jpg') center / cover;
  }
  .impact-page .impact-connection::before {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: radial-gradient(ellipse at 50% 65%,rgba(166,132,51,.2),transparent 62%);
  }
  .impact-page .impact-section-head { margin-bottom: 1.5rem; }
  .impact-page .impact-section-head > .eyebrow { font-size: .75rem; letter-spacing: .08em; color: #fff; }
  .impact-page .impact-section-head h2 { font-size: clamp(1.65rem,6.6vw,2rem); line-height: 1.2; }
  .impact-page .impact-section-head > p:last-child { font-size: 1rem; line-height: 1.5; }
  .impact-page .impact-path { position: relative; gap: .8rem; }
  .impact-page .impact-path article {
    position: relative; overflow: hidden; display: flex; flex-direction: column;
    justify-content: flex-end; min-height: 260px; padding: 1rem .7rem;
    border: 1px solid #a68433; border-radius: 20px; color: #fff;
    background: linear-gradient(to bottom,rgba(3,32,62,.12),rgba(3,32,62,.92) 48%,#03203e),url('assets/journey/listen-modern.png') center / cover;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.32),0 12px 26px rgba(0,0,0,.24);
  }
  .impact-page .impact-path article:nth-child(2) {
    background-image: linear-gradient(to bottom,rgba(3,32,62,.12),rgba(3,32,62,.92) 48%,#03203e),url('assets/journey/plan-modern.png');
  }
  .impact-page .impact-path article:last-child {
    min-height: 230px; padding: 1.4rem;
    background-image: linear-gradient(to bottom,rgba(3,32,62,.08),rgba(3,32,62,.85) 42%,#03203e),url('assets/impact/family-hero-modern.png');
    background-position: center,center 38%;
  }
  .impact-page .impact-path article::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg,transparent,#a68433,transparent); }
  .impact-page .impact-path svg { width: 44px; height: 44px; flex: none; stroke: #a68433; margin-bottom: .75rem; filter: drop-shadow(0 2px 5px #03203e); }
  .impact-page .impact-path h3 { color: #fff; font-size: 1.125rem; line-height: 1.2; }
  .impact-page .impact-path p { color: #fff; font-size: .9375rem; line-height: 1.4; margin-top: .6rem; }
}

/* A clear visual equation for the mobile impact relationship. */
@media (max-width: 767px) {
  .impact-page .impact-connection { background: radial-gradient(ellipse at 50% 70%,rgba(166,132,51,.12),transparent 65%),#03203e; }
  .impact-page .impact-connection::before { display: none; }
  .impact-page .impact-section-head > p:last-child { display: none; }
  .impact-page .impact-path { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; }
  .impact-page .impact-path article,
  .impact-page .impact-path article:nth-child(2),
  .impact-page .impact-path article:last-child {
    overflow: visible; min-height: 0; aspect-ratio: auto; padding: 1.1rem 1rem;
    border: 1px solid rgba(166,132,51,.65); border-radius: 16px;
    background: linear-gradient(140deg,rgba(255,255,255,.07),rgba(255,255,255,.015));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12); justify-content: center;
  }
  .impact-page .impact-path article::before { display: none; }
  .impact-page .impact-path article + article { margin-top: 3rem; }
  .impact-page .impact-path article + article::before {
    display: grid; place-items: center; content: "+";
    position: absolute; inset: auto; bottom: calc(100% + .25rem); left: 0; right: 0;
    height: 2.5rem; color: var(--gold-text); background: none;
    font-size: 2.5rem; line-height: 1; font-weight: 500;
  ;font-weight:650;text-shadow:none;-webkit-text-fill-color:currentColor;}
  .impact-page .impact-path article:last-child::before { content: "="; }
  .impact-page .impact-path article:last-child { border-color: #a68433; background: linear-gradient(135deg,rgba(166,132,51,.2),rgba(166,132,51,.06)); }
  .impact-page .impact-path svg, .impact-page .impact-path p { display: none; }
  .impact-page .impact-path h3 { font-size: clamp(1.6rem,7vw,2rem); line-height: 1.2; margin: 0; text-transform: capitalize; }
  .impact-page .impact-path article:last-child h3 { color: var(--gold-text); ;font-weight:650;text-shadow:none;-webkit-text-fill-color:currentColor;}
}

/* Refine the approved mobile equation with a connected visual rhythm. */
@media (max-width: 767px) {
  .impact-page .impact-connection { padding: 1.75rem 1rem 2rem; background: radial-gradient(ellipse at 50% 95%,rgba(166,132,51,.17),transparent 65%),#03203e; }
  .impact-page .impact-section-head { margin-bottom: 1.25rem; }
  .impact-page .impact-section-head > .eyebrow { font-size: .7rem; letter-spacing: .09em; margin-bottom: .8rem; }
  .impact-page .impact-path article,
  .impact-page .impact-path article:nth-child(2),
  .impact-page .impact-path article:last-child {
    padding: 1.2rem .8rem; border-radius: 18px;
    border-color: rgba(166,132,51,.5);
    background: linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.025) 65%);
    box-shadow: inset 0 2px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.2),0 8px 22px rgba(0,0,0,.18);
  }
  .impact-page .impact-path h3 { font-size: clamp(1.45rem,6.3vw,1.85rem); font-weight: 700; letter-spacing: -.025em; }
  .impact-page .impact-path article + article { margin-top: 2.6rem; }
  .impact-page .impact-path article + article::before {
    width: 2rem; height: 2rem; left: 50%; right: auto; bottom: calc(100% + .3rem);
    transform: translateX(-50%); border: 1px solid #a68433; border-radius: 50%;
    background: #03203e; box-shadow: 0 0 18px rgba(166,132,51,.18);
    font-size: 1.6rem; line-height: 1; font-weight: 500;
  }
  .impact-page .impact-path article:last-child {
    border: 1px solid #a68433;
    background: linear-gradient(120deg,rgba(166,132,51,.25),rgba(166,132,51,.08));
    box-shadow: inset 0 2px 0 rgba(166,132,51,.6),0 12px 30px rgba(0,0,0,.22),0 0 26px rgba(166,132,51,.1);
  }
  .impact-page .impact-path article:last-child h3 { font-size: clamp(1.65rem,7.2vw,2.1rem); }
  .impact-page .impact-path article:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
}

/* Mobile impact equation: compact inputs and a photographic outcome. */
@media (max-width: 767px) {
  .impact-page .impact-connection {
    padding: 1.5rem 1rem;
    background: #03203e;
  }
  .impact-page .impact-connection .impact-section-head { margin-bottom: 1.25rem; }
  .impact-page .impact-connection .impact-section-head .eyebrow { font-size: .625rem; letter-spacing: .075em; margin-bottom: .75rem; }
  .impact-page .impact-connection .impact-section-head h2 { font-size: clamp(1.25rem,5.25vw,2rem); line-height: 1.3; }
  .impact-page .impact-connection .impact-path { grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 2rem; row-gap: 2.5rem; }
  .impact-page .impact-connection .impact-path article {
    margin: 0; padding: .7rem .1rem; min-width: 0;
    border: 0; border-radius: 0; background: none; box-shadow: none;
  }
  .impact-page .impact-connection .impact-path article h3 { font-size: clamp(.9rem,3.7vw,1.5rem); white-space: nowrap; letter-spacing: -.025em; }
  .impact-page .impact-connection .impact-path article svg {
    display: block; width: 32px; height: 32px; margin: 0 auto .6rem; stroke: #a68433; filter: none;
  }
  .impact-page .impact-connection .impact-path article + article::before {
    border: 0; border-radius: 0; background: none; box-shadow: none; transform: none;
    width: 2rem; height: 2rem; font-size: 1.8rem; color: #fff;
  }
  .impact-page .impact-connection .impact-path article:nth-child(2)::before {
    left: -2rem; right: auto; top: 50%; bottom: auto; transform: translateY(-50%);
  }
  .impact-page .impact-connection .impact-path article:last-child {
    grid-column: 1 / -1; aspect-ratio: 1 / 1; min-height: 0;
    justify-content: flex-end; padding: 1.25rem .8rem; border-radius: 18px;
    border: 1px solid #a68433;
    background: linear-gradient(180deg,rgba(3,32,62,0) 35%,rgba(3,32,62,.3) 55%,#03203e 100%),url('assets/impact/family-hero-modern.png') center 35% / cover;
    box-shadow: 0 14px 28px rgba(0,0,0,.22);
  }
  .impact-page .impact-connection .impact-path article:last-child::before {
    left: 50%; top: auto; bottom: calc(100% + .25rem); transform: translateX(-50%);
  }
  .impact-page .impact-connection .impact-path article:last-child svg { display: none; }
  .impact-page .impact-connection .impact-path article:last-child h3 {
    font-size: clamp(1.8rem,8.5vw,3rem); color: #fff; line-height: 1.1;
    text-shadow: 0 2px 12px #03203e;
  }
  .impact-page .impact-connection .impact-path article:last-child::after {
    content: 'Connection. Purpose. Opportunity.'; display: block;
    margin-top: .7rem; color: #fff; font-size: clamp(.75rem,3.3vw,1rem); line-height: 1.4;
  }
}

/* Approved cinematic artwork, exclusively for phones. */
@media (max-width: 767px) {
  .impact-page .impact-connection { padding: 0; background: #03203e; }
  .impact-page .impact-connection > .mobile-impact-approved { display: block; width: 100%; height: auto; margin: 0; border: 0; border-radius: 0; }
  .impact-page .impact-connection > .impact-section-head,
  .impact-page .impact-connection > .impact-path { display: none; }
}

/* Move the approved artwork into the first mobile picture without overlays. */
@media (max-width: 767px) {
  .impact-page .impact-opening > .impact-family {
    height: auto; aspect-ratio: 1122 / 1402;
    mask-image: none; -webkit-mask-image: none; opacity: 1; filter: none;
  }
  .impact-page .impact-opening > .impact-family picture { display: block; width: 100%; height: auto; }
  .impact-page .impact-opening > .impact-family img {
    display: block; width: 100%; height: auto; object-fit: contain;
    mask-image: none; -webkit-mask-image: none; opacity: 1; filter: none;
  }
  .impact-page .impact-opening > .impact-family::before,
  .impact-page .impact-opening > .impact-family::after { display: none; }
  .impact-page .impact-connection { display: none; }
}

/* Compact motto control and accessible native dialog on phones only. */
@media (max-width: 767px) {
  .site-header { grid-template-columns: minmax(0,1fr) 92px 44px; gap: .4rem; }
  .site-header .brand img { max-width: 100%; height: auto; }
  .site-header .menu-button { width: 44px; }
  .motto-button { display: grid; place-items: center; width: 92px; min-height: 48px; padding: 5px; border: 1px solid #a68433; border-radius: 8px; background: #03203e; cursor: pointer; }
  .motto-mark { position: relative; display: block; width: 100%; aspect-ratio: 2.07; overflow: hidden; }
  .motto-mark img { position: absolute; width: 117%; max-width: none; height: auto; left: -8%; top: -27%; }
  .motto-button:focus-visible, .motto-close:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
  .motto-dialog { box-sizing: border-box; width: calc(100% - 28px); max-width: 460px; max-height: calc(100dvh - 32px); margin: auto; padding: 0 20px 24px; overflow-y: auto; color: #fff; background: radial-gradient(ellipse at top,rgba(166,132,51,.16),transparent 60%),#03203e; border: 1px solid #a68433; border-radius: 20px; text-align: center; box-shadow: 0 24px 70px #0009; }
  .motto-dialog::backdrop { background: rgba(0,10,24,.8); backdrop-filter: blur(5px); }
  .motto-dialog form { position: sticky; top: 0; display: flex; justify-content: flex-end; margin: 0 -10px 8px; padding: 8px 0; background: #03203e; z-index: 1; }
  .motto-close { min-height: 44px; padding: 8px 12px; border: 1px solid #a68433; border-radius: 8px; background: #03203e; color: #fff; font: inherit; cursor: pointer; }
  .motto-dialog .eyebrow { font-size: .65rem; color: var(--gold-text); margin: 0 0 10px; ;font-weight:650;text-shadow:none;-webkit-text-fill-color:currentColor;}
  .motto-dialog h2 { font-size: clamp(1.35rem,6vw,1.9rem); line-height: 1.25; margin: 0 0 20px; white-space: nowrap; }
  .motto-dialog section { padding: 16px 0; border-top: 1px solid #a6843355; }
  .motto-dialog h3 { color: var(--gold-text); font-size: 1.2rem; margin: 0 0 8px; ;font-weight:650;text-shadow:none;-webkit-text-fill-color:currentColor;}
  .motto-dialog p { font-size: 1rem; line-height: 1.55; margin: 0; }
  .motto-dialog .motto-promise { padding-top: 12px; font-weight: 700; color: var(--gold-text); ;font-weight:650;text-shadow:none;-webkit-text-fill-color:currentColor;}
}

/* Mobile header: cinematic navy, unframed motto and company tagline. */
@media (max-width:767px) {
 .site-header {height:108px;grid-template-columns:minmax(0,1fr) 92px 44px;grid-template-rows:72px auto;gap:0 .4rem;padding:0 12px 8px;background:radial-gradient(ellipse at 30% 0%,#21577c99,transparent 65%),linear-gradient(125deg,#020c19 0%,#0a3153 52%,#031426 100%);box-shadow:0 6px 22px #0005,inset 0 1px #ffffff15;border-top:2px solid #a68433;border-bottom:1px solid #a68433;}
 .site-header .brand {padding:0;border:0;border-radius:0;background:none;box-shadow:none;}
 .site-header .brand img {width:178px;max-height:64px;object-fit:contain;}
 .site-header .motto-button {border:0;border-radius:0;background:none;box-shadow:none;padding:0;width:92px;min-height:48px;}
 .mobile-motto-words {display:flex;flex-direction:column;font-family:"Helvetica Neue",Arial,sans-serif;font-size:18px;font-weight:900;line-height:1.12;letter-spacing:-.7px;color:white;white-space:nowrap;}
 .mobile-motto-words strong {color:#d6b45b;background:linear-gradient(115deg,#f2df95,#d6b45b 45%,#ad8732);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:900;}
 .site-header .mobile-header-tagline {grid-column:1/-1;margin:0;text-align:center;color:#e8d496;font-size:clamp(10px,2.65vw,13px);font-weight:650;line-height:1.4;letter-spacing:0;}
 .mobile-menu {top:108px;max-height:calc(100dvh - 108px);background:#031b30;}
 html {scroll-padding-top:108px;}
 [id],#accountability,.cap-category,.impact-foundation {scroll-margin-top:124px;}
 .hero {padding-top:108px;}
 .serve-main,.capability-main,.impact-main {padding-top:108px;}
}

/* Match desktop motto artwork while keeping all changes phone-only. */
@media(max-width:767px){
 .site-header.site-header .brand{justify-self:start;justify-content:flex-start;margin:0;width:100%;text-align:left;}
 .site-header.site-header .brand img{margin:0;object-position:left center;}
 .site-header .motto-button{display:grid;place-items:center;padding:0;border:0;background:transparent;box-shadow:none;}
 .site-header .motto-mark{position:relative;display:block;width:100%;aspect-ratio:2.07;overflow:hidden;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4));}
 .site-header .motto-mark img{position:absolute;width:117%;max-width:none;height:auto;left:-8%;top:-27%;}
 .site-header .motto-mark::after{content:"";position:absolute;width:117%;aspect-ratio:2048 / 1365;left:-8%;top:-27%;pointer-events:none;background:#a68433;-webkit-mask:url('assets/be-great-do-great-original.png') center / 100% 100% no-repeat;mask:url('assets/be-great-do-great-original.png') center / 100% 100% no-repeat;clip-path:inset(50% 0 0);}
}

/* Reset legacy shared emblem and logo positioning only in the phone header. */
@media(max-width:767px){
 .site-header.site-header > .brand {transform:none;}
 .site-header .motto-button .motto-mark {height:auto;aspect-ratio:2.07;border:0;border-radius:0;background:none;box-shadow:none;grid-row:auto;}
}

@media(max-width:767px){
 .site-header .mobile-header-tagline{display:none;}
 .site-header{height:82px;grid-template-rows:72px;padding-bottom:6px;}
 .mobile-menu{top:82px;max-height:calc(100dvh - 82px);}
 html{scroll-padding-top:82px;}
 [id],#accountability,.cap-category,.impact-foundation{scroll-margin-top:98px;}
 .hero,.serve-main,.capability-main,.impact-main{padding-top:82px;}
}
