/* ---- fonts.css ---- */
@font-face{font-family:'Google Sans Flex';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/google-sans-flex-400.ttf') format('truetype')}
@font-face{font-family:'Google Sans Flex';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/fonts/google-sans-flex-500.ttf') format('truetype')}
@font-face{font-family:'Google Sans Flex';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/fonts/google-sans-flex-600.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url('../assets/fonts/poppins-300.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/poppins-400.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/fonts/poppins-500.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/fonts/poppins-600.ttf') format('truetype')}

/* ---- tokens.css ---- */
:root {
  color-scheme: light;
  --av-blue: #0c10d4;
  --av-blue-hover: #0a0dae;
  --av-blue-active: #080a8f;
  --av-ink: #010113;
  --av-text: #010113;
  --av-muted: #525252;
  --av-subtle: #6f6f6f;
  --av-surface: #ffffff;
  --av-surface-soft: #fafafa;
  --av-border: #e0e0e0;
  --av-border-strong: #8d8d8d;
  --av-danger: #da1e28;
  --av-success: #24653b;
  --av-focus: #0c10d4;
  --av-heading: 'Poppins', Arial, sans-serif;
  --av-body: 'Google Sans Flex', Arial, sans-serif;
  --av-space-1: .25rem;
  --av-space-2: .5rem;
  --av-space-3: .75rem;
  --av-space-4: 1rem;
  --av-space-5: 1.5rem;
  --av-space-6: 2rem;
  --av-space-7: 3rem;
  --av-space-8: 4rem;
  --av-space-9: 6rem;
  --av-radius-control: .25rem;
  --av-radius-card: 1.5rem;
  --av-radius-panel: 2rem;
  --av-page-gutter: clamp(1.25rem, 4vw, 4rem);
  --av-content-max: 99rem;
  --av-duration: 180ms;
  --av-easing: cubic-bezier(.2, 0, .2, 1);
}
.av-inverse {
  color-scheme: dark;
  --av-text: #ffffff;
  --av-muted: #c6c6d4;
  --av-subtle: #aaaabc;
  --av-surface: #010113;
  --av-surface-soft: #161627;
  --av-border: #393947;
  --av-border-strong: #8d8d9f;
  --av-focus: #b6b8ff;
  color: var(--av-text);
  background: var(--av-surface);
}
@media (prefers-reduced-motion: reduce) {
  :root { --av-duration: 0ms; }
}

/* ---- components.css ---- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { margin: 0; background: var(--av-surface); color: var(--av-text); font: 400 1rem/1.5 var(--av-body); }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, summary, select { cursor: pointer; }
button, a, summary, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button:disabled { cursor: not-allowed; }
a { color: inherit; }
h1, h2, h3, h4, p, figure { margin: 0; }
button { color: inherit; }
:focus-visible { outline: 2px solid var(--av-focus); outline-offset: 4px; }
[hidden] { display: none !important; }
.av-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.av-skip-link { position: fixed; top: 1rem; left: 1rem; z-index: 100; transform: translateY(-200%); padding: .75rem 1rem; background: white; color: var(--av-ink); }
.av-skip-link:focus { transform: translateY(0); }
.av-container { width: min(100% - 2 * var(--av-page-gutter), var(--av-content-max)); margin-inline: auto; }
.av-stack { display: flex; flex-direction: column; gap: var(--av-stack-gap, 1.5rem); }
.av-cluster { display: flex; align-items: center; flex-wrap: wrap; gap: var(--av-cluster-gap, 1rem); }
.av-grid { display: grid; grid-template-columns: repeat(var(--av-columns, 2), minmax(0, 1fr)); gap: var(--av-grid-gap, 1.5rem); }
.av-section { padding-block: clamp(3rem, 7vw, 7rem); }
.av-eyebrow { font: 500 .875rem/1.5 var(--av-body); letter-spacing: .06em; text-transform: uppercase; }
.av-display { font: 400 clamp(2.5rem, 6vw, 5rem)/1.08 var(--av-heading); letter-spacing: -.045em; text-wrap: balance; }
.av-h2 { font: 400 clamp(2rem, 4vw, 3.375rem)/1.18 var(--av-heading); letter-spacing: -.035em; text-wrap: balance; }
.av-h3 { font: 400 clamp(1.5rem, 2vw, 2rem)/1.25 var(--av-heading); letter-spacing: -.025em; }
.av-lead { font-size: clamp(1.125rem, 2vw, 1.375rem); line-height: 1.5; max-width: 42rem; }
.av-type-heading-03 { font: 400 1.25rem/1.4 var(--av-heading); }
.av-type-heading-04 { font: 400 1.75rem/1.286 var(--av-heading); }
.av-type-heading-05 { font: 400 2rem/1.25 var(--av-heading); }
.av-type-heading-06 { font: 300 2.625rem/1.19 var(--av-heading); }
.av-type-heading-07 { font: 300 3.375rem/1.185 var(--av-heading); }
.av-layout-grid { display: grid; grid-template-columns: repeat(16,minmax(0,1fr)); gap: 1rem; }
.av-span-4 { grid-column: span 4; }
.av-span-8 { grid-column: span 8; }
.av-span-16 { grid-column: span 16; }
.av-muted { color: var(--av-muted); }
.av-button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .75rem; border: 1px solid transparent; border-radius: var(--av-radius-control); padding: .75rem 1.25rem; color: white; background: var(--av-blue); font: 400 1rem/1.375 var(--av-body); text-decoration: none; text-align: center; transition: background var(--av-duration), color var(--av-duration), border-color var(--av-duration); }
.av-button:hover { background: var(--av-blue-hover); }
.av-button:active { background: var(--av-blue-active); }
.av-button--secondary { background: #393939; }
.av-button--secondary:hover { background: #474747; }
.av-button--secondary:active { background: #161616; }
.av-button--tertiary { color: var(--av-blue); background: transparent; border-color: var(--av-blue); }
.av-button--tertiary:hover { background: var(--av-blue); color: white; }
.av-button--tertiary:active { background: var(--av-blue-active); color: white; }
.av-button--ghost { color: var(--av-blue); background: transparent; }
.av-button--ghost:hover { background: #e8e8ff; }
.av-button--ghost:active { background: #d5d6ff; }
.av-button--light { background: white; color: var(--av-ink); }
.av-button--light:hover { background: #e0e0e0; }
.av-button--light:active { background: #c6c6c6; }
.av-button--large { min-height: 4rem; padding-inline: 2rem; }
.av-button:disabled { color: #6f6f6f; background: #e0e0e0; border-color: transparent; }
.av-inverse .av-button--tertiary { color: white; border-color: white; }
.av-inverse .av-button--tertiary:hover { color: var(--av-ink); background: white; }
.av-inverse .av-button--ghost { color: #b6b8ff; }
.av-inverse .av-button--ghost:hover { background: #252543; }
.av-link { color: var(--av-blue); text-decoration: underline; text-underline-offset: .25em; text-decoration-thickness: 1px; }
.av-link:hover { color: var(--av-blue-hover); text-decoration-thickness: 2px; }
.av-inverse .av-link { color: #b6b8ff; }
.av-tag { display: inline-flex; align-items: center; padding: .25rem .75rem; border-radius: .25rem; background: #e0e0e0; color: var(--av-ink); font-size: .75rem; line-height: 1rem; letter-spacing: .02em; }
.av-tag--blue { background: #e8e8ff; color: #0a0dae; }
.av-tag--outline { color: var(--av-text); background: transparent; border: 1px solid var(--av-border); }
.av-field { display: flex; flex-direction: column; gap: .5rem; min-width: 0; }
.av-field label, .av-field legend { color: var(--av-muted); font-size: .875rem; line-height: 1.4; }
.av-field-label { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.av-field-label span { font-size: .75rem; color: var(--av-muted); }
.av-input, .av-select, .av-textarea { width: 100%; min-height: 2.8125rem; border: 0; border-bottom: 1px solid var(--av-border-strong); border-radius: .25rem; padding: .8125rem 1rem; background: var(--av-surface-soft); color: var(--av-text); font-size: 1rem; line-height: 1.375; }
.av-input::placeholder, .av-textarea::placeholder { color: var(--av-subtle); opacity: 1; }
.av-input:hover, .av-select:hover, .av-textarea:hover { border-bottom-color: var(--av-text); }
.av-input:focus, .av-select:focus, .av-textarea:focus { outline: 2px solid var(--av-focus); outline-offset: -2px; }
.av-input[aria-invalid="true"], .av-select[aria-invalid="true"], .av-textarea[aria-invalid="true"] { outline: 2px solid var(--av-danger); outline-offset: -2px; }
.av-input[aria-invalid="true"] { padding-right: 2.75rem; background-image: url('../assets/icons/warning-filled.svg'); background-size: 1rem; background-position: right 1rem center; background-repeat: no-repeat; }
.av-input:disabled { opacity: .6; cursor: not-allowed; }
.av-select { appearance: none; background-image: url('../assets/icons/chevron-down.svg'); background-repeat: no-repeat; background-position: right 1rem center; background-size: 1rem; padding-right: 3rem; }
.av-inverse .av-select { color-scheme: light; background-color: #fafafa; color: var(--av-ink); }
.av-textarea { min-height: 9rem; resize: vertical; }
.av-helper, .av-error { font-size: .875rem; line-height: 1.4; }
.av-helper { color: var(--av-muted); }
.av-error { color: var(--av-danger); }
.av-checkbox { display: flex; gap: .625rem; align-items: flex-start; min-height: 2.75rem; padding-block: .5rem; cursor: pointer; font-size: .875rem; }
.av-checkbox input { width: 1rem; height: 1rem; flex-shrink: 0; margin: .1875rem 0 0; accent-color: var(--av-ink); }
.av-fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.av-fieldset legend { margin-bottom: 1rem; font-size: 1rem; }
.av-notice { padding: 1rem 1.25rem; border-left: 3px solid var(--av-blue); background: #ececff; color: var(--av-ink); font-size: .875rem; }
.av-notice--success { border-color: var(--av-success); background: #edf7ef; }
.av-accordion { border-top: 1px solid var(--av-border); }
.av-accordion:last-child { border-bottom: 1px solid var(--av-border); }
.av-accordion summary { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; list-style: none; padding: 1rem; min-height: 3rem; font-size: 1rem; }
.av-accordion summary::-webkit-details-marker { display: none; }
.av-accordion summary::after { content: ''; background: url('../assets/icons/chevron-down.svg') center/contain no-repeat; width: 1rem; height: 1rem; flex-shrink: 0; transition: transform var(--av-duration); }
.av-accordion[open] summary::after { transform: rotate(180deg); }
.av-inverse .av-accordion summary::after { filter: invert(1); }
.av-accordion summary:hover { background: var(--av-surface-soft); }
.av-accordion-body { padding: 0 3.5rem 1.5rem 1rem; max-width: 50rem; color: var(--av-muted); }
.av-header { position: relative; z-index: 20; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; width: 100%; }
.av-header-main { position: relative; display: flex; justify-content: space-between; align-items: center; min-height: 4.5rem; width: min(100%, 34rem); padding: .5rem 1.5rem; background: white; color: var(--av-ink); border-radius: .75rem; }
.av-brand { display: flex; align-items: center; min-height: 2.75rem; width: 10.25rem; max-width: 45%; }
.av-brand img { width: 100%; height: auto; }
.av-menu summary { display: flex; align-items: center; gap: .875rem; min-height: 3rem; padding: .5rem; list-style: none; font-size: .875rem; }
.av-menu summary::-webkit-details-marker { display: none; }
.av-menu-icon { position: relative; width: 1.125rem; height: .75rem; }
.av-menu-icon::before, .av-menu-icon::after { position: absolute; content: ''; width: 100%; height: 1px; background: currentColor; left: 0; transition: transform var(--av-duration); }
.av-menu-icon::before { top: .125rem; }
.av-menu-icon::after { bottom: .125rem; }
.av-menu[open] .av-menu-icon::before { top: .375rem; transform: rotate(45deg); }
.av-menu[open] .av-menu-icon::after { bottom: .3125rem; transform: rotate(-45deg); }
.av-menu-panel { position: absolute; z-index: 10; top: calc(100% + .5rem); left: 0; right: 0; padding: 1.5rem; background: white; border: 1px solid var(--av-border); border-radius: .75rem; box-shadow: 0 1rem 3rem #0101131a; }
.av-menu-panel nav { display: grid; }
.av-menu-panel nav a { padding: .625rem 0; font: 400 clamp(1.5rem,3vw,2.25rem)/1.3 var(--av-heading); letter-spacing: -.035em; text-decoration: none; }
.av-menu-panel nav a:hover { color: var(--av-blue); }
.av-menu-panel .av-menu-meta { border-top: 1px solid var(--av-border); margin-top: 1.5rem; padding-top: 1rem; color: #525252; font-size: .875rem; }
.av-header > .av-button { min-height: 4.5rem; padding-inline: 1.75rem; border-radius: .75rem; }
.av-hero { padding: clamp(2rem,5vw,5rem); border-radius: var(--av-radius-panel); overflow: hidden; position: relative; }
.av-hero-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 3rem; align-items: center; }
.av-hero .av-display { max-width: 12ch; }
.av-hero .av-lead { max-width: 32rem; margin-top: 1.5rem; color: var(--av-muted); font-size: 1.125rem; }
.av-hero .av-cluster { margin-top: 2rem; }
.av-hero .av-eyebrow { margin-bottom: 2rem; }
.av-section-intro { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; margin-bottom: 2.5rem; }
.av-section-intro .av-eyebrow { padding-top: .5rem; }
.av-section-intro .av-lead { margin-top: 1.5rem; font-size: 1.125rem; color: var(--av-muted); }
.av-card { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--av-radius-card); background: var(--av-surface-soft); color: var(--av-text); text-decoration: none; min-width: 0; transition: background var(--av-duration), box-shadow var(--av-duration); }
a.av-card:hover { box-shadow: 0 0 0 2px var(--av-blue); }
.av-card-media { aspect-ratio: 4/3; position: relative; overflow: hidden; background: #e8e8ff; }
.av-card-media > img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms var(--av-easing); }
a.av-card:hover .av-card-media > img { transform: scale(1.025); }
.av-card-body { padding: clamp(1.5rem,3vw,2rem); display: flex; flex-direction: column; gap: 1rem; }
.av-card-meta { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; color: var(--av-muted); font-size: .875rem; }
.av-card-title { font: 400 clamp(1.5rem,2.5vw,2rem)/1.25 var(--av-heading); letter-spacing: -.03em; }
.av-card-description { color: var(--av-muted); }
.av-card--capability { padding: 2rem; min-height: 18rem; justify-content: space-between; gap: 2.5rem; border: 1px solid var(--av-border); background: var(--av-surface); }
.av-card--capability .av-card-title { margin-bottom: 1rem; }
.av-card-index { font-size: .875rem; color: var(--av-muted); }
.av-card--editorial .av-card-title { font-size: 1.5rem; }
.av-feature-list { list-style: none; counter-reset: av-item; padding: 0; margin: 0; }
.av-feature-list li { counter-increment: av-item; display: grid; grid-template-columns: 3rem 1fr 1fr; gap: 2rem; padding-block: 1.75rem; border-top: 1px solid var(--av-border); }
.av-feature-list li:last-child { border-bottom: 1px solid var(--av-border); }
.av-feature-list li::before { content: counter(av-item, decimal-leading-zero); color: var(--av-muted); font-size: .875rem; padding-top: .25rem; }
.av-feature-list h3 { font: 400 1.5rem/1.3 var(--av-heading); letter-spacing: -.02em; }
.av-feature-list p { color: var(--av-muted); }
.av-quote { padding: clamp(1.5rem,4vw,3.5rem); border-radius: var(--av-radius-card); background: var(--av-surface-soft); }
.av-quote blockquote { margin: 0 0 2rem; font: 400 clamp(1.5rem,3vw,2.25rem)/1.35 var(--av-heading); letter-spacing: -.025em; }
.av-quote figcaption { color: var(--av-muted); font-size: .875rem; }
.av-quote cite { display: block; color: var(--av-text); font-style: normal; margin-bottom: .25rem; }
.av-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; padding-block: 2rem; }
.av-metric { border-top: 1px solid var(--av-border); padding-top: 1rem; }
.av-metric dt { color: var(--av-muted); font-size: .875rem; }
.av-metric dd { margin: .5rem 0; font: 300 clamp(2rem,5vw,3.5rem)/1.2 var(--av-heading); letter-spacing: -.035em; }
.av-cta { padding: clamp(2rem,5vw,4rem); background: var(--av-blue); color: white; border-radius: var(--av-radius-panel); display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.av-cta .av-h2 { max-width: 14ch; }
.av-cta p { margin-top: 1rem; max-width: 34rem; color: #eeeefe; }
.av-cta .av-button { flex-shrink: 0; }
.av-footer { padding: clamp(2rem,5vw,4rem); border-radius: var(--av-radius-panel); }
.av-footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2rem; }
.av-footer-logo { width: 11rem; height: auto; margin-bottom: 1.5rem; }
.av-footer p { max-width: 24rem; color: var(--av-muted); }
.av-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }
.av-footer nav a { text-decoration: none; padding-block: .25rem; min-height: 2rem; }
.av-footer nav a:hover { text-decoration: underline; text-underline-offset: .25em; }
.av-footer-bottom { margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid var(--av-border); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; font-size: .875rem; color: var(--av-muted); }
.av-dialog { max-width: min(32rem, calc(100% - 2rem)); width: 100%; border: 1px solid var(--av-border); padding: 2rem; border-radius: 1rem; color: var(--av-text); background: var(--av-surface); box-shadow: 0 2rem 6rem #01011333; }
.av-dialog:not([open]) { display: none; }
.av-dialog::backdrop { background: #010113a6; }
.av-dialog h3 { padding-right: 2rem; margin-bottom: 1rem; }
.av-dialog .av-cluster { margin-top: 2rem; }
.av-dialog-close { position: absolute; top: .625rem; right: .625rem; background: transparent; border: 0; width: 2.75rem; height: 2.75rem; font-size: 1.75rem; line-height: 1; border-radius: .25rem; }
.av-dialog-close:hover { background: var(--av-surface-soft); }
@media (max-width: 66rem) {
  .av-layout-grid { grid-template-columns: repeat(8,minmax(0,1fr)); }
  .av-span-16 { grid-column: span 8; }
  .av-hero-grid { gap: 2rem; }
}
@media (max-width: 48rem) {
  .av-hero-grid, .av-section-intro { grid-template-columns: 1fr; }
  .av-hero .av-display { max-width: 15ch; }
  .av-header-main { padding-inline: 1rem; }
  .av-header > .av-button { display: none; }
  .av-header-main { width: 100%; }
  .av-section-intro { gap: 1rem; }
  .av-feature-list li { grid-template-columns: 2rem 1fr; gap: 1rem; }
  .av-feature-list p { grid-column: 2; }
  .av-cta { align-items: flex-start; flex-direction: column; }
  .av-footer-top { grid-template-columns: 1fr 1fr; }
  .av-footer-top > div { grid-column: 1 / -1; }
  .av-metrics { grid-template-columns: 1fr; gap: .5rem; }
}
@media (max-width: 42rem) {
  .av-grid { grid-template-columns: 1fr; }
  .av-layout-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .av-span-8, .av-span-16 { grid-column: span 4; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: 0ms !important; }
}

/* ---- entropy.css ---- */
.av-entropy { --entropy-surface:#010113; --entropy-text:#fff; position:relative; isolation:isolate; overflow:hidden; min-height:20rem; background:var(--entropy-surface); color:var(--entropy-text); }
.av-entropy[data-av-surface="light"] { --entropy-surface:#fafafa; --entropy-text:#010113; }
.av-entropy-canvas, .av-entropy-poster { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; z-index:-2; }
.av-entropy[data-av-ready="true"] > .av-entropy-poster { visibility:hidden; }
.av-entropy-content { position:relative; z-index:1; }
.av-entropy--square { min-height:0; aspect-ratio:1; }
.av-entropy--card { min-height:0; height:100%; }
.av-entropy--hero { padding:clamp(2rem,6vw,5rem); border-radius:var(--av-radius-panel); min-height:34rem; display:flex; align-items:center; }
.av-entropy--hero .av-entropy-content { max-width:34rem; }
.av-entropy-hero-logo { display:block; width:10.5rem; height:auto; margin-bottom:2rem; }
.av-entropy--hero .av-lead { font-size:1.125rem; margin-block:1.5rem 2rem; }
.av-entropy--hero::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,var(--entropy-surface) 0%,var(--entropy-surface) 26%,transparent 80%); pointer-events:none; }
.av-motion-toggle { display:inline-flex; align-items:center; justify-content:center; min-height:2.75rem; border:1px solid currentColor; border-radius:.25rem; background:transparent; color:inherit; padding:.5rem .875rem; font:400 .875rem/1.3 var(--av-body); cursor:pointer; }
.av-motion-toggle:disabled { opacity:.7; cursor:default; }
.av-motion-toggle:hover:not(:disabled) { background:#ffffff1a; }
.av-entropy > .av-motion-toggle { position:absolute; z-index:2; right:1.25rem; bottom:1.25rem; background:var(--entropy-surface); }
.av-entropy--card::after { content:''; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,var(--entropy-surface)); z-index:-1; pointer-events:none; }
.av-entropy-brand { position:absolute; z-index:1; left:1.5rem; bottom:1.5rem; width:10rem; max-width:calc(100% - 3rem); height:auto; pointer-events:none; }
.lib-motion-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.lib-motion-tile { margin:0; overflow:hidden; border:1px solid var(--av-border); border-radius:1rem; background:white; }
.lib-motion-tile .av-entropy { min-height:0; aspect-ratio:4/3; }
.lib-motion-tile figcaption { padding:1rem 1.25rem; display:flex; justify-content:space-between; gap:.5rem; font-size:.875rem; }
.lib-motion-tile figcaption span { color:var(--av-muted); }
.lib-brand-pair { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:2rem; }
.lib-brand-swatch { padding:2rem 1.5rem; background:#fafafa; border-radius:.5rem; }
.lib-brand-swatch--dark { background:#010113; color:white; }
.lib-brand-swatch img { width:min(100%,19rem); height:auto; margin:0 auto 1.5rem; }
.lib-brand-swatch p { font-size:.75rem; }
.lib-motion-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem; margin-bottom:1.5rem; }
.lib-motion-intro p { color:var(--av-muted); max-width:38rem; }
.lib-motion-group-heading { margin-block:2.5rem 1.25rem; scroll-margin-top:7rem; }
.lib-motion-group-heading h3 { font:500 1.125rem/1.4 var(--av-body); margin-bottom:.5rem; }
.lib-motion-group-heading p { color:var(--av-muted); font-size:.875rem; }
@media (max-width:48rem) {
  .lib-motion-grid, .lib-brand-pair { grid-template-columns:1fr; }
  .lib-motion-intro { flex-direction:column; }
  .av-entropy--hero { min-height:44rem; align-items:flex-start; }
  .av-entropy--hero::after { background:linear-gradient(180deg,var(--entropy-surface) 0%,var(--entropy-surface) 58%,transparent 90%); }
}
@media (prefers-reduced-motion:reduce) {
  .av-entropy-canvas { transition:none; }
}

/* ---- home.css ---- */
.home-page { background:#fafafa; color:var(--av-ink); }
.home-container { width:min(calc(100% - 2 * var(--av-page-gutter)),94rem); margin-inline:auto; }
.home-header { position:absolute; top:1.5rem; left:var(--av-page-gutter); right:var(--av-page-gutter); display:flex; justify-content:space-between; gap:1rem; z-index:20; }
.home-nav-shell { display:flex; align-items:center; justify-content:space-between; width:52%; max-width:49rem; min-height:4.5rem; padding:1rem 1.5rem; border-radius:.8rem; background:#fff; position:relative; }
.home-brand { display:block; width:10.5rem; max-width:55%; }
.home-brand img { width:100%; height:auto; }
.home-menu summary { display:flex; align-items:center; gap:.65rem; list-style:none; cursor:pointer; min-height:2.75rem; }
.home-menu summary::-webkit-details-marker { display:none; }
.home-menu-lines { width:1.5rem; height:.45rem; border-block:1px solid; }
.home-menu[open] .home-menu-lines { transform:rotate(-45deg); }
.home-menu-panel { position:absolute; top:calc(100% + .5rem); left:0; right:0; padding:1.25rem 1.5rem; border-radius:.8rem; box-shadow:0 .8rem 3rem #01011314; background:white; display:grid; gap:.25rem; }
.home-menu-panel a { padding:.65rem 0; text-decoration:none; font-size:1.25rem; border-bottom:1px solid var(--av-border); }
.home-menu-panel a:last-child { border:0; }
.home-contact-button { min-width:9rem; border-radius:.6rem; padding-inline:1.5rem; }
.home-eyebrow { font:400 .875rem/1.4 var(--av-body); letter-spacing:.025em; }
.home-hero { min-height:47rem; height:min(57rem,91svh); position:relative; }
.home-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#fafafa 2%,#fafafa 35%,#fafafade 51%,#fafafa00 82%); }
.home-hero-copy { padding-block:clamp(10rem,14vw,14rem) 9rem; position:relative; z-index:1; }
.home-hero h1 { font:400 clamp(3.5rem,6.65vw,7rem)/1.06 var(--av-heading); letter-spacing:-.065em; margin:1.75rem 0 2rem; }
.home-hero h1 span { color:var(--av-blue); }
.home-hero-description { max-width:36rem; font-size:1.2rem; line-height:1.5; }
.home-hero-actions { display:flex; gap:1.5rem; align-items:center; margin-top:2rem; flex-wrap:wrap; }
.home-hero-actions .av-button { border-radius:.4rem; min-height:3.25rem; }
.home-text-link { text-underline-offset:.25em; padding-block:.65rem; }
.home-hero-index { position:absolute; bottom:2rem; left:var(--av-page-gutter); font-size:.75rem; letter-spacing:.04em; }
.home-hero > .av-motion-toggle { right:var(--av-page-gutter); bottom:2rem; font-size:.75rem; }
.home-experience { display:grid; grid-template-columns:1fr 1.65fr; gap:3.5rem; align-items:center; position:relative; margin-top:-1rem; }
.home-experience-card { padding:2rem; background:var(--av-ink); color:white; border-radius:1rem; }
.home-experience-card .home-eyebrow { color:#b7b7c7; }
.home-experience-number { font:400 4.5rem/1.1 var(--av-heading); letter-spacing:-.06em; margin:1.5rem 0; }
.home-experience-number span { display:block; font:400 1rem/1.5 var(--av-body); letter-spacing:0; margin-top:.5rem; }
.home-experience-bottom { display:flex; justify-content:space-between; align-items:flex-end; gap:1.5rem; padding-top:1.25rem; border-top:1px solid #ffffff40; font-size:.875rem; }
.home-experience-bottom a { max-width:8rem; text-underline-offset:.25em; }
.home-experience-brands { padding-block:3rem; }
.home-client-names { display:flex; flex-wrap:wrap; align-items:center; gap:clamp(2rem,5vw,5rem); margin-block:2.5rem; font:500 clamp(1.3rem,2.5vw,2rem)/1.2 var(--av-body); letter-spacing:-.03em; }
.home-small { font-size:.875rem; color:var(--av-muted); }
.home-section { padding-block:7rem; scroll-margin-top:2rem; }
.home-page h2 { font:400 clamp(2.3rem,4.5vw,4.5rem)/1.12 var(--av-heading); letter-spacing:-.055em; }
.home-section-heading { text-align:center; max-width:47rem; margin:0 auto 3.5rem; }
.home-section-heading .home-eyebrow { color:var(--av-blue); margin-bottom:1.25rem; }
.home-section-heading > p:last-child { margin:1.5rem auto 0; max-width:36rem; color:var(--av-muted); font-size:1.125rem; }
.home-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.home-service-card { background:white; padding:2rem; border-radius:1rem; display:flex; flex-direction:column; align-items:flex-start; }
.home-service-card h3 { font:400 clamp(1.6rem,2.5vw,2.1rem)/1.15 var(--av-heading); letter-spacing:-.045em; margin:2rem 0 1.25rem; max-width:13ch; }
.home-service-card > p { color:var(--av-muted); }
.home-service-card > a { display:block; text-underline-offset:.25em; margin-top:2rem; }
.home-service-card ul { list-style:none; padding:0; margin:2rem 0; font-size:.9375rem; width:100%; }
.home-service-card li { position:relative; padding:.85rem 0 .85rem 1rem; border-top:1px solid var(--av-border); }
.home-service-card li::before { content:''; position:absolute; top:1.3rem; left:0; width:.25rem; height:.25rem; background:currentColor; }
.home-service-bottom { width:100%; margin-top:auto; }
.home-service-bottom > span { display:block; font-size:.8125rem; margin-bottom:1.25rem; }
.home-service-bottom .av-button { width:100%; border-radius:.35rem; }
.home-service-card--blue { color:#fff; background:var(--av-blue); --av-border:#ffffff40; }
.home-service-card--blue > p { color:#e8e8ff; }
.home-foundations { background:var(--av-ink); color:#fff; border-radius:1.25rem; padding:clamp(1.5rem,4vw,4rem); overflow:hidden; scroll-margin-top:2rem; }
.home-foundations-top { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
.home-foundations-copy { padding-block:1rem 2rem; }
.home-pill { display:inline-flex; margin-top:1.1rem; padding:.35rem .7rem; border:1px solid #ffffff40; border-radius:2rem; font-size:.8125rem; color:#cccce0; }
.home-foundations h2 { margin-block:1.5rem; }
.home-foundations h2 span { color:#999cff; }
.home-foundations-copy > p:not(.home-eyebrow) { color:#cccce0; max-width:30rem; font-size:1.125rem; line-height:1.5; margin-bottom:2rem; }
.home-foundations-art { border-radius:1rem; min-height:30rem; }
.home-art-label { position:absolute; bottom:1rem; left:1.5rem; font-size:.8125rem; color:#c8c8dd; }
.home-foundation-parts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem; border-top:1px solid #ffffff30; margin-top:2.5rem; padding-top:2rem; }
.home-foundation-parts span { font-size:.8125rem; color:#999cff; }
.home-foundation-parts h3 { margin:.75rem 0; font:400 1.25rem/1.3 var(--av-heading); letter-spacing:-.03em; }
.home-foundation-parts p { color:#bfbfce; font-size:1rem; }
.home-proof { margin-top:7rem; color:white; padding-block:7rem; }
.home-proof::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#010113e8,#010113a6); }
.home-proof-inner { position:relative; display:grid; grid-template-columns:1.2fr 1fr; gap:5rem; align-items:center; }
.home-proof .home-eyebrow { color:#b9baff; margin-bottom:1.5rem; }
.home-proof a { display:inline-block; margin-top:2rem; }
.home-proof-number { display:block; font:400 clamp(5rem,10vw,10rem)/1 var(--av-heading); letter-spacing:-.08em; color:#a8abff; }
.home-proof-number > span { font-size:.45em; letter-spacing:-.04em; }
.home-proof-result > p:not(.home-small) { max-width:28rem; font-size:1.25rem; margin-block:1.5rem; }
.home-proof-result .home-small { color:#bdbdcc; max-width:29rem; }
.home-split-heading { display:flex; justify-content:space-between; gap:3rem; align-items:flex-end; margin-bottom:3rem; }
.home-split-heading .home-eyebrow { color:var(--av-blue); margin-bottom:1.5rem; }
.home-split-heading > p { max-width:22rem; font-size:1rem; color:var(--av-muted); padding-bottom:.3rem; }
.home-work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; align-items:start; }
.home-work-card { background:#fff; border-radius:1.25rem; overflow:hidden; scroll-margin-top:2rem; }
.home-work-media { aspect-ratio:4/3; overflow:hidden; position:relative; }
.home-work-media > img:not(.av-entropy-poster) { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--av-easing); }
.home-work-card:hover .home-work-media > img:not(.av-entropy-poster) { transform:scale(1.025); }
.home-work-media--type { display:flex; align-items:flex-end; padding:2rem; min-height:0; }
.home-work-media--type::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 20%,#010113bb); }
.home-work-media--type > p { font:400 clamp(2rem,3.4vw,3.8rem)/1.08 var(--av-heading); letter-spacing:-.045em; padding-bottom:1.5rem; }
.home-work-art-note { position:absolute; left:2rem; top:1.5rem; font-size:.8125rem; color:#cccce2; }
.home-work-body { padding:2rem; }
.home-work-body > .home-eyebrow { color:var(--av-muted); font-size:.8125rem; }
.home-work-body > h3 { font:400 clamp(1.7rem,3vw,2.7rem)/1.15 var(--av-heading); letter-spacing:-.05em; margin:1.25rem 0; }
.home-work-body > p:not(.home-eyebrow) { color:var(--av-muted); max-width:35rem; }
.home-project-details { margin-top:1.75rem; border-top:1px solid var(--av-border); }
.home-project-details summary { cursor:pointer; padding-block:1rem .25rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; list-style:none; text-underline-offset:.25em; }
.home-project-details summary::-webkit-details-marker { display:none; }
.home-project-details summary:hover { color:var(--av-blue); }
.home-project-details summary > span { font-size:1.5rem; font-weight:300; transition:transform .2s; }
.home-project-details[open] summary > span { transform:rotate(45deg); }
.home-project-details > div { padding-top:1rem; }
.home-project-details h4 { font-size:1rem; font-weight:500; margin:1.25rem 0 .5rem; }
.home-project-details p { color:var(--av-muted); }
.home-project-details .home-small { margin-top:1.5rem; }
.home-approach { display:grid; grid-template-columns:1fr 1fr; gap:6rem; padding-bottom:7rem; scroll-margin-top:2rem; }
.home-approach-intro .home-eyebrow { color:var(--av-blue); margin-bottom:1.5rem; }
.home-approach-intro > p:last-child { color:var(--av-muted); margin-top:1.5rem; max-width:31rem; font-size:1.125rem; }
.home-process { list-style:none; padding:0; margin:0; }
.home-process li { display:flex; gap:1.5rem; padding-block:1.75rem; border-top:1px solid #c7c7ce; }
.home-process li > span { font-size:.875rem; color:var(--av-blue); padding-top:.3rem; }
.home-process h3 { font:400 1.4rem/1.3 var(--av-heading); letter-spacing:-.03em; margin-bottom:1rem; }
.home-process p { color:var(--av-muted); }
.home-questions { display:grid; grid-template-columns:1fr 1.2fr; gap:4rem; padding-block:4rem 7rem; border-top:1px solid #c7c7ce; }
.home-questions .home-eyebrow { color:var(--av-blue); margin-bottom:1.5rem; }
.home-questions .av-accordion summary { padding-inline:0; font-size:1.125rem; }
.home-questions .av-accordion-content { padding-inline:0; font-size:1rem; }
.home-questions .av-accordion-content p { margin-bottom:.75rem; }
.home-footer-nav { display:flex; align-items:center; gap:2rem; margin-bottom:4rem; font-size:.9375rem; }
.home-footer-nav p { margin-right:auto; }
.home-footer-nav a { padding-block:.75rem; text-decoration:none; }
.home-footer-nav a:hover { text-decoration:underline; }
.home-intro { max-width:37rem; font-size:1.2rem; margin-block:1.5rem; }
.home-contact { background:var(--av-blue); padding:clamp(2rem,5vw,5rem); border-radius:1.25rem; color:white; margin-bottom:4rem; }
.home-contact h2 { margin-block:1.5rem 2rem; }
.home-contact-intro { font-size:1.2rem; margin-bottom:2rem; color:#e7e7ff; }
.home-contact-email { display:inline-block; margin-left:1.5rem; text-underline-offset:.25em; }
.home-footer { background:var(--av-ink); width:100%; max-width:none; padding:4rem var(--av-page-gutter) 2rem; color:white; }
.home-footer > img { width:min(100%,94rem); height:auto; margin:0 auto 3rem; }
.home-footer > div { display:flex; gap:2rem; border-top:1px solid #ffffff30; padding-top:1.5rem; font-size:.875rem; }
.home-footer > div p { margin-right:auto; }
.home-footer a { text-underline-offset:.25em; }
@media (max-width:60rem) {
  .home-nav-shell { width:65%; }
  .home-hero { min-height:46rem; height:auto; }
  .home-hero h1 { font-size:clamp(3.3rem,7.8vw,6rem); }
  .home-experience { gap:2rem; grid-template-columns:1fr 1.2fr; }
  .home-experience-bottom { flex-direction:column; align-items:flex-start; }
  .home-service-card { padding:1.5rem; }
  .home-foundations-top { gap:1.5rem; }
  .home-proof-inner { gap:3rem; }
  .home-approach { gap:3rem; }
  .home-footer-nav { flex-wrap:wrap; gap:1rem 2rem; }
}
@media (max-width:48rem) {
  .home-header { top:1rem; gap:.6rem; }
  .home-nav-shell { width:100%; padding:.75rem 1rem; min-height:4rem; }
  .home-brand { width:9rem; }
  .home-contact-button { display:none; }
  .home-hero { min-height:49rem; }
  .home-hero-copy { padding-block:9rem 15rem; }
  .home-hero h1 { font-size:clamp(2.7rem,8.8vw,4.3rem); margin-block:1.5rem; }
  .home-hero-description { font-size:1.0625rem; max-width:28rem; }
  .home-desktop-break { display:none; }
  .home-hero::after { background:linear-gradient(180deg,#fafafa 5%,#fafafa 52%,#fafafa00 90%); }
  .home-hero-actions { gap:.6rem 1.25rem; align-items:flex-start; }
  .home-hero-index { display:none; }
  .home-experience { grid-template-columns:minmax(0,1fr); gap:0; margin-top:0; }
  .home-experience-card { padding:1.75rem; }
  .home-experience-bottom { flex-direction:row; align-items:flex-end; }
  .home-experience-brands { padding:2.5rem .5rem; }
  .home-client-names { justify-content:space-between; gap:1rem; }
  .home-section { padding-block:4rem; }
  .home-section-heading { text-align:left; margin-bottom:2rem; }
  .home-service-grid { grid-template-columns:minmax(0,1fr); }
  .home-service-card h3 { max-width:18ch; margin-top:1.5rem; }
  .home-foundations-top, .home-foundation-parts, .home-proof-inner, .home-work-grid, .home-approach, .home-questions { grid-template-columns:minmax(0,1fr); }
  .home-foundations-top { gap:0; }
  .home-foundations-art { min-height:20rem; order:2; }
  .home-foundation-parts { gap:1.75rem; margin-top:1rem; }
  .home-foundation-parts > div + div { border-top:1px solid #ffffff30; padding-top:1.5rem; }
  .home-proof { margin-top:4rem; padding-block:4rem; }
  .home-proof-inner { gap:3rem; }
  .home-proof-number { font-size:6.5rem; }
  .home-split-heading { flex-direction:column; align-items:flex-start; gap:1.5rem; }
  .home-split-heading > p { max-width:30rem; }
  .home-work-body, .home-work-media--type { padding:1.5rem; }
  .home-work-art-note { left:1.5rem; }
  .home-work-media--type > p { font-size:2.25rem; }
  .home-approach { gap:2.5rem; padding-bottom:4rem; }
  .home-questions { padding-block:3rem 4rem; gap:2rem; }
  .home-footer-nav { gap:.5rem 1.5rem; margin-bottom:2.5rem; }
  .home-footer-nav p { flex-basis:100%; margin-bottom:.5rem; }
  .home-footer-nav .av-motion-toggle { margin-top:.5rem; }
  .home-contact-email { display:block; margin:1.25rem 0 0; }
  .home-footer { padding-top:2.5rem; }
  .home-footer > div { flex-wrap:wrap; gap:1rem; }
  .home-footer > div p { flex-basis:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .home-page *, .home-page *::before, .home-page *::after { scroll-behavior:auto; transition:none; }
}

/* ---- site.css ---- */
/* Compositions for the static, seven-page Aventropy website. */
.site-page { line-height:1.55; }
.site-page [hidden] { display:none !important; }
.site-page h3 { font-family:var(--av-heading); font-weight:400; letter-spacing:-.035em; line-height:1.2; }
.site-page a { text-underline-offset:.25em; }
.site-page :focus-visible { outline:2px solid #777bff; outline-offset:5px; }
.site-page .av-button { gap:1rem; }
.home-menu-panel a { display:flex; justify-content:space-between; gap:1rem; }
.home-menu-panel a[aria-current=page] { color:var(--av-blue); }
.home-menu-panel a span { font-size:1rem; }
.home-menu-panel { max-height:calc(100svh - 8rem); overflow-y:auto; }
.home-footer-nav { gap:1rem 1.75rem; flex-wrap:wrap; }
.home-footer-nav p { min-width:12rem; }
.home-footer > div { align-items:center; flex-wrap:wrap; }
.client-logo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; gap:2rem; margin-block:3rem; }
.client-logo-grid img { width:100%; max-width:10rem; height:3.25rem; object-fit:contain; filter:grayscale(1); mix-blend-mode:multiply; }
.home-experience-brands > p:first-child { font-size:1.2rem; max-width:25rem; }
.home-eyebrow { font-size:.875rem; }
.home-service-bottom > span { font-size:.875rem; }
.home-service-card { border:1px solid #e8e8ed; }
.home-service-card--blue { border-color:var(--av-blue); }
.home-service-card .av-button { font-size:.9375rem; padding-inline:1rem; }
.home-foundations-art { min-height:28rem; }
.home-foundations .av-button { border-radius:.4rem; }
.home-work-media { aspect-ratio:900/620; }
.project-card-link { color:inherit; display:block; text-decoration:none; height:100%; }
.home-work-card { height:100%; transition:box-shadow .2s; }
.home-work-card:hover { box-shadow:0 12px 40px #0101130b; }
.home-work-body { padding:1.75rem; }
.home-work-body > h3 { font-size:clamp(1.6rem,2.7vw,2.4rem); }
.project-read { display:flex; justify-content:space-between; margin-top:1.75rem; padding-top:1rem; border-top:1px solid var(--av-border); font-size:.9375rem; }
.project-card-link:hover .project-read { color:var(--av-blue); }
.more-work { margin-top:2rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 2rem; }
.more-work a { display:grid; grid-template-columns:1fr auto; padding:1.5rem 0; border-bottom:1px solid #d5d5de; text-decoration:none; }
.more-work a > span:first-child { grid-column:1; font-size:.875rem; color:var(--av-muted); margin-bottom:.4rem; }
.more-work strong { font-size:1.1rem; font-weight:400; }
.more-work a > span:last-child { grid-column:2; grid-row:1/3; align-self:center; }
.more-work a:hover { color:var(--av-blue); }
.work-attribution { margin-top:2rem; max-width:55rem; }
.client-results { margin-top:7rem; background:#010113; color:white; }
.client-results .home-eyebrow { color:#b8baff; }
.client-results .home-split-heading > p { color:#c8c8d5; }
.results-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:1.25rem; }
.result-feature { background:#151539; border:1px solid #3d3d62; padding:2.5rem; border-radius:1rem; }
.board-label { display:block; font-size:.875rem; letter-spacing:.02em; margin-bottom:1.5rem; }
.result-number { display:block; font:400 clamp(6rem,10vw,10rem)/1 var(--av-heading); letter-spacing:-.075em; color:#a5a8ff; margin:2rem 0; }
.result-number > span { font-size:.5em; }
.result-feature h3 { font-size:1.65rem; margin-bottom:1.25rem; }
.result-feature p { color:#d5d5e2; max-width:32rem; }
.result-feature a { display:inline-block; margin-block:2rem 1rem; }
.result-feature small { display:block; font-size:.8125rem; color:#b7b7c9; }
.result-perspectives { display:grid; grid-template-rows:1fr 1fr; }
.result-perspectives article { border-top:1px solid #444459; padding:2rem 1rem 2rem 2rem; }
.result-perspectives .board-label { color:#b8baff; }
.result-perspectives blockquote { margin:0 0 1.5rem; font:400 clamp(1.35rem,2.1vw,2rem)/1.4 var(--av-heading); letter-spacing:-.035em; }
.result-perspectives p { color:#babaca; font-size:.875rem; }
.evidence-note { font-size:.875rem; color:#c1c1d2; margin-top:2rem; }
.evidence-note a { display:inline-block; margin-left:.5rem; }
.process-section { border-top:1px solid #d5d5de; }
.process-layout { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.process-map { background:#010113; padding:2.5rem 2rem; color:white; border-radius:1rem; overflow:hidden; }
.process-map svg { width:100%; margin-block:2rem 1rem; }
.process-map-caption { display:flex; justify-content:space-between; gap:1rem; font-size:.875rem; color:#d6d6e8; }
.process-map > p { margin-top:2.5rem; font-size:.9375rem; color:#b7baff; }
.process-map > a { display:inline-block; margin-top:1.5rem; }
.process-step { border-top:1px solid #cfcfd9; }
.process-step:last-child { border-bottom:1px solid #cfcfd9; }
.process-step summary { list-style:none; display:grid; grid-template-columns:2rem 1fr 1.5rem; gap:1rem; padding-block:1.5rem; cursor:pointer; }
.process-step summary::-webkit-details-marker { display:none; }
.step-number { color:var(--av-blue); padding-top:.25rem; font-size:.875rem; }
.process-step summary strong { display:block; font:400 1.65rem/1.3 var(--av-heading); letter-spacing:-.04em; }
.process-step summary small { display:block; font-size:.9375rem; color:var(--av-muted); margin-top:.35rem; }
.step-toggle { font-size:1.5rem; align-self:center; }
.process-step[open] .step-toggle { transform:rotate(45deg); }
.process-copy { padding:0 2rem 1.5rem 3rem; }
.process-copy > p { color:var(--av-muted); }
.process-copy .process-tags { margin-top:1rem; color:var(--av-blue); font-size:.875rem; }
.process-output { display:flex; flex-direction:column; border-left:2px solid var(--av-blue); padding-left:1rem; margin-top:1.5rem; }
.process-output > span { font-size:.8125rem; color:var(--av-muted); }
.process-output strong { font-weight:400; }
.experience-section { padding-block:6rem; margin-bottom:6rem; background:#e9e9ef; }
.experience-layout { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.industry-board { padding:2rem; background:var(--av-ink); color:white; border-radius:1rem; }
.industry-board .board-label { color:#b9baff; }
.industry-board a { display:flex; gap:1.3rem; align-items:center; border-top:1px solid #444457; padding:1.5rem 0; text-decoration:none; }
.industry-board a > span:first-child { font-size:.875rem; color:#b9baff; }
.industry-board a > span:last-child { margin-left:auto; font-size:1.25rem; }
.industry-board h3 { font-size:1.35rem; margin-bottom:.4rem; }
.industry-board p:not(.board-label) { font-size:.875rem; color:#c3c3d2; }
.industry-board a:hover h3 { color:#b9baff; }
.technology-board { background:#fff; padding:2rem; border-radius:1rem; }
.technology-board .board-label { color:var(--av-blue); }
.tech-flow { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #d6d6e0; border-left:1px solid #d6d6e0; }
.tech-flow a { padding:1.5rem 1rem; min-height:13rem; border-right:1px solid #d6d6e0; border-bottom:1px solid #d6d6e0; text-decoration:none; position:relative; }
.tech-flow a:hover { background:#f2f2ff; }
.tech-flow a > span:first-child { font-size:.8125rem; color:#5f6073; }
.tech-flow h3 { font-size:1.55rem; margin-block:1rem; }
.tech-flow p { font-size:.9375rem; color:var(--av-muted); }
.tech-flow a > span:last-child { display:block; margin-top:1rem; color:var(--av-blue); }
.technology-note { font-size:.875rem; color:var(--av-muted); margin-top:1.5rem; }
.page-hero { min-height:42rem; padding:11rem 0 5rem; }
.page-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#fafafa 25%,#fafafaec 50%,#fafafa11 100%); }
.page-hero-copy { position:relative; }
.page-hero .home-eyebrow { margin-bottom:1.5rem; color:var(--av-blue); }
.page-hero h1 { font:400 clamp(3.3rem,6.4vw,6.5rem)/1.08 var(--av-heading); letter-spacing:-.06em; max-width:16ch; }
.page-hero h1 > span { color:var(--av-blue); }
.page-intro { font-size:1.2rem; max-width:37rem; margin-block:2rem; }
.page-hero .av-button { margin-top:.5rem; }
.page-hero > .av-motion-toggle { right:var(--av-page-gutter); bottom:1.5rem; }
.about-founder { display:grid; grid-template-columns:1fr 1.05fr; gap:5rem; align-items:center; }
.portrait-wrap { position:relative; }
.portrait-wrap img { width:100%; height:42rem; object-fit:cover; object-position:center 36%; border-radius:1rem; }
.portrait-wrap p { margin-top:1rem; font-size:.875rem; }
.about-founder h2 { margin-block:1.5rem 2rem; }
.about-founder .home-eyebrow { color:var(--av-blue); }
.about-founder p:not(.home-eyebrow) { margin-bottom:1.5rem; color:var(--av-muted); }
.about-founder p.large-copy { font-size:1.4rem; color:var(--av-ink); }
.principles-section { background:var(--av-ink); color:white; }
.principles-section .home-eyebrow { color:#b8baff; }
.principles-section .home-split-heading > p { color:#d0d0df; }
.principle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3rem; }
.principle-grid article { border-top:1px solid #686878; padding-top:1.5rem; }
.principle-grid h3 { font-size:1.85rem; margin:2rem 0 1rem; }
.principle-grid article > span { font-size:.875rem; }
.principles-section .principle-grid p { color:#cccddd; }
.working-section { background:#e9e9ef; }
.working-section .principle-grid article { border-color:#bfbfcd; }
.working-section .principle-grid p { color:var(--av-muted); }
.approach-note { max-width:60rem; text-align:center; }
.approach-note h2 { margin:1.5rem 0 2rem; }
.approach-note p:not(.home-eyebrow) { max-width:46rem; margin:0 auto 2rem; font-size:1.125rem; color:var(--av-muted); }
.service-jump { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #cfcfd9; border-bottom:1px solid #cfcfd9; }
.service-jump a { padding:1.3rem 1rem; text-decoration:none; font-size:.9375rem; }
.service-jump a:hover { background:#e9e9ff; color:var(--av-blue); }
.service-detail { display:grid; grid-template-columns:1fr 1fr; gap:5rem; padding-block:6rem; border-bottom:1px solid #cfcfd9; scroll-margin-top:2rem; }
.service-detail h2 { font-size:clamp(2.5rem,4vw,4rem); margin:1.5rem 0 2rem; }
.service-detail-intro .home-eyebrow { color:var(--av-blue); }
.service-detail-intro > p:not(.home-eyebrow) { font-size:1.125rem; max-width:31rem; color:var(--av-muted); }
.service-timing { display:block; margin-top:2rem; font-size:.875rem; }
.service-delivery { padding-top:3rem; }
.service-delivery h3 { font-size:1.25rem; margin-bottom:1.25rem; }
.service-delivery ul { padding-left:1.1rem; }
.service-delivery li { padding:.75rem 0; border-bottom:1px solid #d2d2de; }
.service-delivery > p { margin-block:2rem; font-size:.9375rem; color:var(--av-muted); }
.service-detail--dark { background:var(--av-ink); padding:4rem; margin-top:4rem; color:#fff; border-radius:1rem; }
.service-detail--dark .home-eyebrow { color:#b7baff; }
.service-detail--dark .service-detail-intro > p:not(.home-eyebrow), .service-detail--dark .service-delivery > p { color:#cecedd; }
.service-detail--dark .service-delivery li { border-color:#454556; }
.service-fit { text-align:center; max-width:53rem; }
.service-fit h2 { margin-block:1.5rem; }
.service-fit > p:not(.home-eyebrow) { font-size:1.125rem; color:var(--av-muted); margin-bottom:2rem; }
.work-toolbar h2 { font-size:2.5rem; margin-bottom:2rem; }
.work-filters { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.work-toolbar > p { margin-bottom:1.5rem; }
.filter-anchor { display:block; height:0; scroll-margin-top:2rem; }
.case-hero { padding-top:10rem; padding-bottom:3.5rem; }
.back-link { display:inline-block; margin-bottom:2rem; font-size:.9375rem; }
.case-hero > .home-eyebrow { color:var(--av-blue); }
.case-hero h1 { font:400 clamp(3rem,6vw,5.75rem)/1.12 var(--av-heading); letter-spacing:-.06em; max-width:18ch; margin-block:1.25rem 1.5rem; }
.case-deck { font-size:1.4rem; max-width:42rem; color:var(--av-muted); }
.case-status { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:2rem; }
.case-status span { font-size:.875rem; border:1px solid #c9c9d8; padding:.4rem .9rem; border-radius:2rem; }
.case-cover img { width:100%; max-height:47rem; object-fit:cover; border-radius:1rem; }
.case-cover figcaption { font-size:.8125rem; color:var(--av-muted); margin-top:.75rem; }
.case-content { display:grid; grid-template-columns:1fr 2.2fr; gap:4rem; padding-block:6rem; }
.case-content aside { position:sticky; top:2rem; align-self:start; }
.case-content aside p { margin-bottom:1.5rem; color:var(--av-blue); }
.case-content aside nav { display:flex; flex-direction:column; gap:.8rem; }
.case-content aside a { text-decoration:none; }
.case-content aside a:hover { color:var(--av-blue); }
.case-section { padding-bottom:3rem; margin-bottom:3rem; border-bottom:1px solid #d5d5de; scroll-margin-top:2rem; max-width:51rem; }
.case-section h2 { font-size:clamp(2rem,3vw,3rem); margin-bottom:2rem; }
.case-section p { margin-bottom:1.25rem; color:#444454; font-size:1.0625rem; }
.case-section ul { padding-left:1.25rem; }
.case-section li { margin-bottom:1.2rem; color:#444454; font-size:1.0625rem; }
.case-attribution { border-left:2px solid var(--av-blue); padding-left:1.5rem; color:var(--av-muted); font-size:.9375rem; max-width:51rem; }
.next-project { padding:3rem 0; border-top:1px solid #cfcfd9; display:flex; flex-direction:column; gap:1rem; margin-bottom:4rem; }
.next-project > span { font-size:.875rem; color:var(--av-muted); }
.next-project a { display:flex; justify-content:space-between; gap:2rem; text-decoration:none; font:400 clamp(1.5rem,3vw,3rem)/1.25 var(--av-heading); letter-spacing:-.04em; }
.editorial-note { display:grid; grid-template-columns:1fr 3fr; gap:3rem; padding-block:3.5rem; border-top:1px solid #cfcfd9; }
.editorial-index { font:400 5rem/1 var(--av-heading); letter-spacing:-.07em; color:#b5b6d2; }
.editorial-note > div:last-child { max-width:49rem; }
.editorial-note h3 { font-size:clamp(2rem,3.7vw,3.5rem); margin-block:1rem 1.5rem; }
.editorial-note .home-eyebrow { color:var(--av-blue); }
.editorial-note p:not(.home-eyebrow) { font-size:1.125rem; color:var(--av-muted); }
.editorial-details { margin-top:1.5rem; }
.editorial-details summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; border-bottom:1px solid #d5d5de; padding-block:.75rem; }
.editorial-details summary::-webkit-details-marker { display:none; }
.editorial-details[open] summary span { transform:rotate(45deg); }
.editorial-details > div p { margin-top:1.25rem; }
.editorial-details a { display:inline-block; margin-top:1.5rem; }
.contact-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:5rem; }
.contact-main h2 { margin-block:1.5rem 2rem; font-size:clamp(2.3rem,4vw,4rem); }
.contact-email { font-size:clamp(1.3rem,2.7vw,2.4rem); display:inline-block; overflow-wrap:anywhere; color:var(--av-blue); margin-bottom:1.5rem; }
.contact-main > p:not(.home-eyebrow) { max-width:34rem; color:var(--av-muted); margin-bottom:1.75rem; }
.contact-main .av-button { margin-bottom:1.5rem; }
.contact-brief { background:var(--av-ink); padding:2.5rem; border-radius:1rem; color:white; }
.contact-brief .home-eyebrow { color:#b7baff; }
.contact-brief h3 { font-size:2rem; margin-block:1rem 2rem; }
.contact-brief > a { display:flex; justify-content:space-between; gap:1rem; padding:1.5rem 0; border-top:1px solid #4b4b64; text-decoration:none; scroll-margin-top:3rem; }
.contact-brief > a:hover, .contact-brief > a:target { color:#b7baff; }
.contact-brief .home-small { color:#bdbdd0; margin-top:1.5rem; }
@media(min-width:110rem) { .home-container { max-width:94rem; } }
@media(max-width:65rem) {
 .client-logo-grid { gap:1.5rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .client-logo-grid img { max-width:8rem; height:3rem; }
 .home-experience { grid-template-columns:1fr 1.3fr; }
 .service-detail, .about-founder, .contact-layout { gap:3rem; }
 .service-detail--dark { padding:2.5rem; }
 .principle-grid { gap:1.5rem; }
 .portrait-wrap img { height:36rem; }
 .tech-flow { grid-template-columns:1fr; }
 .tech-flow a { min-height:0; padding:1.25rem; }
 .tech-flow h3 { margin-block:.5rem; }
 .tech-flow a > span:last-child { position:absolute; right:1rem; top:.5rem; }
 .technology-board, .industry-board { padding:1.5rem; }
 .industry-board a { padding-block:2rem; }
 .process-layout { gap:1.5rem; }
}
@media(max-width:48rem) {
 .home-experience { grid-template-columns:1fr; }
 .client-logo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; margin-block:2rem; }
 .client-logo-grid img { height:2.5rem; }
 .home-footer-nav p { flex-basis:100%; }
 .home-footer > div { gap:1rem; }
 .home-foundations-art { min-height:22rem; }
 .home-hero::after { background:linear-gradient(180deg,#fafafa 5%,#fafafa 63%,#fafafa00 100%); }
 .client-results { margin-top:4rem; }
 .results-grid, .process-layout, .experience-layout, .about-founder, .service-detail, .contact-layout, .case-content { grid-template-columns:minmax(0,1fr); }
 .result-feature { padding:1.75rem; }
 .result-number { font-size:7rem; }
 .result-perspectives article { padding:2rem 0; }
 .result-perspectives { margin-top:1rem; }
 .result-perspectives blockquote { font-size:1.5rem; }
 .evidence-note a { margin:.5rem 0 0; }
 .more-work { grid-template-columns:minmax(0,1fr); }
 .process-map { padding:1.5rem; }
 .process-map svg { margin-block:1.5rem; }
 .process-map-caption { font-size:.8125rem; }
 .process-step summary strong { font-size:1.45rem; }
 .process-copy { padding-right:.5rem; }
 .experience-section { padding-block:4rem; margin-bottom:4rem; }
 .industry-board a { padding-block:1.4rem; }
 .tech-flow { grid-template-columns:1fr 1fr; }
 .tech-flow a { padding:1.2rem .9rem; }
 .tech-flow h3 { font-size:1.3rem; margin-block:1rem; }
 .tech-flow a > span:last-child { position:static; }
 .page-hero { min-height:43rem; padding-block:9rem 12rem; }
 .page-hero::after { background:linear-gradient(180deg,#fafafa 3%,#fafafa 62%,#fafafa00 100%); }
 .page-hero h1 { font-size:clamp(2.8rem,9vw,4.25rem); }
 .page-intro { font-size:1.1rem; margin-top:1.5rem; }
 .about-founder { gap:2rem; }
 .portrait-wrap img { height:30rem; object-position:center 30%; }
 .about-founder p.large-copy { font-size:1.25rem; }
 .principle-grid { grid-template-columns:1fr; gap:2.5rem; }
 .principle-grid h3 { margin-top:1.5rem; }
 .approach-note { text-align:left; }
 .service-jump { grid-template-columns:1fr 1fr; }
 .service-jump a { font-size:.875rem; padding:.9rem .5rem; }
 .service-detail { gap:1rem; padding-block:3.5rem; }
 .service-delivery { padding-top:1rem; }
 .service-detail--dark { padding:2rem 1.5rem; margin-top:3rem; }
 .service-detail h2 { font-size:2.45rem; }
 .service-fit { text-align:left; }
 .case-hero { padding-top:8rem; padding-bottom:2rem; }
 .case-hero h1 { font-size:clamp(2.5rem,9vw,4rem); overflow-wrap:break-word; }
 .case-deck { font-size:1.2rem; }
 .case-status { gap:.5rem; }
 .case-cover img { border-radius:.75rem; }
 .case-cover figcaption { font-size:.8125rem; }
 .case-content { padding-block:3rem; gap:3rem; }
 .case-content aside { position:static; }
 .case-content aside nav { flex-direction:row; flex-wrap:wrap; gap:.75rem 1.25rem; font-size:.875rem; }
 .case-section { padding-bottom:2rem; margin-bottom:2rem; }
 .editorial-note { grid-template-columns:1fr; gap:1.5rem; padding-block:2.5rem; }
 .editorial-index { font-size:3rem; }
 .contact-layout { gap:2rem; }
 .contact-brief { padding:1.75rem; }
 .contact-email { font-size:clamp(1.3rem,6vw,2rem); }
}
@media(max-width:24rem) {
 .client-logo-grid { grid-template-columns:1fr 1fr; }
 .tech-flow { grid-template-columns:1fr; }
 .service-detail h2 { font-size:2.15rem; }
 .home-service-card .av-button { font-size:.875rem; }
}
@media(prefers-reduced-motion:reduce) { .site-page *, .site-page *::before, .site-page *::after { scroll-behavior:auto; transition:none; } }

/* Site compositions: existing library primitives with motion as the visual language. */
.home-header { position:fixed; align-items:flex-start; z-index:60; }
.home-nav-shell { width:calc(100% - 16rem); max-width:76rem; border:1px solid #e5e5e8; box-shadow:0 4px 24px #01011308; }
.home-contact-button { min-height:4.5rem; }
.home-menu summary { gap:.8rem; }
.home-menu .av-menu-icon { width:1.75rem; height:1.75rem; }
.home-menu .av-menu-icon::before { top:calc(50% - 4px); }
.home-menu .av-menu-icon::after { top:calc(50% + 4px); bottom:auto; }
.home-menu[open] .av-menu-icon::before { top:50%; transform:rotate(45deg); }
.home-menu[open] .av-menu-icon::after { top:50%; transform:rotate(-45deg); }
.menu-close-label { display:none; }
.home-menu[open] .menu-close-label { display:inline; }
.home-menu[open] .menu-open-label { display:none; }
.home-nav-shell:has(.home-menu[open]) { border-radius:.8rem .8rem 0 0; }
.home-menu-panel { display:grid; grid-template-columns:11rem minmax(0,1fr); gap:2rem; top:calc(100% - 1px); padding:1.5rem; border:1px solid #e5e5e8; border-top:0; border-radius:0 0 .8rem .8rem; max-height:calc(100dvh - 8rem); overflow:auto; overscroll-behavior:contain; }
.home-menu-panel::before { content:''; position:absolute; top:0; left:1.5rem; right:1.5rem; height:1px; background:#dedee5; }
.home-menu-panel a { display:block; padding:0; border:0; text-decoration:none; }
.home-menu-panel a:hover { color:var(--av-blue); }
.mega-label { font-size:.8rem; color:var(--av-muted); margin-bottom:1.5rem; }
.mega-site { display:flex; flex-direction:column; }
.mega-site > div { display:grid; gap:.55rem; }
.mega-site > div > a { font:400 clamp(1.1rem,1.65vw,1.65rem)/1.3 var(--av-heading); letter-spacing:-.035em; }
.mega-site a[aria-current] { color:var(--av-blue); }
.home-menu-panel .mega-library { font-size:.8125rem; margin-top:auto; padding-top:2.5rem; text-decoration:underline; text-underline-offset:.25em; }
.mega-service-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.8rem; }
.mega-category { font-size:.75rem; line-height:1.4; color:var(--av-blue); text-transform:uppercase; letter-spacing:.055em; margin-bottom:1.5rem; }
.mega-service-columns a { margin-bottom:1.5rem; }
.mega-service-columns strong { display:block; font-size:1.05rem; font-weight:500; line-height:1.3; }
.mega-service-columns a span { display:block; font-size:.875rem; line-height:1.4; color:var(--av-muted); margin-top:.5rem; }
.mega-contact { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; background:var(--av-ink); color:white; padding:1.4rem; border-radius:.65rem; margin-top:1rem; }
.mega-contact p { font:400 clamp(1.25rem,2vw,1.75rem)/1.2 var(--av-heading); letter-spacing:-.035em; max-width:14rem; }
.home-menu-panel .mega-contact .av-button { display:inline-flex; padding:.85rem 1.5rem; font-size:.9375rem; color:white; flex-shrink:0; }
.site-menu-backdrop { position:fixed; inset:0; z-index:55; width:100%; height:100%; border:0; background:#01011338; backdrop-filter:blur(9px); -webkit-backdrop-filter:blur(9px); }
.site-menu-open { overflow:hidden; }
.client-logo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem 3rem; }
.client-logo-grid img { width:100%; max-width:8.5rem; height:2.8rem; object-fit:contain; }
.project-motion { min-height:0; aspect-ratio:900/620; }
.project-motion::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#01011355,transparent 35%,#010113e0); }
.project-motion-copy { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:space-between; padding:1.75rem; }
.project-motion-copy > span { font-size:.8125rem; color:#d7d7f1; }
.project-motion-copy > p { font:400 clamp(2rem,3.5vw,3.6rem)/1.1 var(--av-heading); letter-spacing:-.045em; max-width:15ch; }
.case-motion-cover { aspect-ratio:2/1; min-height:30rem; max-height:43rem; border-radius:1rem; }
.case-motion-cover .project-motion-copy { padding:3rem; }
.case-motion-cover .project-motion-copy > p { font-size:clamp(2.4rem,5vw,5rem); }
.client-results::after { content:''; position:absolute; inset:0; z-index:-1; background:#010113ba; }
.result-feature { background:#131333d9; backdrop-filter:blur(8px); }
.result-perspectives { display:grid; gap:1rem; }
.result-perspectives article { padding:2rem; background:#16162dd9; border-radius:1rem; }
.result-perspectives h3 { font:400 clamp(1.7rem,2.5vw,2.4rem)/1.15 var(--av-heading); letter-spacing:-.035em; margin:1.25rem 0; }
.result-perspectives p { font-size:1rem; color:#cfcfe2; }
.client-results .evidence-note { padding-right:9rem; }
.process-stages { display:grid; gap:1.5rem; }
.process-stage { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2rem; padding:1.5rem; background:var(--av-blue); color:white; border-radius:1.25rem; overflow:hidden; }
.process-stage-copy { padding:clamp(1rem,3vw,3rem); align-self:center; }
.process-stage-tag { color:white; background:#ffffff18; border:1px solid #ffffff40; font-size:.875rem; }
.process-stage h3 { font:400 clamp(2rem,3.5vw,3.7rem)/1.12 var(--av-heading); letter-spacing:-.045em; margin:1.5rem 0; }
.process-stage-copy > p { font-size:1.125rem; color:#e4e4fa; max-width:34rem; }
.process-stage-art { min-height:30rem; height:100%; border-radius:.8rem; }
.process-art-caption { position:absolute; left:1.5rem; bottom:1.5rem; font-size:.8125rem; color:#d7d7f1; }
.process-stage-detail { border-color:#ffffff60; margin-top:2rem; }
.process-stage-detail summary { padding:1rem 0; }
.process-stage-detail summary::after { filter:invert(1); }
.process-stage-notes { padding-bottom:1rem; }
.process-stage-notes > div { border-top:1px solid #ffffff30; padding-top:1.25rem; margin-top:1.25rem; }
.process-stage-notes h4 { font-size:.875rem; text-transform:uppercase; letter-spacing:.03em; margin-bottom:.5rem; }
.process-stage-notes p,.process-stage-notes li { font-size:.9375rem; color:#e4e4fa; }
.process-stage-notes ul { padding-left:1.1rem; }
.process-stage-notes li + li { margin-top:.35rem; }
.process-stage--2 { background:#161639; }
.process-stage--3 { background:#080b91; }
.process-stage--4 { background:var(--av-ink); }
.process-after { display:flex; justify-content:space-between; align-items:center; gap:2rem; margin-top:2rem; }
.process-after > p { max-width:35rem; color:var(--av-muted); }
.about-art { min-height:35rem; border-radius:1rem; }
.about-art > span { position:absolute; bottom:2rem; left:2rem; font-size:.875rem; }
.experience-toolbar { display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:2rem; }
.experience-toolbar .av-field { width:20rem; max-width:100%; }
.experience-toolbar .av-select { background-color:white; }
.experience-toolbar > p { max-width:23rem; }
.experience-map { display:grid; gap:1.5rem; }
.experience-map-row { display:grid; grid-template-columns:.85fr 3rem 1.5fr; align-items:center; gap:2rem; padding:2.5rem; background:white; border:1px solid #dedee5; border-radius:1rem; }
.experience-sector h3 { font:400 clamp(1.8rem,3vw,2.8rem)/1.15 var(--av-heading); letter-spacing:-.04em; margin-bottom:1rem; }
.experience-sector p { color:var(--av-muted); margin-bottom:1.5rem; }
.experience-sector a { font-size:.9375rem; color:var(--av-blue); text-underline-offset:.2em; }
.experience-connection { position:relative; height:1px; width:100%; background:var(--av-blue); }
.experience-connection::before,.experience-connection::after { content:''; position:absolute; width:5px; height:5px; border-radius:50%; background:var(--av-blue); top:-2px; }
.experience-connection::before { left:0; }.experience-connection::after { right:0; }
.experience-tech-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; border-left:1px solid #e5e5e8; padding-left:2rem; }
.experience-tech-list .av-tag { font-size:.875rem; padding:.5rem .7rem; max-width:100%; white-space:normal; }
.experience-tech-list p { font-size:.9375rem; color:var(--av-muted); margin-top:.7rem; }
.work-filters.av-field { display:flex; flex-direction:column; align-items:stretch; width:18rem; max-width:100%; gap:.5rem; }
.work-filters .av-select { background-color:white; }
@media(max-width:70rem) {
 .home-nav-shell { width:calc(100% - 11rem); }
 .home-menu-panel { grid-template-columns:9rem minmax(0,1fr); gap:1.5rem; }
 .mega-service-columns { gap:1rem; }
 .mega-contact { padding:1.25rem; gap:1rem; }
 .experience-map-row { gap:1.5rem; padding:2rem; grid-template-columns:1fr 1.5rem 1.4fr; }
 .experience-tech-list { padding-left:1.5rem; gap:1.5rem; }
}
@media(max-width:48rem) {
 .home-nav-shell { width:100%; }
 .home-menu-panel { grid-template-columns:minmax(0,1fr); max-height:calc(100dvh - 7rem); padding:1.25rem 1rem; }
 .home-menu-panel::before { left:1rem; right:1rem; }
 .mega-site > div { grid-template-columns:1fr 1fr; gap:.7rem 1rem; }
 .mega-site > div > a { font-size:1.25rem; }
 .home-menu-panel .mega-library { padding-top:1.5rem; }
 .mega-label { margin-bottom:1rem; }
 .mega-service-columns { grid-template-columns:1fr; gap:.75rem; }
 .mega-category { margin-bottom:.75rem; }
 .mega-service-columns a { margin-bottom:1rem; }
 .mega-contact { flex-wrap:wrap; }
 .client-logo-grid { gap:1.75rem; }
 .client-logo-grid img { height:2.2rem; }
 .project-motion-copy { padding:1.5rem; }
 .project-motion-copy > p { font-size:clamp(1.7rem,7vw,2.5rem); }
 .case-motion-cover { aspect-ratio:1; min-height:22rem; }
 .case-motion-cover .project-motion-copy { padding:1.5rem; }
 .case-motion-cover .project-motion-copy > p { font-size:2.2rem; }
 .result-perspectives article { padding:1.5rem; }
 .client-results .evidence-note { padding-right:0; padding-bottom:2.5rem; }
 .process-stage { grid-template-columns:minmax(0,1fr); gap:1rem; padding:1rem; }
 .process-stage-copy { padding:1.5rem 1rem; }
 .process-stage h3 { font-size:clamp(2rem,7vw,2.7rem); }
 .process-stage-copy > p { font-size:1rem; }
 .process-stage-art { aspect-ratio:1; min-height:22rem; }
 .process-after,.experience-toolbar { flex-direction:column; align-items:flex-start; }
 .experience-map-row { grid-template-columns:minmax(0,1fr); gap:1.5rem; padding:1.5rem; }
 .experience-connection { height:2rem; width:1px; margin-left:.5rem; }
 .experience-connection::before { top:0; left:-2px; }.experience-connection::after { top:auto; bottom:0; right:-2px; }
 .experience-tech-list { border-left:0; border-top:1px solid #e5e5e8; padding:1.5rem 0 0; gap:1.5rem 1rem; }
 .about-art { min-height:25rem; }
}
@media(max-width:24rem) { .experience-tech-list { grid-template-columns:minmax(0,1fr); } }
.process-stage-detail summary:hover { background:#ffffff12; }
.process-stage-detail:last-child { border-bottom-color:#ffffff60; }

/* Menu: the reference's 500ms expansion curve, on width and height together. */
.home-nav-shell { --menu-ease:cubic-bezier(.625,.05,0,1); width:52%; max-width:76rem; transition:width .5s var(--menu-ease); }
.home-nav-shell:has(.home-menu[open]) { width:calc(100% - 16rem); }
.home-menu-panel { display:block; padding:0; max-height:none; overflow:hidden; }
.home-menu-panel::before { display:none; }
.home-menu-content { display:grid; grid-template-columns:11rem minmax(0,1fr); gap:2rem; padding:1.5rem; max-height:calc(100dvh - 8rem); overflow:auto; overscroll-behavior:contain; }
.home-menu-content::before { content:''; position:absolute; top:0; left:1.5rem; right:1.5rem; height:1px; background:#dedee5; }
.home-nav-shell[data-menu-enhanced] { width:52%; border-radius:.8rem; }
.home-nav-shell[data-menu-enhanced].is-menu-open { width:calc(100% - 16rem); border-radius:.8rem .8rem 0 0; }
[data-menu-enhanced] .home-menu-panel { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:0fr; visibility:hidden; transition:grid-template-rows .5s var(--menu-ease),visibility 0s .5s; }
.home-menu-overflow { min-height:0; overflow:hidden; }
[data-menu-enhanced].is-menu-open .home-menu-panel { grid-template-rows:1fr; visibility:visible; transition:grid-template-rows .5s var(--menu-ease),visibility 0s; }
[data-menu-enhanced] .home-menu-content > * { opacity:0; transform:translateY(-10px); transition:opacity .2s,transform .5s var(--menu-ease); }
[data-menu-enhanced].is-menu-open .home-menu-content > * { opacity:1; transform:none; transition:opacity .3s .15s,transform .5s var(--menu-ease); }
[data-menu-enhanced] .home-menu .av-menu-icon::before,[data-menu-enhanced] .home-menu .av-menu-icon::after { transition:transform .5s var(--menu-ease),top .5s var(--menu-ease); }
[data-menu-enhanced] .home-menu[open] .av-menu-icon::before { top:calc(50% - 4px); transform:none; }
[data-menu-enhanced] .home-menu[open] .av-menu-icon::after { top:calc(50% + 4px); transform:none; }
[data-menu-enhanced].is-menu-open .home-menu .av-menu-icon::before { top:50%; transform:rotate(45deg); }
[data-menu-enhanced].is-menu-open .home-menu .av-menu-icon::after { top:50%; transform:rotate(-45deg); }
[data-menu-enhanced] .home-menu .menu-open-label { display:inline; }
[data-menu-enhanced] .home-menu .menu-close-label { display:none; }
[data-menu-enhanced].is-menu-open .menu-open-label { display:none; }
[data-menu-enhanced].is-menu-open .menu-close-label { display:inline; }
.site-menu-backdrop { opacity:0; transition:opacity .5s cubic-bezier(.625,.05,0,1); }
.site-menu-backdrop.is-active { opacity:1; }

/* All four stages share one banner on Home. */
.process-overview { overflow:hidden; border-radius:1.25rem; background:var(--av-ink); color:white; }
.process-overview-top { display:grid; grid-template-columns:1.15fr .85fr; }
.process-overview-copy { padding:clamp(2rem,4.2vw,4.5rem); position:relative; z-index:1; }
.process-overview .home-eyebrow { color:#b9bbff; margin-bottom:1.75rem; }
.process-overview h2 { font-size:clamp(2.3rem,3.8vw,4rem); }
.process-overview-copy > p:not(.home-eyebrow) { margin:1.5rem 0; max-width:30rem; color:#c8c8db; font-size:1.1rem; }
.process-overview-copy .av-link { color:white; display:inline-block; margin-top:.5rem; }
.process-overview-art { min-height:25rem; }
.process-overview-art::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#010113,transparent 35%); }
.process-overview-steps { margin:0; padding:0 clamp(2rem,4.2vw,4.5rem) 3rem; list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem; }
.process-overview-steps li { border-top:1px solid #ffffff3d; padding-top:1.5rem; }
.process-overview-number { display:block; color:#9699ff; font-size:.875rem; margin-bottom:1.25rem; }
.process-overview-steps h3 { font-size:1.25rem; margin-bottom:.75rem; }
.process-overview-steps p { color:#bdbdd0; font-size:.9375rem; }

/* The shared invitation: large type, a directional motion study and a connected footer. */
.contact-banner { padding:clamp(1.5rem,3.5vw,4rem); background:var(--av-blue); overflow:hidden; }
.contact-banner-top { display:flex; justify-content:space-between; gap:1rem; border-bottom:1px solid #ffffff40; padding-bottom:1.5rem; font-size:.875rem; }
.contact-banner-top > span { color:#d4d4ff; }
.contact-banner-main { display:grid; grid-template-columns:1.3fr 1fr; gap:2rem; align-items:center; padding-block:2.5rem; }
.contact-banner h2 { font-size:clamp(2.75rem,5.25vw,5.7rem); letter-spacing:-.055em; margin:0 0 1.5rem; }
.contact-banner-copy > p { max-width:25rem; color:#dfdfff; font-size:1.125rem; margin-bottom:2rem; }
.contact-banner-art { aspect-ratio:1; min-height:0; border:1px solid #777afa; border-radius:50%; width:100%; max-width:27rem; justify-self:end; }
.contact-banner-arrow { position:absolute; inset:26%; width:48%; height:48%; color:#f5f4ff; transition:transform .5s cubic-bezier(.625,.05,0,1); filter:drop-shadow(0 0 15px #01011380); }
.contact-banner:has(.av-button:hover) .contact-banner-arrow { transform:translate(6px,-6px); }
.contact-banner-bottom { display:flex; align-items:center; justify-content:space-between; gap:2rem; border-top:1px solid #ffffff40; padding-top:1.75rem; font-size:.9375rem; }
.contact-possibilities { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; }
.contact-possibilities span::before { content:'+'; color:#a5a8ff; margin-right:.5rem; }
.contact-banner-bottom > a { flex-shrink:0; }

/* About: static company capabilities, without a biography or animation. */
.company-perspective { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(3rem,7vw,7rem); align-items:center; }
.company-intro .home-eyebrow { color:var(--av-blue); margin-bottom:1.75rem; }
.company-intro h2 { font-size:clamp(2.5rem,4.1vw,4.5rem); }
.company-intro > p:not(.home-eyebrow) { margin:2rem 0; font-size:1.2rem; color:var(--av-muted); max-width:33rem; }
.company-capabilities { border:1px solid #d4d4e2; border-radius:1rem; background:linear-gradient(145deg,#f0f0ff,#fff); padding:2.5rem; }
.company-capabilities article { position:relative; padding-left:1.5rem; border-left:1px solid #a7a8ff; padding-bottom:2rem; }
.company-capabilities article::before { content:''; position:absolute; top:.2rem; left:-4px; width:7px; height:7px; background:var(--av-blue); }
.company-capabilities article > span { color:var(--av-blue); font-size:.8125rem; }
.company-capabilities h3 { font-size:1.8rem; margin:1rem 0; }
.company-capabilities article p { font-size:1rem; color:var(--av-muted); max-width:28rem; }
.company-capabilities-foot { border-top:1px solid #d4d4e2; padding-top:1.5rem; color:var(--av-blue); font-size:.875rem; }

/* About experience: industries connect to four practical capability nodes. */
.experience-atlas { background:#e9e9f1; }
.atlas-board { border-radius:1.25rem; overflow:hidden; background:var(--av-ink); color:white; }
.atlas-enhanced .atlas-board { display:grid; grid-template-columns:minmax(15rem,.8fr) minmax(0,2fr); }
.atlas-controls { background:#10102a; padding:2.5rem 1.5rem; }
.atlas-control-label { font-size:.8125rem; color:#b8baff; margin:0 .75rem 2rem; }
.atlas-option.av-button { width:100%; justify-content:flex-start; gap:1rem; padding:1.2rem .75rem; min-height:4.5rem; border-radius:0; border:0; border-bottom:1px solid #ffffff26; color:#bcbcd1; text-align:left; font-size:1rem; line-height:1.4; }
.atlas-option > span:first-child { color:#999bc7; font-size:.75rem; }
.atlas-option > span:last-child { margin-left:auto; opacity:0; }
.atlas-option.av-button:hover { color:white; background:#ffffff08; }
.atlas-option.av-button[aria-pressed="true"] { background:var(--av-blue); color:white; }
.atlas-option[aria-pressed="true"] > span { color:white; opacity:1; }
.atlas-control-note { font-size:.875rem; line-height:1.5; color:#9999b6; margin:2.5rem .75rem 0; }
.atlas-mobile-control { display:none; }
.atlas-panel { padding:clamp(1.5rem,3.3vw,3.5rem); }
.atlas-panel + .atlas-panel { border-top:1px solid #ffffff30; }
.atlas-panel-heading { display:flex; align-items:flex-start; gap:1.5rem; margin-bottom:2rem; }
.atlas-index { font:400 clamp(3rem,5vw,5rem)/1 var(--av-heading); letter-spacing:-.07em; color:#575cdd; }
.atlas-panel-heading .home-eyebrow { color:#aeb1ff; font-size:.8125rem; margin-bottom:.6rem; }
.atlas-panel-heading h3 { font-size:clamp(1.75rem,2.8vw,2.5rem); margin-bottom:1rem; }
.atlas-panel-heading p:last-child { color:#c6c6db; max-width:37rem; font-size:1rem; }
.atlas-network { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:5rem 1.5rem; }
.atlas-network::before { content:''; position:absolute; width:calc(50% + .75rem); height:5rem; top:50%; left:25%; transform:translateY(-50%); border:1px solid #5259c7; border-block:0; }
.atlas-network::after { content:''; position:absolute; left:25%; right:25%; top:50%; height:1px; background:#5259c7; }
.atlas-node { background:#141432; padding:1.4rem; border:1px solid #313157; border-radius:.5rem; position:relative; z-index:1; }
.atlas-node > span { font-size:.75rem; color:#a9acf5; }
.atlas-node h4 { font:400 1.2rem/1.25 var(--av-heading); letter-spacing:-.025em; margin:1rem 0 .65rem; }
.atlas-node p { font-size:.9375rem; color:#b9b9d3; }
.atlas-hub { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2; background:var(--av-blue); border:1px solid #7277ee; padding:.55rem 1rem; font-size:.8125rem; white-space:nowrap; border-radius:.25rem; }
.atlas-case-link { display:flex; justify-content:space-between; align-items:center; gap:1rem; color:#c6c8ff; border-top:1px solid #ffffff26; padding-top:1.5rem; margin-top:2rem; font-size:.9375rem; }
@media(max-width:70rem) {
 .home-nav-shell:has(.home-menu[open]),.home-nav-shell[data-menu-enhanced].is-menu-open { width:calc(100% - 11rem); }
 .home-menu-content { grid-template-columns:9rem minmax(0,1fr); gap:1.5rem; }
 .process-overview-steps { gap:1.5rem; }
 .contact-banner-bottom { flex-wrap:wrap; }
 .atlas-enhanced .atlas-board { grid-template-columns:15rem minmax(0,1fr); }
 .atlas-controls { padding:2rem 1rem; }.atlas-panel { padding:2rem; }
 .atlas-panel-heading { gap:1rem; }.atlas-index { font-size:3rem; }
 .atlas-node { padding:1rem; }
}
@media(max-width:48rem) {
 .home-nav-shell,.home-nav-shell:has(.home-menu[open]),.home-nav-shell[data-menu-enhanced],.home-nav-shell[data-menu-enhanced].is-menu-open { width:100%; }
 .home-menu-content { grid-template-columns:1fr; gap:1.5rem; padding:1.25rem 1rem; max-height:calc(100dvh - 7rem); }
 .process-overview-top { grid-template-columns:1fr; }
 .process-overview-copy { padding:2rem 1.5rem 0; }
 .process-overview h2 { font-size:clamp(2rem,7vw,3rem); }
 .process-overview-art { min-height:0; height:15rem; }
 .process-overview-art::after { background:linear-gradient(#010113,transparent 25%,transparent 75%,#010113); }
 .process-overview-steps { grid-template-columns:1fr 1fr; padding:0 1.5rem 2rem; gap:1.5rem; }
 .process-overview-steps h3 { font-size:1.125rem; }.process-overview-steps p { font-size:.875rem; }
 .process-overview-number { margin-bottom:.75rem; }
 .contact-banner-top { font-size:.75rem; }.contact-banner-top > span { display:none; }
 .contact-banner-main { grid-template-columns:1fr; gap:2rem; padding-block:2rem; }
 .contact-banner h2 { font-size:clamp(2.5rem,9vw,4rem); }
 .contact-banner-art { width:13rem; justify-self:center; }
 .contact-banner-copy > p { font-size:1rem; }.contact-banner-bottom { gap:1.5rem; font-size:.875rem; }
 .contact-possibilities { gap:.5rem 1rem; }
 .company-perspective { grid-template-columns:1fr; gap:2.5rem; }
 .company-intro h2 { font-size:clamp(2.25rem,8vw,3rem); }
 .company-intro > p:not(.home-eyebrow) { font-size:1.1rem; }
 .company-capabilities { padding:2rem 1.5rem; }
 .atlas-enhanced .atlas-board { display:block; }
 .atlas-controls { padding:1.5rem; border-bottom:1px solid #ffffff26; }
 .atlas-desktop-controls { display:none; }.atlas-mobile-control { display:flex; }
 .atlas-mobile-control label { color:#b8baff; }
 .atlas-mobile-control .av-select { background-color:#fafafa; }
 .atlas-panel { padding:1.5rem; }.atlas-panel-heading { display:block; }
 .atlas-index { display:none; }.atlas-network { gap:4rem 1rem; }
 .atlas-network::before { height:4rem; }
 .atlas-node { padding:1rem; }.atlas-node h4 { font-size:1.05rem; }.atlas-node p { font-size:.875rem; }
 .atlas-hub { font-size:.75rem; padding:.5rem .75rem; }
}
@media(max-width:24rem) {
 .process-overview-steps { grid-template-columns:1fr; }
 .atlas-network { grid-template-columns:1fr; gap:1rem; }
 .atlas-hub,.atlas-network::before,.atlas-network::after { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .home-nav-shell,.home-menu-panel,.home-menu-content > *,.site-menu-backdrop,.contact-banner-arrow,.home-menu .av-menu-icon::before,.home-menu .av-menu-icon::after { transition:none !important; }
}

/* ---- refresh.css ---- */
/* V0.8: the brand's transparent-to-ink gradient, in a quieter editorial system. */
:root { --av-brand-fade:linear-gradient(112deg,#01011300 0%,#0c10d433 25%,#0c10d4 60%,#010113 100%); }
html { scrollbar-gutter:stable; }
.home-brand { width:15rem; max-width:61%; }
.home-nav-shell { padding:1.15rem 1.75rem; min-height:5.2rem; }
.home-menu summary { min-height:2.75rem; padding:.25rem 0 .25rem .75rem; gap:.75rem; }
.home-menu-panel { left:-1px; right:-1px; top:100%; }
.home-menu-content { padding:1.75rem; max-height:calc(100dvh - 9rem); }
.home-menu-content::before { left:1.75rem; right:1.75rem; }
.home-nav-shell.is-menu-open { border-bottom-color:transparent; }
.mega-contact { border-radius:.7rem; }
.home-hero h1 { font-size:clamp(3rem,5.5vw,5.65rem); font-weight:500; line-height:1.09; letter-spacing:-.055em; }
.home-hero h1 span { background:linear-gradient(110deg,#777bea -25%,#0c10d4 48%,#010113 110%); background-clip:text; -webkit-background-clip:text; color:transparent; }
.home-hero { min-height:43rem; }
.home-service-card--blue { background:linear-gradient(128deg,#363bea,var(--av-blue) 48%,#080858); }
.contact-banner { background:linear-gradient(117deg,#0c10d4 15%,#0a0aa4 58%,#010113 110%); }
.contact-banner-art { border:0; background:transparent; border-radius:0; mix-blend-mode:screen; }
.contact-banner-art .av-entropy-canvas,.contact-banner-art .av-entropy-poster { mix-blend-mode:screen; }
.contact-banner-arrow { inset:34%; width:32%; height:32%; }
.page-hero--dark { color:white; }
.page-hero--dark::after { background:linear-gradient(90deg,#010113 15%,#010113dd 42%,#01011300 82%); }
.page-hero--dark .home-eyebrow,.page-hero--dark h1 > span { color:#a7aaff; }
.page-hero--dark .page-intro { color:#d0d0df; }

/* Evidence beside a generous wall of original client marks. */
.track-record { display:grid; grid-template-columns:minmax(21rem,.85fr) minmax(0,1.45fr); gap:clamp(2rem,4vw,5rem); align-items:center; margin-top:-1.5rem; position:relative; }
.track-record-card { color:white; padding:2rem; border-radius:1rem; background:linear-gradient(128deg,#202044 -40%,#010113 55%); }
.track-record-card .home-eyebrow { color:#bbbbce; }
.track-record-card dl { margin:1.5rem 0 2rem; }
.track-record-card dl > div { display:grid; grid-template-columns:1fr 1.05fr; gap:1rem; padding:1.5rem 0; border-bottom:1px solid #ffffff30; }
.track-record-card dt { font:500 clamp(1.45rem,2vw,2rem)/1.2 var(--av-heading); letter-spacing:-.04em; }
.track-record-card dd { margin:0; text-align:right; font-size:.95rem; color:#c0c0d0; }
.track-record-card .av-button { width:100%; justify-content:space-between; }
.track-record-brands { padding:3rem 0; }
.track-record-brands > p:first-child { font-size:1.25rem; line-height:1.45; }
.track-record-brands > p:first-child span { color:var(--av-muted); font-size:1rem; }
.track-record .client-logo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.25rem 2rem; margin:2.5rem 0; }
.track-record .client-logo-grid img { width:100%; max-width:13rem; height:4.5rem; justify-self:center; object-fit:contain; transform:scale(1.4); }
.track-record-brands .home-small { max-width:34rem; font-size:.8rem; }

/* Case studies: context, a conceptual journey, then an editorial evidence story. */
.case-chapter-nav { display:flex; flex-wrap:wrap; gap:1rem 2.5rem; padding:2rem 0; border-bottom:1px solid #c9c9d6; margin-top:1.5rem; }
.case-chapter-nav a { text-decoration:none; font-size:.875rem; color:var(--av-muted); }
.case-chapter-nav a:hover { color:var(--av-blue); }
.story-section { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:5rem; padding:5rem 0; scroll-margin-top:2rem; }
.story-section h2 { font-size:clamp(2.4rem,3.8vw,4rem); margin-top:1.5rem; }
.story-section .home-eyebrow { color:var(--av-blue); }
.story-prose { max-width:50rem; font-size:1.0625rem; color:#414158; }
.story-prose p + p { margin-top:1.4rem; }
.story-prose ul { list-style:none; padding:0; margin:1.5rem 0; }
.story-prose li { padding:1.15rem 0 1.15rem 1.25rem; border-top:1px solid #cfcfda; position:relative; }
.story-prose li::before { content:'+'; position:absolute; left:0; color:var(--av-blue); }
.story-prose strong { font-weight:500; color:var(--av-ink); }
.case-journey { background:linear-gradient(118deg,#17189a,#010113 75%); color:white; padding:3rem; border-radius:1rem; margin:0; }
.case-journey figcaption .home-eyebrow { color:#aaaefc; }
.case-journey h2 { max-width:20ch; margin:1.5rem 0 3rem; font-size:clamp(2.3rem,4vw,4rem); }
.case-journey ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; gap:0; }
.case-journey li { position:relative; display:flex; flex-direction:column; padding:2rem 2rem 0 0; border-top:1px solid #7479d3; }
.case-journey li::before { content:''; position:absolute; width:.5rem; height:.5rem; border:1px solid #aaaefc; background:#0c10d4; top:-.28rem; left:0; }
.case-journey li > span { color:#a3a7f6; font-size:.8125rem; margin-bottom:1rem; }
.case-journey strong { font:400 1.4rem/1.2 var(--av-heading); letter-spacing:-.025em; padding-right:.5rem; }
.case-journey i { font-style:normal; color:#aaaefc; margin-top:2rem; font-size:1.5rem; }
.story-challenge { margin-top:3rem; padding:3rem; border:1px solid #d0d0df; border-radius:1rem; background:white; }
.story-marker { display:block; color:var(--av-blue); font:300 8rem/1 var(--av-heading); margin-top:2rem; }
.story-approach { border-bottom:1px solid #cfcfda; }
.story-solution { grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); }
.story-outcomes { border-top:2px solid transparent; border-image:var(--av-brand-fade) 1; }
.delivery-stamp { border:1px solid #b8bade; padding:1.5rem; margin-top:2rem; max-width:22rem; }
.delivery-stamp span { display:block; font-size:.8125rem; color:var(--av-muted); }
.delivery-stamp strong { display:block; font:400 1.75rem/1.2 var(--av-heading); color:var(--av-blue); margin-top:1rem; }
.evidence-stat { margin-top:2rem; max-width:23rem; }
.evidence-stat > strong { font:500 6rem/1 var(--av-heading); color:var(--av-blue); letter-spacing:-.06em; }
.evidence-stat > strong span { font-size:.5em; }.evidence-stat p { font-size:1rem; margin:1rem 0; }.evidence-stat small { color:var(--av-muted); }
.case-story .case-attribution { margin-top:0; max-width:60rem; font-size:.875rem; }
.contact-phone { display:block; color:var(--av-blue); margin-bottom:1.5rem; font-size:1.2rem; }

/* Small brand signature, useful links, and company details. */
.site-footer { padding:5rem 0 2rem; background:var(--av-ink); color:white; margin-top:5rem; position:relative; }
.site-footer::before { content:''; position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(110deg,transparent,#6267ff 60%,transparent); }
.footer-main { display:grid; grid-template-columns:1.8fr 1fr 1fr; gap:4rem; }
.footer-intro img { display:block; width:12rem; height:auto; margin-bottom:1.5rem; }
.footer-intro > p { font:400 1.5rem/1.25 var(--av-heading); letter-spacing:-.025em; margin:0 0 1.75rem; }
.footer-intro > a:not(:first-child) { display:block; width:fit-content; margin:.65rem 0; color:#c6c6da; font-size:.9375rem; text-decoration:none; }
.footer-intro > span { font-size:.8125rem; color:#a7a7c0; display:block; margin-top:1.25rem; }
.footer-main nav { display:flex; flex-direction:column; align-items:flex-start; gap:.8rem; }
.footer-main nav > p { font-size:.8125rem; color:#9395b5; margin-bottom:.75rem; }
.footer-main nav > a { font-size:1rem; text-decoration:none; color:#e3e3ed; }
.footer-main a:hover { color:#b3b6ff; }
.footer-main nav > .footer-library { margin-top:1.25rem; color:#b3b6ff; font-size:.875rem; }
.footer-bottom { display:flex; align-items:center; gap:2rem; flex-wrap:wrap; border-top:1px solid #ffffff26; padding-top:2rem; margin-top:4rem; color:#b3b3cb; font-size:.8125rem; }
.footer-bottom > p { margin-right:auto; }.footer-bottom > p > span { font-size:.75rem; color:#9999b3; }
.footer-bottom .av-motion-toggle { position:static; background:transparent; border-color:#ffffff30; color:#b3b3cb; padding:.6rem .9rem; }
.legal-page { padding-top:12rem; max-width:60rem; padding-bottom:3rem; }
.legal-page h1 { font:500 clamp(2.5rem,5vw,4.5rem)/1.08 var(--av-heading); letter-spacing:-.05em; margin:1.5rem 0; }
.legal-intro { color:var(--av-muted); font-size:1.2rem; }
.legal-draft { padding:1.5rem; border:1px solid #c4c5e8; background:#ededfa; margin:2rem 0; }
.legal-draft strong { font-weight:500; }.legal-draft p { margin-top:.5rem; font-size:.9375rem; }
.legal-sections section { padding:2rem 0; border-bottom:1px solid #d4d4df; }
.legal-sections h2 { font-size:1.65rem; margin-bottom:1rem; letter-spacing:-.025em; }
.legal-sections p { color:#4b4b61; }.legal-page > .av-link { margin-top:2rem; display:inline-block; }
@media(max-width:70rem) {
 .track-record { grid-template-columns:1fr 1.2fr; gap:2rem; }.track-record-card { padding:1.5rem; }
 .track-record .client-logo-grid { gap:1.5rem; }.track-record .client-logo-grid img { height:3.8rem; }
 .story-section { gap:3rem; }.footer-main { gap:2rem; }
}
@media(max-width:48rem) {
 .home-header { top:1rem; }.home-nav-shell { padding:.9rem 1.15rem; min-height:4.75rem; }
 .home-brand { width:12rem; max-width:62%; }
 .home-menu summary { font-size:1rem; padding-left:.5rem; gap:.5rem; }
 .home-menu-content { padding:1.4rem 1.15rem 1.5rem; max-height:calc(100dvh - 6.8rem); gap:1.5rem; }
 .home-menu-content::before { left:1.15rem; right:1.15rem; }
 .home-menu-panel { top:100%; }.mega-contact { padding:1.25rem; width:100%; }
 .home-menu-panel .mega-contact .av-button { width:100%; justify-content:space-between; }
 .home-hero h1 { font-size:clamp(2.65rem,8.8vw,4.25rem); font-weight:500; }
 .home-hero { min-height:43rem; }.home-hero-copy { padding-top:10rem; }
 .page-hero--dark::after { background:linear-gradient(#010113 15%,#010113 48%,#01011300 90%); }
 .track-record { grid-template-columns:1fr; gap:1.5rem; margin-top:1rem; }
 .track-record-card { padding:1.75rem 1.5rem; }.track-record-card dt { font-size:1.55rem; }.track-record-card dd { font-size:.875rem; }
 .track-record-brands { padding:1.5rem .25rem; }.track-record .client-logo-grid { gap:1.75rem 1rem; }.track-record .client-logo-grid img { height:3.5rem; }
 .track-record-brands > p:first-child { font-size:1.1rem; }
 .case-chapter-nav { gap:.75rem 1.5rem; padding:1.5rem 0; }.case-chapter-nav a { font-size:.8rem; }
 .story-section,.story-solution { grid-template-columns:1fr; gap:2rem; padding:3rem 0; }
 .story-section h2 { font-size:2.4rem; margin-top:1rem; }.story-prose { font-size:1rem; }
 .case-journey { padding:2rem 1.5rem; }.case-journey h2 { font-size:2.2rem; }
 .case-journey ol { grid-template-columns:1fr 1fr; gap:2rem 0; }.case-journey li { padding:1.5rem 1rem 0 0; }.case-journey strong { font-size:1.15rem; }
 .site-footer { padding-top:3rem; margin-top:3rem; }.footer-main { grid-template-columns:1fr 1fr; gap:3rem 1.5rem; }.footer-intro { grid-column:1/-1; }
 .footer-intro img { width:11rem; }.footer-main nav > a { font-size:.9375rem; }.footer-bottom { margin-top:3rem; gap:1.5rem; }
 .footer-bottom > p { width:100%; }.legal-page { padding-top:9rem; }
}
/* Keep the artwork inside very narrow case-study columns. */
.case-motion-cover { width:100%; min-width:0; }
@media(max-width:48rem) {
 .mega-site > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .mega-site,.mega-services,.mega-service-columns > div { min-width:0; }
 .mega-site > div > a { overflow-wrap:normal; }
}
@media(max-width:24rem) { .next-project a { gap:1rem; font-size:1.35rem; } }

/* ---- refinement.css ---- */
/* V0.9: one page rail, generous artwork and clear editorial hierarchy. */
:root {
  --av-page-gutter:max(clamp(1.25rem,2.93vw,3.125rem),calc((100vw - 101.75rem)/2));
  --site-section-space:clamp(4rem,6.25vw,7rem);
  --site-panel-space:clamp(1.5rem,3.7vw,4rem);
}
.home-container { width:calc(100% - 2 * var(--av-page-gutter)); max-width:none; }
.home-header { left:var(--av-page-gutter); right:var(--av-page-gutter); top:2rem; }
.home-nav-shell { max-width:none; }
.home-section { padding-block:var(--site-section-space); }
.home-page h2 { font-size:clamp(2.2rem,3.8vw,4rem); font-weight:500; line-height:1.1; }
.home-page h3 { font-weight:500; }
.home-hero { height:auto; min-height:46rem; }
.home-hero-copy { padding-block:11.5rem 9rem; }
.home-hero h1,.page-hero h1 { font-size:clamp(3rem,5.05vw,5.5rem); font-weight:500; line-height:1.07; }
.home-hero-description { max-width:35rem; font-size:clamp(1.1rem,1.35vw,1.25rem); }
.home-hero::after { background:linear-gradient(90deg,#fafafa 8%,#fafafa 35%,#fafafae0 46%,#fafafa00 71%); }
.page-hero { padding:11rem 0 5rem; min-height:41rem; }
.page-hero::after { background:linear-gradient(90deg,#fafafa 10%,#fafafa 36%,#fafafaec 46%,#fafafa00 78%); }
.page-hero h1 { max-width:18ch; }
.page-intro { max-width:34rem; font-size:1.2rem; }
.page-hero--dark::after { background:linear-gradient(90deg,#010113 10%,#010113 34%,#010113dd 44%,#01011300 80%); }
.home-split-heading { gap:2rem; margin-bottom:3rem; }
.home-split-heading h2 { max-width:21ch; }
.home-split-heading > p { max-width:27rem; }
.home-split-heading > a { flex-shrink:0; }
.track-record { grid-template-columns:minmax(20rem,.95fr) minmax(0,1.6fr); margin-top:-2.5rem; gap:clamp(2rem,3.2vw,4rem); }
.track-record-card { padding:2rem; }
.track-record-card dt { font-size:clamp(1.6rem,1.7vw,1.9rem); }
.track-record .client-logo-grid img { max-width:11rem; }
.track-record .client-logo-grid { column-gap:2.5rem; row-gap:1.75rem; }
.track-record-brands { padding-block:3rem; }
/* Quiet type and useful detail carry the story; decoration stays in motion fields. */
.principle-grid article,.story-outcomes { border-image:none; border-top:1px solid #c9c9d4; }
.principles-section .principle-grid article { border-color:#ffffff40; }
.principle-grid h3 { font-size:clamp(1.5rem,2vw,2rem); }
.working-section { background:white; }
.process-section { border:0; }
.process-stages { gap:3rem; }
.process-stage { padding:0; overflow:hidden; }
.process-stage-copy { padding:var(--site-panel-space); }
.process-stage-art { min-height:37rem; border-radius:0; align-self:stretch; }
.process-stage h3 { max-width:15ch; }
.process-art-caption { bottom:2rem; left:2rem; background:#010113b8; padding:.6rem .8rem; }
.process-stage-notes { overflow-wrap:break-word; }
.v9-selected .home-work-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.v9-selected .home-work-media { aspect-ratio:1.05; }
.v9-selected .home-work-body { padding:1.75rem; }
.v9-selected .home-work-body h3 { font-size:clamp(1.5rem,2vw,2rem); }
.v9-selected .home-work-body > p:not(.home-eyebrow) { font-size:1rem; }
.v9-project-status { margin-top:1.25rem; font-size:.8125rem!important; color:var(--av-blue)!important; }
.case-status span { border-radius:0; }
.case-service-link { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; border-top:1px solid #ceced9; padding:2rem 0; margin-top:3rem; }
.case-service-link p { font-size:1.5rem; letter-spacing:-.025em; }
.next-project { margin-bottom:0; }
.case-chapter-nav { gap:1rem 2rem; }
.story-section { gap:4rem; }
.story-challenge { padding:3rem; }
.story-marker { display:none; }
.legal-page { max-width:none; }
.legal-page > * { max-width:60rem; }
/* Every full-width / inset transition has an explicit outer gap. */
.v9-invitation-space { padding-block:var(--site-section-space); }
.v9-invitation { position:relative; isolation:isolate; overflow:hidden; border-radius:1rem; background:#0c10d4; color:white; }
.v9-invitation-content { position:relative; z-index:1; padding:var(--site-panel-space); width:60%; }
.v9-invitation-content h2 { font-size:clamp(2.75rem,4.8vw,5.25rem); margin:2.5rem 0 1.5rem; }
.v9-invitation-content > p:not(.home-eyebrow) { max-width:28rem; color:#e0e0ff; font-size:1.1rem; margin-bottom:2rem; }
.v9-cta-art { position:absolute; inset:0 0 0 32%; background:#010113; mix-blend-mode:screen; z-index:-1; }
.v9-cta-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#010113 0%,#010113aa 15%,transparent 40%); }
.v9-invitation-bottom { position:relative; display:flex; justify-content:space-between; gap:1.5rem; margin:0 var(--site-panel-space); padding:1.5rem 0 2rem; border-top:1px solid #ffffff55; font-size:.875rem; }
.v9-invitation-bottom a { white-space:nowrap; }
.site-footer { margin-top:0; }
.site-footer::before { display:none; }
/* Contact is the destination, with one enquiry path and direct alternatives. */
#start { scroll-margin-top:8rem; }
.contact-brief .av-field { margin:1.5rem 0; }
.contact-brief .av-field label { color:#cbcbed; }
.contact-brief .av-select { width:100%; color:#010113; }
.contact-brief #enquiry-context { color:#d1d1e2; margin-block:1.5rem; }
.contact-brief #enquiry-email { display:inline-flex; width:100%; border:0; padding:1rem 1.25rem; color:#010113; }
.contact-brief #enquiry-email:hover { color:#010113; }
@media(max-width:70rem) {
 .track-record { grid-template-columns:minmax(19rem,1fr) minmax(0,1.25fr); gap:2rem; }
 .track-record .client-logo-grid { gap:1.5rem 1rem; }
 .track-record .client-logo-grid img { transform:scale(1.25); }
 .v9-selected .home-work-grid { gap:1rem; }
 .v9-selected .home-work-body { padding:1.25rem; }
 .v9-invitation-content { width:65%; }
}
@media(max-width:48rem) {
 :root { --av-page-gutter:clamp(1rem,5.13vw,1.5rem); --site-section-space:4rem; --site-panel-space:1.5rem; }
 .home-header { top:1rem; }
 .home-nav-shell { padding:.85rem 1rem; }
 .home-brand { width:12rem; max-width:62%; }
 .home-menu-content { padding:1.4rem 1rem 1rem; }
 .home-menu-content::before { left:1rem; right:1rem; }
 .home-menu summary { flex-shrink:0; }
 .home-hero { min-height:48rem; }
 .home-hero-copy { padding-block:9.5rem 20rem; }
 .home-hero h1,.page-hero h1 { font-size:clamp(2.5rem,9vw,4.25rem); }
 .home-hero-description { font-size:1.0625rem; }
 .home-hero::after { background:linear-gradient(#fafafa 10%,#fafafa 50%,#fafafaaa 62%,transparent 88%); }
 .home-hero-actions { gap:1rem; }
 .home-hero-actions .av-button { width:auto; }
 .page-hero { min-height:42rem; padding:9.5rem 0 15rem; }
 .page-hero::after { background:linear-gradient(#fafafa 10%,#fafafa 48%,#fafafaa0 66%,transparent 90%); }
 .page-hero--dark::after { background:linear-gradient(#010113 10%,#010113 42%,#010113aa 58%,transparent 90%); }
 .page-intro { font-size:1.0625rem; margin-block:1.5rem; }
 .track-record { grid-template-columns:1fr; margin-top:0; gap:1rem; }
 .track-record-card { padding:1.5rem; }
 .track-record .client-logo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem 1.2rem; }
 .track-record .client-logo-grid img { transform:scale(1.25); height:3.25rem; }
 .track-record-brands { padding:1.5rem 0 0; }
 .track-record-card dt { font-size:1.55rem; }
 .home-split-heading { margin-bottom:2rem; }
 .process-stage { grid-template-columns:1fr; }
 .process-stage-copy { padding:2rem 1.5rem 0; }
 .process-stage-art { min-height:22rem; height:22rem; }
 .process-art-caption { left:1.5rem; bottom:1.5rem; }
 .process-stages { gap:2rem; }
 .v9-selected .home-work-grid { grid-template-columns:1fr; gap:1.5rem; }
 .v9-selected .home-work-media { aspect-ratio:1.3; }
 .v9-selected .home-work-body { padding:1.5rem; }
 .v9-selected .home-work-body h3 { font-size:1.9rem; }
 .v9-invitation-content { width:100%; padding:2rem 1.5rem 17rem; }
 .v9-invitation-content h2 { margin-top:2rem; }
 .v9-cta-art { inset:42% 0 0; }
 .v9-cta-art::after { background:linear-gradient(#010113,transparent 40%); }
 .v9-invitation-bottom { flex-direction:column; padding-block:1.5rem; gap:1rem; }
 .v9-invitation-bottom > span { max-width:25ch; }
 .story-section { gap:2rem; }.story-challenge { padding:2rem 1.5rem; }
 .contact-layout { gap:2.5rem; }
 .contact-brief { padding:2rem 1.5rem; }
 .footer-main { gap:2.5rem 1.5rem; }
 .legal-page { padding-top:9rem; }
}
@media(max-width:23rem) {
 .home-brand { max-width:57%; }
 .home-menu summary { font-size:.875rem; gap:.4rem; }
 .track-record-card dl > div { grid-template-columns:1fr; gap:.5rem; }
 .track-record-card dd { text-align:left; }
 .track-record .client-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-hero h1 { font-size:2.35rem; }
 .v9-invitation-content h2 { font-size:2.5rem; }
}
/* Home introduces the offer; the service page owns the scope. */
.v9-service-entries { border-bottom:1px solid #c9c9d6; }
.v9-service-row { display:grid; grid-template-columns:3rem 1.1fr 1fr 2rem; align-items:center; gap:2rem; padding:2.5rem 0; border-top:1px solid #c9c9d6; text-decoration:none; transition:color .2s; }
.v9-service-number { color:var(--av-blue); font-size:.875rem; align-self:start; padding-top:.2rem; }
.v9-service-name > span { font-size:.875rem; color:var(--av-muted); }
.v9-service-name h3 { font-size:clamp(1.7rem,2.4vw,2.5rem); margin-top:.65rem; max-width:18ch; }
.v9-service-row > p { max-width:28rem; color:var(--av-muted); font-size:1.0625rem; }
.v9-row-arrow { color:var(--av-blue); font-size:2rem; }
.v9-service-row:hover h3 { color:var(--av-blue); }
.v9-foundations { padding:0; }
.v9-foundations .home-foundations-top { gap:0; grid-template-columns:1fr 1.1fr; }
.v9-foundations .home-foundations-copy { padding:var(--site-panel-space); position:relative; z-index:1; }
.v9-foundations .home-foundations-copy > .v9-audience { color:#9da1ff; font-size:.875rem; margin:1rem 0 0; }
.v9-foundations h2 { font-size:clamp(2.4rem,3.8vw,4rem); }
.v9-foundations-art { min-height:36rem; border-radius:0; }
.v9-foundations-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#010113,transparent 20%); }
.v9-foundation-labels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; gap:2rem; margin:0 var(--site-panel-space); padding:1.75rem 0; border-top:1px solid #ffffff40; }
.v9-foundation-labels li { font-size:1rem; }
.v9-foundation-labels span { color:#9b9fff; margin-right:1rem; font-size:.8rem; }
.v9-evidence { position:relative; isolation:isolate; overflow:hidden; background:#010113; color:white; margin-top:var(--site-section-space); }
.v9-evidence-art { position:absolute; inset:0 0 0 30%; z-index:-1; }
.v9-evidence-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#010113,transparent 75%); }
.v9-evidence .home-eyebrow { color:#b8bbff; }
.v9-evidence .home-split-heading > p { color:#cecee0; background:#010113c9; padding:1rem; }
.v9-evidence-content { position:relative; }
.v9-evidence-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,6rem); }
.v9-evidence-feature { padding-right:2rem; }
.v9-evidence-feature .result-number { margin:1rem 0 1.5rem; font-size:clamp(7rem,11vw,11rem); }
.v9-evidence-feature h3 { font-size:clamp(1.7rem,2.5vw,2.4rem); margin-bottom:1rem; }
.v9-evidence-feature > p:not(.home-eyebrow) { max-width:30rem; color:#d1d1e3; }
.v9-evidence-feature > a { display:inline-block; margin:1.5rem 0 .5rem; }
.v9-evidence-feature .home-small { font-size:.8rem; color:#aaaac4; }
.v9-evidence-facts { padding-top:3rem; }
.v9-evidence-facts article { padding:2rem; background:#010113e5; border-top:1px solid #ffffff40; }
.v9-evidence-facts article + article { margin-top:1.5rem; }
.v9-evidence-facts h3 { font-size:clamp(1.6rem,2vw,2rem); margin:1.25rem 0 1rem; }
.v9-evidence-facts p:not(.home-eyebrow) { max-width:29rem; color:#bcbcd3; }
.v9-evidence-facts a { display:inline-block; margin-top:1rem; }
.v9-evidence .evidence-note { margin-top:3rem; max-width:47rem; }
.v9-process-banner { position:relative; isolation:isolate; overflow:hidden; border-radius:1rem; background:#010113; color:white; }
.v9-process-copy { padding:var(--site-panel-space); position:relative; width:58%; }
.v9-process-copy h2 { margin:2rem 0 1.5rem; }
.v9-process-copy > p:not(.home-eyebrow) { max-width:30rem; color:#c9c9dc; font-size:1.1rem; margin-bottom:2rem; }
.v9-process-copy .home-eyebrow { color:#b7bbff; }
.v9-process-art { position:absolute; inset:0 0 0 36%; z-index:-1; }
.v9-process-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#010113,transparent 60%); }
.v9-process-stages { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem; list-style:none; margin:1rem var(--site-panel-space) 0; padding:1.75rem 0 3rem; position:relative; }
.v9-process-stages li { border-top:1px solid #ffffff45; padding-top:1.25rem; font-size:1.15rem; }
.v9-process-stages span { display:block; color:#a4a8ff; font-size:.875rem; margin-bottom:.75rem; }
.v9-process-banner > .av-motion-toggle { bottom:1.25rem; right:1.5rem; }
.v9-principle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3rem; }
.v9-principle-grid article { border-top:1px solid #bfc0cf; padding-top:1.5rem; }
.v9-principle-grid article > span { color:var(--av-blue); }
.v9-principle-grid h3 { font-size:clamp(1.6rem,2vw,2rem); margin:2rem 0 1.5rem; }
.v9-principle-grid p { color:var(--av-muted); }
.v9-company-note { background:var(--av-ink); color:white; }
.v9-company-note-inner { display:grid; grid-template-columns:1fr 1fr; gap:5rem; }
.v9-company-note .home-eyebrow { color:#b3b6ff; margin-bottom:1.5rem; }
.v9-company-note-inner > div:last-child { padding-top:.5rem; }
.v9-company-note-inner > div:last-child > p { font-size:1.15rem; color:#cecedf; margin-bottom:1.5rem; max-width:38rem; }
.v9-company-note a { display:inline-block; margin-top:.5rem; }
@media(max-width:48rem) {
 .v9-service-row { grid-template-columns:1.5rem minmax(0,1fr) 1.5rem; gap:1rem; padding-block:2rem; }
 .v9-service-name { grid-column:2; }.v9-service-name h3 { font-size:1.8rem; }
 .v9-service-row > p { grid-column:2; font-size:1rem; }
 .v9-row-arrow { grid-column:3; grid-row:1/3; font-size:1.5rem; }
 .v9-foundations .home-foundations-top { grid-template-columns:1fr; }
 .v9-foundations .home-foundations-copy { padding:2rem 1.5rem 0; }
 .v9-foundations-art { min-height:23rem; height:23rem; }
 .v9-foundations-art::after { background:linear-gradient(#010113,transparent 25%); }
 .v9-foundation-labels { gap:1rem; grid-template-columns:1fr; padding-block:1.5rem; }
 .v9-foundation-labels li { font-size:.9375rem; }
 .v9-evidence-art { inset:6rem -6rem auto 0; height:35rem; opacity:.7; }
 .v9-evidence-art::after { background:linear-gradient(90deg,#010113,transparent); }
 .v9-evidence .home-split-heading > p { background:transparent; padding:0; }
 .v9-evidence-grid { grid-template-columns:1fr; gap:2rem; }
 .v9-evidence-feature { padding-right:0; }
 .v9-evidence-facts { padding-top:0; }
 .v9-evidence-facts article { padding:1.75rem 0; background:#010113; }
 .v9-evidence-facts article + article { margin-top:0; }
 .v9-evidence-feature h3 { font-size:1.8rem; }
 .v9-process-copy { width:100%; padding:2rem 1.5rem 20rem; }
 .v9-process-art { inset:36% 0 6rem; }
 .v9-process-art::after { background:linear-gradient(#010113,transparent 35%,transparent 70%,#010113); }
 .v9-process-stages { grid-template-columns:1fr 1fr; gap:1.5rem; padding:0 0 4.5rem; }
 .v9-process-stages li { font-size:1.05rem; }
 .v9-principle-grid,.v9-company-note-inner { grid-template-columns:1fr; gap:2.5rem; }
 .v9-principle-grid h3 { margin:1.25rem 0 1rem; font-size:1.8rem; }
 .v9-company-note-inner > div:last-child > p { font-size:1.0625rem; }
}
section[id],article[id] { scroll-margin-top:8rem; }
.finder-overview-list { margin:2rem 0 0; }
.finder-overview-list > div { border-top:1px solid #bfc0ce; padding:1.5rem 0; }
.finder-overview-list dt { font-size:.8125rem; color:var(--av-blue); margin-bottom:.75rem; }
.finder-overview-list dd { margin:0; font:400 clamp(1.1rem,1.7vw,1.5rem)/1.65 var(--av-heading); letter-spacing:-.025em; }
.editorial-list + .v9-invitation-space,.sv9-questions + .v9-invitation-space { padding-top:0; }
@media(max-width:23rem) { .sv9-index-links > a:nth-child(odd) { padding-left:0; } }
.v9-process-banner > .av-motion-toggle,.v9-evidence > .av-motion-toggle { position:absolute; bottom:1rem; right:1.5rem; font-size:.75rem; }
.v9-cta-art { mix-blend-mode:normal; mask-image:linear-gradient(90deg,transparent,#000 35%); }
@media(max-width:48rem) { .v9-cta-art { mask-image:linear-gradient(transparent,#000 35%); } }
.process-stage { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.process-stage-copy,.process-stage-art { min-width:0; width:100%; }
@media(max-width:48rem) {
 .process-stage { grid-template-columns:minmax(0,1fr); }
 .page-hero::after { background:linear-gradient(#fafafa 10%,#fafafa 62%,#fafafaa0 76%,transparent 94%); }
 .page-hero--dark::after { background:linear-gradient(#010113 10%,#010113 55%,#010113a0 72%,transparent 92%); }
}
.process-stage-art { aspect-ratio:auto; }
.v9-selected + .home-section { padding-top:0; }

/* V1.0: product services lead, launch support stays available. */
.mega-service-columns { grid-template-columns:1.2fr 1fr; }
.mega-foundations { grid-column:1 / -1; border-top:1px solid var(--av-border); padding-top:1rem; display:grid; grid-template-columns:1fr 2fr; gap:1rem; }
.mega-foundations .mega-category { margin:0; }
.mega-foundations a { margin:0; }
.mega-foundations strong { font-size:.95rem; }
@media(max-width:48rem) { .mega-service-columns,.mega-foundations { grid-template-columns:1fr; } }

/* ---- services-v09.css ---- */
/* Services: clear choices, editorial variety, oversized original motion. */
.sv9-index { padding-block:clamp(3rem,5vw,5rem); }
.sv9-index-intro { display:flex; align-items:baseline; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.sv9-index-intro h2 { font-size:clamp(1.5rem,2.4vw,2.4rem); }
.sv9-index-intro .home-eyebrow { color:var(--av-muted); }
.sv9-index-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--av-border); }
.sv9-index-links > a { display:flex; flex-direction:column; align-items:flex-start; gap:1.75rem; padding:1.5rem clamp(1rem,2vw,2rem) 1.5rem 0; border-bottom:1px solid var(--av-border); text-decoration:none; transition:color .2s; }
.sv9-index-links > a + a { border-left:1px solid var(--av-border); padding-left:clamp(1rem,2vw,2rem); }
.sv9-index-number { color:var(--av-blue); font-size:.8125rem; }
.sv9-index-links strong { font:400 clamp(1.35rem,1.85vw,2rem)/1.2 var(--av-heading); letter-spacing:-.045em; }
.sv9-index-links > a > span:last-child { display:flex; gap:.6rem; justify-content:space-between; width:100%; margin-top:auto; font-size:.9rem; }
.sv9-index-links > a:hover { color:var(--av-blue); }
.sv9-offer { scroll-margin-top:8rem; }
.sv9-audit, .sv9-leadership { background:#fff; }
.sv9-offer-heading { display:flex; justify-content:space-between; gap:2rem; align-items:flex-start; margin-bottom:clamp(2.5rem,5vw,5rem); }
.sv9-offer-heading > .home-eyebrow { color:var(--av-blue); }
.sv9-timing { font-size:1rem; line-height:1.5; }
.sv9-timing > span { display:block; color:var(--av-muted); margin-top:.3rem; font-size:.875rem; }
.sv9-audit-intro, .sv9-leadership-intro { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(2rem,7vw,8rem); align-items:start; }
.sv9-intro-copy { max-width:40rem; padding-top:.3rem; }
.sv9-intro-copy p { font-size:clamp(1rem,1.3vw,1.2rem); line-height:1.55; }
.sv9-intro-copy p + p { margin-top:1.2rem; color:var(--av-muted); }
.sv9-audit-output { display:grid; grid-template-columns:1fr 1.5fr; gap:clamp(2rem,6vw,7rem); margin-top:clamp(3rem,6vw,6rem); }
.sv9-output-statement { padding:clamp(1.5rem,3vw,3rem); background:var(--av-ink); color:#fff; border-radius:1rem; align-self:start; }
.sv9-output-statement .home-eyebrow { color:#b8b8cd; }
.sv9-output-statement h3 { font:400 clamp(1.8rem,3vw,3.4rem)/1.14 var(--av-heading); letter-spacing:-.05em; margin-block:2.5rem; }
.sv9-output-statement > p:last-child { max-width:24rem; color:#c8c8d8; }
.sv9-deliverables { margin:0; padding:0; list-style:none; }
.sv9-deliverables li { display:grid; grid-template-columns:2.25rem 1fr; gap:1rem; padding-block:1.6rem; border-top:1px solid var(--av-border); }
.sv9-deliverables li:last-child { padding-bottom:0; }
.sv9-deliverables li > span { color:var(--av-blue); font-size:.8125rem; padding-top:.3rem; }
.sv9-deliverables h4 { font:500 1.2rem/1.3 var(--av-body); margin:0 0 .65rem; }
.sv9-deliverables p { color:var(--av-muted); max-width:43rem; line-height:1.55; }
.sv9-offer-close { display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-top:clamp(2.5rem,4vw,4rem); padding-top:2rem; border-top:1px solid var(--av-border); }
.sv9-offer-close > div { flex:1 1 auto; max-width:48rem; }
.sv9-scope { color:var(--av-muted); font-size:.9375rem; line-height:1.55; }
.sv9-proof { display:inline-block; margin-top:1rem; padding-block:.5rem; text-underline-offset:.25em; font-size:.9375rem; }
.sv9-offer-close > .av-button { flex-shrink:0; }
.sv9-feature { display:grid; grid-template-columns:1fr 1.08fr; min-height:38rem; overflow:hidden; border-radius:1.25rem; background:var(--av-ink); color:#fff; }
.sv9-feature-copy { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(2rem,4vw,4.5rem); }
.sv9-feature-copy > .home-eyebrow { color:#b9b9d7; margin-bottom:2.5rem; }
.sv9-feature-copy h2 { font-size:clamp(2.25rem,3.7vw,4.75rem); margin-bottom:1.75rem; }
.sv9-feature-copy > p:not(.home-eyebrow) { max-width:36rem; color:#d2d2e1; line-height:1.55; font-size:1.0625rem; }
.sv9-feature-copy > p + p { margin-top:1rem; }
.sv9-feature-copy > .av-button { margin-top:2rem; }
.sv9-art { min-height:100%; border-radius:0; }
.sv9-art::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,var(--av-ink) 0%,#01011300 22%); }
.sv9-workflow-meta { display:flex; justify-content:space-between; gap:2rem; padding-block:1.75rem; border-bottom:1px solid var(--av-border); }
.sv9-workflow-meta > p:last-child { color:var(--av-muted); max-width:25rem; font-size:.9375rem; }
.sv9-three-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.5rem,4vw,5rem); margin-top:2.5rem; }
.sv9-column-label { color:var(--av-blue); font-size:.875rem; margin-bottom:1.2rem; }
.sv9-three-columns h3 { font:400 clamp(1.4rem,2vw,2rem)/1.2 var(--av-heading); letter-spacing:-.04em; margin-bottom:1rem; }
.sv9-three-columns section > p:last-child { color:var(--av-muted); line-height:1.55; }
.sv9-crosslink { max-width:20rem; font-size:.9375rem; text-underline-offset:.25em; }
.sv9-leadership-rows { margin-top:clamp(3rem,6vw,6rem); }
.sv9-leadership-rows > section { display:grid; grid-template-columns:.8fr 1.2fr .7fr; gap:clamp(1.5rem,4vw,5rem); padding-block:2.5rem; border-top:1px solid var(--av-border); align-items:baseline; }
.sv9-leadership-rows h3 { font:400 clamp(2rem,3vw,3.25rem)/1.15 var(--av-heading); letter-spacing:-.05em; }
.sv9-leadership-rows p { color:var(--av-muted); line-height:1.55; }
.sv9-leadership-rows span { color:var(--av-blue); font-size:.9375rem; }
.sv9-feature--launch .sv9-feature-copy h2 { margin-bottom:.75rem; }
.sv9-feature--launch .sv9-feature-copy > .sv9-feature-lead { font-size:clamp(1.3rem,1.7vw,1.75rem); color:white; margin:0 0 .5rem; }
.sv9-fit-note { max-width:23rem; font:400 1.3rem/1.4 var(--av-heading); letter-spacing:-.035em; }
.sv9-questions { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,7vw,8rem); border-top:1px solid var(--av-border); }
.sv9-questions > div:first-child > .home-eyebrow { color:var(--av-blue); margin-bottom:1.5rem; }
.sv9-questions > div:first-child > p:last-child { color:var(--av-muted); margin-top:1.5rem; max-width:30rem; }
.sv9-questions .av-accordion summary { padding-inline:0; }
.sv9-questions .av-accordion-content { padding-inline:0; }
.sv9-offer a, .sv9-index-links a { overflow-wrap:anywhere; }
@media (min-width:120rem) {
  .sv9-feature { min-height:43rem; }
}
@media (max-width:70rem) {
  .sv9-index-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sv9-index-links > a:nth-child(3) { border-left:0; padding-left:0; }
  .sv9-index-links > a { gap:1rem; }
  .sv9-offer-close { align-items:flex-start; }
  .sv9-offer-close > .av-button { flex-shrink:1; }
  .sv9-feature-copy { padding:2rem; }
  .sv9-feature-copy h2 { font-size:clamp(2.25rem,4.3vw,3.25rem); }
  .sv9-leadership-rows > section { grid-template-columns:.7fr 1.3fr; }
  .sv9-leadership-rows span { grid-column:2; }
}
@media (max-width:48rem) {
  .sv9-index-intro { display:block; }
  .sv9-index-intro h2 { margin-top:1rem; }
  .sv9-index-links > a { gap:1rem; padding-block:1.25rem; }
  .sv9-index-links strong { font-size:1.45rem; }
  .sv9-index-links > a > span:last-child { font-size:.8125rem; }
  .sv9-offer-heading { flex-direction:column; gap:1rem; }
  .sv9-timing { font-size:.9375rem; }
  .sv9-audit-intro, .sv9-leadership-intro, .sv9-audit-output, .sv9-feature, .sv9-questions { grid-template-columns:1fr; }
  .sv9-audit-intro, .sv9-leadership-intro { gap:1.75rem; }
  .sv9-audit-output { gap:2rem; }
  .sv9-output-statement h3 { max-width:17ch; margin-block:1.5rem; }
  .sv9-offer-close { flex-direction:column; align-items:flex-start; gap:1.5rem; }
  .sv9-feature { min-height:0; }
  .sv9-feature-copy { padding:2rem 1.5rem; }
  .sv9-feature-copy h2 { font-size:clamp(2.05rem,7.5vw,3.5rem); }
  .sv9-feature-copy > .home-eyebrow { margin-bottom:2rem; }
  .sv9-art { min-height:22rem; }
  .sv9-art::after { background:linear-gradient(180deg,var(--av-ink),#01011300 25%); }
  .sv9-workflow-meta { flex-direction:column; gap:1rem; }
  .sv9-three-columns { grid-template-columns:1fr; gap:1.75rem; }
  .sv9-three-columns section + section { padding-top:1.75rem; border-top:1px solid var(--av-border); }
  .sv9-column-label { margin-bottom:.75rem; }
  .sv9-three-columns h3 { font-size:1.65rem; }
  .sv9-leadership-rows > section { grid-template-columns:1fr; gap:1rem; padding-block:2rem; }
  .sv9-leadership-rows span { grid-column:auto; }
  .sv9-questions { gap:2.5rem; }
}
@media (max-width:23rem) {
  .sv9-index-links strong { font-size:1.3rem; }
  .sv9-index-links > a + a { padding-left:.75rem; }
  .sv9-index-links > a { padding-right:.75rem; }
  .sv9-feature-copy { padding:1.75rem 1.25rem; }
  .sv9-feature-copy h2 { font-size:1.95rem; }
  .sv9-art { min-height:19rem; }
  .sv9-deliverables li { grid-template-columns:1.5rem 1fr; gap:.5rem; }
}
@media (prefers-reduced-motion:reduce) {
  .sv9-index-links > a { transition:none; }
}

/* ---- experience-v09.css ---- */
/* Every square is a real topic in a rotating, connected three-dimensional volume. */
.experience-finder{background:var(--av-surface-soft)}
.experience-heading{margin-bottom:clamp(2rem,4vw,3.5rem)}
.experience-finder .experience-heading h2{font-size:clamp(2.1rem,3.7vw,3.9rem);max-width:18ch}
.experience-heading>p{max-width:27rem}
.experience-network{--graph-accent:#8ea9ff;border:1px solid var(--av-border);border-radius:.75rem;background:var(--av-surface);overflow:hidden}
.graph-toolbar,.graph-workspace,.graph-layers{display:none}
.experience-network[data-ready] .graph-toolbar{display:flex}
.experience-network[data-ready] .graph-workspace{display:grid}
.experience-network[data-ready] .graph-layers{display:flex}
.graph-toolbar{align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.5rem;border-bottom:1px solid var(--av-border)}
.graph-search{display:flex;align-items:center;gap:1rem;min-width:0;flex:1;max-width:43rem}
.graph-search-label{font-size:.75rem;line-height:1.4;color:var(--av-muted);white-space:nowrap}
.graph-search input{min-width:0;width:100%;border:0;border-bottom:1px solid var(--av-border-strong);border-radius:0;padding:.65rem .1rem;background:transparent;color:var(--av-text);font:400 .9375rem/1.4 var(--av-body)}
.graph-search input::placeholder{color:var(--av-muted);opacity:1}
.graph-search input:focus-visible{outline:2px solid var(--av-focus);outline-offset:4px}
.graph-legend{display:none}
.graph-layers{gap:0;border-bottom:1px solid var(--av-border);overflow-x:auto;scrollbar-width:thin;padding:0 1.25rem}
.graph-layers button{display:flex;align-items:center;gap:.5rem;min-height:48px;padding:.85rem 1rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--av-muted);font:400 .8rem/1.3 var(--av-body);cursor:pointer;white-space:nowrap}
.graph-layers button::before{content:'';display:block;flex:none;width:.5rem;height:.5rem;background:rgb(var(--layer-rgb));border:1px solid #11182b44}
.graph-layers button[aria-pressed=true]{color:var(--av-text);border-bottom-color:rgb(var(--layer-rgb))}
.graph-layers button:hover{color:var(--av-text)}
.graph-layers button:focus-visible{outline:2px solid var(--av-focus);outline-offset:-4px}
.graph-workspace{grid-template-columns:minmax(0,1fr) 20rem;min-height:44rem}
.graph-stage{position:relative;height:44rem;overflow:hidden;touch-action:pan-y;cursor:grab;isolation:isolate;color:#f4f5ff;background:linear-gradient(145deg,#111c35 0%,#070d20 50%,#030613 100%)}
.graph-stage.is-dragging{cursor:grabbing}
.graph-stage::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 80px 20px #04071966;background:linear-gradient(180deg,#03061355,transparent 20%,transparent 70%,#03061399)}
.graph-cosmos{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.graph-world{position:absolute;inset:0;z-index:2;pointer-events:none}
.graph-coordinate{position:absolute;z-index:3;top:1.4rem;left:1.5rem;right:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;pointer-events:none;font:400 .6rem/1.5 var(--av-body);text-transform:uppercase;letter-spacing:.12em;color:#9aaed1}
.graph-coordinate span:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:right}
.graph-node{--node-rgb:207,219,255;--node-size:7px;--node-opacity:1;--label-x:0px;--label-y:30px;position:absolute;width:36px;height:36px;min-height:0;display:grid;place-items:center;transform:translate(-50%,-50%);margin:0;padding:0;border:0;background:transparent;color:#f2f5ff;cursor:pointer;user-select:none;-webkit-user-select:none;pointer-events:auto}
.graph-node-dot{display:block;width:var(--node-size);height:var(--node-size);border-radius:0;margin:0;background:rgb(var(--node-rgb));opacity:var(--node-opacity);border:1px solid rgba(var(--node-rgb),.5);box-shadow:none;filter:blur(var(--node-blur,0px));transform:translateZ(0)}
.graph-node.is-context .graph-node-dot{opacity:calc(var(--node-opacity)*.32)}
.graph-node.is-active .graph-node-dot{background:rgb(var(--node-rgb));border-color:rgba(var(--node-rgb),.95)}
.graph-node-label{position:absolute;left:calc(50% + var(--label-x));top:calc(50% + var(--label-y));width:124px;min-height:42px;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;transform:translate(-50%,-50%);font:400 12px/1.3 var(--av-body);text-align:center;text-wrap:balance;background:#0a1429f7;padding:5px 7px;border:1px solid rgba(var(--node-rgb),.4);border-radius:0;box-shadow:none;opacity:0;pointer-events:none}
.graph-node-category{display:block;font:400 9px/1.25 var(--av-body);color:rgb(var(--node-rgb));letter-spacing:.025em}
.graph-node.is-labelled .graph-node-label,.graph-node:hover .graph-node-label,.graph-node:focus-visible .graph-node-label{opacity:1;pointer-events:auto}
.graph-node--industry .graph-node-label{font-size:12px;font-weight:500}
.graph-node.is-selected .graph-node-dot{background:rgb(var(--node-rgb));border-color:rgb(var(--node-rgb));outline:1px solid rgba(var(--node-rgb),.8);outline-offset:6px;filter:none;opacity:1}
.graph-node.is-selected .graph-node-label{border-color:rgb(var(--node-rgb));background:#14223b;color:#fff}
.graph-node:hover,.graph-node:focus-visible{z-index:300!important}
.graph-node:hover .graph-node-dot,.graph-node:focus-visible .graph-node-dot{background:rgb(var(--node-rgb));opacity:1;outline:1px solid rgba(var(--node-rgb),.85);outline-offset:4px;filter:none}
.graph-node:hover .graph-node-label,.graph-node:focus-visible .graph-node-label{border-color:rgb(var(--node-rgb));background:#15243b;color:#fff}
.graph-node:focus-visible{outline:2px solid #c3d4ff;outline-offset:1px;border-radius:0}
.graph-controls{position:absolute;z-index:6;bottom:1.25rem;right:1.25rem;display:flex;gap:0;border:1px solid #667da64d;border-radius:4px;background:#071024ed;overflow:hidden}
.graph-controls button{display:flex;justify-content:center;align-items:center;min-width:40px;min-height:42px;padding:0 .75rem;border:0;border-right:1px solid #667da64d;background:transparent;color:#e1eaff;font:400 1.15rem/1 var(--av-body);cursor:pointer}
.graph-controls button[data-graph-back],.graph-controls button[data-graph-reset]{font-size:.68rem}
.graph-controls button:last-child{border:0}
.graph-controls button:hover{background:#223454}
.graph-controls button:disabled{opacity:.32;cursor:default}
.graph-controls button:focus-visible{outline:2px solid #c3d4ff;outline-offset:-3px}
.graph-help{position:absolute;z-index:3;margin:0;left:1.5rem;bottom:5rem;font-size:.6875rem;line-height:1.5;color:#a5b6d6;max-width:22rem;pointer-events:none}
.graph-detail{position:relative;z-index:7;padding:1.5rem;border-left:1px solid var(--av-border);color:var(--av-text);background:var(--av-surface);max-height:44rem;overflow-y:auto;overscroll-behavior:auto;scrollbar-width:thin}
.graph-breadcrumbs{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem;font-size:.625rem;line-height:1.4;color:var(--av-muted)}
.graph-breadcrumbs button{padding:0;border:0;background:transparent;color:var(--av-muted);font:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.graph-breadcrumbs span{display:flex;align-items:center;gap:.6rem;color:var(--av-text)}
.graph-breadcrumbs span::before{content:'/';color:var(--av-muted)}
.graph-detail-kicker{font:400 .625rem/1.4 var(--av-body);text-transform:uppercase;letter-spacing:.08em;color:var(--av-muted);margin:0 0 .7rem}
.graph-detail-kicker[data-kind]::before{content:'';display:inline-block;width:.5rem;height:.5rem;margin-right:.5rem;background:rgb(var(--detail-rgb));border:1px solid #11182b44}
.experience-finder .graph-detail h3{font:400 clamp(1.35rem,2vw,1.75rem)/1.15 var(--av-heading);letter-spacing:-.045em;margin:0 0 1rem}
.graph-detail-intro{font-size:.8125rem;line-height:1.55;color:var(--av-muted);margin:0 0 1.5rem}
.graph-connection-group{padding-top:1rem;margin-top:1.15rem;border-top:1px solid var(--av-border)}
.graph-connection-group h4{font:400 .625rem/1.4 var(--av-body);text-transform:uppercase;letter-spacing:.07em;margin:0 0 .7rem;color:var(--av-muted)}
.graph-connection-list{display:flex;flex-wrap:wrap;gap:.4rem}
.graph-connection-list button,.graph-search-results button{min-height:36px;padding:.45rem .6rem;border:1px solid var(--av-border);border-radius:2px;background:transparent;color:var(--av-text);font:400 .725rem/1.35 var(--av-body);cursor:pointer;text-align:left}
.graph-connection-list button:hover,.graph-search-results button:hover{border-color:var(--av-link-blue,var(--av-blue));color:var(--av-link-blue,var(--av-blue))}
.graph-connection-list button:focus-visible,.graph-search-results button:focus-visible{outline:2px solid var(--av-focus);outline-offset:3px}
.graph-scope-note{font-size:.725rem;line-height:1.55;color:var(--av-muted);border-left:2px solid var(--av-border-strong);padding-left:.8rem;margin:0 0 1rem}
.graph-detail-cases{margin-top:1.5rem}
.graph-case{padding:1.1rem 0;border-top:1px solid var(--av-border)}
.graph-case:last-child{padding-bottom:0}
.graph-case>span{display:block;font-size:.625rem;line-height:1.4;margin-bottom:.45rem;color:var(--av-muted)}
.graph-case a{font:400 .9375rem/1.3 var(--av-heading);letter-spacing:-.02em;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;color:var(--av-text)}
.graph-case a:hover{color:var(--av-link-blue,var(--av-blue))}
.graph-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.graph-empty{position:absolute;z-index:4;top:42%;width:100%;margin:0;text-align:center;padding:0 2rem;font-size:.9rem;color:#c2d0ed}
.graph-browse{border-top:1px solid var(--av-border);padding:0 1.5rem}
.graph-browse summary{padding:1.15rem 0;cursor:pointer;font-size:.8125rem;color:var(--av-text)}
.graph-browse ul{list-style:none;padding:0;margin:0}
.graph-topic-list{display:none}
.experience-network[data-ready] .graph-topic-list{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 0 1.5rem}
.graph-topic-list button{border:1px solid var(--av-border);border-radius:2px;padding:.6rem .8rem;min-height:40px;background:var(--av-surface);color:var(--av-text);font:400 .75rem/1.4 var(--av-body);cursor:pointer}
.graph-topic-list button:hover,.graph-topic-list button[aria-pressed=true]{border-color:var(--av-link-blue,var(--av-blue));color:var(--av-link-blue,var(--av-blue))}
.graph-case-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;padding-bottom:1.5rem!important}
.graph-case-list a{display:block;color:var(--av-text);font-size:.8125rem;text-underline-offset:.25em;line-height:1.4}
.graph-case-list span{display:block;font-size:.6875rem;line-height:1.5;color:var(--av-muted);margin-top:.4rem}
.experience-footnote{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-top:1.5rem}
.experience-footnote p{max-width:36rem;margin:0;font-size:.75rem;line-height:1.6;color:var(--av-muted)}
.experience-footnote a{white-space:nowrap;font-size:.875rem}
.graph-search-results{display:flex;gap:.5rem;flex-wrap:wrap;flex-basis:100%;padding-top:.5rem}
.graph-node[hidden],.graph-empty[hidden],.graph-controls button[hidden],.graph-search-results[hidden]{display:none}
@media(max-width:74rem){.graph-workspace{grid-template-columns:minmax(0,1fr) 17rem}.graph-detail{padding:1.5rem 1.25rem}.graph-search-label{display:none}.graph-coordinate{font-size:.55rem;left:1.25rem;right:1.25rem}}
@media(max-width:60rem){.graph-workspace{grid-template-columns:1fr;min-height:0}.graph-stage{height:38rem}.graph-detail{border-left:0;border-top:1px solid var(--av-border);padding:1.75rem 1.25rem;max-height:none;overflow:visible}.graph-breadcrumbs{margin-bottom:1.5rem}.graph-detail-intro{max-width:42rem}.graph-relations{display:flex;gap:1.25rem;flex-wrap:wrap}.graph-connection-group{flex:1 1 13rem;margin-top:0}.graph-detail-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem}.graph-case:last-child{padding-bottom:1.1rem}.graph-case-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:40rem){.graph-toolbar{padding:.85rem 1rem}.graph-layers{padding:0 .5rem}.graph-layers button{padding:.8rem .75rem;font-size:.75rem}.graph-stage{height:35rem}.graph-node{width:36px;height:36px}.graph-node-label{width:106px;font-size:11px;padding:4px 5px}.graph-node--industry .graph-node-label{font-size:11.5px}.graph-coordinate{top:1rem;left:1rem;right:1rem;display:block}.graph-coordinate span{display:block}.graph-coordinate span:last-child{text-align:left;margin-top:.35rem}.graph-controls{right:50%;transform:translateX(50%);bottom:1.25rem;white-space:nowrap}.graph-help{left:1rem;right:1rem;max-width:none;text-align:center;bottom:4.9rem;font-size:.625rem}.graph-detail-cases{grid-template-columns:1fr}.experience-footnote{flex-direction:column;gap:.8rem}.graph-browse{padding:0 1rem}.graph-case-list{grid-template-columns:1fr}.graph-connection-group{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.graph-node,.graph-node-dot{transition:none}}
html[data-av-motion-paused=true] :is(.graph-node,.graph-node-dot){transition:none}

.graph-trail-parent::before{content:"/";display:inline-block;margin-right:.6rem;color:var(--av-muted);text-decoration:none}.graph-view-count{font-size:.625rem;line-height:1.5;color:var(--av-muted);margin:-.7rem 0 1.25rem}.graph-view-count[hidden]{display:none}

.graph-relation-scope{display:block;margin-top:.25rem;font-size:.6rem;line-height:1.3;color:var(--av-muted)}
@media(max-width:48rem){.graph-layers{flex-wrap:wrap;padding:.25rem .5rem}.graph-layers button{flex:1 1 30%;justify-content:flex-start;min-height:44px;padding:.65rem .5rem;font-size:.6875rem;gap:.35rem}.graph-layers button::before{width:.45rem;height:.45rem}}

/* ---- audit-offer.css ---- */
/* UX Audit: focused commercial detail, using the shared Aventropy type and controls. */
.audit-offer .home-eyebrow { color:var(--av-blue); }
.audit-facts-wrap { background:#fff; }
.audit-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-block:0; padding-block:2.25rem; }
.audit-facts > div { padding-inline:clamp(1.25rem,3vw,3.5rem); border-left:1px solid var(--av-border); }
.audit-facts > div:first-child { padding-left:0; border-left:0; }
.audit-facts dt { margin-bottom:.75rem; color:var(--av-muted); font-size:.875rem; }
.audit-facts dd { margin:0; font:500 clamp(1.3rem,2vw,2rem)/1.25 var(--av-heading); letter-spacing:-.035em; }
.audit-facts dd span { display:block; margin-top:.65rem; font:400 .875rem/1.5 var(--av-body); letter-spacing:normal; color:var(--av-muted); }
.audit-fit, .audit-start { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,7vw,8rem); }
.audit-fit h2, .audit-start h2 { margin-top:1.75rem; }
.audit-fit-copy > p { max-width:39rem; font-size:1.125rem; line-height:1.6; }
.audit-fit-copy > p:last-child { color:var(--av-muted); font-size:1rem; }
.audit-plain-list { padding:0; list-style:none; margin:1.75rem 0; }
.audit-plain-list li { padding:.9rem 0; border-top:1px solid var(--av-border); line-height:1.55; }
.audit-plain-list li:last-child { border-bottom:1px solid var(--av-border); }
.audit-delivery { background:#fff; }
.audit-output-list { list-style:none; margin:0; padding:0; }
.audit-output-list li { display:grid; grid-template-columns:3rem minmax(12rem,.9fr) minmax(0,1.2fr); gap:clamp(1rem,3vw,3rem); border-top:1px solid var(--av-border); padding:2rem 0; }
.audit-output-list li:last-child { padding-bottom:0; }
.audit-output-list li > span { color:var(--av-blue); font-size:.875rem; padding-top:.35rem; }
.audit-output-list h3 { font:500 clamp(1.3rem,2vw,2rem)/1.25 var(--av-heading); letter-spacing:-.04em; }
.audit-output-list p { color:var(--av-muted); line-height:1.6; max-width:42rem; }
.audit-scope-panel { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2.5rem,6vw,6rem); padding:var(--site-panel-space); border-radius:1rem; background:var(--av-ink); color:#fff; }
.audit-scope-panel .home-eyebrow { color:#b8bbff; }
.audit-scope-heading h2 { margin-block:2rem 1.5rem; }
.audit-scope-heading > p:last-child { max-width:30rem; color:#d3d3e1; line-height:1.6; }
.audit-scope-detail > div { padding-top:1.5rem; border-top:1px solid #ffffff40; }
.audit-scope-detail > div + div { margin-top:1.75rem; }
.audit-scope-detail h3 { font-size:1.2rem; margin-bottom:.8rem; }
.audit-scope-detail p { color:#c7c7dc; line-height:1.6; }
.audit-plan { padding-top:0; }
.audit-weeks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; gap:clamp(1.5rem,4vw,4rem); padding:0; margin:0; }
.audit-weeks li { border-top:1px solid var(--av-border); padding-top:1.5rem; }
.audit-weeks li > span { color:var(--av-blue); font-size:.875rem; }
.audit-weeks h3 { font-size:clamp(1.4rem,2vw,2rem); margin:1.75rem 0 1rem; letter-spacing:-.035em; }
.audit-weeks p { color:var(--av-muted); line-height:1.6; }
.audit-followup { display:grid; grid-template-columns:.7fr 1.3fr; gap:2rem; border-top:1px solid var(--av-border); padding-top:2rem; margin-top:3rem; }
.audit-followup h3 { font-size:1.25rem; }
.audit-followup p { color:var(--av-muted); max-width:49rem; line-height:1.6; }
.audit-proof { background:#fff; }
.audit-proof-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,4rem); }
.audit-proof-grid > a { display:flex; flex-direction:column; align-items:flex-start; border-top:1px solid var(--av-border); text-decoration:none; padding-block:1.5rem; }
.audit-proof-grid h3 { max-width:24ch; margin:1.75rem 0 1rem; font-size:clamp(1.6rem,2.4vw,2.5rem); line-height:1.2; letter-spacing:-.045em; }
.audit-proof-grid a > p:not(.home-eyebrow) { max-width:36rem; color:var(--av-muted); line-height:1.6; }
.audit-proof-grid a > span { margin-top:auto; padding-top:1.75rem; text-decoration:underline; text-underline-offset:.25em; }
.audit-proof-grid a:hover h3, .audit-proof-grid a:focus-visible h3 { color:var(--av-blue); }
.audit-attribution { margin-top:2rem; max-width:59rem; font-size:.875rem; line-height:1.55; color:var(--av-muted); }
.audit-start-copy > p:not(.home-eyebrow) { max-width:32rem; color:var(--av-muted); line-height:1.6; margin-top:1.5rem; }
.audit-start-copy .av-button { margin-top:2rem; }
.audit-start-copy .audit-price-note { font-size:.9375rem; }
.audit-readiness h3 { font-size:1.3rem; margin-bottom:1rem; }
.audit-readiness > .audit-plain-list { margin-top:1.5rem; }
.audit-readiness .av-accordion { margin-top:2rem; }
.audit-readiness .av-accordion summary, .audit-readiness .av-accordion-content { padding-inline:0; }
.audit-offer a { overflow-wrap:anywhere; }
/* The Services page introduces three product routes; launch work is separate. */
.sv9-index--focused .sv9-index-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sv9-index--focused .sv9-index-links > a:first-child strong { color:var(--av-blue); }
.sv9-secondary-route { display:flex; justify-content:space-between; gap:1rem 2rem; padding-top:1.5rem; color:var(--av-muted); font-size:.9375rem; }
.sv9-secondary-route a { color:var(--av-ink); text-underline-offset:.25em; }
.sv9-audit .audit-service-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem 2rem; margin-top:2rem; }
.sv9-audit .audit-service-actions .home-text-link { font-size:1rem; }
.sv9-audit .audit-service-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; padding-top:2rem; margin-top:3rem; border-top:1px solid var(--av-border); }
.audit-service-summary h3 { font-size:1.15rem; margin-bottom:.75rem; }
.audit-service-summary p { font-size:1rem; line-height:1.6; color:var(--av-muted); }
@media(max-width:70rem) {
 .audit-output-list li { grid-template-columns:2rem minmax(10rem,.9fr) minmax(0,1.1fr); gap:1.5rem; }
 .sv9-index--focused .sv9-index-links > a:nth-child(3) { border-left:1px solid var(--av-border); padding-left:clamp(1rem,2vw,2rem); }
}
@media(max-width:48rem) {
 .audit-facts { grid-template-columns:1fr; padding-block:1.5rem; }
 .audit-facts > div { display:grid; grid-template-columns:.85fr 1.15fr; gap:1rem; padding:1.25rem 0; border-left:0; }
 .audit-facts > div + div { border-top:1px solid var(--av-border); }
 .audit-facts dt { margin:0; }
 .audit-facts dd { font-size:1.25rem; }
 .audit-facts dd span { font-size:.8125rem; }
 .audit-fit, .audit-start, .audit-scope-panel, .audit-followup, .audit-proof-grid { grid-template-columns:1fr; }
 .audit-fit-copy > p { font-size:1.0625rem; }
 .audit-output-list li { grid-template-columns:1.5rem 1fr; gap:1rem; padding-block:1.5rem; }
 .audit-output-list h3 { font-size:1.5rem; }
 .audit-output-list p { grid-column:2; }
 .audit-scope-panel { padding:2rem 1.5rem; }
 .audit-weeks { grid-template-columns:1fr; gap:2rem; }
 .audit-weeks h3 { margin-top:1rem; font-size:1.6rem; }
 .audit-followup { gap:1rem; }
 .audit-proof-grid { gap:1rem; }
 .audit-proof-grid h3 { font-size:1.9rem; }
 .sv9-index--focused .sv9-index-links { grid-template-columns:1fr; }
 .sv9-index--focused .sv9-index-links > a + a, .sv9-index--focused .sv9-index-links > a:nth-child(3) { border-left:0; padding-left:0; }
 .sv9-index--focused .sv9-index-links > a { padding-inline:0; }
 .sv9-secondary-route { flex-direction:column; }
 .sv9-audit .audit-service-summary { grid-template-columns:1fr; gap:1.5rem; }
 .audit-service-summary > div + div { border-top:1px solid var(--av-border); padding-top:1.5rem; }
}
@media(max-width:23rem) {
 .audit-facts > div { grid-template-columns:1fr; gap:.5rem; }
 .audit-scope-panel { padding:1.75rem 1.25rem; }
 .audit-output-list li { grid-template-columns:1rem 1fr; gap:.75rem; }
}
/* Home introduces the lead offer, then keeps the other routes easy to find. */
.home-audit-feature { position:relative; display:grid; grid-template-columns:1.2fr .9fr; overflow:hidden; border-radius:1rem; background:var(--av-ink); color:#fff; }
.home-audit-copy { position:relative; z-index:1; padding:var(--site-panel-space); }
.home-audit-copy > .home-eyebrow { color:#b8bbff; }
.home-audit-copy h3 { margin:2rem 0 1.5rem; font-size:clamp(2rem,3vw,3.4rem); line-height:1.15; letter-spacing:-.045em; }
.home-audit-copy > p:not(.home-eyebrow) { color:#d2d2e3; max-width:37rem; line-height:1.6; }
.home-audit-copy > .home-small { font-size:.875rem; }
.home-audit-copy > .av-button { margin-top:1.75rem; }
.home-audit-art { min-height:100%; border-radius:0; }
.home-audit-art::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#010113,transparent 28%); }
.home-audit-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; gap:1.25rem; margin:2rem 0 1.25rem; padding:1.5rem 0 0; border-top:1px solid #ffffff40; }
.home-audit-facts strong { display:block; font-size:1rem; font-weight:500; line-height:1.35; }
.home-audit-facts span { display:block; color:#bcbcd3; font-size:.8125rem; line-height:1.5; margin-top:.65rem; }
.home-followon-label { padding-block:2.5rem 1.5rem; color:var(--av-blue); }
.home-foundations-route { display:flex; justify-content:space-between; align-items:baseline; gap:2rem; padding-top:2rem; }
.home-foundations-route > p { max-width:44rem; color:var(--av-muted); font-size:.9375rem; line-height:1.6; }
.home-foundations-route > a { flex-shrink:0; font-size:.9375rem; }
.strategy-path .principle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:2rem; }
.strategy-path .principle-grid article { min-width:0; }
.strategy-path .principle-grid h2 { margin-block:1.5rem; }
.strategy-path .principle-grid a { display:inline-block; margin-top:1.25rem; font-size:1rem; }
#process { scroll-margin-top:8rem; }
@media(max-width:70rem) {
 .home-audit-feature { grid-template-columns:1.3fr .8fr; }
 .home-audit-facts { gap:.9rem; }
 .home-foundations-route { align-items:flex-start; }
 .home-foundations-route > a { flex-shrink:1; min-width:12rem; }
}
@media(max-width:48rem) {
 .home-audit-feature { grid-template-columns:1fr; }
 .home-audit-copy { padding:2rem 1.5rem; }
 .home-audit-copy h3 { font-size:clamp(1.85rem,7vw,2.75rem); }
 .home-audit-facts { grid-template-columns:1fr; gap:0; margin-block:1.5rem; padding-top:0; }
 .home-audit-facts li { display:grid; grid-template-columns:1fr 1fr; gap:1rem; padding:1rem 0; }
 .home-audit-facts li + li { border-top:1px solid #ffffff25; }
 .home-audit-facts span { margin-top:0; }
 .home-audit-art { min-height:22rem; height:22rem; }
 .home-audit-art::after { background:linear-gradient(180deg,#010113,transparent 30%); }
 .home-foundations-route { flex-direction:column; gap:1rem; }
 .strategy-path .principle-grid { grid-template-columns:1fr; }
}
@media(max-width:23rem) {
 .home-audit-copy { padding:1.75rem 1.25rem; }
 .home-audit-copy h3 { font-size:1.75rem; }
 .home-audit-facts li { grid-template-columns:1fr; gap:.4rem; }
}

/* ---- evidence-v11.css ---- */
/* V1.1: factual provenance, quiet trust and case studies built for scanning. */
.ev11-name-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; margin:2.5rem 0 0; padding:0; }
.ev11-name-grid li { padding:1.5rem .75rem 1.5rem 0; border-top:1px solid var(--av-border); font:500 clamp(1.2rem,1.55vw,1.8rem)/1.3 var(--av-body); letter-spacing:-.035em; color:var(--av-text); }
.ev11-organisations > p:first-child { color:var(--av-text); }
.ev11-trust { background:var(--av-surface); }
.ev11-trust .home-split-heading { align-items:end; }
.ev11-quotes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(2rem,5vw,6rem); }
.ev11-quote { margin:0; padding:2rem 0 0; border-top:1px solid var(--av-border); display:flex; flex-direction:column; }
.ev11-quote blockquote { margin:0 0 2rem; }
.ev11-quote blockquote p { font:400 clamp(1.35rem,2.25vw,2.25rem)/1.4 var(--av-heading); letter-spacing:-.035em; color:var(--av-text); max-width:33ch; }
.ev11-quote figcaption { margin-top:auto; display:flex; flex-direction:column; gap:.2rem; font-size:1rem; }
.ev11-quote figcaption strong { font-weight:500; color:var(--av-text); }
.ev11-quote figcaption span,.ev11-source { color:var(--av-muted); }
.ev11-source { margin-top:2.5rem; font-size:.8125rem; max-width:65rem; }
.ev11-source a { text-underline-offset:.18em; color:inherit; }
.ev11-case { color:var(--av-text); }
.ev11-case h2 { max-width:24ch; font-size:clamp(2rem,3.2vw,3.5rem); }
.ev11-case .home-eyebrow { color:var(--av-muted); }
.ev11-case .case-chapter-nav { border-color:var(--av-border); }
.ev11-case-brief { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(2rem,7vw,8rem); padding:var(--site-section-space) 0; scroll-margin-top:7rem; }
.ev11-case-brief .home-eyebrow { margin-bottom:1.5rem; }
.ev11-response { font:400 clamp(1.3rem,2.2vw,2rem)/1.4 var(--av-heading); letter-spacing:-.03em; max-width:32ch; }
.ev11-decisions { padding-block:var(--site-section-space); border-top:1px solid var(--av-border); scroll-margin-top:7rem; }
.ev11-case-section-heading { display:grid; grid-template-columns:1fr 2fr; gap:2rem; margin-bottom:3rem; }
.ev11-case-section-heading h2 { max-width:none; }
.ev11-decisions ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; margin:0; list-style:none; }
.ev11-decisions li { position:relative; padding:2rem 2.5rem 0 0; border-top:1px solid var(--av-border-strong); }
.ev11-decisions li::before { content:''; position:absolute; top:-1px; width:2rem; height:2px; background:var(--av-blue); }
.ev11-step-number { display:block; font:400 .8125rem/1 var(--av-body); color:var(--av-muted); margin-bottom:2rem; }
.ev11-decisions h3 { font:500 clamp(1.4rem,1.8vw,1.8rem)/1.2 var(--av-heading); letter-spacing:-.03em; margin-bottom:1rem; max-width:20ch; }
.ev11-decisions li > p { max-width:32ch; color:var(--av-muted); font-size:1rem; }
.ev11-outcome { display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(2rem,7vw,7rem); background:var(--av-surface); border:1px solid var(--av-border); padding:clamp(1.5rem,4vw,4rem); margin-block:1rem 3rem; scroll-margin-top:7rem; }
.ev11-outcome h2 { margin-top:1.5rem; }
.ev11-result-status { border-top:1px solid var(--av-border); padding-top:1.5rem; margin-top:2rem; }
.ev11-result-status strong { display:block; max-width:21ch; font:500 1.35rem/1.3 var(--av-heading); letter-spacing:-.03em; margin-top:.75rem; }
.ev11-result-number { margin-top:2rem; }
.ev11-result-number > strong { display:block; font:500 clamp(5rem,8vw,8rem)/1 var(--av-heading); color:var(--av-blue); letter-spacing:-.065em; }
.ev11-result-number > strong > span { font-size:.5em; }
.ev11-result-number p { color:var(--av-muted); font-size:.95rem; max-width:30ch; margin-top:1rem; }
.ev11-outcome-copy { align-self:center; }
.ev11-outcome-copy ul { margin:0 0 2rem; padding-left:1.25rem; }
.ev11-outcome-copy li { font-size:clamp(1.1rem,1.5vw,1.5rem); line-height:1.5; padding-left:.35rem; margin-block:1rem; }
.ev11-outcome-copy li::marker { color:var(--av-blue); }
.ev11-evidence-limit { color:var(--av-muted); font-size:.875rem; padding-top:1.5rem; border-top:1px solid var(--av-border); }
.ev11-full-story { border-block:1px solid var(--av-border); }
.ev11-full-story summary { padding:1.5rem 0; cursor:pointer; font-size:1.125rem; display:flex; align-items:center; justify-content:space-between; list-style:none; }
.ev11-full-story summary::-webkit-details-marker { display:none; }
.ev11-full-story summary span { font-size:1.5rem; font-weight:300; }
.ev11-full-story[open] summary span { transform:rotate(45deg); }
.ev11-full-story summary:focus-visible { outline:2px solid var(--av-focus); outline-offset:4px; }
.ev11-full-story-content { max-width:52rem; margin-left:auto; padding-bottom:3rem; }
.ev11-full-story-content section { padding-block:1.5rem; }
.ev11-full-story-content h3 { font-size:1.5rem; margin-bottom:1rem; }
.ev11-full-story-content p,.ev11-full-story-content li { color:var(--av-muted); }
.ev11-full-story-content p + p { margin-top:1rem; }
.ev11-full-story-content li + li { margin-top:.75rem; }
.ev11-full-story-content strong { color:var(--av-text); font-weight:500; }
.ev11-case-attribution { color:var(--av-muted); font-size:.8125rem; margin-top:1.5rem; max-width:55rem; }
@media (max-width:70rem) {
 .ev11-name-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ev11-name-grid li { font-size:1.35rem; padding-block:1.25rem; }
 .ev11-decisions li { padding-right:1.25rem; }
}
@media (max-width:48rem) {
 .ev11-name-grid { margin-top:1.75rem; }
 .ev11-name-grid li { font-size:1.35rem; }
 .ev11-quotes { grid-template-columns:1fr; gap:2.5rem; }
 .ev11-quote { padding-top:1.5rem; }
 .ev11-quote blockquote p { font-size:1.45rem; }
 .ev11-case-brief,.ev11-case-section-heading,.ev11-outcome { grid-template-columns:1fr; }
 .ev11-case-section-heading { gap:1rem; margin-bottom:2rem; }
 .ev11-case h2 { font-size:2rem; }
 .ev11-response { font-size:1.35rem; }
 .ev11-decisions ol { grid-template-columns:1fr; }
 .ev11-decisions li { padding:1.5rem 0 2rem 3.25rem; }
 .ev11-step-number { position:absolute; left:0; top:1.75rem; margin:0; }
 .ev11-decisions li::before { width:1.25rem; }
 .ev11-decisions h3 { font-size:1.4rem; }
 .ev11-decisions li > p { max-width:none; }
 .ev11-outcome { gap:2rem; padding:1.5rem; }
 .ev11-outcome-copy li { font-size:1.125rem; }
 .ev11-case .case-chapter-nav { gap:.75rem 1.5rem; }
 .ev11-case .case-chapter-nav a { font-size:.8125rem; }
}

/* ---- direction-v11.css ---- */
/* Quiet motion between sections, never a prerequisite for reading them. */
.av-reveal { transition:opacity 650ms ease var(--reveal-delay,0ms), translate 650ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms); }
.av-reveal-pending { opacity:0; translate:0 18px; }
.av-revealed { opacity:1; translate:0 0; }
.client-logo-grid img { transition:translate 220ms ease,opacity 450ms ease; }
.client-logo-grid img:hover { translate:0 -3px; }
.client-logo-grid img.av-reveal { transition:opacity 600ms ease var(--reveal-delay,0ms),translate 650ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms); }
@media(prefers-reduced-motion:reduce) {
 .av-reveal,.av-reveal-pending,.client-logo-grid img { opacity:1; translate:none; transition:none; animation:none; }
}
html[data-av-motion-paused="true"] .av-reveal,html[data-av-motion-paused="true"] .av-reveal-pending { opacity:1; translate:none; transition:none; }
html[data-av-motion-paused="true"] .client-logo-grid img { translate:none; transition:none; }
html[data-av-motion-paused="true"] [data-experience-network] * { animation:none; }
@media print { .av-reveal-pending { opacity:1; translate:none; } }

/* ---- site-v11.css ---- */
/* V1.1: a connected menu, readable type and shared spacing at every width. */
.home-page :is(h1,h2,h3) { text-wrap:balance; }
.home-page h2 { font-size:clamp(2.05rem,3.5vw,3.75rem); line-height:1.12; }
.home-split-heading > p,.page-intro,.home-hero-description { text-wrap:pretty; }
.home-page :is(.home-split-heading,.principle-grid,.sv9-three-columns,.audit-fit,.audit-start) > * { min-width:0; }
.home-split-heading > p { line-height:1.55; }
.home-section,.sv9-offer { scroll-margin-top:8rem; }

/* Services are one set of choices, rather than disconnected promotional cards. */
.home-menu-content { grid-template-columns:minmax(10rem,.65fr) minmax(0,1.35fr); gap:clamp(2rem,4vw,4.5rem); padding:1.75rem; overflow-x:hidden; }
.home-menu-content > * { min-width:0; }
.mega-site > div { gap:.45rem; }
.home-menu-panel .mega-site > div > a { padding-block:.25rem; }
.mega-services { min-width:0; }
.mega-services > .mega-label { margin-bottom:.75rem; }
.menu-service-list { border-top:1px solid var(--av-border); }
.home-menu-panel .menu-service-list > a { display:grid; grid-template-columns:1.75rem minmax(0,1fr) 1.1rem; gap:1rem; align-items:center; margin:0; padding:1.1rem 0; border:0; border-bottom:1px solid var(--av-border); color:var(--av-text); }
.home-menu-panel .menu-service-list > a:last-child { border-bottom:1px solid var(--av-border); }
.home-menu-panel .menu-service-list .menu-step { color:var(--av-link-blue,var(--av-blue)); font-size:.75rem; align-self:start; padding-top:.3rem; }
.menu-service-list strong { display:block; font:400 clamp(1.1rem,1.5vw,1.5rem)/1.25 var(--av-heading); letter-spacing:-.035em; }
.menu-service-list small { display:block; font:400 .8125rem/1.45 var(--av-body); color:var(--av-muted); margin-top:.35rem; }
.home-menu-panel .menu-service-list > a > span:last-child { color:var(--av-link-blue,var(--av-blue)); font-size:1.2rem; transition:translate 180ms ease; }
.home-menu-panel .menu-service-list > a:hover strong { color:var(--av-link-blue,var(--av-blue)); }
.home-menu-panel .menu-service-list > a:hover > span:last-child { translate:2px -2px; }
.home-menu-panel .menu-launch { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem 1.25rem; margin:0; padding:1.15rem 0; font-size:.875rem; }
.home-menu-panel .menu-launch > span { color:var(--av-muted); font-size:.8125rem; }
.menu-launch strong { font-weight:500; color:var(--av-link-blue,var(--av-blue)); font-size:.875rem; }
.mega-contact { margin-top:.25rem; padding:1.25rem 0 0; border-radius:0; border-top:1px solid var(--av-border); background:transparent; color:var(--av-text); }
.mega-contact p { font:400 1.05rem/1.4 var(--av-body); max-width:18rem; letter-spacing:0; }
.home-menu-panel .mega-contact .av-button { padding:.75rem 1.15rem; min-height:2.75rem; font-size:.875rem; }
.home-menu-panel a:focus-visible { outline:2px solid var(--av-focus); outline-offset:4px; }
.home-menu-panel .menu-service-list > a:focus-visible { border-radius:.125rem; }
.home-menu summary { min-width:5.5rem; justify-content:flex-end; }

/* Reusable headings and aligned columns keep each service easy to scan. */
.sv9-offer-heading { margin-bottom:clamp(2rem,4vw,3.5rem); }
.sv9-feature-copy h2 { font-size:clamp(2.1rem,3.3vw,3.7rem); line-height:1.13; max-width:17ch; }
.sv9-intro-copy { max-width:38rem; }
.sv9-three-columns { gap:clamp(1.5rem,3.5vw,4rem); }
.sv9-three-columns h3 { max-width:19ch; }
.sv9-leadership-rows h3 { font-size:clamp(1.75rem,2.7vw,2.9rem); }
.v9-service-name h3 { font-size:clamp(1.6rem,2.2vw,2.3rem); }
.home-audit-copy h3 { max-width:20ch; font-size:clamp(1.85rem,2.8vw,3.15rem); }
.v9-invitation-content h2 { font-size:clamp(2.35rem,4.2vw,4.7rem); max-width:16ch; line-height:1.1; }
.v9-invitation-bottom { align-items:center; }
.v9-invitation-bottom > span { max-width:35rem; line-height:1.5; }

/* Footer controls get their own clear row; no narrow middle column. */
.footer-bottom { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.5rem 2rem; align-items:start; }
.footer-bottom > p { grid-column:1; grid-row:1; margin:0; line-height:1.65; }
.footer-bottom > a { grid-column:2; grid-row:1; white-space:nowrap; padding-block:.4rem; }
.footer-bottom > .footer-preferences { grid-column:1 / -1; grid-row:2; padding-top:1.25rem; border-top:1px solid #ffffff26; }
.footer-preferences :is(button,label,select) { font-size:.8125rem; }
.footer-main nav > a { min-height:1.65rem; display:flex; align-items:center; }

@media(max-width:70rem) {
 .home-menu-content { grid-template-columns:minmax(8.5rem,.7fr) minmax(0,1.3fr); gap:2rem; }
 .home-menu-panel .menu-service-list > a { gap:.75rem; }
 .mega-contact { align-items:flex-start; gap:1rem; }
 .mega-contact p { max-width:12rem; }
 .menu-service-list strong { font-size:1.15rem; }
 .sv9-feature-copy { padding:2.5rem 2rem; }
}
@media(max-width:48rem) {
 .home-page h2 { font-size:clamp(2rem,7.5vw,3rem); }
 .home-nav-shell { padding:.9rem 1rem; }
 .home-menu-content { grid-template-columns:minmax(0,1fr); gap:1.75rem; padding:1.4rem 1rem 1.25rem; max-height:calc(100dvh - 7rem); }
 .home-menu-content::before { left:1rem; right:1rem; }
 .mega-site > div { grid-template-columns:1fr 1fr; gap:.35rem 1rem; }
 .home-menu-panel .mega-site > div > a { font-size:1.25rem; min-height:2.5rem; }
 .mega-label { margin-bottom:.65rem; font-size:.75rem; }
 .home-menu-panel .menu-service-list > a { grid-template-columns:1.5rem minmax(0,1fr) 1rem; gap:.75rem; padding-block:1rem; }
 .menu-service-list strong { font-size:1.15rem; }
 .menu-service-list small { font-size:.8125rem; }
 .home-menu-panel .menu-launch { padding-block:1.1rem; }
 .mega-contact { display:grid; grid-template-columns:minmax(0,1fr); gap:.85rem; align-items:start; }
 .mega-contact p { font-size:.9375rem; max-width:none; width:100%; min-width:0; }
 .home-menu-panel .mega-contact .av-button { width:100%; min-width:0; max-width:100%; padding:.7rem 1rem; font-size:.875rem; justify-content:center; box-sizing:border-box; }
 .home-menu summary { min-width:5rem; gap:.6rem; }
 .home-brand { max-width:calc(100% - 6.5rem); }
 .sv9-feature-copy { padding:2rem 1.5rem; }
 .sv9-feature-copy h2 { font-size:clamp(2rem,7.3vw,3rem); }
 .v9-service-name h3 { font-size:clamp(1.65rem,5.8vw,2.15rem); }
 .home-audit-copy h3 { font-size:clamp(1.8rem,6.6vw,2.6rem); }
 .v9-invitation-content h2 { font-size:clamp(2.25rem,8vw,3rem); }
 .v9-invitation-bottom { align-items:flex-start; }
 .footer-bottom { gap:1.25rem; }
 .footer-bottom > p { max-width:25rem; }
 .footer-bottom > a { font-size:.75rem; }
 .footer-main { gap:2.5rem 1.5rem; }
}
@media(max-width:23rem) {
 .home-nav-shell { padding:.75rem; }
 .home-menu-content { padding-inline:.75rem; }
 .home-menu-content::before { left:.75rem; right:.75rem; }
 .home-menu summary { min-width:4.5rem; gap:.4rem; }
 .home-brand { max-width:calc(100% - 5.5rem); }
 .home-menu-panel .mega-site > div > a { font-size:1.15rem; }
 .home-menu-panel .menu-service-list > a { gap:.5rem; }
 .menu-service-list strong { font-size:1.05rem; }
 .mega-contact { flex-direction:column; align-items:flex-start; }
 .mega-contact p { max-width:none; }
 .footer-bottom { grid-template-columns:1fr; }
 .footer-bottom > a { grid-column:1; grid-row:3; justify-self:start; }
}
@media(prefers-reduced-motion:reduce) {
 .home-menu-panel .menu-service-list > a > span:last-child { transition:none; }
}
html[data-av-motion-paused="true"] :is(.home-nav-shell,.home-menu-panel,.home-menu-content > *,.site-menu-backdrop,.home-menu .av-menu-icon::before,.home-menu .av-menu-icon::after,.menu-service-list > a > span:last-child) { transition:none!important; }

.home-launch-link {display:block;width:fit-content;margin-top:1.4rem;font-size:.875rem;color:inherit;text-underline-offset:.3em;}
.enquiry-booking{display:block;width:fit-content;margin-top:1.3rem;font-size:.9375rem;}

/* ---- refinement-v12.css ---- */
/* Local V1.2: fewer competing actions, quiet links and dimensional motion. */
.home-menu-panel .menu-service-list > a {grid-template-columns:1.75rem minmax(0,1fr);}
.home-menu-panel .menu-service-list > a > span:last-child {color:inherit; font-size:inherit; transition:none; translate:none;}
.home-menu-panel .menu-service-list > a:hover > span:last-child {translate:none;}
.home-menu-panel .menu-service-list strong {transition:color 160ms ease;}
.v9-service-row {grid-template-columns:3rem 1.1fr 1fr;}
.home-hero-actions {gap:0;}
.home-hero-actions .av-button {min-width:11.5rem; justify-content:center;}
.home-page .av-button {gap:.65rem;}
.home-text-link {text-underline-offset:.3em; text-decoration-thickness:1px; transition:text-decoration-color 160ms ease,color 160ms ease;}
.home-text-link:hover {text-decoration-thickness:2px;}
.project-read {display:inline-block; border-bottom:1px solid currentColor; padding-bottom:.25rem;}
.project-card-link:hover .project-read {border-bottom-width:2px; padding-bottom:calc(.25rem - 1px);}
.v9-invitation-bottom {justify-content:flex-start;}
.av-entropy[data-av-entropy^="particle-"] .av-entropy-canvas {image-rendering:auto;}
.lib-particle-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.lib-particle-grid .av-entropy {min-height:22rem;}
.lib-particle-grid figcaption {display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;}
.lib-particle-grid figcaption span {color:var(--av-muted);font-size:.875rem;}
@media(max-width:48rem){
 .home-menu-panel .menu-service-list > a {grid-template-columns:1.5rem minmax(0,1fr);}
 .v9-service-row {grid-template-columns:1.5rem minmax(0,1fr);}
 .v9-service-row > p {grid-column:2;}
 .lib-particle-grid {grid-template-columns:1fr;}
 .lib-particle-grid .av-entropy {min-height:18rem;}
}
@media(prefers-reduced-motion:reduce){.home-text-link,.home-menu-panel .menu-service-list strong{transition:none;}}

/* ---- preferences.css ---- */
/* Appearance and consent share the same quiet, accessible component language. */
:root { --av-link-blue:#0c10d4; }
html[data-theme="dark"] {
  color-scheme:dark;
  --av-text:#f3f3f8;
  --av-muted:#bcbccc;
  --av-subtle:#a5a5bc;
  --av-surface:#10101c;
  --av-surface-soft:#1b1b2c;
  --av-border:#363648;
  --av-border-strong:#81819a;
  --av-focus:#aeb1ff;
  --av-link-blue:#b1b4ff;
  --av-danger:#ff8389;
  --av-success:#7aca97;
}
/* Still artwork has no animation controller to update these surface tokens. */
html[data-theme="dark"] .av-entropy[data-av-still][data-av-surface="light"] { --entropy-surface:var(--av-surface); --entropy-text:var(--av-text); }
html[data-theme="dark"] body,
html[data-theme="dark"] .home-page { background:var(--av-surface); color:var(--av-text); }
html[data-theme="dark"] :is(.home-nav-shell,.home-menu-panel,.lib-top,.lib-panel,.technology-board,.story-challenge,.sv9-audit,.sv9-leadership,.audit-facts-wrap,.audit-delivery,.audit-proof,.working-section) { background:var(--av-surface); border-color:var(--av-border); }
html[data-theme="dark"] :is(.home-work-card,.home-service-card,.company-capabilities,.experience-section,.experience-atlas,.lib-caption,.lib-token-table th,.legal-draft) { background:var(--av-surface-soft); border-color:var(--av-border); }
html[data-theme="dark"] :is(.story-prose,.legal-sections p,.case-section p,.case-section li) { color:var(--av-muted); }
html[data-theme="dark"] :is(.story-prose strong,.about-founder p.large-copy,.finder-controls label,.finder-case > a,.sv9-secondary-route a) { color:var(--av-text); }
html[data-theme="dark"] :is(.home-menu-content,.mega-site,.mega-services,.sv9-index,.contact-layout,.audit-offer) { color:var(--av-text); }
html[data-theme="dark"] :is(.home-menu-content,.home-menu-panel)::before { background:var(--av-border); }
html[data-theme="dark"] .home-hero::after { background:linear-gradient(90deg,#10101c 8%,#10101c 35%,#10101ce0 46%,#10101c00 71%); }
html[data-theme="dark"] .page-hero:not(.page-hero--dark)::after { background:linear-gradient(90deg,#10101c 10%,#10101c 36%,#10101cec 46%,#10101c00 78%); }
html[data-theme="dark"] .home-hero h1 span { background:linear-gradient(110deg,#dadaff,#989dff 65%,#caccff); background-clip:text; -webkit-background-clip:text; color:transparent; }
html[data-theme="dark"] :is(.home-text-link,.back-link,.contact-phone,.step-number,.home-followon-label,.v9-service-number,.v9-row-arrow,.sv9-index-number,.sv9-column-label,.sv9-leadership-rows span,.audit-output-list li > span,.audit-weeks li > span,.delivery-stamp strong,.evidence-stat > strong,.av-link,.av-button--tertiary,.av-button--ghost,.lib-mobile-nav a,.legal-settings-link) { color:var(--av-link-blue); }
html[data-theme="dark"] :is(.page-hero:not(.page-hero--dark),.sv9-offer,.audit-offer,.story-section,.audit-proof,.about-founder,.v9-services,.contact-layout) .home-eyebrow,
html[data-theme="dark"] .page-hero:not(.page-hero--dark) h1 > span { color:var(--av-link-blue); }
html[data-theme="dark"] :is(.home-menu-panel a:hover,.home-menu-panel a[aria-current=page],.sv9-index-links > a:hover,.sv9-index--focused .sv9-index-links > a:first-child strong,.v9-service-row:hover h3,.audit-proof-grid a:hover h3,.audit-proof-grid a:focus-visible h3,.project-card-link:hover .project-read) { color:var(--av-link-blue); }
html[data-theme="dark"] .v9-project-status { color:var(--av-link-blue)!important; }
html[data-theme="dark"] .home-service-card--blue { background:linear-gradient(128deg,#252a9e,#0c10d4 48%,#080858); }
html[data-theme="dark"] .client-logo-grid img { filter:grayscale(1) invert(1); mix-blend-mode:screen; }
html[data-theme="dark"] .av-button--tertiary { border-color:var(--av-link-blue); }
html[data-theme="dark"] :is(.av-button--tertiary,.av-button--ghost):hover { background:#30334e; color:#fff; }
html[data-theme="dark"] :is(.av-input,.av-select,.av-textarea) { background-color:var(--av-surface-soft); color:var(--av-text); }
html[data-theme="dark"] .av-select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23eeeeff' stroke-width='1.5' d='m4 6 4 4 4-4'/%3E%3C/svg%3E"); }
html[data-theme="dark"] .contact-brief :is(.av-select,#enquiry-email) { color:#f3f3f8; }
html[data-theme="dark"] .contact-brief #enquiry-email { background:#30304c; }
html[data-theme="dark"] .lib-sidebar a:is(:hover,[aria-current="location"]) { background:#272742; color:#c5c7ff; }
html[data-theme="dark"] .home-hero-description { color:var(--av-text); }
html[data-theme="dark"] .home-menu .av-menu-icon::before,
html[data-theme="dark"] .home-menu .av-menu-icon::after { background:var(--av-text); }
html[data-theme="dark"] .legal-draft { color:var(--av-text); }
html[data-theme="dark"] :is(.principle-grid article,.story-outcomes,.case-service-link,.v9-service-entries,.v9-service-row,.legal-sections section,.more-work a) { border-color:var(--av-border); }

.footer-preferences { display:flex; align-items:center; gap:1rem 1.5rem; flex-wrap:wrap; }
.footer-preferences > label { display:flex; align-items:center; gap:.75rem; }
.footer-preferences select { color:#e7e7f2; background:#191929; border:1px solid #54546c; border-radius:.25rem; min-height:2.75rem; padding:.5rem 2rem .5rem .75rem; }
.footer-preferences button,.footer-cookie-settings { color:inherit; background:transparent; border:1px solid #54546c; border-radius:.25rem; padding:.6rem .9rem; min-height:2.75rem; font:inherit; }
.footer-preferences button:hover,.footer-cookie-settings:hover { border-color:#b1b4ff; color:#fff; }
.footer-preferences-note { display:block; width:100%; color:#a9a9be; font-size:.75rem; margin-top:.75rem; }

.privacy-banner { position:fixed; z-index:120; inset:auto 1.25rem 1.25rem auto; width:min(40rem,calc(100vw - 2.5rem)); padding:1.75rem; border:1px solid var(--av-border-strong); border-radius:.85rem; background:var(--av-surface); color:var(--av-text); box-shadow:0 1rem 5rem #01011333; }
.privacy-banner .home-eyebrow { font-size:.75rem; margin-bottom:.7rem; color:var(--av-muted); }
.privacy-banner h2 { font:500 1.5rem/1.15 var(--av-heading); letter-spacing:-.04em; margin:0 0 .75rem; }
.privacy-banner-copy > p:not(.home-eyebrow) { font-size:.9375rem; line-height:1.5; max-width:34rem; color:var(--av-muted); }
.privacy-banner-copy > a { display:inline-block; margin-top:.75rem; font-size:.8125rem; color:var(--av-text); text-underline-offset:.25em; }
.privacy-actions,.privacy-dialog-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.25rem; }
.privacy-choice,.privacy-settings-button { display:inline-flex; align-items:center; justify-content:center; min-height:2.875rem; padding:.7rem 1rem; border:1px solid var(--av-text); border-radius:.25rem; font:500 .875rem/1.3 var(--av-body); background:var(--av-text); color:var(--av-surface); }
.privacy-actions .privacy-choice { flex:1 1 8rem; }
.privacy-choice:hover { background:var(--av-surface); color:var(--av-text); }
.privacy-settings-button { color:var(--av-text); background:transparent; border-color:var(--av-border-strong); }
.privacy-settings-button:hover { border-color:var(--av-text); }
.privacy-dialog { box-sizing:border-box; width:min(46rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); margin:auto; padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--av-border); border-radius:1rem; background:var(--av-surface); color:var(--av-text); box-shadow:0 2rem 6rem #0005; overflow:auto; overscroll-behavior:contain; }
.privacy-dialog::backdrop { background:#01011380; backdrop-filter:blur(4px); }
.privacy-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-bottom:2rem; }
.privacy-dialog-heading .home-eyebrow { font-size:.75rem; color:var(--av-muted); }
.privacy-close { display:flex; align-items:center; gap:.6rem; color:var(--av-text); background:transparent; border:0; padding:.5rem 0 .5rem .5rem; min-height:2.75rem; font-size:.875rem; }
.privacy-close span { font:300 1.75rem/1 var(--av-body); }
.privacy-dialog h2 { font:500 clamp(1.8rem,5vw,2.6rem)/1.12 var(--av-heading); letter-spacing:-.05em; margin:0 0 1rem; }
.privacy-dialog > p { color:var(--av-muted); font-size:.9375rem; line-height:1.55; }
.privacy-categories { margin-top:2rem; }
.privacy-category { display:grid; grid-template-columns:1fr auto; align-items:start; gap:1.5rem; padding:1.5rem 0; border-top:1px solid var(--av-border); }
.privacy-category h3,.privacy-category label { display:block; font:500 1.1rem/1.3 var(--av-body); letter-spacing:-.02em; margin:0 0 .65rem; }
.privacy-category p { color:var(--av-muted); font-size:.875rem; line-height:1.5; max-width:29rem; }
.privacy-category a { display:inline-block; margin-top:.6rem; font-size:.8125rem; text-underline-offset:.25em; }
.privacy-state,.privacy-category-control > span { font-size:.75rem; color:var(--av-muted); }
.privacy-state { border:1px solid var(--av-border); border-radius:.25rem; padding:.3rem .5rem; white-space:nowrap; }
.privacy-category-control { display:flex; align-items:flex-end; flex-direction:column; gap:.5rem; }
.privacy-category-control input { width:1.4rem; height:1.4rem; accent-color:var(--av-blue); margin:0; }
.privacy-category-control input:disabled { opacity:.5; }
.privacy-dialog .privacy-future { padding:1rem 0; border-top:1px solid var(--av-border); font-size:.8125rem; }
.privacy-dialog .privacy-store-note { font-size:.75rem; }
.privacy-dialog .privacy-store-note a { text-underline-offset:.2em; }
.privacy-dialog-actions .privacy-choice { flex:1 1 8rem; }
.privacy-status { position:fixed; bottom:1.25rem; left:50%; transform:translateX(-50%); z-index:140; width:max-content; max-width:calc(100% - 2rem); padding:.75rem 1rem; background:var(--av-surface); color:var(--av-text); border:1px solid var(--av-border-strong); border-radius:.25rem; font-size:.8125rem; box-shadow:0 .25rem 1.5rem #0002; opacity:0; pointer-events:none; }
.privacy-status.is-visible { opacity:1; }
.legal-settings-link { padding:0; background:none; border:0; text-decoration:underline; text-underline-offset:.25em; font:inherit; color:inherit; }
.legal-sections code { overflow-wrap:anywhere; font-size:.875em; }
@media(max-width:48rem) {
 html[data-theme="dark"] .home-hero::after { background:linear-gradient(#10101c 10%,#10101c 50%,#10101caa 62%,transparent 88%); }
 html[data-theme="dark"] .page-hero:not(.page-hero--dark)::after { background:linear-gradient(#10101c 10%,#10101c 48%,#10101ca0 66%,transparent 90%); }
 .privacy-banner { inset:auto .75rem .75rem; width:auto; padding:1.25rem; max-height:calc(100dvh - 1.5rem); overflow:auto; }
 .privacy-banner h2 { font-size:1.35rem; }
 .privacy-actions .privacy-settings-button { flex:1 1 8rem; }
 .privacy-dialog-heading { margin-bottom:1.25rem; }
 .privacy-category { gap:1rem; }
 .privacy-state { max-width:7rem; white-space:normal; text-align:right; }
 .footer-preferences { align-items:flex-start; gap:.75rem; }
}
@media(forced-colors:active) {
 .privacy-choice,.privacy-settings-button,.privacy-state { border:1px solid ButtonText; }
 .privacy-dialog,.privacy-banner { border:1px solid CanvasText; }
}
@media print { .privacy-banner,.privacy-dialog,.privacy-status,.footer-preferences { display:none!important; } }
/* Shared footer controls on authored library and example pages. */
.footer-preferences .theme-control { display:flex; align-items:center; gap:.65rem; font-size:.8125rem; }
.footer-preferences .av-motion-toggle { position:static; border:1px solid #54546c; color:inherit; background:transparent; transform:none; min-height:2.75rem; }
.preferences-footer { display:block; padding:2rem var(--av-page-gutter); background:#010113; color:#dedeea; border-top:1px solid #39394b; }
.preferences-footer > div:first-child,.auxiliary-legal { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; margin-bottom:1.5rem; font-size:.875rem; }
.preferences-footer > a { display:inline-block; margin-left:1.5rem; }
.preferences-footer > .footer-preferences { margin-top:1.5rem; }
.auxiliary-legal { margin-top:1.5rem; }
html[data-theme="dark"] .home-eyebrow { color:var(--av-link-blue); }
html[data-theme="dark"] :is(.studio-header,.studio-workspace,.av-header-main,.av-menu-panel,.av-card,.av-dialog) { background:var(--av-surface); color:var(--av-text); border-color:var(--av-border); }
html[data-theme="dark"] :is(.example-banner,.example-intro > .av-container > .av-header .av-header-main) { background:var(--av-surface-soft); color:var(--av-muted); }
html[data-theme="dark"] .example-banner a { color:var(--av-link-blue); }
html[data-theme="dark"] .studio-shapes label:has(input:checked) { background:#272742; color:var(--av-link-blue); border-color:var(--av-link-blue); }
html[data-theme="dark"] :is(.studio-shapes label,.studio-workspace,.studio-reduced,.studio-implementation,.studio-header) { border-color:var(--av-border); }
html[data-theme="dark"] :is(.av-menu-icon::before,.av-menu-icon::after) { background:var(--av-text); }
html[data-theme="dark"] .av-inverse .av-menu-icon::before,
html[data-theme="dark"] .av-inverse .av-menu-icon::after { background:#fff; }

.footer-preference-note{flex-basis:100%;font-size:.75rem;color:var(--av-text-secondary,#b9b9c4)}

/* ---- motion-v13.css ---- */
/* One luminous particle family, with space for the message and the motion. */
.home-hero,.page-hero,.case-particle-hero,.legal-masthead { --hero-shade:#fafafa; }
html[data-theme="dark"] :is(.home-hero,.page-hero,.case-particle-hero,.legal-masthead) { --hero-shade:#10101c; }
html[data-theme="dark"] .home-hero { --hero-edge:linear-gradient(0deg,var(--hero-shade),transparent 20%); }
.page-hero--dark,html[data-theme="dark"] .page-hero--dark { --hero-shade:#010113; }
.home-hero::after,.page-hero::after,.case-particle-hero::after,.legal-masthead::after,
html[data-theme="dark"] .home-hero::after,html[data-theme="dark"] .page-hero:not(.page-hero--dark)::after {
 content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:var(--hero-edge,linear-gradient(transparent,transparent)),linear-gradient(90deg,var(--hero-shade) 4%,var(--hero-shade) 29%,color-mix(in srgb,var(--hero-shade) 90%,transparent) 43%,transparent 69%);
}
.case-particle-hero .case-hero {position:relative;z-index:1;min-height:35rem;}
.case-particle-hero :is(h1,.case-deck) {max-width: min(65%,55rem);}
.case-particle-hero .case-status {max-width:60%;}
.case-particle-hero + .case-cover {margin-top:2rem;}
/* Preserve the sculpture's colour; shade only the corner carrying the caption. */
.project-motion::after {background:radial-gradient(ellipse at 0% 100%,#010113e8 0%,#0101139c 25%,transparent 64%),linear-gradient(180deg,#01011330,transparent 20%);}
.project-motion-copy > p {text-shadow:0 2px 18px #010113c9;}
.legal-masthead {min-height:27rem;padding-block:11rem 4rem;}
.legal-masthead > .home-container {position:relative;z-index:1;}
.legal-masthead h1 {font:500 clamp(2.5rem,5vw,4.5rem)/1.08 var(--av-heading);letter-spacing:-.05em;margin:1.5rem 0;max-width:65%;}
.legal-masthead .legal-intro {max-width:50%;}
.legal-masthead + .legal-page {padding-top:var(--site-section-space);}

/* The invitation is a single navy surface; no blue/black panel join. */
.v9-invitation {
 background:#07091e;
 border:1px solid #5052b740;
 box-shadow:inset 0 1px 0 #ffffff08;
}
.v9-invitation::before {
 content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:radial-gradient(ellipse at 78% 75%,#3546db4d,transparent 64%),radial-gradient(ellipse at 15% 0%,#3936b42b,transparent 65%);
}
.v9-cta-art {
 inset:0;background:transparent;mask-image:none;-webkit-mask-image:none;
 mix-blend-mode:screen;
}
.v9-cta-art::after {display:none;}
.v9-invitation-content {width:58%;}
.v9-invitation-content > .home-eyebrow {color:#c5c9ff;}
.v9-invitation-bottom {border-top-color:#b9c3ff40;}
.v9-process-art {background:#010113;}
.v9-process-art::after {background:linear-gradient(90deg,#010113,transparent 38%);}
.process-stage-art:is([data-av-entropy^="particle-"],[data-av-entropy^="dots-"]) {min-height:32rem;}
.process-stage-art .process-art-caption {background:linear-gradient(transparent,#010113e8);padding:2.5rem 1.5rem 1.5rem;left:0;right:0;bottom:0;}

@media(max-width:48rem){
 .home-hero::after,.page-hero::after,.case-particle-hero::after,.legal-masthead::after,
 html[data-theme="dark"] .home-hero::after,html[data-theme="dark"] .page-hero:not(.page-hero--dark)::after {
  background:var(--hero-edge,linear-gradient(transparent,transparent)),linear-gradient(var(--hero-shade) 8%,var(--hero-shade) 40%,color-mix(in srgb,var(--hero-shade) 92%,transparent) 53%,transparent 78%);
 }
 .home-hero-copy {padding-bottom:20rem;}
 .page-hero {padding-bottom:17rem;}
 .case-particle-hero .case-hero {padding-bottom:16rem;}
 .case-particle-hero :is(h1,.case-deck,.case-status) {max-width:100%;}
 .legal-masthead {padding-block:9rem 12rem;}
 .legal-masthead h1,.legal-masthead .legal-intro {max-width:100%;}
 .v9-invitation-content {width:100%;padding-bottom:20rem;}
 .v9-cta-art {inset:0;}
 .v9-invitation::before {background:radial-gradient(ellipse at 50% 90%,#3546db55,transparent 75%);}
 .v9-process-art {inset:38% 0 6rem;}
 .v9-process-art::after {background:linear-gradient(#010113,transparent 24%,transparent 76%,#010113);}
 .process-stage-art:is([data-av-entropy^="particle-"],[data-av-entropy^="dots-"]) {min-height:22rem;}
}

/* ---- site-v15.css ---- */
/* Shared footer and consolidated notices. Built from the existing type/space scale. */
.footer-main { grid-template-columns:minmax(0,1.4fr) minmax(0,.75fr) minmax(0,1fr); gap:clamp(2rem,5vw,6rem); }
.footer-main nav > p { color:#b9bbd1; text-transform:uppercase; letter-spacing:.08em; font-size:.75rem; }
.footer-main nav > a { min-height:2rem; line-height:1.5; }
.footer-services > a { max-width:20rem; }
.footer-main nav > .footer-library { margin-top:1.6rem; border-top:1px solid #ffffff26; padding-top:1.5rem; }
.footer-utility { display:flex; align-items:center; justify-content:flex-end; gap:1.5rem; grid-column:2; grid-row:1; flex-wrap:wrap; }
.footer-utility a { color:inherit; text-decoration:none; padding:.45rem 0; }
.footer-utility a:hover { text-decoration:underline; }
.legal-hub-header { padding-block:clamp(10rem,13vw,14rem) 4rem; }
.legal-hub-header h1 { font:500 clamp(3rem,5vw,5.75rem)/1.07 var(--av-heading); letter-spacing:-.045em; margin:1.5rem 0; }
.legal-hub-header > p:last-child { max-width:39rem; font-size:clamp(1.0625rem,1.5vw,1.25rem); line-height:1.6; color:var(--av-muted); }
.legal-hub { display:grid; grid-template-columns:minmax(13rem,.65fr) minmax(0,2fr); align-items:start; gap:clamp(2rem,6vw,7rem); padding-bottom:3rem; }
.legal-toc { position:sticky; top:9rem; display:grid; border-top:1px solid var(--av-border); }
.legal-toc a { display:flex; gap:1rem; padding:1.25rem .25rem; border-bottom:1px solid var(--av-border); color:var(--av-text); text-decoration:none; line-height:1.5; }
.legal-toc a:hover { color:var(--av-blue); background:var(--av-surface); }
.legal-toc span { color:var(--av-muted); font-size:.75rem; padding-top:.2rem; }
.legal-hub-content { min-width:0; }
.legal-hub .legal-draft { margin:0 0 3rem; }
.legal-notice { scroll-margin-top:9rem; border-top:1px solid var(--av-border); padding-block:3rem 4.5rem; }
.legal-notice-heading h2 { font:500 clamp(1.875rem,3vw,3rem)/1.15 var(--av-heading); letter-spacing:-.035em; margin:1rem 0; }
.legal-notice-heading > p:last-child { color:var(--av-muted); line-height:1.6; margin-bottom:2.5rem; }
.legal-notice-copy { max-width:49rem; }
.legal-topic + .legal-topic { margin-top:2rem; }
.legal-topic h3 { font:500 1.125rem/1.5 var(--av-heading); margin:0 0 .5rem; }
.legal-topic p { font-size:1rem; line-height:1.8; color:var(--av-muted); margin:0; overflow-wrap:anywhere; }
.legal-topic a { color:var(--av-text); text-underline-offset:.18em; }
.legal-topic code { font-size:.875rem; }
html[data-theme="dark"] .legal-hub .legal-draft { background:#1b2038; border-color:#555d92; color:#e4e5ef; }
@media(max-width:48rem){
 .footer-main { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:2rem 1.5rem; }
 .footer-intro { grid-column:1/-1; }
 .footer-utility { grid-column:1/-1; grid-row:3; justify-content:flex-start; gap:1.5rem; }
 .footer-main nav > a { font-size:.875rem; }
 .legal-hub-header { padding-block:9rem 2.5rem; }
 .legal-hub { grid-template-columns:1fr; gap:2.5rem; }
 .legal-toc { position:static; grid-template-columns:1fr 1fr; gap:0 1.5rem; }
 .legal-toc a { font-size:.875rem; padding:1rem 0; }
 .legal-notice { padding-block:2.5rem 3rem; scroll-margin-top:7rem; }
}

/* ---- motion-v20.css ---- */
/* Trust, not an application: one choice, a readable map and supporting work. */
.trust-choices{display:none;flex-wrap:wrap;border-bottom:1px solid var(--av-border);gap:0;margin-bottom:2rem}
.is-ready .trust-choices{display:flex}
.trust-choices button{font:inherit;font-size:.94rem;background:none;color:var(--av-muted);border:0;border-bottom:3px solid transparent;padding:1rem 1.1rem;cursor:pointer;min-height:48px}
.trust-choices button[aria-pressed=true]{color:var(--av-text);border-bottom-color:var(--av-primary,#2012dc)}
.trust-choices button:focus-visible{outline:2px solid var(--av-focus);outline-offset:-4px}
.trust-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(2rem,4vw,5rem);align-items:start;margin-bottom:2rem}
.trust-panel[hidden]{display:none}
.trust-visual{background:#080b20;color:#edefff;border-radius:.5rem;padding:1.5rem 1rem 1rem;overflow:hidden}
.trust-key{display:flex;justify-content:center;gap:1.5rem;font-size:.72rem}
.trust-key span::before{content:'';display:inline-block;width:7px;height:7px;margin-right:.5rem;background:#e9bc86}
.trust-key span:nth-child(2)::before{background:#bd9aff}.trust-key span:nth-child(3)::before{background:#62d9e8}
.trust-map{display:block;width:100%;height:auto;overflow:visible}
.trust-link{fill:none;stroke:#bda7e0;stroke-width:1;opacity:.24}
.trust-link--method{stroke:#e9bc86}.trust-link--technology{stroke:#62d9e8}
.trust-point{fill:#bd9aff}.trust-point--method{fill:#e9bc86}.trust-point--technology{fill:#62d9e8}
.trust-point text{fill:#e5e7f4;font:13px var(--av-body);letter-spacing:0}
.trust-point rect{animation:trust-breathe 7s ease-in-out infinite;animation-delay:var(--delay);transform-box:fill-box;transform-origin:center}
.trust-hub rect{fill:#23213e;stroke:#9985d5;stroke-width:1}.trust-hub text{fill:#fff;font:500 18px var(--av-body)}
.trust-visual>p{text-align:center;color:#b7bdd5;font-size:.72rem;margin:0}
.trust-evidence h3{font-size:clamp(1.5rem,2.5vw,2.2rem);margin:0 0 .7rem}
.trust-evidence>p{color:var(--av-muted);font-size:1rem;line-height:1.6;margin:0 0 1.5rem}
.trust-evidence h4{font:500 .72rem var(--av-body);letter-spacing:.07em;text-transform:uppercase;margin:0 0 .5rem;color:var(--av-muted)}
.trust-capabilities{display:grid;gap:1rem;margin-bottom:1.7rem}.trust-capabilities p{font-size:.88rem;line-height:1.65;margin:0}
.trust-case{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid var(--av-border);text-decoration:none;color:var(--av-text);font-size:.91rem}
.trust-case small{font-size:.68rem;line-height:1.5;color:var(--av-muted);text-align:right;max-width:10rem}
.trust-case:hover span{text-decoration:underline;text-underline-offset:4px}
.trust-launch{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:2rem;padding:2rem 0;margin-top:1rem;border-top:1px solid var(--av-border);border-bottom:1px solid var(--av-border)}
.trust-launch h3{font-size:1.25rem;margin:.5rem 0}.trust-launch p{font-size:.9rem;color:var(--av-muted);line-height:1.6;margin:0}.trust-launch a{font-size:.85rem}
@keyframes trust-breathe{50%{transform:scale(1.25);opacity:.6}}
html[data-av-motion-paused=true] .trust-point rect{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.trust-point rect{animation:none}}
@media(max-width:800px){.trust-panel{grid-template-columns:1fr}.trust-evidence{padding:0 .25rem}.trust-launch{grid-template-columns:1fr;gap:1rem}.trust-choices button{font-size:.85rem;padding:.85rem .75rem}.trust-key{gap:1rem}.trust-map text{font-size:15px}.trust-hub text{font-size:19px}}
@media(max-width:600px){.trust-visual{display:none}.trust-capabilities h4::before{content:'';display:inline-block;width:7px;height:7px;background:#8852c5;margin-right:.55rem}.trust-capabilities>div:first-child h4::before{background:#ae793c}.trust-capabilities>div:last-child h4::before{background:#008d9b}.trust-choices{margin-bottom:1.5rem}.trust-case{align-items:flex-start}}

/* ---- experience-v21.css ---- */
/* Editorial evidence. Everything is visible, readable and linked in ordinary HTML. */
.experience-index{background:var(--av-surface);color:var(--av-text)}
.experience-index-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:end;margin-bottom:clamp(2.5rem,5vw,5rem)}
.experience-index-heading .home-eyebrow{margin:0 0 1.25rem;color:var(--av-link-blue,var(--av-blue))}
.experience-index-heading h2{font:500 clamp(2.25rem,4.2vw,4.75rem)/1.03 var(--av-heading);letter-spacing:-.055em;margin:0;max-width:17ch}
.experience-index-heading>p{font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.55;max-width:28rem;margin:0 0 .2rem;color:var(--av-muted)}
.experience-index-labels,.experience-index-row{display:grid;grid-template-columns:1.15fr 1fr .9fr;column-gap:clamp(1.5rem,3vw,4rem)}
.experience-index-labels{padding:0 0 1rem;color:var(--av-muted);font-size:.6875rem;letter-spacing:.075em;text-transform:uppercase}
.experience-index-list,.experience-index-work,.experience-practice ul{list-style:none;padding:0;margin:0}
.experience-index-row{align-items:start;padding:clamp(1.5rem,2.5vw,2.5rem) 0;border-top:1px solid var(--av-border)}
.experience-index-row:last-child{border-bottom:1px solid var(--av-border)}
.experience-index-sector{display:grid;grid-template-columns:1.5rem 1fr;column-gap:1rem;align-items:baseline}
.experience-index-number{font:400 .6875rem/1.5 var(--av-body);color:var(--av-muted);font-variant-numeric:tabular-nums}
.experience-index-sector h3{font:500 clamp(1.25rem,1.8vw,1.875rem)/1.15 var(--av-heading);letter-spacing:-.035em;margin:0}
.experience-index-summary{font-size:1rem;line-height:1.55;max-width:27ch;margin:0;color:var(--av-muted)}
.experience-index-work{display:grid;gap:1rem;min-width:0}
.experience-index-work a{display:inline-block;color:var(--av-text);font:500 .9375rem/1.45 var(--av-body);padding:.1rem 0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em;text-decoration-color:var(--av-border-strong);transition:color .18s ease,text-decoration-color .18s ease}
.experience-index-work a:hover{color:var(--av-link-blue,var(--av-blue));text-decoration-color:currentColor}
.experience-index-work a:focus-visible,.experience-index-note a:focus-visible{outline:2px solid var(--av-focus);outline-offset:5px;border-radius:0}
.experience-index-work small{display:block;font-size:.6875rem;line-height:1.5;color:var(--av-muted);margin-top:.35rem}
.experience-practice{display:grid;grid-template-columns:1.15fr 1.9fr;gap:clamp(1.5rem,3vw,4rem);margin-top:clamp(2.5rem,5vw,5rem);padding:clamp(1.75rem,3.5vw,3.75rem);background:#07081d;color:#fff;border-radius:.375rem}
.experience-practice .home-eyebrow{color:#a8aac3;font-size:.6875rem;letter-spacing:.06em;margin:0 0 1.5rem}
.experience-practice-intro h3{font:500 clamp(1.75rem,2.5vw,2.75rem)/1.08 var(--av-heading);letter-spacing:-.045em;margin:0}
.experience-practice-groups{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:1.5rem}
.experience-practice-group h4{font:500 .75rem/1.4 var(--av-body);color:#b8b2ff;margin:0 0 1.5rem;padding-top:.65rem;border-top:1px solid #4b4873}
.experience-practice-group:nth-child(2) h4{color:#c4ace5}
.experience-practice-group:nth-child(3) h4{color:#8ecdd3}
.experience-practice-group ul{display:grid;gap:.7rem}
.experience-practice-group li{font-size:.8125rem;line-height:1.45;color:#edeef6}
.experience-index-note{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;margin-top:1.5rem}
.experience-index-note p{font-size:.75rem;line-height:1.6;color:var(--av-muted);margin:0;max-width:40rem}
.experience-index-note a{font-size:.875rem;white-space:nowrap}
@media(min-width:1600px){.experience-index-sector h3{font-size:2rem}.experience-index-summary{font-size:1.0625rem}.experience-index-work a{font-size:1rem}}
@media(max-width:1050px){.experience-index-heading{grid-template-columns:1fr 1fr;gap:2rem}.experience-index-labels,.experience-index-row{grid-template-columns:1fr 1fr;column-gap:2rem}.experience-index-labels span:nth-child(2){display:none}.experience-index-sector{grid-column:1;grid-row:1}.experience-index-summary{grid-column:1;grid-row:2;padding-left:2.5rem;margin-top:.75rem;max-width:35ch}.experience-index-work{grid-column:2;grid-row:1/span 2}.experience-practice{grid-template-columns:1fr;gap:2rem}.experience-practice-intro{display:flex;justify-content:space-between;align-items:baseline;gap:2rem}.experience-practice-intro h3{font-size:2rem}.experience-practice-intro h3 br{display:none}.experience-practice-intro .home-eyebrow{margin:0}.experience-practice-groups{grid-template-columns:1fr 1fr 1.3fr;gap:2rem}}
@media(max-width:650px){.experience-index-heading{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.5rem}.experience-index-heading h2{font-size:clamp(2.5rem,9vw,3.5rem)}.experience-index-heading>p{font-size:1rem;max-width:32ch}.experience-index-labels{display:none}.experience-index-row{grid-template-columns:1fr;gap:0;padding:1.75rem 0}.experience-index-sector{grid-column:1;grid-row:1;column-gap:.75rem;grid-template-columns:1.25rem 1fr}.experience-index-sector h3{font-size:1.5rem}.experience-index-summary{grid-column:1;grid-row:2;padding-left:2rem;margin-top:.7rem;max-width:36ch;font-size:.9375rem}.experience-index-work{grid-column:1;grid-row:3;padding-left:2rem;margin-top:.85rem;gap:.65rem}.experience-index-work a{font-size:.875rem;min-height:2.75rem;display:inline-flex;align-items:center}.experience-index-work small{margin-top:-.25rem;margin-bottom:.35rem}.experience-practice{padding:1.75rem 1.5rem;margin-top:2.5rem;gap:2rem}.experience-practice-intro{display:block}.experience-practice-intro .home-eyebrow{margin-bottom:1rem}.experience-practice-groups{grid-template-columns:1fr;gap:1.75rem}.experience-practice-group h4{margin-bottom:.85rem;padding-top:.75rem}.experience-practice-group ul{display:flex;flex-wrap:wrap;gap:.6rem 1.3rem}.experience-practice-group li{font-size:.8125rem}.experience-index-note{flex-direction:column;align-items:flex-start;gap:1rem;margin-top:1.25rem}.experience-index-note p{font-size:.6875rem}}
@media(prefers-reduced-motion:reduce){.experience-index-work a{transition:none}}

/* ---- news-v24.css ---- */
/* Calm, readable editorial layouts; no decorative motion. */
.news24-intro,.article24-header { padding-top:clamp(9.5rem,14vw,14rem); padding-bottom:clamp(3rem,6vw,6rem); }
.news24-intro-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:clamp(2rem,5vw,6rem); align-items:end; }
.news24-intro h1 { margin:1rem 0 0; max-width:20ch; font:500 clamp(2.6rem,5vw,5.25rem)/1.08 var(--av-heading); letter-spacing:-.055em; }
.news24-intro-grid > p { max-width:36ch; margin:0 0 .3rem; font-size:clamp(1.125rem,1.5vw,1.45rem); line-height:1.5; color:var(--av-muted); }
.news24-catalogue { padding-bottom:clamp(3rem,6vw,6rem); }
.news24-toolbar { border-top:1px solid var(--av-border-strong); padding:1.5rem 0 2rem; }
.news24-filters { display:flex; flex-wrap:wrap; gap:0; border-bottom:1px solid var(--av-border); width:fit-content; max-width:100%; }
.news24-filters[hidden],.news24-card[hidden] { display:none!important; }
.news24-filters button { appearance:none; min-height:3rem; padding:.875rem 1rem; border:0; border-bottom:3px solid transparent; border-radius:0; color:var(--av-muted); background:transparent; font:500 1rem/1.4 var(--av-body); text-align:left; cursor:pointer; }
.news24-filters button:first-child { padding-left:0; padding-right:1.25rem; }
.news24-filters button span { font-size:.8rem; margin-left:.35rem; }
.news24-filters button[aria-pressed="true"] { color:var(--av-text); border-bottom-color:var(--av-link-blue,var(--av-blue)); }
.news24-filters button:hover { color:var(--av-text); background:var(--av-surface-soft); }
.news24-filters button:focus-visible { outline:3px solid var(--av-focus); outline-offset:3px; position:relative; z-index:1; }
.news24-count { margin:1rem 0 0; font-size:.875rem; color:var(--av-muted); }
.news24-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.news24-card { position:relative; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:1.25rem; padding:clamp(1.5rem,2.5vw,2.5rem); border:1px solid var(--av-border); border-radius:.75rem; background:var(--av-surface); }
.news24-card--featured { grid-column:span 2; background:var(--av-surface-soft); }
.news24-card-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.75rem 1.5rem; width:100%; font-size:.8125rem; color:var(--av-muted); }
.news24-card-meta span:first-child { color:var(--av-link-blue,var(--av-blue)); }
.news24-card :is(h2,h3) { margin:0; font:500 clamp(1.35rem,1.9vw,1.9rem)/1.25 var(--av-heading); letter-spacing:-.035em; }
.news24-card--featured h2 { max-width:21ch; font-size:clamp(1.8rem,2.8vw,2.8rem); }
.news24-card :is(h2,h3) a { color:var(--av-text); text-decoration:none; }
.news24-card :is(h2,h3) a::after { content:""; position:absolute; inset:0; border-radius:inherit; }
.news24-card :is(h2,h3) a:hover { text-decoration:underline; text-underline-offset:.17em; text-decoration-thickness:1px; }
.news24-card :is(h2,h3) a:focus-visible { outline:0; }
.news24-card :is(h2,h3) a:focus-visible::after { outline:3px solid var(--av-focus); outline-offset:3px; }
.news24-card > p { color:var(--av-muted); line-height:1.6; max-width:55ch; margin:0; }
.news24-read { margin-top:auto; padding-top:1.5rem; font-size:.875rem; display:flex; align-items:center; gap:1rem; }
.news24-read > span { font-size:1.2rem; }
.news24-editorial-note { max-width:85ch; margin:2rem 0 0; font-size:.8125rem; color:var(--av-muted); line-height:1.6; }
.news24-route { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-block:clamp(2rem,5vw,5rem); margin-bottom:clamp(3rem,6vw,6rem); border-top:1px solid var(--av-border-strong); border-bottom:1px solid var(--av-border); }
.news24-route h2 { margin:.75rem 0 1rem; font:500 clamp(1.8rem,3vw,3rem)/1.15 var(--av-heading); letter-spacing:-.045em; }
.news24-route p:last-child { color:var(--av-muted); margin-bottom:0; }
.news24-route .av-button { flex-shrink:0; }
.article24-header { padding-bottom:3rem; }
.article24-back { display:inline-block; padding:.5rem 0; margin-bottom:2rem; font-size:.9375rem; color:var(--av-muted); text-underline-offset:.25em; }
.article24-header h1 { max-width:22ch; margin:1rem 0 1.75rem; font:500 clamp(2.5rem,4.5vw,4.8rem)/1.1 var(--av-heading); letter-spacing:-.05em; }
.article24-summary { max-width:58ch; font-size:clamp(1.2rem,1.7vw,1.65rem); line-height:1.5; color:var(--av-muted); margin-bottom:2rem; }
.article24-meta { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; color:var(--av-muted); font-size:.875rem; }
.article24-meta a { color:var(--av-text); text-underline-offset:.2em; }
.article24-layout { display:grid; grid-template-columns:minmax(12rem,.75fr) minmax(0,2fr); gap:clamp(2rem,6vw,7rem); align-items:start; padding-top:3rem; border-top:1px solid var(--av-border-strong); }
.article24-sidebar { position:sticky; top:7rem; }
.article24-toc { font-size:.9375rem; }
.article24-toc > p { margin:0 0 1.25rem; font-weight:600; }
.article24-toc ol { list-style:none; padding:0; margin:0; }
.article24-toc li { margin:0 0 .85rem; line-height:1.5; }
.article24-toc a { color:var(--av-muted); text-decoration:none; display:inline-block; padding:.25rem 0; }
.article24-toc a:hover { color:var(--av-text); text-decoration:underline; text-underline-offset:.2em; }
.article24-main { max-width:75ch; min-width:0; }
.article24-takeaways { background:var(--av-surface-soft); border-left:3px solid var(--av-link-blue,var(--av-blue)); padding:clamp(1.5rem,3vw,2.5rem); margin-bottom:3.5rem; }
.article24-takeaways .home-eyebrow { margin-top:0; }
.article24-takeaways h2 { font:500 1.5rem/1.25 var(--av-heading); letter-spacing:-.03em; margin:.75rem 0 1.25rem; }
.article24-takeaways ul { padding-left:1.25rem; margin:0; }
.article24-takeaways li { padding-left:.25rem; margin:.65rem 0; line-height:1.6; }
.article24-prose { font-size:1.125rem; line-height:1.8; }
.article24-prose section { margin-bottom:3rem; scroll-margin-top:7.5rem; }
.article24-prose h2 { font:500 clamp(1.6rem,2.2vw,2.25rem)/1.25 var(--av-heading); letter-spacing:-.035em; margin:0 0 1.25rem; }
.article24-prose p { margin:0 0 1.3rem; color:var(--av-muted); }
.article24-prose ul { padding-left:1.35rem; margin:1.5rem 0; }
.article24-prose li { margin:.6rem 0; padding-left:.35rem; color:var(--av-muted); }
.article24-prose a,.article24-sources a,.article24-contact { color:var(--av-link-blue,var(--av-blue)); text-underline-offset:.2em; text-decoration-thickness:1px; overflow-wrap:anywhere; }
.article24-prose a:hover,.article24-sources a:hover,.article24-contact:hover { text-decoration-thickness:2px; }
.article24-sources { padding-top:2rem; border-top:1px solid var(--av-border); margin-top:3rem; }
.article24-sources h2 { font:500 1.25rem/1.4 var(--av-heading); letter-spacing:-.02em; }
.article24-sources ul { padding-left:1.25rem; line-height:1.7; font-size:.9375rem; }
.article24-sources p { font-size:.8125rem; color:var(--av-muted); line-height:1.65; }
.article24-next { margin-top:3rem; border:1px solid var(--av-border-strong); border-radius:.75rem; padding:clamp(1.5rem,3vw,2.5rem); }
.article24-next h2 { margin:.75rem 0 1rem; font:500 clamp(1.5rem,2vw,2rem)/1.25 var(--av-heading); letter-spacing:-.035em; }
.article24-next > p:not(.home-eyebrow) { line-height:1.6; color:var(--av-muted); max-width:52ch; }
.article24-next .av-button { margin-top:.5rem; max-width:100%; white-space:normal; }
.article24-contact { display:block; width:fit-content; padding:.5rem 0; margin-top:1rem; }
.article24-related { margin-top:5rem; padding-block:3rem 5rem; border-top:1px solid var(--av-border); }
.article24-related > h2 { font:500 clamp(1.7rem,2.7vw,2.5rem)/1.2 var(--av-heading); letter-spacing:-.04em; margin:0 0 2rem; }
.article24-related .news24-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:1000px) {
  .news24-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .news24-intro-grid { grid-template-columns:1fr; gap:2rem; }
  .news24-intro-grid > p { max-width:52ch; }
  .article24-layout { grid-template-columns:minmax(10rem,.65fr) minmax(0,2fr); gap:2rem; }
}
@media (max-width:700px) {
  .news24-intro,.article24-header { padding-top:9rem; }
  .news24-grid,.article24-related .news24-grid { grid-template-columns:1fr; }
  .news24-card--featured { grid-column:auto; }
  .news24-filters { width:100%; gap:.25rem; border-bottom:0; }
  .news24-filters button,.news24-filters button:first-child { padding:.65rem .75rem; font-size:.875rem; border:1px solid var(--av-border); border-bottom-width:3px; min-height:2.875rem; }
  .news24-filters button[aria-pressed="true"] { background:var(--av-surface-soft); }
  .news24-route { align-items:flex-start; flex-direction:column; }
  .article24-layout { grid-template-columns:1fr; padding-top:2rem; }
  .article24-sidebar { position:static; }
  .article24-toc { padding-bottom:1.5rem; border-bottom:1px solid var(--av-border); }
  .article24-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem 1.25rem; }
  .article24-toc li { margin:0; }
  .article24-prose { font-size:1.0625rem; }
  .article24-takeaways { margin-bottom:2.5rem; }
  .article24-meta { gap:.65rem 1rem; }
}
@media (max-width:380px) {
  .article24-toc ol { grid-template-columns:1fr; }
}
@media print {
  .article24-sidebar,.article24-next,.article24-related,.news24-filters { display:none; }
  .article24-layout { display:block; }
  .article24-header { padding-top:1rem; }
  .article24-main { max-width:none; }
}

/* ---- journey-v24.css ---- */
/* V2.4: one clear question per page, readable choices and bounded decoration. */
[data-journey="v24"] :is(.journey-offer,.journey-service-chooser,.journey-process,.journey-foundations){scroll-margin-top:8rem}
[data-journey="v24"] :is(.journey-offer,.journey-service-chooser,.journey-process,.journey-foundations,.journey-sector-grid)>*{min-width:0}
[data-journey="v24"]:is([data-journey-page="about"],[data-journey-page="services"],[data-journey-page="how-we-work"],[data-journey-page="work"],[data-journey-page="news"],[data-journey-page="contact"]) .page-hero{min-height:0;padding-block:clamp(10rem,13vw,12rem) clamp(3rem,5vw,5rem)}
[data-journey="v24"]:is([data-journey-page="about"],[data-journey-page="services"],[data-journey-page="how-we-work"],[data-journey-page="work"],[data-journey-page="news"],[data-journey-page="contact"]) .page-hero h1{font-size:clamp(2.65rem,4.6vw,5rem);max-width:19ch}
[data-journey="v24"] .case-particle-hero{min-height:0}
[data-journey="v24"] .case-hero{padding-bottom:clamp(2.5rem,5vw,5rem)}
[data-journey="v24"] .case-hero h1{max-width:22ch;font-size:clamp(2.7rem,4.7vw,5.25rem)}
[data-journey="v24"] .ev11-case{padding-top:0}
[data-journey="v24"] .case-chapter-nav{margin-top:0}
[data-journey="v24"] .v9-company-note+.v9-principles{padding-top:var(--site-section-space)}
.journey-service-chooser{padding-block:2.5rem 3rem;border-bottom:1px solid var(--av-border)}
.journey-service-chooser>div{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.journey-service-chooser h2{font-size:clamp(1.5rem,2vw,2rem)}
.journey-service-chooser .home-eyebrow{color:var(--av-muted)}
.journey-service-chooser nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.journey-service-chooser nav a{display:flex;flex-direction:column;gap:.5rem;text-decoration:none;min-height:4.5rem;border-top:2px solid var(--av-border);padding-top:1rem;color:var(--av-text)}
.journey-service-chooser nav a:hover{border-color:var(--av-link-blue);color:var(--av-link-blue)}
.journey-service-chooser nav span{font-size:.875rem;color:var(--av-muted)}
.journey-service-chooser nav strong{font-size:1.1rem;font-weight:500}
.journey-offer{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:clamp(2rem,7vw,7rem);padding-block:clamp(3.5rem,6vw,6rem);border-bottom:1px solid var(--av-border)}
.journey-offer-intro .home-eyebrow{color:var(--av-link-blue);margin-bottom:1.5rem}
.journey-offer-intro h2{font-size:clamp(2rem,3.2vw,3.5rem);max-width:18ch;overflow-wrap:break-word;margin:0 0 1.5rem}
.journey-offer-intro>p:not(.home-eyebrow){color:var(--av-muted);max-width:35ch;font-size:1.125rem;line-height:1.6;margin-bottom:1.75rem}
.journey-offer .av-button{white-space:normal;text-align:center;max-width:100%}
.journey-offer-detail dl{margin:0}
.journey-offer-detail dl>div+div{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--av-border)}
.journey-offer-detail dt{font-weight:500;color:var(--av-text);font-size:1rem;margin-bottom:.5rem}
.journey-offer-detail dd{margin:0;color:var(--av-muted);font-size:1rem;line-height:1.65;max-width:57ch}
.journey-scope-note{font-size:.875rem;line-height:1.65;color:var(--av-muted);margin:1.75rem 0;max-width:77ch}
.journey-offer-detail .home-text-link{font-size:.9375rem;display:inline-block;min-height:2.75rem;align-content:center}
.journey-foundations-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);border-radius:1rem;background:#07081d;color:#fff;overflow:hidden}
.journey-foundations-copy{padding:clamp(2rem,4vw,4rem)}
.journey-foundations-copy .home-eyebrow{color:#b8b2ff;margin-bottom:1.5rem}
.journey-foundations-copy h2{font-size:clamp(2rem,3.2vw,3.5rem);margin-bottom:1.25rem;overflow-wrap:break-word}
.journey-foundations-copy .journey-foundations-lead{font-size:1.3rem;color:#fff;margin-bottom:.75rem}
.journey-foundations-copy>p:not(.home-eyebrow){max-width:35ch;color:#d8d9e8;line-height:1.65}
.journey-foundations-copy .av-button{margin-top:1.75rem;white-space:normal}
.journey-foundations-feature .sv9-art{min-height:25rem;aspect-ratio:auto}
.journey-launch-scope{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);margin:2rem 0 0}
.journey-launch-scope dt{font-size:1.125rem;font-weight:500;margin-bottom:.75rem}
.journey-launch-scope dd{font-size:1rem;line-height:1.65;color:var(--av-muted);margin:0}
.journey-experience{background:var(--av-surface)}
.journey-sector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 2.5rem}
.journey-sector-grid>a{display:flex;flex-direction:column;padding:1.75rem 0;border-top:1px solid var(--av-border);text-decoration:none;color:var(--av-text)}
.journey-sector-grid h3{font-size:clamp(1.4rem,1.7vw,1.8rem);margin:0 0 .75rem}
.journey-sector-grid p{font-size:1rem;line-height:1.6;max-width:30ch;color:var(--av-muted);margin-bottom:1.25rem}
.journey-sector-grid span{font-size:.875rem;color:var(--av-link-blue);text-decoration:underline;text-underline-offset:.3em;margin-top:auto}
.journey-sector-grid a:hover h3{color:var(--av-link-blue)}
.journey-experience-note{color:var(--av-muted);font-size:.8125rem;line-height:1.7;max-width:75ch;margin-top:1.5rem}
.journey-experience-note a{color:var(--av-text)}
.journey-process>ol{margin:0;padding:0;list-style:none}
.journey-process>ol>li{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(2rem,6vw,6rem);padding:2.5rem 0;border-top:1px solid var(--av-border)}
.journey-phase-heading{display:flex;gap:1.5rem;align-items:baseline}
.journey-phase-heading>span{color:var(--av-link-blue);font-size:.875rem}
.journey-phase-heading h3{font-size:clamp(1.75rem,3vw,3rem);margin:0}
.journey-phase-copy>p{color:var(--av-muted);font-size:1.0625rem;line-height:1.65;max-width:61ch}
.journey-phase-copy .journey-phase-output{border-left:2px solid var(--av-link-blue);padding-left:1.25rem;margin:1.5rem 0}
.journey-phase-output strong{display:block;color:var(--av-text);font-size:.875rem;margin-bottom:.35rem;font-weight:500}
.journey-phase-copy details{margin-top:1.5rem}
.journey-phase-copy details summary{padding-left:0;padding-right:0;font-size:.9375rem}
.journey-phase-copy .av-accordion-content{padding-left:0;padding-right:0}
.journey-phase-copy h4{font-size:1rem;margin:1rem 0 .5rem}
.journey-phase-copy ul{padding-left:1.3rem;line-height:1.65;color:var(--av-muted)}
[data-journey-page="contact"] .v9-contact{padding-top:clamp(2.5rem,4vw,4rem)}
[data-journey-page="contact"] .contact-main p{max-width:35rem}
[data-journey-page="work"] .work-catalogue{padding-top:clamp(2.5rem,4vw,4rem)}
@media(max-width:65rem){.journey-service-chooser nav{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-offer{gap:2.5rem}.journey-foundations-feature{grid-template-columns:1fr 1fr}.journey-foundations-copy{padding:2rem}}
@media(max-width:48rem){
 [data-journey="v24"]:is([data-journey-page="about"],[data-journey-page="services"],[data-journey-page="how-we-work"],[data-journey-page="work"],[data-journey-page="news"],[data-journey-page="contact"]) .page-hero{padding-block:9rem 3rem;min-height:0}
 [data-journey="v24"]:is([data-journey-page="about"],[data-journey-page="services"],[data-journey-page="how-we-work"],[data-journey-page="work"],[data-journey-page="news"],[data-journey-page="contact"]) .page-hero h1{font-size:clamp(2.5rem,8.5vw,3.8rem)}
 [data-journey="v24"] .case-hero{padding-top:9rem;padding-bottom:2.5rem}
 [data-journey="v24"] .case-hero h1{font-size:clamp(2.5rem,8.5vw,3.8rem)}
 .journey-service-chooser>div{display:block}.journey-service-chooser h2{margin-top:.75rem}.journey-service-chooser nav{gap:1rem 1.5rem}
 .journey-offer{grid-template-columns:1fr;gap:2.5rem;padding-block:3rem}.journey-offer-intro>p:not(.home-eyebrow){max-width:50ch}
 .journey-foundations-feature,.journey-launch-scope{grid-template-columns:1fr}.journey-foundations-feature .sv9-art{min-height:16rem;max-height:19rem}
 .journey-foundations-feature .sv9-art::after{background:linear-gradient(#07081d,transparent 35%)}
 .journey-launch-scope{gap:1.5rem}.journey-launch-scope>div+div{border-top:1px solid var(--av-border);padding-top:1.5rem}
 .journey-process>ol>li{grid-template-columns:1fr;gap:1.5rem;padding-block:2rem}.journey-phase-heading{gap:1rem}
 .journey-sector-grid{gap:0 1.5rem}.journey-sector-grid h3{font-size:1.4rem}.journey-sector-grid p{font-size:.9375rem}
}
@media(max-width:32rem){.journey-sector-grid{grid-template-columns:1fr}.journey-service-chooser nav{grid-template-columns:1fr}.journey-service-chooser nav a{min-height:0;padding-block:1rem;gap:.35rem}.journey-service-chooser nav strong{font-size:1.125rem}.journey-foundations-copy{padding:1.75rem 1.5rem}}
/* Reading preferences reflow the new editorial grids rather than compressing
   enlarged text into columns. The accessibility stylesheet remains last. */
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) :is(.journey-service-chooser nav,.journey-sector-grid,.journey-launch-scope){grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) :is(.journey-offer,.journey-foundations-feature,.journey-process>ol>li){grid-template-columns:minmax(0,1fr)}
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) .journey-service-chooser>div{display:block}
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) .journey-service-chooser h2{margin-top:1rem}
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) :is(.journey-offer-intro h2,.journey-foundations-copy h2,.journey-sector-grid h3){max-width:none}
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) .journey-foundations-feature .sv9-art{min-height:12rem;max-height:16rem}
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) .journey-phase-heading{flex-wrap:wrap}

/* ---- refinement-v25.css ---- */
/* A clearer hierarchy: offer, evidence, delivery, then an invitation. */
:root { --av-editorial-tint:#ffffff; }
html[data-theme="dark"] { --av-editorial-tint:#181827; }

.home-audit-feature { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); background:#010113; }
.home-audit-copy { padding:clamp(1.75rem,3.5vw,3.5rem); }
.home-audit-copy h3 { margin-top:1.5rem; }
.v25-audit-outputs { margin:clamp(1.75rem,3.5vw,3.5rem); margin-left:0; padding:2rem 0 0 clamp(1.5rem,3vw,3rem); border-left:1px solid #69688766; align-self:center; }
.v25-audit-outputs > .home-eyebrow { color:#bdbaff; }
.v25-audit-outputs ol { padding:0; margin:2rem 0; list-style:none; }
.v25-audit-outputs li { display:grid; grid-template-columns:1.5rem minmax(0,1fr); gap:1rem; padding-block:1.5rem; border-top:1px solid #69688766; }
.v25-audit-outputs li > span { color:#bdbaff; font-size:.8125rem; padding-top:.35rem; }
.v25-audit-outputs h4 { color:#fff; font-size:clamp(1.25rem,1.7vw,1.8rem); font-weight:500; letter-spacing:-.025em; margin:0 0 .65rem; line-height:1.2; }
.v25-audit-outputs li p { color:#c7c7dc; font-size:1rem; line-height:1.6; margin:0; max-width:38ch; }
.v25-audit-handover { color:#bdbaff; font-size:.875rem; line-height:1.6; max-width:42ch; margin:0; }

/* The process is an editorial pause between work and sector experience. */
.v9-process-banner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(2rem,5vw,5rem); padding:clamp(2rem,4vw,4rem); border:1px solid var(--av-border); background:var(--av-editorial-tint); color:var(--av-text); }
.v9-process-copy { padding:0; width:100%; }
.v9-process-copy h2 { margin:1.5rem 0; font-size:clamp(2rem,3.1vw,3.4rem); }
.v9-process-copy > p:not(.home-eyebrow) { color:var(--av-muted); font-size:1.0625rem; max-width:36ch; }
.v9-process-copy .home-eyebrow { color:var(--av-link-blue); }
.v9-process-copy .home-text-link { display:inline-flex; align-items:center; min-height:2.75rem; font-size:1rem; }
.v9-process-stages { grid-template-columns:1fr 1fr; gap:2rem; align-content:center; margin:0; padding:0; }
.v9-process-stages li { padding-top:1.25rem; border-color:var(--av-border-strong); }
.v9-process-stages span { color:var(--av-link-blue); margin-bottom:1.25rem; }
.v9-process-stages h3 { font-size:clamp(1.4rem,1.9vw,2rem); font-weight:500; margin:0 0 .75rem; }
.v9-process-stages p { font-size:.9375rem; color:var(--av-muted); line-height:1.6; margin:0; }

.journey-offer--primary { margin-top:2rem; padding:clamp(1.75rem,3.5vw,3.5rem); background:var(--av-editorial-tint); border:1px solid var(--av-border); border-top:1px solid var(--av-border); border-radius:.75rem; }
.journey-offer--primary .journey-offer-detail dt { color:var(--av-link-blue); }
.journey-service-chooser nav a:first-child { border-top-color:var(--av-link-blue); }
.journey-service-chooser nav a:focus-visible { outline:2px solid var(--av-focus); outline-offset:5px; }
.journey-process + .strategy-path { padding-top:0; }
.strategy-path .principle-grid article { background:var(--av-surface-soft); padding:clamp(1.5rem,3vw,3rem); border:1px solid var(--av-border); border-radius:.5rem; }
.strategy-path .principle-grid h2 { margin-top:0; }
[data-journey="v24"][data-journey-page="how-we-work"] .page-hero { min-height:39rem; padding-block:clamp(10rem,13vw,12rem) 6rem; display:grid; align-items:center; }
[data-journey-page="how-we-work"] .page-hero-copy { width:var(--site-content-width,calc(100% - 2 * var(--av-page-gutter))); }
[data-journey-page="how-we-work"] .page-intro { max-width:33ch; }

/* Let the actual case title lead, without a second slogan inside the artwork. */
.v9-selected .home-work-media,.work-catalogue .home-work-media { aspect-ratio:1.45; min-height:0; }
.home-work-media.project-motion::after { display:none; }
.home-work-body .home-eyebrow { line-height:1.5; }
.project-card-link { height:100%; }
.home-work-card { border:1px solid var(--av-border); transition:border-color 180ms ease; }
.home-work-card:has(a:hover),.home-work-card:has(a:focus-visible) { border-color:var(--av-link-blue); }
.ev11-outcome { background:var(--av-editorial-tint); border-left:3px solid var(--av-link-blue); border-radius:0 .75rem .75rem 0; }
.news24-card--featured { background:var(--av-editorial-tint); border-top:1px solid var(--av-border); }

/* The restored orbit has one clear role: the final invitation. */
.v9-invitation { min-height:33rem; border:1px solid #69688766; }
.v9-invitation-content { width:58%; padding:clamp(2rem,4vw,4rem); }
.v9-invitation-content h2 { font-size:clamp(2.6rem,4.5vw,5rem); font-weight:500; line-height:1.04; letter-spacing:-.045em; margin:2rem 0 1.5rem; }
.v9-invitation-content > p:not(.home-eyebrow) { max-width:35ch; line-height:1.6; color:#d8d9e8; }
.v9-invitation-bottom { margin-inline:clamp(2rem,4vw,4rem); padding-block:1.5rem; color:#bdbdd0; font-size:.8125rem; border-top-color:#69688766; }
.v9-invitation-bottom > span { max-width:none; }

@media(max-width:60rem) {
 .home-audit-feature { grid-template-columns:1fr; }
 .v25-audit-outputs { margin:0 2rem 2rem; padding:2rem 0 0; border-left:0; border-top:1px solid #69688766; }
 .v25-audit-outputs ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
 .v25-audit-outputs li { grid-template-columns:1fr; gap:.75rem; }
 .v9-process-banner { grid-template-columns:1fr; }
 .v9-process-copy > p:not(.home-eyebrow) { max-width:52ch; }
 .v9-process-stages { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:48rem) {
 /* Compact secondary headers have no spare art column. Preserve a trace of
    the composition without placing high-contrast particles behind the copy. */
 :is(.page-hero,.case-particle-hero)[data-av-still] > .av-entropy-poster { opacity:.2; }
 html[data-theme="dark"] :is(.page-hero,.case-particle-hero)[data-av-still] > .av-entropy-poster { opacity:.26; }
 .v25-audit-outputs { margin-inline:1.5rem; padding-top:1.5rem; }
 .v25-audit-outputs ol { display:block; margin-block:1.5rem; }
 .v25-audit-outputs li { display:grid; grid-template-columns:1.5rem minmax(0,1fr); padding-block:1.25rem; }
 .v9-process-banner { padding:2rem 1.5rem; gap:2.5rem; }
 .v9-process-stages { grid-template-columns:1fr 1fr; gap:1.75rem 1rem; }
 .v9-process-stages h3 { font-size:1.375rem; }
 [data-journey="v24"][data-journey-page="how-we-work"] .page-hero { min-height:0; padding-block:9rem 16rem; }
 [data-journey-page="how-we-work"] .page-hero-copy { width:calc(100% - 2 * var(--av-page-gutter)); }
 .v9-invitation { min-height:0; }
 .v9-invitation-content { width:100%; padding:2rem 1.5rem 18rem; }
 .v9-invitation-content h2 { font-size:clamp(2.4rem,9vw,3.5rem); }
 .v9-invitation-bottom { margin-inline:1.5rem; }
 .v9-selected .home-work-media,.work-catalogue .home-work-media { aspect-ratio:1.5; }
}
/* Large type changes the layout as well as the text size. */
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) :is(.home-audit-feature,.v9-process-banner) { grid-template-columns:minmax(0,1fr); }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) .v25-audit-outputs { margin:0 1.5rem 2rem; padding:1.5rem 0 0; border-left:0; border-top:1px solid #69688766; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) .v25-audit-outputs ol { display:block; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) .v9-process-stages { grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) .v9-invitation-content { width:100%; padding-bottom:3rem; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) .v25-invitation-art { display:none; }
html[data-av-contrast="high"] :is(.v25-audit-outputs,.v25-audit-outputs li,.v9-process-stages li) { border-color:var(--av-access-text); }

/* ---- motion-v25.css ---- */
/* One ink surface for the copy, still fallback and live artwork. The feather is
   applied to both image and canvas so reduced motion never exposes a panel join. */
:root { --av-motion-ink:#010113; }
.journey-foundations-feature,
.journey-foundations-feature .sv9-art,
.v9-invitation,
.v25-invitation-art {
  --entropy-surface:var(--av-motion-ink);
  background:var(--av-motion-ink);
}
.journey-foundations-feature .sv9-art::after,
.v9-invitation::before,
.v25-invitation-art::after { display:none; }
.journey-foundations-feature .sv9-art {
  --av-art-feather:linear-gradient(90deg,transparent 0%,#000 26%,#000 100%);
  border:0;
}
.journey-foundations-feature .sv9-art > :is(.av-entropy-canvas,.av-entropy-poster),
.v25-invitation-art > :is(.av-entropy-canvas,.av-entropy-poster) {
  -webkit-mask-image:var(--av-art-feather);
  mask-image:var(--av-art-feather);
}
.v25-invitation-art {
  position:absolute;
  inset:0 0 0 34%;
  z-index:-1;
  min-height:0;
  pointer-events:none;
  mix-blend-mode:normal;
  -webkit-mask-image:none;
  mask-image:none;
  --av-art-feather:linear-gradient(90deg,transparent 0%,#000 42%,#000 100%);
}
/* The process header has its own converging composition. Its reading zone is
   opaque and colour matched; the shape can move without crossing the headline. */
[data-journey-page="how-we-work"] .page-hero--dark {
  --hero-shade:var(--av-motion-ink);
  --entropy-surface:var(--av-motion-ink);
  background:var(--av-motion-ink);
}
[data-journey-page="how-we-work"] .page-hero--dark::after {
  background:linear-gradient(90deg,var(--av-motion-ink) 0%,var(--av-motion-ink) 30%,#010113e8 42%,#01011300 70%);
}
@media(max-width:48rem) {
  .journey-foundations-feature .sv9-art {
    --av-art-feather:linear-gradient(180deg,transparent 0%,#000 28%,#000 100%);
  }
  .v25-invitation-art {
    inset:46% 0 0;
    --av-art-feather:linear-gradient(180deg,transparent 0%,#000 30%,#000 84%,transparent 100%);
  }
  [data-journey-page="how-we-work"] .page-hero--dark::after {
    background:linear-gradient(180deg,var(--av-motion-ink) 0%,var(--av-motion-ink) 39%,#010113e8 55%,#01011300 80%);
  }
}
/* Reading preferences can enlarge the copy independently of viewport width. */
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) .journey-foundations-feature .sv9-art {
  --av-art-feather:linear-gradient(180deg,transparent 0%,#000 28%,#000 100%);
}
html[data-av-contrast="high"] :is(.journey-foundations-feature,.journey-foundations-copy,.journey-foundations-feature .sv9-art,.v25-invitation-art) {
  background:var(--av-access-bg)!important;
}
html[data-av-contrast="high"] .v25-invitation-art { display:none; }

/* ---- refinement-v26.css ---- */
/* Clearer surfaces, a visible process, and live editorial headers. */
:root { --av-editorial-tint:#fff; }
html[data-theme="dark"] { --av-editorial-tint:#181827; }
.journey-offer--primary,.news24-card--featured { border-top:1px solid var(--av-border); box-shadow:0 10px 40px #01011304; }
.ev11-outcome { border:1px solid var(--av-border); border-radius:.75rem; }
.journey-service-chooser nav a:first-child { border-top-color:var(--av-border); }

/* A single connected composition rather than four separate banners. */
.process26 { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(3rem,6vw,7rem); align-items:start; padding:clamp(2rem,4vw,4.5rem); border-radius:1rem; background:#080817; color:#fff; }
.process26-intro { position:sticky; top:8rem; padding-block:1rem; }
.process26 .home-eyebrow { color:#b3b5cd; }
.process26 h2 { font:500 clamp(2.25rem,3.7vw,4rem)/1.05 var(--av-heading); letter-spacing:-.05em; margin:1.25rem 0 1.5rem; }
.process26-intro > p:not(.home-eyebrow) { max-width:38ch; font-size:1.0625rem; line-height:1.65; color:#bfc0d4; margin:0; }
.process26 .home-text-link { color:#fff; font-size:1rem; display:inline-flex; padding:.5rem 0; margin-top:1.5rem; text-underline-offset:.3em; }
.process26-diagram { margin-top:2rem; }
.process26-territories { display:flex; justify-content:space-around; gap:1rem; color:#c3c6db; font-size:.75rem; }
.process26-diagram svg { display:block; width:100%; height:auto; overflow:visible; }
.process26-stage { stroke:#6169ac; stroke-width:1.1; }
.process26-stage:nth-child(n+3) { stroke:#408fba; }
.process26-stage.is-current { stroke:#a7c5ff; stroke-width:1.8; }
.process26-stage.is-current:nth-child(n+3) { stroke:#a5e9f5; }
.process26-checkpoints { display:flex; justify-content:space-between; gap:1rem; font-size:.75rem; color:#b3b5cd; }
.process26-meter { height:2px; background:#ffffff21; margin-top:1.5rem; overflow:hidden; }
.process26-progress { height:100%; width:100%; display:block; background:linear-gradient(90deg,#a3a5ff,#7bd8f0); }
.process26-track { margin:0; padding:0; list-style:none; }
.process26-step { display:grid; grid-template-columns:1.75rem minmax(0,1fr); gap:1rem; padding:2rem 0; border-top:1px solid #ffffff26; }
.process26-step:last-child { padding-bottom:1rem; }
.process26-number { color:#9e9fb8; font-size:.8125rem; padding-top:.1rem; }
.process26-name { margin:0 0 1rem; color:#c5c7e3; font-size:.8125rem; }
.process26 h3 { margin:0 0 .875rem; font:500 clamp(1.4rem,2vw,2rem)/1.2 var(--av-heading); letter-spacing:-.03em; }
.process26-step div > p:not(.process26-name) { margin:0; max-width:44ch; color:#bfc0d4; font-size:1rem; line-height:1.6; }
.process26-output { display:block; color:#d8ddff; font-size:.8125rem; margin-top:1.25rem; }
.process26-step.is-current { border-top-color:#b9bdff; }
.process26-step.is-current .process26-number,.process26-step.is-current .process26-name { color:#fff; }

/* Article and legal text stays above an opaque reading zone. */
.editorial26-hero { position:relative; isolation:isolate; overflow:hidden; --editorial26-surface:#fafafa; }
.editorial26-art { position:absolute; inset:0 0 0 38%; z-index:-1; pointer-events:none; min-height:0; background:var(--editorial26-surface); }
.editorial26-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,var(--editorial26-surface) 0%,color-mix(in srgb,var(--editorial26-surface) 96%,transparent) 25%,transparent 90%); }
.editorial26-hero > header,.legal26-hero > section { position:relative; z-index:1; }
.news26-hero .news24-intro-grid { grid-template-columns:1fr; gap:1.5rem; }
.news26-hero .news24-intro-grid > p { max-width:44ch; }
.news26-hero .news24-intro { padding-bottom:5rem; }
.news26-hero .news24-intro h1 { max-width:18ch; }
.article26-hero .article24-header { padding-bottom:4rem; }
.article26-hero .article24-header h1 { max-width:20ch; }
.article26-hero .article24-summary { max-width:46ch; }
.legal26-hero .legal-hub-header > p { max-width:48ch; }
html[data-theme="dark"] .editorial26-hero { --editorial26-surface:#10101c; }

@media(max-width:64rem) {
 .process26 { gap:2.5rem; }
 .process26-intro { top:7rem; }
 .process26-territories { font-size:.6875rem; }
}
@media(max-width:48rem) {
 .process26 { grid-template-columns:1fr; padding:2rem 1.5rem; gap:2rem; }
 .process26-intro { position:static; }
 .process26-diagram { margin-top:2rem; }
 .process26 h2 { font-size:clamp(2.25rem,9vw,3.5rem); }
 .process26-step { padding-block:1.5rem; }
 .process26-step div > p:not(.process26-name) { max-width:none; }
 .editorial26-art { inset:35% 0 0; }
 .editorial26-art::after { background:linear-gradient(180deg,var(--editorial26-surface) 0%,var(--editorial26-surface) 25%,transparent 90%); }
 .editorial26-hero :is(.news24-intro,.article24-header,.legal-hub-header) { padding-bottom:13rem; }
 :is(.page-hero,.case-particle-hero):not(.page-hero--dark) > :is(.av-entropy-poster,.av-entropy-canvas) { opacity:.3; }
}
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) .process26 { grid-template-columns:1fr; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"],[data-av-text-spacing="more"]) .process26-intro { position:static; }
html[data-av-contrast="high"] .process26 { background:var(--av-access-bg); color:var(--av-access-text); border:1px solid var(--av-access-text); }
html[data-av-contrast="high"] .process26 :is(p,span,a) { color:var(--av-access-text); }
html[data-av-contrast="high"] :is(.process26-diagram,.editorial26-art) { display:none; }
html[data-av-contrast="high"] .process26-step { border-color:var(--av-access-text); }
@media(forced-colors:active) { .process26-diagram,.editorial26-art { display:none; } }
@media print { .process26 { display:block; background:#fff; color:#000; } .process26-intro { position:static; } .process26 :is(p,span,a) { color:#000!important; } .process26-diagram,.editorial26-art { display:none; } }

.process26-territories > span,.process26-checkpoints > span { min-width:0; overflow-wrap:anywhere; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .process26 { padding:clamp(1rem,5vw,2rem); }
html[data-av-text-size="largest"] .process26-diagram { display:none; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .home-hero-actions .av-button { min-width:0; max-width:100%; }

/* ---- footer-v26.css ---- */
/* The footer separates contact, navigation and personal preferences into
   three calm bands. Its dark surface remains deliberate in either theme. */
.site-footer.footer26 {
  background:#080817;
  color:#fafaff;
  padding:clamp(3.5rem,6vw,6rem) 0 2rem;
  margin-top:0;
  --footer26-muted:#b7b7ca;
  --footer26-rule:#ffffff24;
}
.footer26::before { display:none; }
.footer26 :is(a,button,select,summary):focus-visible { outline:3px solid #b9c5ff; outline-offset:5px; }
.footer26 a { color:inherit; text-underline-offset:.22em; }
.footer26 a:hover { color:#c4cbff; }
.footer26-masthead {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);
  align-items:start;
  gap:2.5rem 4rem;
  padding-bottom:clamp(3rem,6vw,5rem);
}
.footer26 .footer26-brand { grid-column:auto; min-width:0; }
.footer26 .footer26-brand > a { display:block; width:fit-content; }
.footer26 .footer26-brand img { width:10.5rem; margin:0 0 1.25rem; }
.footer26 .footer26-brand > p { margin:0; max-width:25ch; color:var(--footer26-muted); font:400 1rem/1.55 var(--av-body); letter-spacing:0; }
.footer26-label,
.footer26 .footer-main nav > p { margin:0 0 1.25rem; color:var(--footer26-muted); font-size:.8125rem; line-height:1.5; }
.footer26-contact { min-width:0; }
.footer26 .footer26-email { display:inline-block; max-width:100%; font:400 clamp(1.5rem,3.3vw,3.5rem)/1.2 var(--av-heading); letter-spacing:-.045em; text-decoration:none; overflow-wrap:anywhere; }
.footer26-email:hover { text-decoration:underline; text-decoration-thickness:1px; }
.footer26-contact-meta { display:flex; flex-wrap:wrap; gap:.75rem 2rem; margin-top:1.5rem; font-size:.875rem; line-height:1.6; color:var(--footer26-muted); }
.footer26-contact-meta a { text-decoration:none; }
.footer26-contact-meta a:hover { text-decoration:underline; }
.footer26 .footer26-navigation {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);
  gap:3rem 4rem;
  padding-block:clamp(2.5rem,5vw,4rem);
  border-top:1px solid var(--footer26-rule);
}
.footer26 .footer-main nav { gap:.15rem; }
.footer26 .footer-main nav > p { margin:0 0 1rem; }
.footer26 .footer-main nav a { min-height:2.75rem; display:flex; align-items:center; width:fit-content; max-width:100%; padding:.4rem 0; color:#f4f4fb; font-size:1rem; line-height:1.45; text-decoration:none; }
.footer26 .footer-main nav a:hover { color:#c4cbff; text-decoration:underline; }
.footer26-site > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.5rem; width:100%; }
.footer26 .footer26-resource { min-width:0; }
.footer26-resource > p:not(.footer26-label) { max-width:26ch; margin:0 0 1.5rem; font:400 1.125rem/1.5 var(--av-body); letter-spacing:-.01em; color:#f4f4fb; }
.footer26 .footer26-resource .footer-library { display:inline-flex; align-items:center; justify-content:space-between; gap:1.5rem; max-width:100%; min-height:2.75rem; padding:.5rem 0; border-bottom:1px solid #9595af; color:#f4f4fb; font-size:.875rem; line-height:1.5; text-decoration:none; }
.footer26 .footer26-resource .footer-library:hover { border-color:#c4cbff; color:#c4cbff; }
.footer26 .footer-library span { flex:none; }
.footer26-preferences { display:grid; grid-template-columns:minmax(0,.55fr) minmax(0,2fr); align-items:start; gap:1rem 3rem; padding-block:2rem; border-top:1px solid var(--footer26-rule); }
.footer26-preferences > .footer26-label { padding-top:.65rem; margin:0; }
.footer26 .footer-preferences { gap:1rem 1.5rem; }
.footer26 .footer-preferences :is(button,select) { border-color:#5e5e75; border-radius:.25rem; font-size:.8125rem; }
.footer26 .footer-preferences .theme-control { font-size:.8125rem; }
.footer26 .footer-preferences select { background:#141424; color:#f4f4fb; }
.footer26 .display-preferences { margin-top:0; border-top-color:var(--footer26-rule); }
.footer26 .display-preferences > summary { font-size:.875rem; }
.footer26 .footer-preference-note { margin:0; color:var(--footer26-muted); }
.footer26 .footer26-base { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:1.5rem 3rem; margin:0; padding-top:2rem; border-top:1px solid var(--footer26-rule); color:var(--footer26-muted); }
.footer26 .footer26-base > p { width:auto; margin:0; line-height:1.7; font-size:.75rem; }
.footer26 .footer26-base > p > span { color:var(--footer26-muted); font-size:inherit; }
.footer26 .footer-utility { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem 2rem; font-size:.8125rem; }
.footer26 .footer-utility a { display:flex; align-items:center; min-height:2.75rem; text-decoration:none; }
.footer26 .footer-utility a:hover { text-decoration:underline; }

@media (max-width:64rem) {
  .footer26-masthead { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:2.5rem; }
  .footer26 .footer26-navigation { gap:2rem; grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,1fr); }
  .footer26-site > div { grid-template-columns:1fr; }
  .footer26 .footer26-email { font-size:clamp(1.5rem,3.5vw,2.5rem); }
  .footer26-preferences { grid-template-columns:1fr; gap:1.25rem; }
  .footer26-preferences > .footer26-label { padding:0; }
}
@media (max-width:44rem) {
  .footer26-masthead { grid-template-columns:1fr; gap:2.5rem; }
  .footer26 .footer26-email { font-size:clamp(1.5rem,6.1vw,2.4rem); }
  .footer26 .footer26-navigation { grid-template-columns:1fr 1fr; gap:2.5rem 1.5rem; }
  .footer26 .footer26-resource { grid-column:1 / -1; border-top:1px solid var(--footer26-rule); padding-top:2rem; }
  .footer26-resource > p:not(.footer26-label) { max-width:35ch; }
  .footer26 .footer-main nav a { font-size:.9375rem; overflow-wrap:anywhere; }
}
@media (max-width:24rem) {
  .footer26 .footer26-navigation { grid-template-columns:1fr; }
  .footer26 .footer26-site > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer26 .footer26-resource { grid-column:auto; }
  .footer26 .footer-preferences > .theme-control { flex-wrap:wrap; }
}
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .footer26-masthead { grid-template-columns:1fr; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .footer26 .footer26-navigation { grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .footer26 .footer26-resource { grid-column:auto; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .footer26-preferences { grid-template-columns:1fr; }
html[data-av-text-size="largest"] .footer26 .footer26-navigation { grid-template-columns:1fr; }
@media (forced-colors:active) {
  .footer26 :is(.footer26-navigation,.footer26-preferences,.footer26-base,.footer26-resource,.footer-library) { border-color:CanvasText; }
}

/* ---- scroll-v26.css ---- */
/* The page stays fully visible before GSAP loads. Animation adds only movement;
   it never gates text, navigation, focus, or the reading order. */
.process26-progress { transform-origin:left center; }
.process26-step { scroll-margin-top:8rem; }
html[data-scroll-enhanced="true"] .process26-step {
  transition:background-color 240ms ease, border-color 240ms ease;
}
html[data-av-motion-paused="true"] .process26-step,
html[data-av-contrast="high"] .process26-step { transition:none; }
@media(prefers-reduced-motion:reduce) {
  .process26-step { transition:none!important; }
}
@media print {
  .process26-step { transition:none!important; }
}

/* ---- news-v27.css ---- */
/* V2.7 guides: author box, subheadings, ordered lists and quotes. Loaded after news-v24.css. */
.article24-prose h3 { font:500 clamp(1.25rem,1.6vw,1.5rem)/1.3 var(--av-heading); letter-spacing:-.025em; margin:2rem 0 1rem; color:var(--av-text); }
.article24-prose ol { padding-left:1.5rem; margin:1.5rem 0; }
.article24-prose ol li { margin:.6rem 0; padding-left:.35rem; color:var(--av-muted); }
.article24-prose li::marker { color:var(--av-text); }
.article24-prose strong { color:var(--av-text); font-weight:600; }
.article24-prose blockquote { margin:2rem 0; padding:.25rem 0 .25rem 1.5rem; border-left:3px solid var(--av-link-blue,var(--av-blue)); }
.article24-prose blockquote p { color:var(--av-text); font-size:1.2rem; line-height:1.6; margin:0; }
.article27-author { margin-top:3rem; padding:clamp(1.5rem,3vw,2rem); border-radius:.75rem; background:var(--av-surface-soft); }
.article27-author .home-eyebrow { margin:0 0 .75rem; }
.article27-author p { margin:0 0 .75rem; line-height:1.65; color:var(--av-muted); max-width:62ch; }
.article27-author .article27-author-name { color:var(--av-text); font-weight:500; }
.article27-author .article27-author-name a { color:var(--av-text); text-underline-offset:.2em; }
.article27-author-links { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin-bottom:0!important; font-size:.9375rem; }
.article27-author-links a { color:var(--av-link-blue,var(--av-blue)); text-underline-offset:.2em; text-decoration-thickness:1px; }
.article24-meta > span > a { color:var(--av-text); text-underline-offset:.2em; }

/* ---- site-v27.css ---- */
/* V2.7 components: proof, work cards and schematics, case pages, founder, timeline, services,
   quotes, trust facts, tables and breadcrumbs. Built on the shared tokens; light and dark themes. */
:root { --s27-fill:#ffffff; --s27-soft:#f2f2f7; --s27-line:#c9c9d6; --s27-ink:#14142b; --s27-muted:#5d5d72; --s27-accent:#3438e0; --s27-accent-fill:#e9e9ff; --s27-hot:#d1335b; --s27-plate:#f6f6fa; }
html[data-theme="dark"] { --s27-fill:#1b1b2c; --s27-soft:#232338; --s27-line:#3e3e58; --s27-ink:#f0f0f8; --s27-muted:#a8a8c0; --s27-accent:#a9acff; --s27-accent-fill:#26265a; --s27-hot:#ff8aa5; --s27-plate:#141424; }
.visually-hidden { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* ---- Hero actions and founder strip ---- */
.hero27-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.75rem; margin-top:2rem; }
.hero27-link, .invite27-link { color:var(--av-text); font-size:1rem; text-decoration:underline; text-underline-offset:.3em; text-decoration-thickness:1px; padding:.5rem 0; }
.page-hero--dark .hero27-link { color:#fff; }
.hero27-pause { position:absolute; right:clamp(1rem,3vw,2.5rem); bottom:clamp(1rem,3vw,2rem); z-index:3; min-height:2.25rem; padding:.4rem .9rem; border:1px solid var(--av-border-strong); border-radius:2rem; background:color-mix(in srgb, var(--av-surface) 82%, transparent); color:var(--av-text); font:500 .8125rem/1 var(--av-body); cursor:pointer; backdrop-filter:blur(6px); }
.hero27-pause:hover { border-color:var(--av-text); }
.hero27-pause:focus-visible { outline:3px solid var(--av-focus); outline-offset:3px; }

/* ---- Proof strip and stats ---- */
.proof27 { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(2rem,5vw,6rem); padding-block:clamp(3rem,6vw,5rem); border-top:1px solid var(--av-border); align-items:start; }
.proof27-list { display:flex; flex-wrap:wrap; gap:.75rem 2rem; list-style:none; margin:1.25rem 0 1.25rem; padding:0; }
.proof27-list li { font:500 clamp(1.15rem,1.6vw,1.6rem)/1.3 var(--av-heading); letter-spacing:-.03em; color:var(--av-text); }
.proof27-note { max-width:46ch; color:var(--av-muted); font-size:.875rem; line-height:1.55; margin:0; }
.proof27-note a { color:inherit; text-underline-offset:.2em; }
.stats27 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 2.5rem; margin:0; }
.stats27 > div { border-top:1px solid var(--av-border-strong); padding-top:1rem; }
.stats27 dt { font:500 clamp(2rem,3.4vw,3.25rem)/1 var(--av-heading); letter-spacing:-.05em; color:var(--av-text); }
.stats27 dd { margin:.65rem 0 0; color:var(--av-muted); font-size:.9375rem; line-height:1.5; max-width:28ch; }



/* ---- Case study pages ---- */
.crumbs27 { padding-top:clamp(7rem,10vw,9rem); margin-bottom:-6rem; position:relative; z-index:2; }
.crumbs27 ol { display:flex; flex-wrap:wrap; gap:.35rem; list-style:none; margin:0; padding:0; font-size:.8125rem; color:var(--av-muted); }
.crumbs27 li + li::before { content:"/"; margin-right:.35rem; color:var(--av-border-strong); }
.crumbs27 a { color:var(--av-muted); text-underline-offset:.2em; }
.crumbs27 [aria-current] { color:var(--av-text); }
.case27 { display:grid; gap:clamp(3rem,6vw,6rem); padding-block:clamp(2rem,4vw,4rem) clamp(3rem,6vw,6rem); }
.facts27 { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr)); gap:0; margin:0; border-top:1px solid var(--av-border-strong); }
.facts27 > div { padding:1.25rem 1.5rem 1.25rem 0; border-bottom:1px solid var(--av-border); }
.facts27 dt { margin-bottom:.5rem; color:var(--av-muted); font-size:.8125rem; }
.facts27 dd { margin:0; font:500 1.0625rem/1.45 var(--av-heading); letter-spacing:-.015em; color:var(--av-text); }
.facts27 dd a { color:inherit; }
.case27-figure { margin:0; }
.case27-figure figcaption { margin-top:.85rem; color:var(--av-muted); font-size:.8125rem; }
.case27-outcome { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,5vw,6rem); align-items:start; }
.case27-outcome h2 { margin:.75rem 0 0; font:500 clamp(1.7rem,2.8vw,2.75rem)/1.18 var(--av-heading); letter-spacing:-.045em; max-width:22ch; }
.case27-metric { margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--av-border); }
.case27-metric strong { display:block; font:500 clamp(3rem,6vw,5rem)/1 var(--av-heading); letter-spacing:-.06em; color:var(--av-link-blue,var(--av-blue)); }
.case27-metric p { max-width:34ch; color:var(--av-muted); line-height:1.55; }
.case27-achievements { list-style:none; margin:0; padding:0; counter-reset:ach; }
.case27-achievements li { position:relative; padding:1.25rem 0 1.25rem 2.75rem; border-top:1px solid var(--av-border); font-size:1.125rem; line-height:1.55; color:var(--av-text); }
.case27-achievements li::before { content:""; position:absolute; left:0; top:1.55rem; width:1.15rem; height:.6rem; border-left:2px solid var(--av-link-blue,var(--av-blue)); border-bottom:2px solid var(--av-link-blue,var(--av-blue)); transform:rotate(-45deg); }
.case27-story { display:grid; gap:2.5rem; max-width:46rem; }
.case27-story h2 { margin:0 0 1rem; font:500 clamp(1.4rem,2vw,1.9rem)/1.25 var(--av-heading); letter-spacing:-.035em; }
.case27-story p { margin:0 0 1rem; color:var(--av-muted); font-size:1.0625rem; line-height:1.75; }
.case27-evidence { max-width:46rem; padding:clamp(1.25rem,2.5vw,2rem); border-radius:1rem; background:var(--av-surface-soft); }
.case27-evidence h2 { margin:0 0 .75rem; font:600 .8125rem/1.4 var(--av-body); letter-spacing:.06em; text-transform:uppercase; color:var(--av-muted); }
.case27-evidence p { margin:0 0 .75rem; color:var(--av-muted); font-size:.9375rem; line-height:1.6; }
.case27-evidence p:last-child { margin-bottom:0; }
.case27-evidence a { color:inherit; text-underline-offset:.2em; }

/* ---- Services ---- */
.service27-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; }
.service27-grid > a { display:flex; flex-direction:column; gap:.85rem; min-height:16rem; padding:clamp(1.25rem,2vw,2rem); border:1px solid var(--av-border); border-radius:1.25rem; background:var(--av-surface); color:var(--av-text); text-decoration:none; transition:border-color .2s ease, background .2s ease; }
.service27-grid > a:hover, .service27-grid > a:focus-visible { border-color:var(--av-border-strong); }
.service27-grid > a:focus-visible { outline:3px solid var(--av-focus); outline-offset:3px; }
.service27-grid .home-eyebrow { margin:0; }
.service27-grid h3 { margin:0; font:500 clamp(1.35rem,1.8vw,1.75rem)/1.2 var(--av-heading); letter-spacing:-.035em; }
.service27-grid p { margin:0; color:var(--av-muted); line-height:1.55; }
.service27-more { margin-top:auto; padding-top:.75rem; font-size:.875rem; text-decoration:underline; text-underline-offset:.25em; text-decoration-thickness:1px; }
.service27-lead { background:var(--av-surface-soft)!important; }
.audit-weeks--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.guide27-link { margin:2rem 0 0; color:var(--av-muted); font-size:.9375rem; line-height:1.6; }
.guide27-link a { color:var(--av-text); text-underline-offset:.25em; }

/* ---- Quotes ---- */
.quotes27 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.25rem,2.5vw,2.25rem); }
.quotes27--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.quotes27--one { grid-template-columns:minmax(0,46rem); }
.quotes27 figure { display:flex; flex-direction:column; justify-content:space-between; gap:1.75rem; margin:0; padding:clamp(1.5rem,2.5vw,2.25rem); border-top:2px solid var(--av-link-blue,var(--av-blue)); background:var(--av-surface-soft); border-radius:0 0 1rem 1rem; }
.quotes27 blockquote { margin:0; }
.quotes27 blockquote p { margin:0; font:400 clamp(1.15rem,1.5vw,1.4rem)/1.45 var(--av-heading); letter-spacing:-.02em; color:var(--av-text); }
.quotes27 figcaption strong { display:block; font-size:.9375rem; color:var(--av-text); }
.quotes27 figcaption span { display:block; margin-top:.2rem; font-size:.8125rem; color:var(--av-muted); }

/* ---- Founder ---- */

/* ---- Timeline ---- */
.timeline27 { list-style:none; margin:0; padding:0; border-top:1px solid var(--av-border-strong); }
.timeline27 li { display:grid; grid-template-columns:8rem minmax(0,1fr); gap:1.5rem; padding:1.4rem 0; border-bottom:1px solid var(--av-border); }
.timeline27-year { color:var(--av-muted); font-size:.9375rem; padding-top:.2rem; }
.timeline27 h3 { margin:0; font:500 clamp(1.2rem,1.6vw,1.5rem)/1.25 var(--av-heading); letter-spacing:-.03em; }
.timeline27 p { margin:.3rem 0 0; color:var(--av-text); font-size:.9375rem; }
.timeline27 .timeline27-detail { color:var(--av-muted); line-height:1.55; }
.timeline27 a { color:var(--av-text); text-underline-offset:.2em; }

/* ---- Trust grid ---- */
.trust27-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap:0 clamp(1.5rem,3vw,3rem); }
.trust27-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.trust27-grid > div { padding:1.5rem 0 1.75rem; border-top:1px solid var(--av-border); }
.trust27-grid h3 { margin:0 0 .6rem; font:500 1.25rem/1.3 var(--av-heading); letter-spacing:-.025em; }
.trust27-grid p { margin:0; color:var(--av-muted); line-height:1.6; }
.trust27-grid a { color:var(--av-text); text-underline-offset:.2em; }
.trust27-num { display:block; margin-bottom:1.25rem; color:var(--av-link-blue,var(--av-blue)); font-size:.875rem; }

/* ---- Tables: sample findings and schedules ---- */
.sample27-scroll, .compare27-scroll { overflow-x:auto; border:1px solid var(--av-border); border-radius:1rem; background:var(--av-surface); }
.sample27-scroll:focus-visible, .compare27-scroll:focus-visible { outline:3px solid var(--av-focus); outline-offset:3px; }
.sample27-table, .compare27 { width:100%; min-width:52rem; border-collapse:collapse; font-size:.9375rem; line-height:1.5; }
.sample27-table th, .sample27-table td, .compare27 th, .compare27 td { padding:1rem 1.15rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--av-border); }
.sample27-table thead th, .compare27 thead th { font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; color:var(--av-muted); font-weight:600; background:var(--av-surface-soft); }
.sample27-table tbody th, .compare27 tbody th { font-weight:500; color:var(--av-text); }
.sample27-table td, .compare27 td { color:var(--av-muted); }
.sample27-table tr:last-child > *, .compare27 tr:last-child > * { border-bottom:0; }
.compare27 a { color:var(--av-text); text-underline-offset:.2em; }
.sev27 { display:inline-block; padding:.2rem .6rem; border-radius:1rem; font-size:.8125rem; font-weight:600; white-space:nowrap; }
.sev27--blocker { background:color-mix(in srgb, var(--s27-hot) 16%, transparent); color:var(--s27-hot); }
.sev27--serious { background:var(--s27-accent-fill); color:var(--s27-accent); }

/* ---- Invitation band actions ---- */
.invite27-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.75rem; margin-top:1.5rem; }
.v9-invitation .invite27-link { color:#fff; }

/* ---- Accessibility fixes from the V2.7 audit ---- */
html[data-theme="dark"] .sv9-questions .home-eyebrow, html[data-theme="dark"] :is(.journey-offer, .journey-service-chooser) .home-eyebrow { color:var(--av-link-blue); }
html:has(.privacy-banner:not([hidden])) { scroll-padding-bottom:14rem; }

/* ---- Responsive ---- */
@media (max-width:1100px) {
  .service27-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quotes27 { grid-template-columns:1fr 1fr; }
  .quotes27 figure:nth-child(3) { grid-column:1 / -1; }
  .audit-weeks--four { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .trust27-grid--three { grid-template-columns:1fr; }
  .crumbs27 { margin-bottom:-5rem; }
}
@media (max-width:700px) {
  .service27-grid, .quotes27, .quotes27--two, .audit-weeks--four { grid-template-columns:1fr; }
  .quotes27 figure:nth-child(3) { grid-column:auto; }
  .stats27 { grid-template-columns:1fr 1fr; gap:1.5rem; }
  .timeline27 li { grid-template-columns:1fr; gap:.35rem; }
  .hero27-pause { bottom:.75rem; right:.75rem; }
  .news24-filters button, .news24-filters button:first-child { border-color:var(--av-border-strong); }
}
@media print { .hero27-pause, .crumbs27 { display:none; } }
.legal-updated { margin:0 0 2rem; color:var(--av-muted); font-size:.875rem; }
.hero27-signpost { margin:1.5rem 0 0; color:var(--av-muted); font-size:.9375rem; }
.hero27-signpost a { color:var(--av-text); text-underline-offset:.25em; }

/* ---- Round 2 QA fixes ---- */
/* Heading line wrappers must not take the legacy "second line" colour; only the inner span is coloured. */
.page-hero h1 > span.l27, html[data-theme] .page-hero h1 > span.l27, .page-hero--dark h1 > span.l27 { color:inherit; }
.home-hero h1, .page-hero h1, .case-hero h1, .article24-header h1 { letter-spacing:-.04em; }


/* Case studies: a two-column story with readable body copy, and an H1 that clears the art. */
.case-particle-hero .case-hero h1 { max-width:16ch; }
.case27-story { max-width:none; gap:3rem; }
.case27-story > section { display:grid; grid-template-columns:minmax(0,15rem) minmax(0,46rem); column-gap:clamp(2rem,6vw,7rem); border-top:1px solid var(--av-border); padding-top:1.75rem; }
.case27-story > section > h2 { grid-column:1; }
.case27-story > section > p { grid-column:2; color:var(--av-text); }
.case27-evidence { margin-left:calc(min(15rem, 30%) + clamp(2rem,6vw,7rem)); }



/* Contact form */
.form27 { display:grid; gap:1.1rem; }
.form27-row { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.form27 .av-field { margin:0; }
.form27 textarea { min-height:8rem; }
.form27-note { margin:0; color:var(--av-muted); font-size:.875rem; line-height:1.55; }
.form27-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.75rem; }

@media (max-width:900px) {
  .case27-story > section { grid-template-columns:1fr; }
  .case27-story > section > p { grid-column:1; }
  .case27-evidence { margin-left:0; }
}
@media (max-width:700px) {
  .form27-row { grid-template-columns:1fr; }
}
@media (max-width:900px) { .case27-outcome { grid-template-columns:1fr; } }

/* ---- Footer (V2.7): brand and contact, four columns, one copyright line ---- */
.footer27 .footer27-top { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:2.5rem 4rem; align-items:start; padding-bottom:clamp(2.5rem,5vw,4rem); }
.footer27 .footer27-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.35fr); gap:2.5rem 3rem; padding-block:clamp(2.5rem,5vw,4rem); border-top:1px solid var(--footer26-rule); align-items:start; }
.footer27 .footer27-columns nav { display:flex; flex-direction:column; gap:.1rem; }
.footer27 .footer27-columns nav > p { margin:0 0 1rem; color:var(--footer26-muted); font-size:.8125rem; line-height:1.5; }
.footer27 .footer27-columns nav a { min-height:2.5rem; display:flex; align-items:center; width:fit-content; padding:.3rem 0; color:#f4f4fb; font-size:1rem; line-height:1.45; text-decoration:none; }
.footer27 .footer27-columns nav a:hover { color:#c4cbff; text-decoration:underline; }
.footer27 .footer27-settings .footer26-label { margin:0 0 1rem; }
.footer27 .footer27-settings .footer-preferences { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.25rem; }
.footer27 .footer27-settings .display-preferences { margin-top:1rem; padding-top:.75rem; border-top:1px solid var(--footer26-rule); }
.footer27 .display-preferences-fields { grid-template-columns:1fr; gap:.85rem; }
.footer27 .display-motion { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.footer27 .display-motion > span { font-size:.875rem; }
.footer27 .display-motion .av-motion-toggle { position:static; transform:none; min-height:2.5rem; padding:.45rem .9rem; border:1px solid #aaaac0; border-radius:.25rem; background:transparent; color:#fff; font:inherit; font-size:.8125rem; cursor:pointer; }
.footer27 .display-motion .av-motion-toggle:hover { background:#28283c; }
.footer27 .display-motion .av-motion-toggle:disabled { opacity:.6; cursor:default; }
.footer27 .footer27-base { display:flex; justify-content:space-between; align-items:center; gap:1rem 2rem; flex-wrap:wrap; padding-top:1.5rem; border-top:1px solid var(--footer26-rule); color:var(--footer26-muted); font-size:.875rem; }
.footer27 .footer27-base p { margin:0; }
.footer27 .footer27-base a { color:var(--footer26-muted); text-decoration:none; }
.footer27 .footer27-base a:hover { color:#fff; text-decoration:underline; }
@media (max-width:1100px) { .footer27 .footer27-columns { grid-template-columns:repeat(3,minmax(0,1fr)); } .footer27 .footer27-settings { grid-column:1 / -1; max-width:32rem; } }
@media (max-width:800px) { .footer27 .footer27-top { grid-template-columns:1fr; } .footer27 .footer27-columns { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .footer27 .footer27-columns { grid-template-columns:1fr; } }
.footer27 .footer26-brand img { height:auto; }
.footer27 .footer27-settings > .footer26-label { text-transform:uppercase; letter-spacing:.08em; font-size:.8125rem; }

.legal-topic[id] { scroll-margin-top:7rem; }

/* ---- motion-v27.css ---- */
/* V2.7 motion: hero entrance, heading line masks, staggered entrances, hover micro-interactions and
   page transitions. Everything is gated on html.motion-ok (set before paint when motion is allowed),
   so reduced motion, a paused site and no-JS visitors always see the final state. */
:root { --ease-out: cubic-bezier(.22,1,.36,1); --ease-io: cubic-bezier(.625,.05,0,1); }

/* Heading lines are wrapped by the build: <span class="l27"><span class="l27i">…</span></span>. */
h1 .l27, h2 .l27 { display:block; overflow:clip; overflow-clip-margin:.12em; padding-bottom:.06em; margin-bottom:-.06em; }
h1 .l27i, h2 .l27i { display:block; }
/* The wrappers must not inherit the legacy "second line" colour and gradient-text rules. */
.home-hero h1 span.l27, .home-hero h1 span.l27i,
html[data-theme] .home-hero h1 span.l27, html[data-theme] .home-hero h1 span.l27i,
.home-foundations h2 span.l27, .home-foundations h2 span.l27i { background:none; -webkit-background-clip:border-box; background-clip:border-box; color:inherit; }
.page-hero h1 .l27i > span { color:var(--av-blue); }
html[data-theme="dark"] .page-hero:not(.page-hero--dark) h1 .l27i > span { color:var(--av-link-blue); }
.page-hero--dark h1 .l27i > span { color:#a7aaff; }

@keyframes rise27 { from { transform:translateY(108%); } }
@keyframes enter27 { from { opacity:0; transform:translateY(14px); } }
@keyframes art27 { from { opacity:0; } }

@media (prefers-reduced-motion: no-preference) {
  /* Hero entrance: once, on load. The H1 is never faded (it is the largest paint). */
  html.motion-ok main h1 .l27i { animation:rise27 .95s var(--ease-out) both; animation-delay:.08s; }
  html.motion-ok main h1 .l27:nth-child(2) .l27i { animation-delay:.16s; }
  html.motion-ok main h1 .l27:nth-child(3) .l27i { animation-delay:.24s; }
  html.motion-ok :is(.home-hero-copy, .page-hero-copy, .case-hero, .legal-hub-header, .article24-header, .news24-intro) > .home-eyebrow { animation:enter27 .6s var(--ease-out) both; }
  html.motion-ok :is(.home-hero-copy, .page-hero-copy, .case-hero, .legal-hub-header, .article24-header) > :is(p:not(.home-eyebrow), .home-hero-actions, .hero27-actions, .article24-meta, .case-meta, .case-status) { animation:enter27 .7s var(--ease-out) both; animation-delay:.36s; }
  html.motion-ok :is(.home-hero-copy, .page-hero-copy) > :is(.home-hero-actions, .hero27-actions, .founder27-strip) { animation-delay:.46s; }
  html.motion-ok .news24-intro-grid > p { animation:enter27 .7s var(--ease-out) both; animation-delay:.36s; }
  html.motion-ok :is(.home-hero, .page-hero, .case-particle-hero) > .av-entropy-poster,
  html.motion-ok :is(.home-hero, .page-hero, .case-particle-hero) > .av-entropy-canvas { animation:art27 1.2s var(--ease-out) both; animation-delay:.2s; }

  /* Below-the-fold entrances, applied only by motion-v27.js. */
  html.motion-ok .r27 { opacity:0; transform:translateY(24px); }
  html.motion-ok .r27.r27-in { opacity:1; transform:none; transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); transition-delay:var(--r27-delay,0ms); }
  html.motion-ok .r27h .l27i { transform:translateY(108%); }
  html.motion-ok .r27h.r27-in .l27i { transform:none; transition:transform .85s var(--ease-out); transition-delay:calc(var(--r27-delay,0ms) + 0ms); }
  html.motion-ok .r27h.r27-in .l27:nth-child(2) .l27i { transition-delay:calc(var(--r27-delay,0ms) + 70ms); }
  html.motion-ok .r27h.r27-in .l27:nth-child(3) .l27i { transition-delay:calc(var(--r27-delay,0ms) + 140ms); }

  /* Page-to-page: a short cross-fade with the header held in place. */
  @view-transition { navigation:auto; }
  .home-header { view-transition-name:site-header; }
  :root.motion-ok::view-transition-old(root) { animation:vt27-out .22s ease-in both; }
  :root.motion-ok::view-transition-new(root) { animation:vt27-in .42s var(--ease-out) both; }
}
@keyframes vt27-out { to { opacity:0; transform:translateY(-12px); } }
@keyframes vt27-in { from { opacity:0; transform:translateY(16px); } }

/* Hover and focus micro-interactions: fine pointers only; focus mirrors hover, rings never animate. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion: no-preference) {
  html.motion-ok .av-button { position:relative; isolation:isolate; overflow:hidden; transition:color .32s var(--ease-out), border-color .32s var(--ease-out), transform .12s ease; }
  html.motion-ok .av-button::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--av-blue-hover); transform:scaleX(0); transform-origin:right center; transition:transform .42s var(--ease-io); }
  html.motion-ok .av-button:is(:hover, :focus-visible)::before { transform:scaleX(1); transform-origin:left center; }
  html.motion-ok .av-button--light::before { background:rgba(255,255,255,.18); }
  html.motion-ok .av-button:active { transform:scale(.98); }
  html.motion-ok :is(.home-text-link, .hero27-link, .invite27-link, .article24-contact, .project-read, .guide27-link a, .audit-proof-grid > a > span, .work27-read) { text-decoration:none; background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat; transition:background-size .6s var(--ease-io), background-position 0s .6s; }
  html.motion-ok :is(.home-text-link, .hero27-link, .invite27-link, .article24-contact, .guide27-link a):is(:hover, :focus-visible),
  html.motion-ok :is(.home-work-card, .audit-proof-grid > a):is(:hover, :focus-within) :is(.project-read, .audit-proof-grid > a > span) { background-size:0 1px; background-position:100% 100%; animation:underline27 .6s var(--ease-io) .3s forwards; }
  html.motion-ok :is(.home-work-card, .news24-card, .audit-proof-grid > a, .service27-grid > a) { transition:transform .45s var(--ease-out), border-color .2s ease, box-shadow .45s var(--ease-out); }
  html.motion-ok :is(.home-work-card, .news24-card, .service27-grid > a):is(:hover, :focus-within) { transform:translateY(-4px); }
  html.motion-ok .news24-read > span, html.motion-ok .project-read::after { display:inline-block; transition:transform .32s var(--ease-out); }
  html.motion-ok .news24-card:is(:hover, :focus-within) .news24-read > span { transform:translateX(4px); }
}
@keyframes underline27 { from { background-size:0 1px; background-position:0 100%; } to { background-size:100% 1px; background-position:0 100%; } }

@media print { .r27, .r27h .l27i { opacity:1!important; transform:none!important; } }

/* Explicit site preferences also stop CSS-only motion, including page transitions. */
:root:not(.motion-ok)::view-transition-group(*),
:root:not(.motion-ok)::view-transition-old(*),
:root:not(.motion-ok)::view-transition-new(*) { animation:none; }
html:not(.motion-ok) :is(.r27, .r27h .l27i) { opacity:1; transform:none; transition:none; }

/* Earlier component styles also contain decorative hover movement. */
html:not(.motion-ok) :is(.home-work-media > img:not(.av-entropy-poster), .av-card-media > img, .client-logo-grid img, .contact-banner-arrow, .home-menu-panel .menu-service-list > a > span:last-child) { transform:none; translate:none; transition:none; }

/* ---- accessibility.css ---- */
/* Optional reading settings. Keep last so these deliberate choices take priority. */
html[data-av-text-size="larger"] { font-size:125%; }
html[data-av-text-size="largest"] { font-size:200%; }

.display-preferences { flex:1 1 100%; min-width:0; width:100%; border-top:1px solid #54546c; padding-top:1rem; margin-top:.25rem; }
.display-preferences[hidden] { display:none; }
.display-preferences > summary { min-height:44px; display:flex; align-items:center; gap:1rem; width:fit-content; max-width:100%; cursor:pointer; list-style:none; font-size:1rem; line-height:1.5; color:#f3f3f8; padding:.45rem 0; }
.display-preferences > summary::-webkit-details-marker { display:none; }
.display-preferences > summary::after { content:'+'; font-size:1.35em; line-height:1; }
.display-preferences[open] > summary::after { content:'−'; }
.display-preferences-panel { padding:1rem 0 .5rem; }
.display-preferences-intro { max-width:60ch; color:#c9c9d8; font-size:.875rem; line-height:1.6; margin:0 0 1.5rem; }
.display-preferences-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); align-items:end; gap:1rem 1.75rem; }
.display-size { display:grid; gap:.6rem; color:#f3f3f8; font-size:1rem; line-height:1.5; min-width:0; }
.display-size select { width:100%; min-width:0; max-width:100%; min-height:44px; border:1px solid #aaaac0; border-radius:.25rem; padding:.65rem .75rem; font:inherit; background:#191929; color:#fff; }
.display-check { display:flex; align-items:center; gap:.75rem; min-height:44px; padding:.65rem 0; color:#f3f3f8; font-size:1rem; line-height:1.5; cursor:pointer; }
.display-check input { flex:0 0 auto; appearance:auto; width:1.25rem; height:1.25rem; min-width:20px; min-height:20px; margin:0; accent-color:#bfc1ff; }
.display-preferences-bottom { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; padding-top:1.5rem; }
.display-preferences-bottom button { font:inherit; min-height:44px; color:#fff; background:transparent; border:1px solid #aaaac0; border-radius:.25rem; padding:.65rem .9rem; text-align:left; line-height:1.5; }
.display-preferences-bottom button:hover { background:#28283c; }
.display-preferences-bottom p { margin:0; color:#c9c9d8; font-size:.875rem; line-height:1.6; max-width:52ch; }
.display-preferences :is(summary,button,select,input):focus-visible { outline:3px solid #c2c5ff; outline-offset:4px; }
.footer-preferences { width:100%; min-width:0; }
.footer-preferences-note,.footer-preference-note { max-width:100%; }

/* Rem-based resizing leaves browser zoom available. Reflow narrow columns
   instead of clipping large type inside fixed-height compositions. */
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) :where(.home-hero,.page-hero,.case-particle-hero,.home-hero-copy,.page-hero-copy,.v9-process-banner,.v9-invitation,.home-foundations) { height:auto; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) :where(h1,h2,h3,h4,p,a,button,label,summary,dd,dt,li) { overflow-wrap:anywhere; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) :where(.home-work-grid,.principle-grid,.footer-main,.home-service-grid,.home-foundations-top,.home-foundation-parts,.home-proof-inner,.home-approach,.home-questions,.track-record,.story-section,.audit-proof-grid,.audit-deliverable-grid) { grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr)); }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) :where(.home-header,.home-menu-content,.home-menu-panel,.footer-preferences,.footer-bottom,.footer-utility,.home-hero-actions,.privacy-actions,.privacy-dialog-actions,.work-toolbar,.news-toolbar) { min-width:0; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) :where(.home-header,.home-menu-content,.footer-preferences,.footer-bottom,.footer-utility,.home-hero-actions,.privacy-actions,.privacy-dialog-actions,.work-toolbar,.news-toolbar) { flex-wrap:wrap; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) :where(.av-button,.privacy-choice,.privacy-settings-button,.footer-preferences button,.footer-preferences select) { height:auto; white-space:normal; max-width:100%; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .home-container { width:calc(100% - 2 * min(var(--av-page-gutter),5vw)); }
html[data-av-text-size="largest"] .home-header { position:absolute; left:5vw; right:5vw; }
html[data-av-text-size="largest"] .site-menu-open .home-header { position:fixed; }
html[data-av-text-size="largest"] .home-nav-shell[data-menu-enhanced] { width:100%; }
html[data-av-text-size="largest"] .home-header > .home-contact-button { display:none; }
html[data-av-text-size="largest"] .home-menu-content { grid-template-columns:minmax(0,1fr); max-height:calc(100dvh - 7rem); }
html[data-av-text-size="largest"] .mega-site > div { grid-template-columns:minmax(0,1fr); }
html[data-av-text-size="largest"] .home-menu-panel a { min-width:0; }
html[data-av-text-size="largest"] :where(.privacy-banner,.privacy-dialog) { max-height:85svh; overflow:auto; }
html[data-av-text-size="largest"] :where(.home-split-heading,.work-toolbar,.news-toolbar) { flex-direction:column; align-items:flex-start; }
html[data-av-text-size="largest"] .footer-main { grid-template-columns:1fr; }

/* W3C 1.4.12 values: 1.5 line-height, .12em tracking, .16em word spacing,
   and paragraph spacing of 2em. No content is replaced or hidden. */
html[data-av-text-spacing="more"] :where(p,li,dd,dt,label,summary,a,button,input,textarea,select,h1,h2,h3,h4,h5,h6) { line-height:1.5 !important; letter-spacing:.12em !important; word-spacing:.16em !important; }
html[data-av-text-spacing="more"] p { margin-bottom:2em !important; }
html[data-av-text-spacing="more"] :where(.home-hero,.page-hero,.case-particle-hero,.home-work-media,.v9-process-banner,.v9-invitation,.home-foundations) { height:auto; }
html[data-av-text-spacing="more"] :where(a,button,label,summary,p,li,h1,h2,h3,h4) { overflow-wrap:anywhere; }
html[data-av-link-style="underlined"] a[href] { text-decoration-line:underline !important; text-decoration-thickness:.08em; text-underline-offset:.2em; }

/* Higher contrast intentionally simplifies decorative surfaces. It follows
   the selected light/dark theme and never changes logos or content images. */
html[data-av-contrast="high"] { --av-access-bg:#fff; --av-access-text:#000; --av-access-link:#000098; --av-access-focus:#000098; --av-text:#000; --av-muted:#000; --av-subtle:#000; --av-surface:#fff; --av-surface-soft:#fff; --av-border:#000; --av-border-strong:#000; --av-link-blue:#000098; --av-focus:#000098; }
html[data-av-contrast="high"][data-theme="dark"] { --av-access-bg:#000; --av-access-text:#fff; --av-access-link:#bff5ff; --av-access-focus:#ffef00; --av-text:#fff; --av-muted:#fff; --av-subtle:#fff; --av-surface:#000; --av-surface-soft:#000; --av-border:#fff; --av-border-strong:#fff; --av-link-blue:#bff5ff; --av-focus:#ffef00; }
html[data-av-contrast="high"] :where(body,header,main,footer,nav,section,article,aside,dialog,details,figure,.home-nav-shell,.home-menu-panel,.privacy-banner,.display-preferences-panel,.track-record-card,.home-work-card,.v9-invitation,.v9-process-banner,.evidence-stat,.legal-draft,.home-audit-feature,.audit-scope-panel,.sv9-output-statement,.sv9-feature) { background-color:var(--av-access-bg) !important; background-image:none !important; color:var(--av-access-text) !important; border-color:var(--av-access-text) !important; box-shadow:none !important; }
html[data-av-contrast="high"] :where(h1,h2,h3,h4,h5,h6,p,li,dd,dt,small,strong,em,label,summary,span,blockquote,cite,figcaption) { color:var(--av-access-text) !important; text-shadow:none !important; }
html[data-av-contrast="high"] :where(p,small,strong,em,label,span,blockquote,cite,figcaption) { background:transparent !important; }
html[data-av-contrast="high"] :where(h1,h2,h3,h4) span { background:none !important; -webkit-text-fill-color:currentColor !important; }
html[data-av-contrast="high"] a[href] { color:var(--av-access-link) !important; }
html[data-av-contrast="high"] :where(button,input,select,textarea,.av-button) { background:var(--av-access-bg) !important; color:var(--av-access-text) !important; border:1px solid var(--av-access-text) !important; }
html[data-av-contrast="high"] :where(button,.av-button):hover { outline:2px solid var(--av-access-text); outline-offset:2px; }
html[data-av-contrast="high"] :where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--av-access-focus) !important; outline-offset:4px; }
html[data-av-contrast="high"] :where(.av-entropy-canvas,.av-entropy-poster,.v9-cta-art,.av-entropy)::after { display:none !important; }
html[data-av-contrast="high"] :where(.av-entropy canvas,.av-entropy > .av-entropy-poster) { visibility:hidden; }
html[data-av-contrast="high"] .footer-intro > a:first-child { background:#010113 !important; padding:.5rem; }
html[data-av-contrast="high"] .home-menu .av-menu-icon::before,
html[data-av-contrast="high"] .home-menu .av-menu-icon::after { background:var(--av-access-text) !important; }
html[data-av-contrast="high"] input { accent-color:var(--av-access-link); }
html[data-av-contrast="high"] .site-menu-backdrop { background:#0008 !important; border:0 !important; outline:0 !important; }
@media (forced-colors:active) {
  .display-preferences,.display-size select,.display-preferences-bottom button { border-color:CanvasText; }
  .display-check input { forced-color-adjust:auto; }
  .display-preferences :is(summary,button,select,input):focus-visible { outline-color:Highlight; }
}

html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .home-foundations-route > a { min-width:0; max-width:100%; }
