/* Brand book alignment / 2026-10-24. Loaded after legacy theme layers. */
:root {
  --graphite: #25282A; --green: #244D3C; --ivory: #F6F1E7;
  --brand-sage: #B9C9BD; --accent-light: #B9C9BD; --radius: 12px;
  --sans: Arial, Helvetica, sans-serif;
  --serif: Arial, Helvetica, sans-serif;
}
body { font-family: var(--sans); }
h1, h2, h3, body .svc-page h1, body .svc-page h2,
body .pilot-bio h1, body .pilot-bio .bio-block h2 { font-weight: 700; }
body .hero h1 em, .contact-section h2 em, .section-intro em,
.sim-intro h2 em, .preflight-intro h2 em, .about h2 em,
.industry-section h2 em, .faq h2 em { font-family: inherit; font-style: normal; font-weight: inherit; }
.hero h1 em { color: var(--brand-sage); }
.brand img.brand-logo { display: block; width: 196px; height: auto; max-width: 100%; }
.brand-contact-line { font: 400 .9rem/1.6 var(--sans); }
.site-footer .footer-main > p a { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: 4px; }
.privacy-page > .brand-contact-line { margin-top: 32px; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid var(--green); outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--ivory);
}
@media (max-width: 540px) {
  .brand img.brand-logo { width: 164px; }
  .site-header .nav-row { gap: 12px; }
}

/* Premium editorial refinement / 2026-10-24.
   Functional diagrams, device silhouettes and native selection indicators retain their purpose. */
:root { --radius: 4px; }
body { font-size: 17px; }
.site-header { background: var(--ivory); backdrop-filter: none; }
.eyebrow { font-size: .72rem; letter-spacing: .12em; }
.button, .button-small { border-radius: 2px; box-shadow: none; gap: 0; justify-content: center; transition: background-color 160ms ease, color 160ms ease; }
.button:hover, .button:active { transform: none; box-shadow: none; }
.text-link { gap: 0; border-bottom: 0; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.text-link:hover { text-decoration-thickness: 2px; }
.menu-toggle { border: 0; border-radius: 0; background: transparent; min-height: 44px; }
.hero { background: var(--graphite); }
.hero::before, .hero::after, .hero-flight-mark::before { content: none; }
.hero-copy .eyebrow { color: var(--brand-sage); }
.hero h1 { font-size: clamp(3.25rem, 6.1vw, 5rem); line-height: 1.06; letter-spacing: -.045em; }
.hero-description { line-height: 1.75; color: var(--ivory-muted); }
.hero-flight-mark { width: min(100%, 400px); margin: 0 auto; }
.hero-plane { width: 76%; transform: none; filter: none; }
.hero-route-line { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--brand-sage); opacity: .45; }
.hero-art { padding-block: 20px; }
.hero-actions .button, .hero-actions .button:hover { border-color: var(--ivory); background: var(--ivory); color: var(--graphite); }
.hero-actions .button:hover { background: var(--brand-sage); border-color: var(--brand-sage); }
.hero-actions .text-link { color: var(--ivory); }
.journey-visual { border: 0; border-radius: 0; padding: 24px 0; background: transparent; box-shadow: none; }
.flight-journey { background: var(--ivory); border-block: 1px solid var(--line); }
.journey-stages { gap: 20px; }
.journey-stages a { min-height: 96px; }
.journey-note { border-top: 1px solid var(--line); }
.solutions-grid { gap: 28px; }
.svc-card:not(.cc-module) { border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; padding: 26px 0; box-shadow: none; }
.svc-card:hover, .cc-module:hover { transform: none; box-shadow: none; }
.solutions-grid h3 a { text-decoration: none; }
.solutions-grid h3 a:hover { text-decoration: underline; text-underline-offset: 6px; }
.svc-tag, .cc-badge, .sim-badge { border: 0; border-radius: 0; background: transparent; padding: 0; box-shadow: none; }
.svc-tag { line-height: 1.6; }
.sim-badge { font-size: .8rem; letter-spacing: .02em; }
.sim-stage, .service-card, .service-card:last-of-type, .results-opportunities, .results-chart-wrap { border-top-style: solid; border-bottom-style: solid; }
.sim-choice, .sim-toggle button { border-width: 1px; border-radius: 3px; }
.sim-step { border-width: 1px; border-radius: 3px; min-height: 120px; }
.sim-steps[data-mode="current"] .sim-step { border-style: solid; }
.sim-detail, .assessment-card, .industry-choice, .ag-demo, .wf-demo, .pf-stage, .ag-mark { border-radius: 4px; }
.sim-section::before { opacity: .12; }
.service-chevron { border: 0; border-radius: 0; }
.service-panel { border-left-width: 1px; }
.assessment-promises { display: grid; gap: 8px; padding-left: 0; list-style: none; }
.assessment-promises li { padding-left: 0; }
.assessment-promises li::before { content: none; }
.industry-choice { min-height: 116px; padding: 20px; }
.industry-choice:has(input:checked) { background: var(--ivory); border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.results-opportunities ol::before { content: none; }
.results-opportunities li { padding-left: 42px; }
.results-opportunities li::before { border-radius: 0; width: 28px; height: 28px; background: transparent; color: var(--green); border-top: 1px solid var(--green); }
.results-workflow { border-left-width: 1px; }
.svc-example { border: 0; border-left: 1px solid var(--green); border-radius: 0; background: transparent; padding: 8px 0 8px 24px; }
.svc-steps li { border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.svc-note, .pf-disclaimer { border-left-width: 1px; }
.cc-hero { background: var(--graphite); border: 0; border-radius: 4px; }
.cc-hero-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr); gap: 64px; align-items: center; }
body .svc-page .cc-hero h1 { max-width: none; font-size: clamp(2.25rem, 4.3vw, 3.4rem); line-height: 1.1; }
.cc-hero .lead { font-size: 1.05rem; color: var(--ivory-muted); }
.cc-hero .button { background: var(--ivory); color: var(--graphite); border-color: var(--ivory); }
.services-directory { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding-block: 24px; }
.services-directory a { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 24px 0; border-top: 1px solid var(--line-dark); color: var(--ivory); text-decoration: none; }
.services-directory a:last-child { border-bottom: 1px solid var(--line-dark); }
.services-directory span { color: var(--brand-sage); font-size: .75rem; letter-spacing: .08em; }
.services-directory strong { font-size: clamp(1.1rem, 1.8vw, 1.45rem); font-weight: 400; }
.services-directory a:hover strong { text-decoration: underline; text-underline-offset: 6px; }
.cc-modules { gap: 28px; }
.svc-card.cc-module { background: transparent; color: var(--graphite); padding: 26px 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.svc-card.cc-module h3 { color: var(--graphite); }
.svc-card.cc-module p { color: var(--ink-muted); }
.svc-card.cc-module a { color: var(--green); }
.svc-card.cc-module .svc-kicker { color: var(--green); }
.cc-flow li { border-radius: 3px; }
.cc-flow li + li::before { content: none; }
.pf-seg { border: 0; border-bottom: 1px solid var(--line-dark); border-radius: 0; padding: 0; gap: 4px; }
.pf-seg button { border-radius: 2px; min-height: 44px; padding: 10px 12px; }
.pf-url { border-radius: 0; background: transparent; padding-inline: 4px; }
.ag-q, .wf-controls button { border-radius: 2px; border-width: 1px; }
.ag-flow li { border-radius: 3px; }
.wf-marker { filter: none; }
.about .about-visual .eyebrow, .about-data dt { color: var(--brand-sage); }
.about-frame, .about-visual, .bio-card, .bio-portrait { border-radius: 4px; box-shadow: none; }
.about .about-visual { background: transparent; border: 0; padding: 0; color: var(--graphite); }
.about-frame { padding-top: 0; }
.about-visual .about-headshot { border: 0; }
.about .about-visual .eyebrow, .about .about-data dt { color: var(--green); }
.about .about-data { border-top-style: solid; border-top-color: var(--line); }
.about .about-data dd { color: var(--graphite); }
.pilot-bio .bio-statement { border-left-width: 1px; }
.pilot-bio .bio-card { border: 0; background: transparent; padding-inline: 0; }
.pilot-bio .bio-card div { border-top-style: solid; }
.pilot-bio .ratings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.pilot-bio .ratings li { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; padding: 12px 0; }
.contact-section::before, .contact-section::after { content: none; }
@media (max-width: 860px) {
  .cc-hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .services-directory { padding-block: 0; }
  .services-directory a { padding-block: 18px; }
}
@media (max-width: 540px) {
  .hero { padding-block: 48px; }
  .hero-inner.container { gap: 28px; }
  .hero h1 { font-size: clamp(2.2rem, 10.7vw, 3.5rem); }
  .hero-art { padding-block: 0; }
  .hero-flight-mark { width: min(75%, 240px); }
  .hero-actions { gap: 22px; }
  .hero-actions .button { min-height: 50px; padding-inline: 22px; }
  .solutions-grid { gap: 0; }
  .journey-stages { grid-template-columns: 1fr; gap: 0; }
  .journey-stages a { min-height: 80px; }
}


/* Restored signature hero: approved logo in a restrained orbital scene. */
.hero-flight-mark.is-rendered .hero-route-line { visibility: hidden; }
@media (max-width: 540px) {
  .hero-flight-mark { width: min(88%, 300px); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-flight-mark.is-rendered .hero-route-line { visibility: visible; }
}


/* Restored services connection diagram, with a lightweight SVG fallback. */
.cc-scope { border-radius: 4px; border-color: #466457; }
.cc-node { border-radius: 3px; }
.cc-node-hub { border-radius: 50%; }
.cc-connections { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; color: var(--brand-sage); }
.cc-scope.gpu-on .cc-connections { visibility: hidden; }
.cc-connection-lines, .cc-connection-rings { stroke: currentColor; stroke-width: .3; opacity: .45; }
.cc-connection-ties { opacity: .3; }
.cc-connection-pulses { stroke: var(--ivory); stroke-width: .65; stroke-dasharray: 7 93; }
.cc-connection-pulses path { animation: cc-connection-travel 4.5s linear infinite; }
.cc-connection-pulses path:nth-child(2) { animation-delay: -1.5s; }
.cc-connection-pulses path:nth-child(3) { animation-delay: -3s; }
@keyframes cc-connection-travel { to { stroke-dashoffset: -100; } }
@media (max-width: 540px) {
  .cc-scope { aspect-ratio: 1; min-height: 300px; }
  .cc-node:not(.cc-node-hub) { padding-inline: 6px; }
  .cc-scope figcaption { font-size: .55rem; letter-spacing: .06em; }
}
@media (prefers-reduced-motion: reduce) {
  .cc-connection-pulses path { animation: none; }
}

/* Typography, simulator balance and the connected-service flight / 2026-10-24. */
:root {
  --type-body: 1.0625rem;
  --type-small: .875rem;
  --type-label: .8125rem;
  --type-section: clamp(1.75rem, 1.25rem + 1.6vw, 2.75rem);
}
body { font-size: var(--type-body); line-height: 1.7; }
body :is(h1, h2, h3) { overflow-wrap: break-word; }
body main h2:not(.pf-site h2), body .pilot-bio .bio-block h2 {
  font-size: var(--type-section); line-height: 1.18; letter-spacing: -.035em;
}
body .hero h1 { line-height: 1.08; }
body .svc-page h1 {
  font-size: clamp(2rem, 1.5rem + 2.7vw, 3.8rem); line-height: 1.12;
}
body .svc-page .cc-hero h1 { font-size: clamp(2rem, 1.35rem + 2.5vw, 3.4rem); line-height: 1.12; }
body .pilot-bio h1 { font-size: clamp(2.25rem, 1.5rem + 3vw, 4rem); line-height: 1.12; }
body :is(.privacy-page, .not-found) h1 { font-size: clamp(2.25rem, 1.5rem + 3vw, 3.5rem); line-height: 1.12; }
body main.privacy-page h2:not(.pf-site h2) { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1.25; }
body :is(.svc-page h3, .solutions-grid h3):not(.pf-site *) { font-size: 1.25rem; line-height: 1.35; }
body :is(.svc-block > p, .svc-card p, .svc-list li, .pilot-bio .bio-block p,
  .pilot-bio .outcomes li, .privacy-page p:not(.eyebrow), .privacy-page li,
  .approach-copy > p:not(.lead), .sim-detail #sim-detail-text) {
  font-size: var(--type-body); line-height: 1.75;
}
body :is(.svc-hero .lead, .cc-hero .lead) { font-size: clamp(1.0625rem, 1rem + .25vw, 1.1875rem); line-height: 1.7; }
body .eyebrow, body .privacy-page p.eyebrow, body .industry-section .eyebrow {
  font-size: var(--type-label); line-height: 1.55; letter-spacing: .1em;
}
body :is(.button, .text-link) { font-size: .9375rem; line-height: 1.5; }
body .site-header nav > a:not(.button) { font-size: .9375rem; line-height: 1.5; }
body .menu-toggle, body .assessment-next.button { font-size: .9375rem; line-height: 1.5; }
body :is(input, select, textarea) { font-size: 1rem; line-height: 1.5; }
body :is(.sim-label, .sim-detail-kind, .sim-badge, .sim-step small,
  .journey-stages small, .assessment-label, .assessment-privacy-note,
  .industry-choice, .industry-choice small, .service-note, .svc-tag,
  .svc-crumbs, .svc-table caption, .ag-note, .pf-disclaimer,
  .pf-seg button, .pf-url, .pf-caption, .wf-detail dt, .ag-flow span,
  .about-data dt, .pilot-bio .bio-card dt, .pilot-bio .bio-card dd,
  .briefing-label, .service-panel dt, .form-note, .optional-label,
  .assessment-progress-heading, .assessment-sharing-choice small,
  .journey-caption, .assessment-promises li, .industry-tabs button, .contact-note,
  .pf-info dt, .contact-section > .container > p:last-child,
  .assessment-hint, .results-workload-inputs, .priority-method, .human-review-note,
  .chart-assumption, .results-disclaimer, .results-workflow li,
  .chart-data-wrap :is(caption, th, td)) {
  font-size: var(--type-small); line-height: 1.55;
}
body .pilot-bio .ratings li { font-size: 1rem; line-height: 1.6; }
body .industry-choice strong { font-size: 1rem; line-height: 1.45; }
#contact-dialog h2 { font-size: clamp(2rem, 1.5rem + 1.5vw, 2.5rem); line-height: 1.2; }
#contact-dialog .eyebrow { font-size: var(--type-label); line-height: 1.55; }
#contact-dialog label { font-size: 1rem; line-height: 1.5; }
#contact-dialog :is(input, select, textarea) { font-size: 1rem; line-height: 1.5; }
#contact-dialog :is(.form-note, .delivery-unavailable, .form-status) { font-size: var(--type-small); line-height: 1.55; }
#contact-dialog #copy-email { font-size: var(--type-small); min-height: 44px; }
body .site-footer { font-size: var(--type-small); line-height: 1.6; }
body .site-footer :is(p, a, .footer-bottom) { font-size: var(--type-small); line-height: 1.6; }
body .svc-table thead th, body .svc-table td[data-label]::before { font-size: var(--type-label); line-height: 1.5; }
body .cc-node small { font-size: .75rem; line-height: 1.4; letter-spacing: .04em; }
body .cc-node b { font-size: .9375rem; line-height: 1.3; }
body .cc-node-hub { width: clamp(104px, 27%, 120px); }
body .cc-node-hub b { font-size: .8125rem; }
body .cc-node-hub small { font-size: .75rem; letter-spacing: 0; }
.cc-scope { aspect-ratio: auto; min-height: 0; }
.cc-scope-stage { position: relative; aspect-ratio: 16 / 12.5; overflow: hidden; }
body .cc-scope figcaption {
  position: static; padding: 12px 16px; border-top: 1px solid #466457;
  font: 400 var(--type-small)/1.55 var(--sans); letter-spacing: 0; text-transform: none;
}

/* Three equal tile columns: one business-type column, two challenge columns. */
.sim-controls { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 24px; }
.sim-group { min-width: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); }
.sim-group:last-child { grid-column: span 2; }
.sim-options { display: grid; grid-auto-rows: 1fr; gap: 24px; min-width: 0; }
.sim-group:last-child .sim-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sim-choice {
  width: 100%; height: 100%; min-height: 72px; padding: 12px;
  display: flex; align-items: center; justify-content: center; text-align: center;
  font-size: 1rem; line-height: 1.45; white-space: normal; overflow-wrap: break-word;
}
.sim-label { margin-bottom: 12px; }
@media (max-width: 860px) {
  .sim-controls { grid-template-columns: minmax(0, 1fr); }
  .sim-group:last-child { grid-column: auto; }
  .sim-group .sim-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 540px) {
  .industry-choices { grid-template-columns: minmax(0, 1fr); }
  .cc-scope-stage { aspect-ratio: 1; min-height: 300px; }
  .cc-node:not(.cc-node-hub) { padding: 6px; }
  body .cc-node b { font-size: .875rem; }
  .sim-step { padding: 14px; }
}

/* Scroll follows the real card positions: across on desktop, down on mobile. */
.cc-flight { position: relative; margin-top: 24px; }
.cc-flight .cc-flow { margin-top: 0; }
.cc-flight .cc-flow li {
  padding: 52px 20px 20px; font-size: 1rem; line-height: 1.6;
  background: linear-gradient(90deg, rgba(185, 201, 189, .18) var(--flight-fill, 0%), transparent 0), #14261d;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
.cc-flight .cc-flow small { font-size: var(--type-label); line-height: 1.5; letter-spacing: .06em; }
.cc-flight .cc-flow li.is-flight-active { border-color: var(--brand-sage); box-shadow: inset 0 2px var(--brand-sage); }
.cc-flight .cc-flow li.is-flight-passed { border-color: #628370; }
.cc-flight-plane { position: absolute; left: 0; top: 0; width: 30px; height: 26px; pointer-events: none; z-index: 2; opacity: 0; }
.cc-flight.is-flight-ready .cc-flight-plane { opacity: 1; }
@media (max-width: 900px) {
  .cc-flight .cc-flow li { padding: 20px 20px 20px 60px; }
}
@media (prefers-reduced-motion: reduce) {
  .cc-flight-plane { display: none; }
  .cc-flight .cc-flow li { transition: none; }
}

/* Dimensional simulator choices / 2026-10-24. */
.sim-section :is(.sim-choice, .sim-toggle button, .sim-step) {
  position: relative;
  isolation: isolate;
  border: 1px solid #71877b;
  border-radius: 6px;
  background: linear-gradient(155deg, #35463d 0%, #25332c 55%, #1c2721 100%);
  color: var(--ivory);
  box-shadow: inset 0 1px 0 rgba(246, 241, 231, .12), 0 4px 0 -1px #131d17, 0 12px 22px -14px rgba(0, 0, 0, .8);
  font-weight: 700;
  transition: transform 220ms cubic-bezier(.2,.75,.25,1), box-shadow 220ms ease, border-color 180ms ease;
}
.sim-section :is(.sim-choice, .sim-toggle button, .sim-step)::before {
  content: "";
  position: absolute;
  left: 14px; right: 14px; top: -1px; height: 2px;
  background: linear-gradient(90deg, transparent, var(--brand-sage), transparent);
  opacity: .4;
  pointer-events: none;
  transition: opacity 180ms ease;
}
.sim-section :is(.sim-choice, .sim-toggle button, .sim-step)[aria-pressed="true"] {
  border-color: #ecf5e9;
  background: linear-gradient(135deg, #fffaf0 0%, #f0f3e8 48%, #d6e4d5 100%);
  color: var(--graphite);
  transform: translateY(-2px);
  box-shadow: inset 3px 0 0 var(--green), inset 0 1px 0 #fffdf7,
    0 0 0 2px rgba(185, 201, 189, .36), 0 0 22px rgba(185, 201, 189, .3),
    0 12px 26px -12px rgba(0, 0, 0, .7);
  animation: sim-choice-confirm 560ms cubic-bezier(.2,.75,.25,1);
}
.sim-section :is(.sim-choice, .sim-toggle button, .sim-step)[aria-pressed="true"]::before {
  background: linear-gradient(90deg, transparent, #ffffff, transparent);
  opacity: 1;
}
.sim-section .sim-step[aria-pressed="true"] :is(.sim-step-number, small) { color: var(--green); }
.sim-section .sim-step strong { font-weight: 700; }
.sim-section :is(.sim-choice, .sim-toggle button, .sim-step):focus-visible {
  outline: 3px solid var(--brand-sage);
  outline-offset: 5px;
}
@media (hover: hover) and (pointer: fine) {
  .sim-section :is(.sim-choice, .sim-toggle button, .sim-step):hover {
    transform: translateY(-4px);
    border-color: var(--ivory);
    box-shadow: inset 0 1px 0 rgba(246, 241, 231, .2), 0 6px 0 -2px #131d17,
      0 16px 28px -12px rgba(0, 0, 0, .65), 0 0 18px rgba(185, 201, 189, .12);
  }
  .sim-section :is(.sim-choice, .sim-toggle button, .sim-step):hover::before { opacity: 1; }
  .sim-section :is(.sim-choice, .sim-toggle button, .sim-step)[aria-pressed="true"]:hover {
    box-shadow: inset 3px 0 0 var(--green), inset 0 1px 0 #fffdf7,
      0 0 0 2px rgba(185, 201, 189, .48), 0 0 28px rgba(185, 201, 189, .4),
      0 16px 30px -12px rgba(0, 0, 0, .7);
  }
}
.sim-section :is(.sim-choice, .sim-toggle button, .sim-step):active {
  transform: translateY(1px);
}
@keyframes sim-choice-confirm {
  0% { transform: translateY(1px) scale(.985); }
  55% { transform: translateY(-3px) scale(1.012); }
  100% { transform: translateY(-2px) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .sim-section :is(.sim-choice, .sim-toggle button, .sim-step) {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* Pre-Flight choices share the simulator's dimensional selection language. */
.preflight-section .preflight-intro > p:not(.eyebrow):not(.assessment-disclaimer) { color: var(--ivory-muted); }
.preflight-section .industry-choices { grid-auto-rows: 1fr; }
.preflight-section .industry-choice,
#preflight-form :is(select, input[type="number"]),
#preflight-form .assessment-controls .button {
  position: relative;
  border: 1px solid #71877b;
  border-radius: 6px;
  background: linear-gradient(155deg, #35463d 0%, #25332c 55%, #1c2721 100%);
  color: var(--ivory);
  box-shadow: inset 0 1px 0 rgba(246, 241, 231, .12), 0 4px 0 -1px #131d17,
    0 12px 22px -14px rgba(0, 0, 0, .55);
  font-weight: 700;
  transition: transform 220ms cubic-bezier(.2,.75,.25,1), box-shadow 220ms ease, border-color 180ms ease;
}
.preflight-section .industry-choice { min-width: 0; min-height: 136px; padding: 22px; isolation: isolate; }
.preflight-section .industry-choice::before {
  content: "";
  position: absolute; left: 14px; right: 14px; top: -1px; height: 2px;
  background: linear-gradient(90deg, transparent, var(--brand-sage), transparent);
  opacity: .6; pointer-events: none;
}
.preflight-section .industry-choice strong { color: var(--ivory); padding-right: 24px; font-weight: 700; }
.preflight-section .industry-choice small { color: #d2ded4; }
.preflight-section .industry-choice > input { width: 20px; height: 20px; accent-color: var(--brand-sage); color-scheme: dark; }
.preflight-section .industry-choice:has(input:checked),
#preflight-form select:has(option:checked:not([value=""])) {
  border-color: var(--green);
  background: linear-gradient(135deg, #fffaf0 0%, #f0f3e8 48%, #d6e4d5 100%);
  color: var(--graphite);
  box-shadow: inset 3px 0 0 var(--green), inset 0 1px 0 #fffdf7,
    0 0 0 2px rgba(36, 77, 60, .22), 0 0 22px rgba(93, 132, 103, .3),
    0 12px 26px -12px rgba(0, 0, 0, .3);
}
.preflight-section .industry-choice:has(input:checked) {
  transform: translateY(-2px);
  animation: sim-choice-confirm 560ms cubic-bezier(.2,.75,.25,1);
}
.preflight-section .industry-choice:has(input:checked)::before { background: linear-gradient(90deg, transparent, #ffffff, transparent); opacity: 1; }
.preflight-section .industry-choice:has(input:checked) strong { color: var(--graphite); }
.preflight-section .industry-choice:has(input:checked) small { color: var(--green); }
.preflight-section .industry-choice:has(input:checked) > input { accent-color: var(--green); color-scheme: light; }
.preflight-section .industry-choice:focus-within { outline: none; }
.preflight-section .industry-choice:has(input:focus-visible) { outline: 3px solid var(--green); outline-offset: 5px; }
.preflight-section .industry-choice input:focus { outline: none; box-shadow: none; }
#preflight-form :is(select, input[type="number"]) {
  width: 100%; min-height: 56px; padding: 14px 16px;
  font-size: 1rem; line-height: 1.5; color-scheme: dark;
}
#preflight-form select:has(option:checked:not([value=""])) { color-scheme: light; animation: preflight-value-confirm 440ms ease-out; }
#preflight-form select option { background: var(--ivory); color: var(--graphite); }
#preflight-form :is(select, input[type="number"]):focus-visible {
  outline: 3px solid var(--green); outline-offset: 4px;
}
#preflight-form input[type="number"]:focus {
  background: linear-gradient(135deg, #fffaf0, #d6e4d5); color: var(--graphite); color-scheme: light;
  box-shadow: inset 3px 0 0 var(--green), 0 0 0 2px rgba(36, 77, 60, .22), 0 0 22px rgba(93, 132, 103, .3);
}
#preflight-form .assessment-controls .button { min-height: 52px; }
@media (hover: hover) and (pointer: fine) {
  .preflight-section .industry-choice:hover {
    transform: translateY(-4px); border-color: var(--green);
    box-shadow: inset 0 1px 0 rgba(246, 241, 231, .2), 0 6px 0 -2px #131d17,
      0 16px 28px -12px rgba(0, 0, 0, .4), 0 0 18px rgba(93, 132, 103, .2);
  }
  .preflight-section .industry-choice:has(input:checked):hover {
    box-shadow: inset 3px 0 0 var(--green), inset 0 1px 0 #fffdf7,
      0 0 0 2px rgba(36, 77, 60, .3), 0 0 28px rgba(93, 132, 103, .4),
      0 16px 30px -12px rgba(0, 0, 0, .35);
  }
  #preflight-form .assessment-controls .button:hover { transform: translateY(-2px); border-color: var(--green); box-shadow: 0 10px 24px -12px rgba(36, 77, 60, .6); }
  #preflight-form :is(select, input[type="number"]):hover { border-color: var(--green); }
}
.preflight-section .industry-choice:active, #preflight-form .assessment-controls .button:active { transform: translateY(1px); }
@keyframes preflight-value-confirm {
  0% { box-shadow: inset 3px 0 0 var(--green), 0 0 0 4px rgba(36, 77, 60, .28), 0 0 30px rgba(93, 132, 103, .4); }
}
@media (prefers-reduced-motion: reduce) {
  .preflight-section .industry-choice, #preflight-form :is(select, input[type="number"]),
  #preflight-form .assessment-controls .button {
    animation: none !important; transition: none !important; transform: none !important;
  }
}

/* Sitewide dimensional surfaces / 2026-10-24. */
:root {
  --surface-raised: linear-gradient(155deg, #35463d 0%, #25332c 55%, #1c2721 100%);
  --surface-chosen: linear-gradient(135deg, #fffaf0 0%, #f0f3e8 48%, #d6e4d5 100%);
  --surface-edge: #71877b;
  --surface-shadow: inset 0 1px 0 rgba(246,241,231,.12), 0 4px 0 -1px #131d17, 0 12px 22px -14px rgba(0,0,0,.55);
  --surface-glow: inset 3px 0 0 #244d3c, inset 0 1px 0 #fffdf7, 0 0 0 2px rgba(36,77,60,.22), 0 0 22px rgba(93,132,103,.3), 0 12px 26px -12px rgba(0,0,0,.3);
  --surface-glow-dark: inset 3px 0 0 #244d3c, inset 0 1px 0 #fffdf7, 0 0 0 2px rgba(185,201,189,.36), 0 0 22px rgba(185,201,189,.3), 0 12px 26px -12px rgba(0,0,0,.7);
}

/* Calls to action share one surface, with an ivory variant on dark sections. */
body :is(a, button).button:not(.pf-site *) {
  border: 1px solid var(--button-edge, var(--surface-edge)); border-radius: 6px;
  background: var(--button-surface, var(--surface-raised)); color: var(--button-ink, var(--ivory));
  box-shadow: var(--button-depth, var(--surface-shadow));
  font-weight: 700; min-height: 48px; text-align: center; white-space: normal;
  transition: transform 220ms cubic-bezier(.2,.75,.25,1), box-shadow 220ms ease, border-color 180ms ease;
}
body :is(.hero, .contact-section, .cc-hero, .svc-cta, .sim-section) .button {
  --button-surface: var(--surface-chosen); --button-ink: var(--graphite); --button-edge: #ecf5e9;
  --button-depth: inset 0 1px 0 #fffdf7, 0 4px 0 -1px #16251b, 0 0 18px rgba(185,201,189,.15), 0 12px 22px -14px rgba(0,0,0,.65);
}
body .button.button-secondary { --button-surface: var(--surface-chosen); --button-ink: var(--green); --button-edge: var(--green); }
body .button.button-small { min-height: 44px; }
body .text-link:not(.pf-site *) { font-weight: 700; }
body button.text-link:not(.pf-site *) {
  min-height: 44px; padding: 9px 14px; border: 1px solid #809586; border-radius: 6px;
  background: var(--surface-chosen); color: var(--green); box-shadow: 0 3px 0 -1px #a7b5aa;
  line-height: 1.5; text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
body :is(a,button).button:not(.pf-site *):focus-visible {
  outline: 3px solid var(--brand-sage); outline-offset: 5px;
}
body :is(a,button).button:not(.pf-site *):disabled {
  opacity: .5; cursor: not-allowed; transform: none; animation: none;
  box-shadow: inset 0 1px 0 rgba(246,241,231,.1);
}

/* Service summaries and expandable delivery cards. */
body :is(.svc-card, .service-card) {
  position: relative; isolation: isolate; min-width: 0;
  padding: clamp(20px, 2.5vw, 28px); border: 1px solid var(--surface-edge); border-radius: 6px;
  background: var(--surface-raised); color: var(--ivory); box-shadow: var(--surface-shadow);
  transition: transform 220ms cubic-bezier(.2,.75,.25,1), box-shadow 220ms ease, border-color 180ms ease;
}
body .svc-card.cc-module { padding: clamp(20px, 2.5vw, 28px); border: 1px solid var(--surface-edge); border-radius: 6px; background: var(--surface-raised); color: var(--ivory); box-shadow: var(--surface-shadow); }
body .service-card { margin-block: 20px; }
body :is(.svc-card, .service-card)::before {
  content: ""; position: absolute; left: 16px; right: 16px; top: -1px; height: 2px;
  background: linear-gradient(90deg, transparent, var(--brand-sage), transparent); opacity: .6; pointer-events: none;
}
body .svc-card h3, body .svc-card.cc-module h3, body .svc-card a, body .svc-card.cc-module a { color: var(--ivory); }
body .svc-card p, body .svc-card.cc-module p { color: var(--ivory-muted); }
body .svc-card .svc-kicker, body .svc-card.cc-module .svc-kicker { color: var(--brand-sage); font-size: .8125rem; }
body .svc-card .text-link { text-underline-offset: 5px; }
body .svc-card .text-link + .text-link { margin-top: 0; }
body .svc-card:focus-within { border-color: var(--brand-sage); box-shadow: var(--surface-shadow), 0 0 20px rgba(93,132,103,.25); }
body .svc-card a:focus-visible { outline-color: var(--brand-sage); box-shadow: none; }
body .service-card .service-toggle, body .service-card .service-name,
body .service-card .service-toggle:hover .service-name { color: var(--ivory); }
body .service-card .service-name { font-weight: 700; }
body .service-card .service-index { color: var(--brand-sage); }
body .service-card .service-summary { color: var(--ivory-muted); }
body .service-card .service-chevron::before, body .service-card .service-chevron::after { background: var(--brand-sage); }
body .service-card:has(.service-toggle[aria-expanded="true"]), body .svc-card.is-here {
  background: var(--surface-chosen); color: var(--graphite); border-color: var(--green);
  box-shadow: var(--surface-glow); transform: translateY(-2px);
}
body .service-card:has(.service-toggle[aria-expanded="true"]) :is(.service-toggle, .service-name),
body .svc-card.is-here :is(h3, a) { color: var(--graphite); }
body .service-card:has(.service-toggle[aria-expanded="true"]) .service-index,
body .svc-card.is-here .svc-kicker { color: var(--green); }
body .service-card:has(.service-toggle[aria-expanded="true"]) .service-summary,
body .svc-card.is-here p { color: var(--ink-muted); }
body .service-card:has(.service-toggle[aria-expanded="true"]) .service-toggle:hover .service-name { color: var(--green); }
body .service-card:has(.service-toggle[aria-expanded="true"]) .service-chevron::before,
body .service-card:has(.service-toggle[aria-expanded="true"]) .service-chevron::after { background: var(--green); }
body .service-card .service-panel { padding: 18px 0 0 20px; border-color: var(--green); background: transparent; }
body .service-card .service-toggle:focus-visible { outline-color: var(--brand-sage); box-shadow: none; }
body .service-card:has(.service-toggle[aria-expanded="true"]) .service-toggle:focus-visible { outline-color: var(--green); }

/* The existing active/pressed semantics drive the same choice glow everywhere. */
body :is(.industry-tabs button, .ag-q, .wf-controls button, .pf-seg button, .journey-stages a) {
  border: 1px solid var(--surface-edge); border-radius: 6px;
  background: var(--surface-raised); color: var(--ivory); box-shadow: var(--surface-shadow);
  font-weight: 700; line-height: 1.5; min-height: 44px; padding: 10px 14px;
  transition: transform 220ms cubic-bezier(.2,.75,.25,1), box-shadow 220ms ease, border-color 180ms ease;
}
body :is(.industry-tabs button, .ag-q, .wf-controls button, .pf-seg button)[aria-pressed="true"],
body .industry-tabs button[aria-selected="true"], body .journey-stages a[aria-current="step"] {
  background: var(--surface-chosen); color: var(--graphite); border-color: var(--green);
  box-shadow: var(--surface-glow); transform: translateY(-2px);
}
body :is(.wf-controls button, .pf-seg button)[aria-pressed="true"] { box-shadow: var(--surface-glow-dark); border-color: #ecf5e9; }
body .pf-seg { padding: 0; gap: 10px; border: 0; }
body .pf-seg button { font-size: .875rem; }
body .journey-stages li { border: 0; }
body .journey-stages a { min-height: 100px; padding: 18px; text-decoration: none; }
body .journey-stages a > :is(span, small) { color: var(--brand-sage); }
body .journey-stages a[aria-current="step"] > :is(span, small) { color: var(--green); }
body :is(.industry-tabs button, .ag-q, .wf-controls button, .pf-seg button, .journey-stages a):focus-visible {
  outline: 3px solid var(--brand-sage); outline-offset: 5px;
}
body a.cc-node:not(.cc-node-hub) { background: var(--surface-raised); border-color: var(--surface-edge); box-shadow: var(--surface-shadow); }
body :is(.menu-toggle, .dialog-close, #copy-email) {
  border: 1px solid #809586; border-radius: 6px; background: var(--surface-chosen); color: var(--green);
  box-shadow: inset 0 1px 0 #fffdf7, 0 3px 0 -1px #a7b5aa;
}
body .menu-toggle { padding: 8px 12px; }
body .dialog-close { display: grid; place-items: center; width: 44px; height: 44px; line-height: 1; }
body :is(.faq, .svc-faq) summary { font-weight: 700; }

@media (hover: hover) and (pointer: fine) {
  body :is(a,button).button:not(.pf-site *):not(:disabled):hover {
    background: var(--button-surface, var(--surface-raised)); color: var(--button-ink, var(--ivory));
    border-color: var(--button-edge, var(--brand-sage)); transform: translateY(-3px);
    box-shadow: var(--button-depth, var(--surface-shadow)), 0 0 22px rgba(93,132,103,.25);
  }
  body :is(.svc-card:has(a), .service-card):hover,
  body :is(.industry-tabs button, .ag-q, .wf-controls button, .pf-seg button, .journey-stages a):hover {
    transform: translateY(-4px); border-color: var(--brand-sage);
  }
  body .svc-card:has(a):not(.is-here):hover { box-shadow: var(--surface-shadow), 0 0 22px rgba(93,132,103,.3); }
  body button.text-link:not(.pf-site *):hover { transform: translateY(-2px); box-shadow: 0 4px 0 -1px #a7b5aa, 0 0 18px rgba(93,132,103,.2); }
  body a.cc-node:not(.cc-node-hub):hover { box-shadow: var(--surface-shadow), 0 0 20px rgba(185,201,189,.25); }
}
body :is(a,button).button:not(.pf-site *):not(:disabled):active,
body button.text-link:not(.pf-site *):active,
body :is(.industry-tabs button, .ag-q, .wf-controls button, .pf-seg button):active { transform: translateY(1px); }
@media (max-width: 540px) {
  body .svc-card, body .svc-card.cc-module, body .service-card { padding: 20px; }
  body .service-card .service-name { font-size: 1.35rem; }
  body .service-card .service-panel { padding-left: 14px; }
  body :is(a,button).button:not(.pf-site *) { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  body :is(.button, button.text-link, .svc-card, .service-card, .industry-tabs button,
    .ag-q, .wf-controls button, .pf-seg button, .journey-stages a, .menu-toggle, .dialog-close) {
    animation: none !important; transition: none !important; transform: none !important;
  }
  body a.cc-node { transition: none !important; }
}

/* Solid, readable service tiles / 2026-10-24. */
/* Override the older two-class rule that made non-module cards transparent. */
body .svc-card:not(.cc-module):not(.is-here) {
  background: #244D3C; border: 1px solid #587765; border-radius: 6px;
  padding: clamp(20px, 2.5vw, 28px); box-shadow: var(--surface-shadow);
}
body .svc-card:not(.cc-module):not(.is-here) :is(h3, p, a) { color: #F6F1E7; }

#solutions .solutions-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
#solutions .solution-tile { min-width: 0; margin: 0; padding: 0; list-style: none; }
#solutions .solution-tile-link {
  display: flex; flex-direction: column; gap: 16px; position: relative;
  height: 100%; min-height: 240px; padding: 28px;
  background: #244D3C; background-image: none; color: #F6F1E7;
  border: 1px solid #587765; border-radius: 6px;
  box-shadow: inset 0 1px 0 rgba(246,241,231,.15), 0 4px 0 -1px #18372a, 0 12px 24px -16px rgba(0,0,0,.5);
  text-decoration: none; opacity: 1;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
#solutions .solution-tile-link :is(h3, p, .solution-tile-action) { color: #F6F1E7; opacity: 1; }
#solutions .solution-tile-link h3 { margin: 0; font-size: clamp(1.125rem, 1rem + .45vw, 1.375rem); font-weight: 700; line-height: 1.35; }
#solutions .solution-tile-link p { margin: 0; font-size: 1.0625rem; line-height: 1.7; }
#solutions .solution-tile-action { margin-top: auto; padding-top: 10px; font-size: .9375rem; font-weight: 700; line-height: 1.5; text-decoration: underline; text-underline-offset: 5px; }
#solutions .solution-tile-link:focus-visible { outline: 3px solid #244D3C; outline-offset: 5px; border-color: #F6F1E7; box-shadow: 0 0 0 2px #B9C9BD, 0 0 22px rgba(36,77,60,.25); }
@media (hover: hover) and (pointer: fine) {
  #solutions .solution-tile-link:hover { background: #244D3C; color: #F6F1E7; border-color: #F6F1E7; transform: translateY(-3px); box-shadow: inset 0 1px 0 rgba(246,241,231,.2), 0 6px 0 -2px #18372a, 0 16px 28px -14px rgba(0,0,0,.45); }
}
#solutions .solution-tile-link:active { transform: translateY(1px); }
@media (min-width: 640px) and (max-width: 1039px) {
  #solutions .solutions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #solutions .solution-tile:last-child { grid-column: 1 / -1; }
}
@media (max-width: 639px) {
  #solutions .solutions-grid { grid-template-columns: minmax(0, 1fr); }
  #solutions .solution-tile-link { min-height: 220px; padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  #solutions .solution-tile-link { transition: none; transform: none; }
}
/* Contrast audit follow-up / 2026-10-24. */
/* Stage headings had their own older green ink, overriding the tile color. */
body .journey-stages a > strong { color: #F6F1E7; }
body .journey-stages a[aria-current="step"] > strong { color: #25282A; }

/* Disabled actions retain readable lettering; the surface and cursor signal state. */
body :is(a, button).button:not(.pf-site *):disabled,
body #contact-dialog #inquiry-submit:disabled {
  background: #46554B; color: #F6F1E7; opacity: 1;
  border-color: #71877B; box-shadow: none; cursor: not-allowed;
}

/* A two-tone focus ring remains visible on both ivory and green surfaces. */
body :is(a, button, summary, input, select, textarea):focus-visible:not(.pf-site *) {
  outline: 3px solid #244D3C !important; outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #F6F1E7, 0 0 0 6px #244D3C !important;
}
body .preflight-section .industry-choice:has(input:focus-visible) {
  outline: 3px solid #244D3C; outline-offset: 3px;
  box-shadow: 0 0 0 3px #F6F1E7, 0 0 0 6px #244D3C;
}
body .preflight-section .industry-choice input:focus-visible { outline: none !important; box-shadow: none !important; }

/* Industry control tower / 2026-10-24. */
#industries .industry-layout {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 80px); align-items: center;
}
#industries .industry-panels { min-width: 0; }
#industries .industry-panel { display: block; padding-top: 38px; }
#industries .industry-copy { max-width: 550px; }
#industries .industry-copy > p:not(.eyebrow) { font-size: var(--type-body); line-height: 1.75; }
#industries .industry-tower { min-width: 0; margin: 20px 0 0; width: 100%; max-width: 580px; justify-self: center; }
#industries .industry-tower svg { width: 100%; height: auto; overflow: visible; }
#industries .industry-tower figcaption { color: #F6F1E7; font-size: .875rem; line-height: 1.6; text-align: center; margin-top: 4px; letter-spacing: .025em; }
.tower-sweep { transform-origin: 300px 173px; animation: tower-radar-sweep 24s linear infinite; }
.tower-route { animation: tower-route-flow 12s linear infinite; }
.tower-beacon { animation: tower-beacon-light 5s ease-in-out infinite; }
@keyframes tower-radar-sweep { to { transform: rotate(360deg); } }
@keyframes tower-route-flow { to { stroke-dashoffset: -88; } }
@keyframes tower-beacon-light { 0%, 100% { opacity: .65; } 50% { opacity: 1; } }
@media (max-width: 860px) {
  #industries .industry-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  #industries .industry-copy { max-width: 650px; }
  #industries .industry-tower { max-width: 460px; margin-top: 0; }
}
@media (max-width: 540px) {
  #industries .industry-tabs { gap: 12px; }
  #industries .industry-tabs button { flex: 1; min-width: 0; margin-right: 0; padding: 12px 10px; }
  #industries .industry-panel { padding-top: 30px; }
  #industries .industry-tower { max-width: 380px; }
}
@media (prefers-reduced-motion: reduce) {
  .tower-sweep, .tower-route, .tower-beacon { animation: none; }
}


/* Slow, layered paper-plane circuits / 2026-10-24. */
.tower-fleet { pointer-events: none; }
.tower-fleet--rear { display: none; }
.tower-plane-mark { transform-box: fill-box; transform-origin: center; transform: rotate(var(--plane-rest-angle)); }
.tower-plane--one {
  --plane-circuit: path("M84 255 A225 98 -16 1 0 516 131 A225 98 -16 1 0 84 255 Z");
  --plane-duration: 34s; --plane-delay: -5s; --plane-rest-angle: -10deg;
}
.tower-plane--two {
  --plane-circuit: path("M102 265 A200 110 -16 1 0 486 155 A200 110 -16 1 0 102 265 Z");
  --plane-duration: 42s; --plane-delay: -24s; --plane-rest-angle: 17deg;
}
.tower-plane--three {
  --plane-circuit: path("M61 296 A240 105 -16 1 0 523 164 A240 105 -16 1 0 61 296 Z");
  --plane-duration: 49s; --plane-delay: -39s; --plane-rest-angle: 90deg;
}
@supports (offset-path: path("M0 0 L1 1")) {
  @media (prefers-reduced-motion: no-preference) {
    .tower-fleet--rear { display: inline; }
    .tower-fleet .tower-plane {
      transform: none; transform-box: fill-box; offset-path: var(--plane-circuit);
      offset-position: 0px 0px; offset-anchor: center;
      offset-rotate: auto 40deg;
      animation: tower-plane-circuit var(--plane-duration) linear var(--plane-delay) infinite,
        tower-plane-near var(--plane-duration) steps(1, end) var(--plane-delay) infinite,
        tower-plane-depth var(--plane-duration) linear var(--plane-delay) infinite;
    }
    .tower-fleet--rear .tower-plane {
      animation-name: tower-plane-circuit, tower-plane-far, tower-plane-depth;
    }
    .tower-plane-mark {
      animation: tower-plane-bank var(--plane-duration) linear var(--plane-delay) infinite;
    }
  }
}
@keyframes tower-plane-circuit { from { offset-distance: 0%; } to { offset-distance: 100%; } }
/* Matching foreground/background copies pass behind the tower on the far arc. */
@keyframes tower-plane-near { 0%, 100% { visibility: visible; } 50% { visibility: hidden; } }
@keyframes tower-plane-far { 0%, 100% { visibility: hidden; } 50% { visibility: visible; } }
@keyframes tower-plane-depth {
  0%, 100% { opacity: .78; }
  25% { opacity: 1; }
  50% { opacity: .78; }
  75% { opacity: .46; }
}
@keyframes tower-plane-bank {
  0%, 100% { transform: rotate(0deg) scale(.92); }
  25% { transform: rotate(-3deg) scale(1.04); }
  50% { transform: rotate(0deg) scale(.92); }
  75% { transform: rotate(3deg) scale(.8); }
}

/* Balanced founder layouts and cockpit / 2026-10-24. */
body .pilot-bio .outcomes {
  grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr;
  gap: 18px; align-items: stretch;
}
body .pilot-bio .outcomes li {
  min-width: 0; min-height: 136px; display: flex; flex-direction: column; gap: 14px;
  padding: 24px; border: 1px solid #B9C9BD; border-radius: 6px;
  background: #FBF8F1; color: #25282A; line-height: 1.55;
}
body .pilot-bio .outcomes li::before { margin: 0; color: #244D3C; font-weight: 700; }
body .pilot-bio .ratings {
  grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 16px;
}
body .pilot-bio .ratings li { min-width: 0; padding: 0; border: 0; background: transparent; }
body .pilot-bio .practice-link {
  display: flex; align-items: center; justify-content: center; position: relative; isolation: isolate;
  width: 100%; height: 100%; min-height: 80px; padding: 18px 16px; overflow: hidden;
  background: #244D3C; color: #F6F1E7; border: 1px solid #587765; border-radius: 6px;
  font-size: 1rem; font-weight: 700; line-height: 1.45; text-align: center; text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(246,241,231,.12), 0 3px 0 -1px #18372A, 0 10px 20px -16px rgba(36,77,60,.65);
  transition: transform 220ms cubic-bezier(.2,.75,.25,1), box-shadow 220ms ease, border-color 220ms ease;
}
body .pilot-bio .practice-link span { position: relative; z-index: 1; }
body .pilot-bio .practice-link::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(110deg, transparent 20%, rgba(246,241,231,.1) 50%, transparent 80%);
  transform: translateX(-120%); transition: transform 650ms cubic-bezier(.2,.75,.25,1);
}
@media (hover: hover) and (pointer: fine) {
  body .pilot-bio .practice-link:hover {
    transform: translateY(-4px); border-color: #B9C9BD;
    box-shadow: inset 0 1px 0 rgba(246,241,231,.2), 0 5px 0 -2px #18372A, 0 14px 24px -14px rgba(36,77,60,.5);
  }
  body .pilot-bio .practice-link:hover::before { transform: translateX(120%); }
}
body .pilot-bio .practice-link:active { transform: translateY(1px); }
body .pilot-bio .bio-background-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
body .pilot-bio .bio-background-copy { min-width: 0; }
body .pilot-bio .bio-background-copy > p:last-child { margin-bottom: 0; }
body .pilot-bio .bio-cockpit { min-width: 0; width: 100%; max-width: 620px; margin: 0; justify-self: center; }
body .pilot-bio .bio-cockpit svg { width: 100%; height: auto; }
body .pilot-bio .bio-cockpit figcaption { margin-top: 14px; font-size: .875rem; line-height: 1.6; text-align: center; color: #244D3C; }
.cockpit-heading-dial { transform-origin: 122px 225px; animation: cockpit-heading-drift 24s ease-in-out infinite; }
.cockpit-attitude { transform-origin: 300px 205px; animation: cockpit-attitude-drift 18s ease-in-out infinite; }
.cockpit-altitude-long { transform-origin: 478px 225px; animation: cockpit-altitude-drift 28s ease-in-out infinite; }
.cockpit-altitude-short { transform-origin: 478px 225px; animation: cockpit-altitude-trim 32s ease-in-out infinite; }
.cockpit-coordinator { animation: cockpit-coordination 18s ease-in-out infinite; }
@keyframes cockpit-heading-drift { 0%, 100% { transform: rotate(-8deg); } 50% { transform: rotate(8deg); } }
@keyframes cockpit-attitude-drift { 0%, 100% { transform: translateY(2px) rotate(-3deg); } 50% { transform: translateY(-2px) rotate(3deg); } }
@keyframes cockpit-altitude-drift { 0%, 100% { transform: rotate(32deg); } 50% { transform: rotate(68deg); } }
@keyframes cockpit-altitude-trim { 0%, 100% { transform: rotate(-72deg); } 50% { transform: rotate(-64deg); } }
@keyframes cockpit-coordination { 0%, 100% { transform: translateX(-6px); } 50% { transform: translateX(6px); } }
@media (max-width: 1099px) {
  body .pilot-bio .outcomes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .pilot-bio .ratings { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body .pilot-bio .bio-background-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body .pilot-bio .bio-cockpit { max-width: 580px; }
}
@media (max-width: 749px) {
  body .pilot-bio .ratings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
  body .pilot-bio .outcomes { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  body .pilot-bio .outcomes li { min-height: 112px; padding: 20px; }
  body .pilot-bio .ratings { gap: 12px; }
  body .pilot-bio .practice-link { min-height: 88px; padding: 16px 12px; font-size: .9375rem; }
}
@media (max-width: 359px) {
  body .pilot-bio .ratings { grid-template-columns: minmax(0, 1fr); }
  body .pilot-bio .practice-link { min-height: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  body .pilot-bio .practice-link, body .pilot-bio .practice-link::before { transition: none; transform: none; }
  .cockpit-heading-dial, .cockpit-attitude, .cockpit-altitude-long, .cockpit-altitude-short, .cockpit-coordinator { animation: none; }
  .cockpit-altitude-long { transform: rotate(50deg); }
  .cockpit-altitude-short { transform: rotate(-68deg); }
}

/* Modern digital flight deck / 2026-10-24. */
body .pilot-bio .modern-cockpit { max-width: 660px; }
body .pilot-bio .modern-cockpit .deck-scene { border-radius: 8px; box-shadow: 0 20px 38px -25px rgba(25,58,44,.65); }
body .pilot-bio .modern-cockpit .deck-caption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; text-align: left; font-size: .8125rem; }
.deck-motion-control { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; color: #244D3C; font-size: .8125rem; cursor: pointer; }
.deck-motion-control input { width: 17px; height: 17px; margin: 0; padding: 0; accent-color: #244D3C; cursor: pointer; }
.modern-cockpit:has(.deck-motion-control input:checked) .deck-scene * { animation-play-state: paused !important; }
.deck-clouds { animation: deck-cloud-drift 22s ease-in-out infinite; }
.deck-runway { animation: deck-runway-flow 7s linear infinite; }
.deck-runway-lights { animation: deck-runway-flow 12s linear infinite; }
.deck-radar-sweep { transform-origin: 192px 453px; animation: deck-radar-search 9s ease-in-out infinite; }
.deck-ping { transform-box: fill-box; transform-origin: center; animation: deck-target-ping 5s ease-out infinite; }
.deck-ping--two { animation-delay: -2.5s; }
.deck-nav-route { animation: deck-route-flow 14s linear infinite; }
.deck-horizon { transform-origin: 450px 383px; animation: deck-horizon-bank 10s ease-in-out infinite; }
.deck-heading-tape { animation: deck-heading-drift 10s ease-in-out infinite; }
.deck-route-plane { opacity: .9; }
@supports (offset-path: path("M0 0L1 1")) {
  .deck-route-plane { transform: none; transform-box: fill-box; offset-position: 0px 0px; offset-anchor: center; offset-rotate: auto 40deg; offset-path: path("M626 429C650 405 668 441 687 411S737 334 784 333"); animation: deck-route-flight 18s linear infinite; }
}
.deck-engine-bar { transform-box: fill-box; transform-origin: center bottom; animation: deck-engine-trim 6s ease-in-out infinite; }
.deck-engine-bar:nth-child(2) { animation-delay: -1.5s; }
.deck-engine-bar:nth-child(3) { animation-delay: -3s; }
.deck-engine-bar:nth-child(4) { animation-delay: -4.5s; }
.deck-key-light { animation: deck-key-breathe 8s ease-in-out infinite; }
.deck-data-flow { animation: deck-route-flow 12s linear infinite; }
@keyframes deck-cloud-drift { 0%,100% { transform: translateX(-12px); } 50% { transform: translateX(12px); } }
@keyframes deck-runway-flow { to { stroke-dashoffset: -56; } }
@keyframes deck-radar-search { 0%,100% { transform: rotate(-37deg); } 50% { transform: rotate(37deg); } }
@keyframes deck-target-ping { 0% { transform: scale(.75); opacity: .7; } 70%,100% { transform: scale(2.5); opacity: 0; } }
@keyframes deck-route-flow { to { stroke-dashoffset: -57; } }
@keyframes deck-horizon-bank { 0%,100% { transform: translateY(3px) rotate(-4deg); } 50% { transform: translateY(-3px) rotate(4deg); } }
@keyframes deck-heading-drift { 0%,100% { transform: translateX(-7px); } 50% { transform: translateX(7px); } }
@keyframes deck-route-flight { 0% { offset-distance: 0%; opacity: 0; } 8% { opacity: 1; } 88% { opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }
@keyframes deck-engine-trim { 0%,100% { transform: scaleY(.65); } 50% { transform: scaleY(1); } }
@keyframes deck-key-breathe { 0%,100% { opacity: .5; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .modern-cockpit .deck-scene * { animation: none !important; }
  .modern-cockpit .deck-route-plane { offset-distance: 48%; opacity: 1; }
  .modern-cockpit .deck-motion-control { display: none; }
}



/* Larger, brighter cockpit with a phone instrument view / 2026-10-24. */
body .pilot-bio .bio-background-grid { grid-template-columns: minmax(0, .82fr) minmax(0, 1.38fr); gap: 36px; }
body .pilot-bio .modern-cockpit { max-width: none; position: relative; }
.deck-mobile-instruments { display: none; }
/* Custom properties cross SVG use-instance boundaries; ancestor selectors do not. */
.modern-cockpit { --deck-motion-state: running; }
.modern-cockpit:has(.deck-motion-control input:checked) { --deck-motion-state: paused; }
.deck-clouds, .deck-runway, .deck-runway-lights, .deck-key-light, .deck-radar-sweep,
.deck-ping, .deck-nav-route, .deck-horizon, .deck-heading-tape, .deck-route-plane,
.deck-engine-bar, .deck-data-flow { animation-play-state: var(--deck-motion-state, running); }
body .pilot-bio .modern-cockpit .deck-caption, .deck-motion-control { font-size: .875rem; }
@media (max-width: 1099px) {
  body .pilot-bio .bio-background-grid { grid-template-columns: minmax(0, 1fr); }
  body .pilot-bio .modern-cockpit { max-width: 920px; }
}
@media (max-width: 599px) {
  body .pilot-bio .modern-cockpit .deck-overview {
    position: absolute; width: 0; height: 0; overflow: hidden; box-shadow: none; pointer-events: none;
  }
  .deck-mobile-instruments {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
    padding: 10px; background: #25282A; border: 1px solid #71877B; border-radius: 8px;
    box-shadow: 0 16px 28px -22px rgba(25,58,44,.6);
  }
  .deck-mobile-instruments .deck-primary-closeup { grid-column: 1 / -1; }
  body .pilot-bio .modern-cockpit .deck-mobile-instruments svg { min-width: 0; width: 100%; height: auto; border-radius: 5px; box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
  .modern-cockpit { --deck-motion-state: paused; }
  .deck-clouds, .deck-runway, .deck-runway-lights, .deck-key-light, .deck-radar-sweep,
  .deck-ping, .deck-nav-route, .deck-horizon, .deck-heading-tape, .deck-route-plane,
  .deck-engine-bar, .deck-data-flow { animation: none !important; }
  .deck-route-plane { offset-distance: 48%; opacity: 1; }
}

/* Larger, brighter control tower / 2026-10-24. */
#industries .industry-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 36px; }
#industries .industry-tower { max-width: 760px; margin-top: 8px; }
#industries .tower-plane-mark { filter: drop-shadow(0 0 2px rgba(246,241,231,.25)); }
@keyframes tower-plane-depth {
  0%, 100% { opacity: .88; }
  25% { opacity: 1; }
  50% { opacity: .88; }
  75% { opacity: .68; }
}
@media (max-width: 900px) {
  #industries .industry-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  #industries .industry-tower { max-width: 660px; margin-top: 0; }
}
@media (max-width: 540px) {
  #industries .industry-tower { width: calc(100% + 24px); max-width: none; }
}




/* Photographic luxury bio / 2026-10-25. */
body .pilot-bio .bio-background-grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr); gap: clamp(32px, 4vw, 64px); }
body .pilot-bio #log-title { max-width: 14ch; font-size: clamp(2rem, 2.9vw, 3rem); line-height: 1.13; letter-spacing: -.035em; text-wrap: balance; }
#log-title span { display: block; }
.bio-scenic-flight { min-width: 0; width: 100%; margin: 0; align-self: center; }
.scenic-flight-frame { position: relative; overflow: hidden; isolation: isolate; border: 1px solid rgba(36,77,60,.32); border-radius: 8px; background: #25282A; aspect-ratio: 3 / 2; box-shadow: 0 24px 50px -30px rgba(25,58,44,.5); }
.scenic-flight-frame picture { display: block; width: 100%; height: 100%; }
.scenic-flight-photo { display: block; width: 100%; height: 100%; object-fit: cover; animation: scenic-flight-drift 28s ease-in-out infinite; }
.scenic-flight-light { position: absolute; inset: -15%; background: linear-gradient(110deg, transparent 30%, rgba(246,241,231,.07) 52%, transparent 70%); pointer-events: none; animation: scenic-flight-reflection 24s ease-in-out infinite; }
@keyframes scenic-flight-drift { 0%,100% { transform: scale(1.035) translateX(-.4%); } 50% { transform: scale(1.07) translateX(.4%); } }
@keyframes scenic-flight-reflection { 0%,100% { transform: translateX(-12%); opacity: .4; } 50% { transform: translateX(12%); opacity: .8; } }

body .pilot-bio section.bio-block.bio-glass-approach {
  position: relative; isolation: isolate; overflow: hidden; margin-top: 64px; padding: clamp(26px, 4vw, 48px);
  border: 1px solid #587765; border-radius: 14px; color: #F6F1E7;
  background: radial-gradient(ellipse at 6% 0%, rgba(185,201,189,.24), transparent 52%), radial-gradient(ellipse at 95% 100%, rgba(125,167,137,.18), transparent 50%), linear-gradient(135deg, #244D3C, #172C22 75%);
}
body .pilot-bio .bio-glass-approach h2 { color: #F6F1E7; text-wrap: balance; }
body .pilot-bio .bio-glass-approach > p { color: #E4EBE0; }
body .pilot-bio .bio-glass-approach > .eyebrow { color: #B9C9BD; }
body .pilot-bio .bio-glass-approach .outcomes { gap: 18px; margin-block: 26px; }
body .pilot-bio .bio-glass-approach .outcomes li {
  position: relative; isolation: isolate; overflow: hidden; min-height: 144px; color: #F6F1E7; font-weight: 600;
  background: linear-gradient(145deg, rgba(246,241,231,.16), rgba(246,241,231,.045) 60%, rgba(185,201,189,.1));
  background-color: rgba(12,32,22,.5);
  border: 1px solid rgba(246,241,231,.32); border-radius: 12px; backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%);
  box-shadow: inset 0 1px 0 rgba(246,241,231,.38), inset 0 -1px 0 rgba(185,201,189,.14), 0 0 22px rgba(185,201,189,.09), 0 12px 26px -18px rgba(0,0,0,.45);
  transition: transform 250ms ease, border-color 250ms ease, box-shadow 250ms ease;
}
body .pilot-bio .bio-glass-approach .outcomes li::before { color: #E1E9DD; }
body .pilot-bio .bio-glass-approach .outcomes li::after { content: ''; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(110deg, transparent 20%, rgba(246,241,231,.06), transparent 80%); transform: translateX(-120%); transition: transform 750ms ease; }
@media (hover: hover) and (pointer: fine) {
  body .pilot-bio .bio-glass-approach .outcomes li:hover { transform: translateY(-3px); border-color: rgba(246,241,231,.65); box-shadow: inset 0 1px 0 rgba(246,241,231,.5), 0 0 30px rgba(185,201,189,.2), 0 18px 30px -20px rgba(0,0,0,.6); }
  body .pilot-bio .bio-glass-approach .outcomes li:hover::after { transform: translateX(120%); }
}

.pilot-bio + .site-footer .footer-bottom > span { color: #D3CFC4; }
@media (max-width: 1099px) {
  body .pilot-bio .bio-background-grid { grid-template-columns: minmax(0, 1fr); }
  .bio-scenic-flight { max-width: 960px; justify-self: center; }
}
@media (max-width: 599px) {
  body .pilot-bio .bio-glass-approach .outcomes li { min-height: 128px; }
  body .pilot-bio section.bio-block.bio-glass-approach { padding: 24px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .scenic-flight-photo, .scenic-flight-light { animation: none !important; }
  .scenic-flight-photo { transform: none; }
  .scenic-flight-light { display: none; }
  body .pilot-bio .bio-glass-approach .outcomes li, body .pilot-bio .bio-glass-approach .outcomes li::after { transition: none; transform: none; }
}

/* Cinematic departure / Colorado River revision, 2026-10-25. */
.bio-takeoff.bio-departure { --departure-state: running; margin: 56px 0 0; padding: 0; overflow: hidden; border: 1px solid #587365; border-radius: 12px; background: #19251F; box-shadow: 0 26px 60px -34px rgba(22,45,33,.65); }
.departure-stage { position: relative; isolation: isolate; overflow: hidden; width: 100%; aspect-ratio: 2 / 1; background: #25282A; }
.departure-stage picture { display: block; position: absolute; inset: 0; }
.departure-backplate { width: 100%; height: 100%; object-fit: cover; object-position: center; animation: departure-camera 18s cubic-bezier(.4,0,.25,1) infinite; animation-play-state: var(--departure-state); }
.departure-stage::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; box-shadow: inset 0 0 70px rgba(8,18,13,.35); background: linear-gradient(180deg,rgba(10,22,16,.62),transparent 46%,rgba(10,22,16,.08)); }
.departure-copy { position: absolute; z-index: 3; top: clamp(22px,3.8vw,52px); left: clamp(22px,3.8vw,52px); right: 22px; color: #F6F1E7; text-shadow: 0 2px 14px #15231B; }
body .pilot-bio .departure-copy h2 { margin: 0 0 10px; color: #F6F1E7; font-size: clamp(2rem,3.6vw,3.3rem); line-height: 1.08; letter-spacing: -.035em; }
body .pilot-bio .departure-copy p { margin: 0; color: #F6F1E7; font-size: clamp(.875rem,1.2vw,1.0625rem); line-height: 1.5; }
body .pilot-bio .departure-copy .departure-kicker { margin-bottom: 13px; color: #D2DECF; font-size: .6875rem; letter-spacing: .18em; font-weight: 600; }
.departure-guidance { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.departure-light { opacity: 0; offset-anchor: center; animation: departure-light-flow 3.6s cubic-bezier(.5,0,.85,.45) infinite; animation-delay: var(--light-delay,0s); animation-play-state: var(--departure-state); filter: drop-shadow(0 0 4px #F6F1E7); }
.departure-light-left { offset-path: path('M498 306C430 316 220 350 -100 410'); }
.departure-light-right { offset-path: path('M502 306C570 316 780 350 1100 410'); }
.departure-light-center { offset-path: path('M500 306L500 700'); }
.departure-plane { position: absolute; z-index: 2; width: clamp(116px,18vw,250px); left: 50%; top: 76%; filter: drop-shadow(0 4px 7px rgba(8,20,13,.6)) drop-shadow(0 0 12px rgba(246,241,231,.3)); animation: departure-liftoff 18s linear infinite; animation-play-state: var(--departure-state); }
.departure-plane img { display: block; width: 100%; height: auto; }
.departure-plane-shadow { position: absolute; z-index: 1; left: 50%; top: 83%; width: 18%; height: 3%; border-radius: 50%; background: rgba(0,0,0,.55); filter: blur(6px); animation: departure-ground-shadow 18s linear infinite; animation-play-state: var(--departure-state); }
.departure-lens { position: absolute; inset: 35% 0 45%; z-index: 1; pointer-events: none; background: radial-gradient(ellipse at 50% 55%,rgba(246,241,231,.18),transparent 55%); animation: departure-atmosphere 18s ease-in-out infinite; animation-play-state: var(--departure-state); }
@keyframes departure-camera { 0%,10%,100% { transform: scale(1.01); } 78%,90% { transform: scale(1.085); } }
@keyframes departure-light-flow { 0% { offset-distance: 0%; opacity: 0; transform: scale(.35); } 25% { opacity: .55; } 80% { opacity: .55; } 100% { offset-distance: 100%; opacity: 0; transform: scale(1.8); } }
@keyframes departure-liftoff {
  0%,10% { left: 50%; top: 76%; transform: translate(-50%,-50%) rotate(-50deg) scale(1); opacity: 1; }
  30% { left: 50%; top: 64%; transform: translate(-50%,-50%) rotate(-50deg) scale(.66); opacity: 1; }
  46% { left: 50%; top: 49%; transform: translate(-50%,-50%) rotate(-47deg) scale(.4); opacity: .95; }
  65% { left: 57%; top: 33%; transform: translate(-50%,-50%) rotate(-32deg) scale(.2); opacity: .7; }
  83% { left: 69%; top: 18%; transform: translate(-50%,-50%) rotate(-28deg) scale(.06); opacity: .25; }
  91%,96% { left: 75%; top: 10%; transform: translate(-50%,-50%) rotate(-28deg) scale(.025); opacity: 0; }
  97% { left: 50%; top: 76%; transform: translate(-50%,-50%) rotate(-50deg) scale(1); opacity: 0; }
  100% { left: 50%; top: 76%; transform: translate(-50%,-50%) rotate(-50deg) scale(1); opacity: 1; }
}
@keyframes departure-ground-shadow { 0%,10% { transform: translateX(-50%) scale(1); opacity: .6; } 38% { transform: translate(-50%,-70px) scale(.5); opacity: .35; } 48%,96% { transform: translate(-50%,-120px) scale(.2); opacity: 0; } 100% { transform: translateX(-50%) scale(1); opacity: .6; } }
@keyframes departure-atmosphere { 0%,100% { opacity: .4; } 50% { opacity: 1; } }
@media (max-width: 767px) {
  .departure-stage { aspect-ratio: 4 / 3; min-height: 310px; }
  .departure-copy { top: 22px; left: 20px; }
  body .pilot-bio .departure-copy h2 { font-size: clamp(1.75rem,6vw,2.5rem); }
  body .pilot-bio .departure-copy .departure-kicker { font-size: .625rem; margin-bottom: 10px; }
  .departure-stage::after { background: linear-gradient(180deg,rgba(10,22,16,.8),transparent 58%); }
}
@media (prefers-reduced-motion: reduce) {
  .departure-backplate, .departure-plane, .departure-plane-shadow, .departure-lens, .departure-light { animation: none !important; }
  .departure-backplate { transform: none; }
  .departure-plane { left: 57%; top: 38%; transform: translate(-50%,-50%) rotate(-35deg) scale(.65); opacity: 1; }
  .departure-plane-shadow, .departure-guidance, .departure-lens { display: none; }
}

/* Complimentary consultation and brand-book typography / 2026-10-25. */
:root {
  --type-body: 1rem;
  --type-section: 1.5rem;
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-6: 24px; --space-8: 32px; --space-12: 48px; --space-16: 64px;
}
body { font: 400 1rem/1.65 Arial, Helvetica, sans-serif; }
body :is(h1,h2,h3,h4):not(.pf-site *) { font-family: Arial, Helvetica, sans-serif; font-weight: 700; text-wrap: balance; }
body .hero h1 { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); line-height: 1.1; letter-spacing: -.035em; }
body :is(.svc-page h1,.svc-page .cc-hero h1,.pilot-bio h1,.privacy-page h1,.not-found h1) { font-size: clamp(1.75rem, 1.5rem + 1vw, 2rem); line-height: 1.2; letter-spacing: -.025em; }
body main h2:not(.pf-site h2), body .pilot-bio .bio-block h2, body .pilot-bio #log-title { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.02em; }
body :is(.svc-page h3,.solutions-grid h3,.service-name,.sim-detail h3,.results-workflow h3):not(.pf-site *) { font-size: 1.125rem; line-height: 1.4; }
body :is(.hero-description,.svc-hero .lead,.cc-hero .lead,.pilot-bio .lead,.pilot-bio .bio-statement) { font-size: 1rem; line-height: 1.7; }
body :is(.svc-block,.bio-block,.privacy-page) p:not(.eyebrow):not(.departure-kicker) { line-height: 1.7; }
body :is(.svc-block > p,.bio-background-copy > p,.privacy-page > p) { max-width: 68ch; }
body .eyebrow { font-size: .75rem; line-height: 1.6; letter-spacing: .1em; }
body :is(.section,.solutions-section,.flight-journey,.industry-section,.preflight-section,.sim-section) { padding-block: 64px; }
body .svc-block { margin-top: 64px; padding-top: 32px; }
body .pilot-bio .bio-block { margin-top: 64px; padding-top: 32px; }
body :is(.section-heading,.solutions-head,.sim-intro,.preflight-intro) { gap: 24px; }
body :is(.svc-block,.bio-block) > h2 { margin-block: 8px 16px; }
body :is(.svc-block,.bio-background-copy) > p { margin-block: 0 16px; }
body :is(.svc-grid,.cc-modules,.solutions-grid) { gap: 24px; }
body .svc-card:not(.cc-module), body .svc-card.cc-module { padding: 24px; }
body .svc-cta { margin-top: 64px; padding: 48px; }
body .svc-cta h2 { margin-block: 8px 16px; }
body .svc-cta > p { max-width: 68ch; margin-block: 0 16px; }
body .svc-cta > p:last-child { margin-bottom: 0; }
body .svc-cta p:has(> .button) { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; max-width: none; }
body .svc-cta a.svc-email { margin: 0; overflow-wrap: anywhere; }
body :is(.button,.button-small) { min-height: 48px; max-width: 100%; padding: 12px 24px; font: 600 .9375rem/1.5 Arial, Helvetica, sans-serif; white-space: normal; text-align: center; overflow-wrap: break-word; }
body .site-header .button-small { padding: 12px 16px; }
body .hero-actions, body .svc-actions { gap: 16px 24px; margin-top: 24px; }
body .consultation-note { margin: 16px 0 0; max-width: 56ch; font-size: .875rem; line-height: 1.6; color: #46554B; }
body :is(.hero,.cc-hero) .consultation-note { color: #D3DED2; }
body .svc-cta .consultation-note, body .contact-section .consultation-note { color: #E0E8DD; }
body .contact-section { padding-block: 64px; }
body .contact-section h2 { max-width: 24ch; margin: 8px auto 24px; font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem); line-height: 1.3; }
body .contact-section .consultation-note { margin: 16px auto; }
body .contact-section .contact-email { display: block; margin-top: 24px; }
body .bio-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 32px; }
body .bio-cta .button { color: #F6F1E7; }
body .pilot-bio .departure-copy h2 { font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem); line-height: 1.2; }
body .pilot-bio section.bio-block.bio-glass-approach { padding: 48px; }
body .pilot-bio .bio-glass-approach .outcomes { margin-block: 24px; gap: 16px; }
body .pilot-bio .bio-glass-approach .outcomes li { padding: 24px; }
body .privacy-page { max-width: 900px; }
body .privacy-page h2 { margin-top: 32px; margin-bottom: 16px; }
body .privacy-page p, body .privacy-page li { font-size: 1rem; }
body .svc-faq summary, body .faq-list summary { padding-block: 24px; font-size: 1rem; line-height: 1.5; }
body .svc-faq details p, body .faq-list details p { margin: 0 0 24px; max-width: 68ch; }
body .svc-table :is(th,td) { padding: 16px; }
#contact-dialog .dialog-content { padding: 32px; }
#contact-dialog h2 { margin-block: 8px 16px; font-size: 1.5rem; line-height: 1.3; }
#contact-dialog #dialog-description { margin-bottom: 24px; }
@media (max-width: 767px) {
  body :is(.section,.solutions-section,.flight-journey,.industry-section,.preflight-section,.sim-section,.contact-section) { padding-block: 48px; }
  body .svc-block, body .pilot-bio .bio-block { margin-top: 48px; padding-top: 24px; }
  body .svc-cta { margin-top: 48px; padding: 24px; }
  body .pilot-bio section.bio-block.bio-glass-approach { padding: 24px; }
  body .hero-actions > .button, body .svc-actions > .button { width: 100%; }
  body .consultation-note { margin-top: 16px; }
  body .bio-cta { align-items: stretch; }
  body .bio-cta .button { width: 100%; }
  #contact-dialog .dialog-content { padding: 24px; }
}
/* Override older phone-specific microtype at the component boundary. */
body .hero .hero-copy .eyebrow,
body main .contact-section .contact-inner > .eyebrow { font-size: .75rem; line-height: 1.6; letter-spacing: .1em; }
body .hero .hero-actions .text-link { font-size: .9375rem; line-height: 1.5; }
body .pilot-bio .departure-copy .departure-kicker { font-size: .75rem; line-height: 1.6; }
body main.privacy-page h2:not(.pf-site h2) { font-size: 1.5rem; line-height: 1.3; }

/* Keep legacy industry and results headings within the same hierarchy. */
body main :is(h3,h4):not(.pf-site *) { font-size: 1.125rem; line-height: 1.4; }
body #solutions .solution-tile-link h3,
body main .industry-copy h3,
body main .assessment-results h4,
body main .assessment-results .briefing-primary h4,
body #contact-dialog .inquiry-assessment-summary h3 { font-size: 1.125rem; line-height: 1.4; }
body main .assessment-results > h3 { font-size: 1.5rem; line-height: 1.3; }


/* Homepage section-label emphasis / 2026-10-25. */
body main .eyebrow.home-section-label {
  margin: 0 0 16px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .065em;
  text-wrap: balance;
  overflow-wrap: break-word;
}
@media (max-width: 767px) {
  body main .eyebrow.home-section-label { font-size: 1rem; letter-spacing: .05em; }
}

/* Homepage approach: a shared label row and a clear reading hierarchy. */
body main #approach.approach {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
  column-gap: 64px;
  row-gap: 16px;
}
body main #approach > .home-section-label { grid-column: 1 / -1; margin: 0; }
body main #approach > .section-intro { grid-column: 1; min-width: 0; margin: 0; }
body main #approach .approach-copy {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  padding: 0;
  margin: 0;
}
body main #approach #approach-title {
  max-width: 20ch;
  margin: 0;
  font-size: clamp(1.75rem, 1.25rem + 1vw, 2rem);
  line-height: 1.2;
  letter-spacing: -.025em;
}
body main #approach .approach-copy .lead {
  max-width: 52ch;
  margin: 0;
  color: #25282A;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
}
body main #approach .approach-copy > p:not(.lead) {
  max-width: 60ch;
  margin: 0;
  color: #46554B;
  font-size: 1rem;
  line-height: 1.7;
}
body main #approach .approach-copy .text-link { align-self: flex-start; margin-top: 8px; }
@media (max-width: 860px) {
  body main #approach.approach { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
  body main #approach > .section-intro, body main #approach .approach-copy { grid-column: 1; }
  body main #approach .approach-copy { margin-top: 8px; }
  body main #approach #approach-title { font-size: 1.75rem; }
}

/* Direct-email handoff / October 2026. */
body #contact-dialog .email-handoff-actions{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}
body #contact-dialog .email-handoff-actions .button{background:#244D3C;color:#F6F1E7;min-height:48px;text-align:center}
body #contact-dialog .email-handoff-actions .button-secondary{background:#F6F1E7;color:#244D3C;border:1px solid #244D3C}
body #contact-dialog .email-handoff [hidden]{display:none!important}
body #contact-dialog .email-handoff p{font-size:1rem;line-height:1.65}
body #contact-dialog .email-handoff .email-fallback a{overflow-wrap:anywhere}
.tower-ground{transform:none!important;animation:none!important}
@media(max-width:600px){body #contact-dialog .email-handoff-actions{display:grid;grid-template-columns:1fr}body #contact-dialog .email-handoff-actions .button{width:100%;white-space:normal}body #contact-dialog .email-fallback{flex-wrap:wrap}}

body #contact-dialog .email-fallback a{font-size:1rem;line-height:1.5;min-height:44px;display:inline-flex;align-items:center;max-width:100%}
body #contact-dialog #dialog-title:focus{outline:none;box-shadow:none}
body #contact-dialog .inquiry-assessment-summary details{margin:0;padding:0;border:0}
body #contact-dialog .inquiry-assessment-summary summary{min-height:44px;font-size:1rem;line-height:1.5;padding:8px 0;cursor:pointer}

body #contact-dialog .email-handoff > .eyebrow{padding-right:52px}
