@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('fonts/inter-400-latin-ext.woff2') format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('fonts/inter-400-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('fonts/inter-400-latin-ext.woff2') format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('fonts/inter-400-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('fonts/inter-400-latin-ext.woff2') format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('fonts/inter-400-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('fonts/inter-400-latin-ext.woff2') format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('fonts/inter-400-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Playfair Display';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('fonts/playfair-display-500-latin-ext.woff2') format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Playfair Display';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('fonts/playfair-display-500-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Playfair Display';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('fonts/playfair-display-500-latin-ext.woff2') format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Playfair Display';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('fonts/playfair-display-500-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Playfair Display';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('fonts/playfair-display-500-latin-ext.woff2') format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Playfair Display';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('fonts/playfair-display-500-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
--color-surface:#f9f9f9;
--color-surface-dim:#dadada;
--color-surface-bright:#f9f9f9;
--color-surface-container-lowest:#ffffff;
--color-surface-container-low:#f3f3f3;
--color-surface-container:#eeeeee;
--color-surface-container-high:#e8e8e8;
--color-surface-container-highest:#e2e2e2;
--color-on-surface:#1a1c1c;
--color-on-surface-variant:#43474e;
--color-inverse-surface:#2f3131;
--color-inverse-on-surface:#f1f1f1;
--color-outline:#74777f;
--color-outline-variant:#c4c6cf;
--color-surface-tint:#476083;
--color-primary:#000613;
--color-on-primary:#ffffff;
--color-primary-container:#001f3f;
--color-on-primary-container:#6f88ad;
--color-inverse-primary:#afc8f0;
--color-secondary:#7b5800;
--color-on-secondary:#ffffff;
--color-secondary-container:#fdc34d;
--color-on-secondary-container:var(--color-primary);
--color-tertiary:#060707;
--color-on-tertiary:#ffffff;
--color-tertiary-container:#1f1f20;
--color-on-tertiary-container:#888687;
--color-error:#ba1a1a;
--color-on-error:#ffffff;
--color-error-container:#ffdad6;
--color-on-error-container:#93000a;
--color-primary-fixed:#d4e3ff;
--color-primary-fixed-dim:#afc8f0;
--color-on-primary-fixed:#001c3a;
--color-on-primary-fixed-variant:#2f486a;
--color-secondary-fixed:#ffdea6;
--color-secondary-fixed-dim:#f7bd48;
--color-on-secondary-fixed:var(--color-primary);
--color-on-secondary-fixed-variant:var(--color-primary);
--color-tertiary-fixed:#e5e2e3;
--color-tertiary-fixed-dim:#c8c6c7;
--color-on-tertiary-fixed:#1b1b1c;
--color-on-tertiary-fixed-variant:#474647;
--color-background:#f9f9f9;
--color-on-background:#1a1c1c;
--color-surface-variant:#e2e2e2;
--color-off-white:#fdfdfd;
--color-muted-bronze:#a67c00;
--color-slate-gray:#4a4a4a;
--surface-card:#ffffff;
--surface-page:#fdfdfd;
--surface-alt:#f2f2f2;
--text-heading:var(--color-primary);
--text-body:var(--color-slate-gray);
--text-muted:var(--color-on-surface-variant);
--accent:var(--color-muted-bronze);
--divider:var(--color-muted-bronze);
}
:root{
--font-serif:'Playfair Display',Georgia,serif;
--font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
--font-ui:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
--display-lg-size:64px;--display-lg-weight:500;--display-lg-line:72px;--display-lg-tracking:-0.02em;
--headline-lg-size:48px;--headline-lg-weight:500;--headline-lg-line:56px;
--headline-lg-mobile-size:32px;--headline-lg-mobile-weight:500;--headline-lg-mobile-line:40px;
--headline-md-size:32px;--headline-md-weight:500;--headline-md-line:40px;
--title-lg-size:20px;--title-lg-weight:600;--title-lg-line:28px;
--body-lg-size:18px;--body-lg-weight:400;--body-lg-line:30px;
--body-md-size:16px;--body-md-weight:400;--body-md-line:26px;
--label-caps-size:12px;--label-caps-weight:700;--label-caps-line:16px;--label-caps-tracking:0.1em;
}
:root {
  
  --space-unit: 8px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-30: 120px;

  --container-max: 1280px;
  --gutter-desktop: 48px;
  --gutter-tablet: 32px;
  --gutter-mobile: 20px;
  --size-control: 48px;
  --size-control-compact: 44px;
}
:root {
  --radius-sm: 2px;
  --radius: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-full: 9999px;
  --radius-button: var(--radius-sm);
  --radius-input: var(--radius-sm);
  --radius-card: var(--radius-lg);

  --border-subtle: 1px solid rgba(0, 31, 63, 0.13);
  --divider-bronze: 1px solid var(--color-muted-bronze);
  --shadow-elevation-1: 0 10px 40px rgba(0, 31, 63, 0.04);
  --shadow-elevation-2: 0 16px 56px rgba(0, 31, 63, 0.07);
}
:root {
--layout-shell: var(--container-max, 1280px);
--section-compact: var(--space-16);
--section-standard: var(--space-24);
--section-large: var(--space-30);
--section-compact-mobile: var(--space-12);
--section-standard-mobile: var(--space-16);
--section-large-mobile: var(--space-20);
--grid-gap: var(--space-8);
--grid-gap-mobile: var(--space-6);
--split-gap: var(--space-16);
--split-gap-tablet: var(--space-12);
--split-gap-mobile: var(--space-8);
--card-padding: var(--space-8);
--card-padding-mobile: var(--space-6);
--control-height: var(--size-control, 48px);
--control-height-compact: var(--size-control-compact, 44px);
--control-radius: var(--radius-input, 2px);
--card-radius: var(--radius-card, 8px);
--apex-navy: var(--color-primary, #000613);
--apex-blue: #001f3f;
--apex-gold: var(--color-muted-bronze, #a98532);
--apex-gold-light: var(--color-secondary-fixed-dim, #d8bc73);
--apex-gold-ink: #7d5c00;
--apex-focus: var(--apex-gold-ink);
--apex-page: var(--surface-page, #f8f7f4);
--apex-alt: var(--surface-alt, #efeee9);
--apex-card: var(--surface-card, #ffffff);
--apex-heading: var(--text-heading, #001f3f);
--apex-text: var(--text-body, #3f4852);
--apex-muted: #5c646d;
--apex-muted-on-dark: #7d8792;
--apex-border: rgba(0, 31, 63, 0.13);
--apex-shadow: var(--shadow-elevation-2, 0 16px 56px rgba(0, 31, 63, 0.07));
--apex-radius: var(--card-radius);
--apex-shell: var(--layout-shell);
--apex-header-height: 82px;
--apex-header-border: 2px;
}
.entry-content a:not(.button),
.rich-text a:not(.button),
.empty-state p a,
.faq-answer a {
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: .18em;
}
.no-script-navigation {
padding-block: 1.5rem;
background: var(--apex-surface, #f7f5f0);
border-bottom: 1px solid currentColor;
}
.home .no-script-navigation { padding-top: 6rem; }
.no-script-navigation__links {
display: flex;
flex-wrap: wrap;
gap: 1rem 1.5rem;
margin: 0 0 1.25rem;
padding: 0;
list-style: none;
}
.no-script-navigation__links a,
.archive-topics a { text-decoration: underline; text-underline-offset: .18em; }
.archive-topics { margin-block: 1rem 2rem; }
.archive-topics ul { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; padding: 0; list-style: none; }
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
max-width: 100%;
overflow-x: clip;
}
body {
margin: 0;
background: var(--apex-page);
color: var(--apex-text);
font-family: var(--font-sans, Arial, sans-serif);
font-size: 16px;
line-height: 1.7;
max-width: 100%;
overflow-x: clip;
}
body.menu-open {
overflow: hidden;
}
img {
display: block;
max-width: 100%;
height: auto;
}
a {
color: var(--apex-gold-ink);
text-decoration: none;
}
.site-header,
.mega-menu,
.site-footer,
.stats-band,
.source-hero,
.source-cta,
.section--navy,
.page-hero,
.hero {
--apex-focus: var(--apex-gold-light);
--apex-gold-ink: var(--apex-gold-light);
}
.site-header a:not(.button),
.mega-menu a:not(.button),
.site-footer a:not(.button),
.stats-band a:not(.button),
.source-hero a:not(.button),
.source-cta a:not(.button),
.section--navy a:not(.button),
.hero a:not(.button) {
color: var(--apex-gold-light);
}
a:hover {
color: var(--apex-blue);
}
button,
input,
textarea,
select {
font: inherit;
}
h1,
h2,
h3,
h4 {
color: var(--apex-heading);
font-family: var(--font-serif, Georgia, serif);
font-weight: 500;
line-height: 1.2;
}
nav,
button,
.button,
.hero__eyebrow,
.section-eyebrow,
.footer-heading,
.breadcrumbs {
font-family: var(--font-ui, var(--font-sans, Arial, sans-serif));
}
p {
margin: 0 0 1.25rem;
}
:root {
--shell-inset: max(var(--gutter-desktop), calc((100vw - var(--apex-shell)) / 2));
}
.site-shell {
width: min(calc(100% - (2 * var(--gutter-desktop))), var(--apex-shell));
margin-inline: auto;
}
.site-shell > *,
.detail-header__grid > *,
.detail-main__grid > *,
.content-layout > * { min-width: 0; }
.entry-content,
.structured-sections,
.faq-answer { overflow-wrap: anywhere; }
@media (max-width: 1024px) {
:root {
--shell-inset: max(var(--gutter-tablet), calc((100vw - var(--apex-shell)) / 2));
}
.site-shell {
width: min(calc(100% - (2 * var(--gutter-tablet))), var(--apex-shell));
}
}
.skip-link {
position: fixed;
left: 16px;
top: -100px;
z-index: 1000;
background: #fff;
color: var(--apex-navy);
padding: 10px 16px;
}
.skip-link:focus {
top: 12px;
}
.screen-reader-text:not(:focus):not(:active) {
position: absolute !important;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
border: 0;
overflow: hidden;
clip: rect(0 0 0 0);
clip-path: inset(50%);
white-space: nowrap;
}
.site-header {
position: sticky;
top: 0;
z-index: 100;
min-height: var(--apex-header-height);
border-bottom: var(--apex-header-border) solid rgba(169, 133, 50, 0.5);
background: var(--apex-navy);
color: #fff;
display: flex;
align-items: stretch;
}
.site-header.is-scrolled {
box-shadow: 0 5px 24px rgba(0, 6, 19, 0.18);
}
.site-header__inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 40px;
}
.site-brand {
width: 270px;
min-width: 0;
height: 72px;
align-self: center;
display: flex;
align-items: center;
justify-content: flex-start;
overflow: hidden;
background: transparent;
padding: 5px 0;
}
.site-logo-image {
width: auto;
max-width: 100%;
height: 61px;
object-fit: contain;
filter: none;
}
.site-header .site-logo-image,
.mega-menu__top .site-logo-image {
filter: grayscale(1) brightness(0) invert(1);
}
.apex-icon {
display: block;
flex: none;
}
.menu-toggle .apex-icon {
width: 26px;
height: 26px;
}
.mega-menu__eyebrow .apex-icon,
.mega-menu__all .apex-icon {
width: 17px;
height: 17px;
display: inline-block;
vertical-align: -3px;
}
.button {
min-height: var(--control-height);
display: inline-flex;
align-items: center;
justify-content: center;
border: 1px solid var(--apex-gold);
border-radius: var(--control-radius);
padding: 11px 24px;
color: var(--apex-navy);
font-weight: 700;
line-height: 1.2;
transition:
background var(--motion-quick) var(--ease-state),
color var(--motion-quick) var(--ease-state);
}
.button:hover,
.button:focus-visible {
background: var(--apex-gold);
color: var(--apex-navy);
}
.button--outline {
color: currentColor;
}
.button--gold {
background: var(--apex-gold);
color: var(--apex-navy);
}
.button--gold:hover,
.button--gold:focus-visible {
background: var(--apex-navy);
border-color: var(--apex-gold-light);
color: var(--apex-gold-light);
}
.menu-toggle {
width: 54px;
height: 54px;
flex: 0 0 54px;
display: grid;
place-items: center;
border: 1px solid rgba(255, 255, 255, 0.54);
background: transparent;
color: #fff;
padding: 0;
cursor: pointer;
transition:
border-color var(--motion-quick) var(--ease-state),
color var(--motion-quick) var(--ease-state),
background var(--motion-quick) var(--ease-state);
}
.menu-toggle .apex-icon {
width: 32px;
height: 32px;
font-size: 32px;
}
.menu-toggle:hover,
.menu-toggle:focus-visible {
border-color: var(--apex-gold-light);
background: rgba(255, 255, 255, 0.06);
color: var(--apex-gold-light);
}
.mega-menu {
position: fixed;
inset: 0;
z-index: 500;
overflow-y: auto;
background: var(--apex-navy);
color: #fff;
}
.mega-menu[hidden] {
display: none;
}
.mega-menu__top {
min-height: var(--apex-header-height);
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-8);
border-bottom: var(--apex-header-border) solid rgba(169, 133, 50, 0.62);
padding-inline: max(
var(--gutter-desktop),
calc((100vw - var(--apex-shell)) / 2)
);
}
.mega-menu__top .site-brand {
width: 270px;
height: 72px;
align-self: center;
justify-content: flex-start;
overflow: visible;
background: transparent;
padding: 0;
}
.mega-menu__top .site-logo-image {
width: auto;
max-width: 100%;
height: 61px;
}
.menu-toggle--close {
border-color: rgba(255, 255, 255, 0.34);
color: #fff !important;
}
.menu-toggle__close-mark {
position: relative;
z-index: 1;
display: block !important;
color: #fff;
font-family: Arial, sans-serif;
font-size: 44px;
font-weight: 200;
line-height: 0.75;
}
.mega-menu__content {
min-height: calc(100svh - var(--apex-header-height));
display: grid;
grid-template-columns: minmax(260px, 0.8fr) minmax(300px, 1fr) minmax(
330px,
1.1fr
);
grid-template-rows: minmax(420px, 1fr) auto;
column-gap: clamp(40px, 5vw, 82px);
padding-block: 28px 24px;
}
.mega-menu__eyebrow {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 20px;
color: var(--apex-gold-light);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.mega-menu__eyebrow .apex-icon {
width: 18px;
height: 18px;
font-size: 18px;
}
.mega-menu__feature {
grid-row: 1 / 3;
min-width: 0;
border-right: 1px solid rgba(255, 255, 255, 0.12);
padding-right: clamp(28px, 3vw, 52px);
}
.mega-menu__feature-image {
aspect-ratio: 4 / 3;
display: block;
overflow: hidden;
margin-bottom: 20px;
background: #0b1a2c;
}
.mega-menu__feature-image img {
width: 100%;
height: 100%;
display: block;
object-fit: cover;
filter: saturate(0.7);
transition:
transform var(--motion-slow) cubic-bezier(0.22, 0.8, 0.25, 1),
filter var(--motion-standard) var(--ease-state);
}
.mega-menu__feature-image:hover img,
.mega-menu__feature-image:focus-visible img {
filter: saturate(1);
transform: scale(1.025);
}
.mega-menu__feature time {
display: block;
color: rgba(255, 255, 255, 0.48);
font-size: 12px;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.mega-menu__feature h2 {
margin: 9px 0 10px;
color: #fff;
font-size: clamp(22px, 2vw, 31px);
line-height: 1.12;
}
.mega-menu__feature h2 a {
color: inherit;
}
.mega-menu__feature p {
max-width: 420px;
color: rgba(255, 255, 255, 0.58);
font-size: 14px;
line-height: 1.6;
}
.mega-menu__primary {
min-width: 0;
border-right: 1px solid rgba(255, 255, 255, 0.12);
padding-right: clamp(28px, 3vw, 52px);
}
.mega-menu__search { display: flex; margin: 0 0 20px; }
.mega-menu__search input {
width: 100%; min-width: 0; border: 1px solid rgba(255, 255, 255, .3);
border-right: 0; background: rgba(255, 255, 255, .06); padding: .75rem;
color: #fff; font: inherit;
}
.mega-menu__search input::placeholder { color: rgba(255, 255, 255, .65); }
.mega-menu__search button {
border: 1px solid var(--apex-gold-light); background: var(--apex-gold);
padding: .75rem 1rem; color: var(--apex-navy); cursor: pointer;
}
.mega-nav-menu {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 4px clamp(18px, 2.2vw, 34px);
margin: 0;
padding: 0;
list-style: none;
}
.mega-nav-menu li {
min-width: 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.mega-nav-menu a {
display: block;
color: #fff;
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(24px, 1.9vw, 34px);
line-height: 1.08;
letter-spacing: -0.025em;
padding: 9px 0 11px;
transition:
color var(--motion-quick) var(--ease-state),
transform var(--motion-standard) var(--ease-state);
}
.mega-nav-menu a:hover,
.mega-nav-menu a:focus-visible,
.mega-nav-menu .current-menu-item > a {
color: var(--apex-gold-light);
transform: translateX(6px);
}
.mega-menu__practices {
min-width: 0;
}
.mega-menu__practices ul {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 6px 26px;
margin: 0;
padding: 0;
list-style: none;
}
.mega-menu__practices li {
border-bottom: 1px solid rgba(255, 255, 255, 0.11);
}
.mega-menu__practices li a {
display: block;
min-height: 46px;
padding: 11px 0;
color: rgba(255, 255, 255, 0.75);
font-size: 15px;
line-height: 1.35;
transition:
color var(--motion-quick) var(--ease-state),
border-color var(--motion-quick) var(--ease-state);
}
.mega-menu__practices li a:hover,
.mega-menu__practices li a:focus-visible {
color: var(--apex-gold-light);
}
.mega-menu__all {
display: inline-flex;
align-items: center;
gap: 9px;
margin-top: 24px;
border-bottom: 1px solid var(--apex-gold);
padding-bottom: 6px;
color: #fff;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.09em;
text-transform: uppercase;
}
.mega-menu__meta {
grid-column: 2 / 4;
display: grid;
grid-template-columns: minmax(220px, 0.7fr) minmax(420px, 1.3fr);
gap: clamp(32px, 5vw, 80px);
border-top: 1px solid rgba(255, 255, 255, 0.12);
padding-top: 26px;
}
.mega-menu__meta .mega-menu__eyebrow {
margin-bottom: 12px;
color: rgba(255, 255, 255, 0.72);
}
.mega-menu__follow > div:last-child,
.mega-menu__contact > div:last-child {
display: flex;
flex-wrap: wrap;
gap: 12px 24px;
}
.mega-menu__follow a,
.mega-menu__contact a {
color: rgba(255, 255, 255, 0.78);
}
.mega-menu__follow span[aria-disabled="true"] {
color: rgba(255, 255, 255, 0.28);
}
.mega-menu__follow a:hover,
.mega-menu__follow a:focus-visible,
.mega-menu__contact a:hover,
.mega-menu__contact a:focus-visible {
color: var(--apex-gold-light);
}
.mega-menu__contact {
margin: 0;
font-style: normal;
}
.mega-menu__contact span {
color: rgba(255, 255, 255, 0.64);
}
.mega-menu .mega-menu__feature h2 a,
.mega-menu .mega-nav-menu a,
.mega-menu .mega-menu__practices li a,
.mega-menu a.mega-menu__all,
.mega-menu .mega-menu__follow a,
.mega-menu .mega-menu__contact a {
color: #fff;
}
.mega-menu .mega-menu__feature h2 a:hover,
.mega-menu .mega-menu__feature h2 a:focus-visible,
.mega-menu .mega-nav-menu a:hover,
.mega-menu .mega-nav-menu a:focus-visible,
.mega-menu .mega-menu__practices li a:hover,
.mega-menu .mega-menu__practices li a:focus-visible,
.mega-menu a.mega-menu__all:hover,
.mega-menu a.mega-menu__all:focus-visible,
.mega-menu .mega-menu__follow a:hover,
.mega-menu .mega-menu__follow a:focus-visible,
.mega-menu .mega-menu__contact a:hover,
.mega-menu .mega-menu__contact a:focus-visible {
color: var(--apex-gold-light);
}
@media (max-width: 1050px) {
.mega-menu__content {
grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.28fr);
grid-template-rows: auto auto auto;
}
.mega-menu__feature {
grid-row: 1 / 3;
}
.mega-menu__primary {
grid-column: 2;
border-right: 0;
padding-right: 0;
}
.mega-menu__practices {
grid-column: 2;
margin-top: 44px;
}
.mega-menu__meta {
grid-column: 1 / 3;
grid-row: 3;
margin-top: 42px;
}
}
@media (max-width: 720px) {
.mega-menu__top {
position: sticky;
top: 0;
z-index: 4;
gap: 12px;
padding-inline: 20px;
background: var(--apex-navy);
}
.mega-menu__top .site-brand {
width: min(176px, calc(100% - 76px));
height: 64px;
padding: 0;
}
.mega-menu__top .site-logo-image {
width: auto;
height: 50px;
}
.menu-toggle--close {
position: fixed;
top: 13px;
right: 20px;
z-index: 6;
display: grid !important;
width: var(--control-height);
height: var(--control-height);
}
.mega-menu__content {
min-height: 0;
display: flex;
flex-direction: column;
padding-block: 38px 48px;
}
.mega-menu__primary {
order: 1;
border: 0;
}
.mega-nav-menu {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 4px 18px;
}
.mega-nav-menu a {
font-size: clamp(23px, 7.2vw, 30px);
}
.mega-menu__practices {
order: 2;
margin-top: 48px;
}
.mega-menu__practices ul {
grid-template-columns: 1fr;
}
.mega-menu__feature {
order: 3;
margin-top: 52px;
border: 0;
border-top: 1px solid rgba(255, 255, 255, 0.12);
padding: 42px 0 0;
}
.mega-menu__feature-image {
max-width: 520px;
}
.mega-menu__meta {
order: 4;
display: grid;
grid-template-columns: 1fr;
margin-top: 48px;
}
.mega-menu__contact > div:last-child {
display: grid;
gap: 12px;
}
}
.hero {
--hero-accent: #c9a227;
--hero-card-bg: rgba(11, 21, 38, 0.82);
--hero-card-line: rgba(201, 162, 39, 0.26);
min-height: calc(100svh - var(--apex-header-height));
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
background: var(--apex-navy);
}
.hero__content {
display: flex;
align-items: center;
padding: clamp(72px, 9vw, 112px) clamp(20px, 5vw, 64px)
clamp(64px, 8vw, 80px)
max(clamp(20px, 5vw, 64px), calc((100vw - var(--apex-shell)) / 2));
}
.hero__inner {
max-width: 580px;
}
.hero__rule {
display: block;
width: 62px;
height: 2px;
margin: 0 0 26px;
background: var(--hero-accent);
}
.hero__eyebrow,
.section-eyebrow {
margin-bottom: 20px;
color: var(--apex-gold-light);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
}
.hero h1 {
margin: 0 0 26px;
color: #fff;
font-size: clamp(34px, 3.9vw, 54px);
font-weight: 500;
line-height: 1.13;
letter-spacing: -0.022em;
text-wrap: balance;
}
.hero__intro {
color: rgba(255, 255, 255, 0.62);
font-size: clamp(15px, 1.1vw, 17px);
line-height: 1.85;
}
.hero__intro p:last-child {
margin-bottom: 0;
}
.hero__actions {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 14px 28px;
margin-top: 36px;
}
.hero__actions .button {
gap: 12px;
border-color: var(--hero-accent);
border-radius: 1px;
padding: 13px 26px;
background: transparent;
color: var(--hero-accent);
font-size: 14px;
font-weight: 600;
letter-spacing: 0.01em;
}
.hero__actions .button .apex-icon {
transition: transform var(--motion-quick, 0.18s) var(--ease-state, ease);
}
.hero__actions .button:hover,
.hero__actions .button:focus-visible {
background: var(--hero-accent);
color: var(--apex-navy);
}
.hero__actions .button:hover .apex-icon {
transform: translateX(3px);
}
.hero__link {
border-bottom: 1px solid var(--hero-accent);
padding-bottom: 3px;
color: var(--hero-accent);
font-size: 14px;
font-weight: 600;
}
.hero__link:hover,
.hero__link:focus-visible {
color: #fff;
border-bottom-color: #fff;
}
.hero__media {
position: relative;
min-height: 420px;
background-color: #050b16;
background-image:
linear-gradient(rgba(201, 162, 39, 0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(201, 162, 39, 0.05) 1px, transparent 1px),
radial-gradient(
circle at 32% 44%,
transparent 0 128px,
rgba(201, 162, 39, 0.09) 128px 129px,
transparent 129px 188px,
rgba(201, 162, 39, 0.06) 188px 189px,
transparent 189px
),
radial-gradient(circle at 60% 22%, rgba(201, 162, 39, 0.11), transparent 62%);
background-size: 48px 48px, 48px 48px, cover, cover;
overflow: hidden;
}
.hero__media img {
width: 100%;
height: 100%;
object-fit: cover;
}
.hero__cards {
position: absolute;
right: clamp(16px, 2.4vw, 34px);
top: 50%;
transform: translateY(-50%);
z-index: 2;
display: flex;
flex-direction: column;
gap: 14px;
width: min(232px, 42%);
margin: 0;
padding: 0;
list-style: none;
}
.hero__card-face {
position: relative;
display: flex;
align-items: flex-start;
gap: 11px;
border: 1px solid var(--hero-card-line);
border-radius: 3px;
padding: 12px 14px;
background: var(--hero-card-bg);
-webkit-backdrop-filter: blur(6px);
backdrop-filter: blur(6px);
color: inherit;
transition:
border-color var(--motion-quick, 0.18s) var(--ease-state, ease),
background-color var(--motion-quick, 0.18s) var(--ease-state, ease);
}
.hero__card-face::before {
content: "";
position: absolute;
top: 50%;
right: 100%;
width: clamp(14px, 2vw, 30px);
height: 1px;
background: linear-gradient(
to left,
var(--hero-card-line),
rgba(201, 162, 39, 0)
);
}
a.hero__card-face:hover,
a.hero__card-face:focus-visible {
border-color: rgba(201, 162, 39, 0.55);
background: rgba(14, 26, 46, 0.92);
}
.hero__card-icon {
flex: none;
color: var(--hero-accent);
line-height: 0;
padding-top: 1px;
}
.hero__card-body {
display: block;
min-width: 0;
}
.hero__card-label {
display: block;
color: var(--hero-accent);
font-size: 10.5px;
font-weight: 700;
letter-spacing: 0.13em;
text-transform: uppercase;
}
.hero__card-text {
display: block;
margin-top: 3px;
color: rgba(255, 255, 255, 0.55);
font-size: 11.5px;
line-height: 1.5;
}
@media (prefers-reduced-motion: reduce) {
.hero__actions .button .apex-icon,
.hero__card-face {
transition: none;
}
}
.media-empty {
width: 100%;
height: 100%;
min-height: inherit;
display: grid;
place-items: center;
padding: 32px;
color: #70757a;
text-align: center;
}
.media-empty--dark {
background: #101a28;
color: rgba(255, 255, 255, 0.55);
}
.stats-band {
background: var(--apex-navy);
padding-block: var(--section-compact);
}
.stats-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: var(--grid-gap);
}
.stat {
border-left: 1px solid rgba(255, 255, 255, 0.15);
padding-left: 24px;
}
.stat strong {
display: block;
margin-bottom: 6px;
color: #fff;
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(28px, 3vw, 36px);
line-height: 1.25;
}
.stat span {
color: rgba(255, 255, 255, 0.64);
font-size: 14px;
}
.section {
padding: var(--section-standard) 0;
}
.section--alt {
background: var(--apex-alt);
}
.section--navy {
background: var(--apex-navy);
color: rgba(255, 255, 255, 0.72);
}
.section--navy h2 {
color: #fff;
}
.section-heading {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
justify-content: space-between;
gap: var(--space-6);
margin-bottom: var(--space-12);
}
.section-heading__copy {
max-width: 680px;
}
.section-eyebrow {
color: var(--apex-gold-ink);
margin-bottom: var(--space-4);
}
.hero .section-eyebrow,
.page-hero .section-eyebrow,
.source-hero .section-eyebrow,
.source-cta .section-eyebrow,
.article-header .section-eyebrow,
.detail-header .section-eyebrow,
.job-header .section-eyebrow,
.section--navy .section-eyebrow,
.stats-band .section-eyebrow,
.site-footer .section-eyebrow {
color: var(--apex-gold-light);
}
.section-title {
margin: 0 0 var(--space-4);
font-size: clamp(30px, 4vw, 44px);
letter-spacing: -0.01em;
}
.section-heading p {
margin: 0;
font-size: 17px;
}
.text-link {
font-weight: 700;
white-space: nowrap;
}
.cards {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: var(--grid-gap);
}
.card {
min-width: 0;
display: flex;
flex-direction: column;
color: inherit;
}
.card--panel {
background: var(--apex-card);
border-radius: var(--apex-radius);
padding: var(--card-padding);
box-shadow: var(--shadow-elevation-1);
}
.card:hover {
color: inherit;
}
.card--panel:hover {
box-shadow: var(--apex-shadow);
}
.card__media {
aspect-ratio: 16 / 10;
overflow: hidden;
border-radius: var(--apex-radius);
margin-bottom: var(--space-6);
background: #e9e8e4;
}
.card__media--profile {
aspect-ratio: 4 / 5;
}
.card__media img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform var(--motion-standard) var(--ease-state);
}
.card:hover .card__media img {
transform: scale(1.02);
}
.card__eyebrow {
color: var(--apex-gold-ink);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.card h2,
.card h3 {
margin: var(--space-2) 0 var(--space-3);
font-size: 22px;
}
.card p {
margin-bottom: var(--space-6);
font-size: 15px;
}
.card__footer {
margin-top: auto;
color: var(--apex-gold-ink);
font-size: 14px;
font-weight: 700;
}
.split {
display: grid;
grid-template-columns: minmax(280px, 1fr) minmax(320px, 1.1fr);
gap: var(--split-gap);
align-items: center;
}
.split--align-top {
align-items: start;
}
.split--no-media {
grid-template-columns: minmax(0, 1fr);
max-width: 640px;
}
.split__media {
aspect-ratio: 4 / 5;
overflow: hidden;
border-radius: var(--apex-radius);
background: #e9e8e4;
box-shadow: var(--shadow-elevation-1);
}
.split__media img {
width: 100%;
height: 100%;
object-fit: cover;
}
.split__copy .button {
margin-top: var(--space-4);
}
.source-photo {
position: relative;
}
.source-photo__caption {
position: absolute;
left: 0;
right: 0;
bottom: 0;
margin: 0;
padding: 40px 22px 20px;
background: linear-gradient(0deg, rgba(0, 6, 19, 0.78) 0%, rgba(0, 6, 19, 0) 100%);
color: #fff;
font-family: var(--font-serif, Georgia, serif);
font-style: italic;
font-size: 17px;
line-height: 1.4;
}
.split__media--short {
aspect-ratio: 4 / 3;
}
.split--reverse .split__copy {
order: 1;
}
.split--reverse .split__media {
order: 2;
}
@media (max-width: 720px) {
.split--reverse .split__copy,
.split--reverse .split__media {
order: initial;
}
}
.page-hero {
padding-block: var(--section-large) var(--section-standard);
background: var(--apex-navy);
color: rgba(255, 255, 255, 0.75);
}
.page-hero h1 {
max-width: 900px;
margin: 0 0 20px;
color: #fff;
font-size: clamp(40px, 6vw, 68px);
}
.page-hero p {
max-width: 720px;
margin: 0;
font-size: 18px;
}
.page-hero__grid {
display: grid;
grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
gap: var(--split-gap);
align-items: center;
}
.page-hero__media {
overflow: hidden;
border-radius: var(--apex-radius-lg, var(--apex-radius));
aspect-ratio: 4 / 3;
}
.page-hero__media img {
width: 100%;
height: 100%;
object-fit: cover;
}
.content-layout {
display: grid;
grid-template-columns: minmax(0, 1fr) 300px;
gap: var(--split-gap);
align-items: start;
}
.entry-content {
max-width: 68ch;
font-size: 17px;
}
.entry-content--wide,
.hero .entry-content,
.profile-copy .entry-content {
max-width: none;
}
.entry-content > *:first-child {
margin-top: 0;
}
.entry-content h2 {
margin-top: 2.4em;
font-size: 32px;
}
.entry-content h3 {
margin-top: 2em;
font-size: 24px;
}
.entry-content img {
border-radius: var(--apex-radius);
}
.single-content__featured-media {
aspect-ratio: 16 / 9;
margin-bottom: var(--space-10);
}
.entry-meta {
margin-bottom: 22px;
color: var(--apex-gold-ink);
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.sidebar-card {
padding: 28px;
border-top: 3px solid var(--apex-gold);
background: var(--apex-card);
box-shadow: var(--apex-shadow);
}
.sidebar-card h2 {
margin-top: 0;
font-size: 22px;
}
.detail-list {
margin: 0;
padding: 0;
list-style: none;
}
.detail-list li {
padding: 10px 0;
border-bottom: 1px solid var(--apex-border);
}
.detail-list strong {
display: block;
color: var(--apex-heading);
font-size: 13px;
}
.related-section {
border-top: 1px solid var(--apex-border);
}
.pagination {
margin-top: 48px;
}
.pagination .nav-links {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.pagination a,
.pagination span {
min-width: 42px;
min-height: 42px;
display: grid;
place-items: center;
border: 1px solid var(--apex-border);
padding: 6px 12px;
}
.pagination .current {
background: var(--apex-navy);
color: #fff;
}
.empty-state {
padding: 48px;
border: 1px dashed var(--apex-border);
color: var(--apex-muted);
text-align: center;
}
.practice-scroll {
position: relative;
min-height: auto;
background: #f5f3ee;
color: var(--apex-navy);
}
.practice-scroll.is-enhanced {
height: var(--practice-scroll-height);
}
.practice-scroll__sticky {
padding: clamp(54px, 6vh, 76px) 0;
}
.practice-scroll.is-enhanced .practice-scroll__sticky {
position: sticky;
top: var(--practice-sticky-top, 0px);
min-height: 100svh;
height: calc(100svh - var(--practice-sticky-top, 0px));
overflow: hidden;
}
.practice-scroll__shell {
height: 100%;
display: grid;
grid-template-rows: auto minmax(0, 1fr);
position: relative;
}
.practice-scroll__heading {
display: grid;
grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.65fr);
align-items: center;
gap: clamp(40px, 8vw, 120px);
margin-bottom: clamp(30px, 4vh, 52px);
}
.practice-scroll__heading h2 {
max-width: 700px;
margin: 10px 0 0;
color: var(--apex-heading);
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(34px, 3.2vw, 54px);
line-height: 1.05;
}
.practice-scroll__heading p {
max-width: 560px;
margin: 0;
color: #59636f;
font-size: 17px;
line-height: 1.7;
}
.practice-scroll__stage {
position: relative;
}
.practice-scroll.is-enhanced .practice-scroll__stage {
min-height: 440px;
}
.practice-scroll__item {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(360px, 0.86fr);
align-items: start;
gap: clamp(64px, 7.3vw, 100px);
margin-bottom: clamp(56px, 7vh, 88px);
}
.practice-scroll__item:last-child {
margin-bottom: 0;
}
.practice-scroll.is-enhanced .practice-scroll__item {
position: absolute;
inset: 0;
margin-bottom: 0;
pointer-events: none;
}
.practice-scroll__visual {
grid-column: 1;
grid-row: 1;
width: min(87%, 540px);
aspect-ratio: 4 / 3;
margin: 0 auto;
overflow: hidden;
background: #061426;
box-shadow: 0 28px 70px rgba(0, 18, 42, 0.18);
transform-origin: center;
transition:
transform var(--motion-cinematic) var(--ease-premium),
opacity var(--motion-standard) var(--ease-state);
}
.practice-scroll__visual img {
width: 100%;
height: 100%;
display: block;
object-fit: cover;
}
.practice-scroll__image-placeholder {
width: 100%;
height: 100%;
display: grid;
place-items: center;
background: #061426;
color: rgba(255, 255, 255, 0.16);
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(90px, 10vw, 160px);
}
.practice-scroll__content {
grid-column: 2;
grid-row: 1;
max-width: 610px;
padding: clamp(34px, 3.4vw, 46px) 76px 0 0;
}
.practice-scroll.is-enhanced .practice-scroll__content {
opacity: 0;
transform: translateY(28px);
transition:
opacity var(--motion-standard) var(--ease-state),
transform var(--motion-cinematic) var(--ease-premium);
}
.practice-scroll__content h2 {
max-width: 580px;
margin: 18px 0 24px;
color: var(--apex-heading);
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(38px, 4.2vw, 68px);
line-height: 0.98;
}
.practice-scroll__content p {
max-width: 560px;
margin: 0 0 32px;
color: #59636f;
font-size: clamp(16px, 1.25vw, 19px);
line-height: 1.75;
}
.practice-scroll__number {
color: var(--apex-gold-ink);
font-size: 14px;
font-weight: 700;
letter-spacing: 0.18em;
}
.practice-scroll__number span {
color: #5d6879;
}
.practice-scroll__cta,
.practice-scroll__all {
display: inline-flex;
align-items: center;
gap: 12px;
color: var(--apex-heading);
font-size: 13px;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.practice-scroll__cta {
padding-bottom: 7px;
border-bottom: 1px solid var(--apex-gold);
}
.practice-scroll.is-enhanced .practice-scroll__item.is-active {
z-index: 4;
pointer-events: auto;
}
.practice-scroll.is-enhanced .practice-scroll__item.is-active .practice-scroll__visual {
opacity: 1;
transform: translate3d(0, 0, 0) scale(1) rotate(0);
}
.practice-scroll.is-enhanced .practice-scroll__item.is-active .practice-scroll__content {
opacity: 1;
transform: translateY(0);
}
.practice-scroll.is-enhanced .practice-scroll__item.is-prev {
z-index: 3;
}
.practice-scroll.is-enhanced .practice-scroll__item.is-prev .practice-scroll__visual {
opacity: 0.52;
transform: translate3d(-9%, 8%, 0) scale(0.88) rotate(-4deg);
}
.practice-scroll.is-enhanced .practice-scroll__item.is-next {
z-index: 2;
}
.practice-scroll.is-enhanced .practice-scroll__item.is-next .practice-scroll__visual {
opacity: 0.46;
transform: translate3d(10%, -7%, 0) scale(0.84) rotate(5deg);
}
.practice-scroll.is-enhanced .practice-scroll__item.is-far-before .practice-scroll__visual {
opacity: 0;
transform: translate3d(-14%, 14%, 0) scale(0.76) rotate(-7deg);
}
.practice-scroll.is-enhanced .practice-scroll__item.is-far-after .practice-scroll__visual {
opacity: 0;
transform: translate3d(14%, -14%, 0) scale(0.76) rotate(7deg);
}
.practice-scroll__progress {
display: none;
}
.practice-scroll.is-enhanced .practice-scroll__progress {
position: absolute;
z-index: 8;
right: 0;
top: clamp(210px, 30vh, 280px);
display: grid;
gap: 8px;
}
.practice-scroll__progress::before {
content: "";
position: absolute;
top: 13px;
bottom: 13px;
left: 4px;
width: 1px;
background: rgba(0, 31, 63, 0.16);
}
.practice-scroll__progress button {
position: relative;
min-width: 48px;
min-height: var(--control-height-compact);
display: flex;
align-items: center;
gap: 10px;
border: 0;
background: transparent;
color: #5c656e;
padding: 6px 0 6px 20px;
font: inherit;
font-size: 12px;
letter-spacing: 0.12em;
cursor: pointer;
transition:
color var(--motion-quick) var(--ease-state),
transform var(--motion-quick) var(--ease-state);
}
.practice-scroll__progress button::before {
content: "";
position: absolute;
left: 0;
width: 10px;
height: 10px;
border: 1px solid #6b7480;
border-radius: 50%;
background: #f5f3ee;
}
.practice-scroll__progress button.is-active {
color: var(--apex-heading);
transform: translateX(-3px);
}
.practice-scroll__progress button.is-active::before {
border-color: var(--apex-gold-ink);
background: var(--apex-gold);
}
.practice-scroll__all {
position: absolute;
right: 0;
top: 4px;
}
@media (max-width: 900px) {
.practice-scroll,
.practice-scroll.is-enhanced {
height: auto !important;
}
.practice-scroll__sticky,
.practice-scroll.is-enhanced .practice-scroll__sticky {
position: static;
height: auto;
min-height: 0;
padding: 72px 0;
overflow: visible;
}
.practice-scroll__shell {
display: block;
}
.practice-scroll__heading {
display: block;
margin-bottom: 42px;
}
.practice-scroll__heading p {
margin-top: 18px;
}
.practice-scroll__stage {
min-height: 0;
}
.practice-scroll__item,
.practice-scroll.is-enhanced .practice-scroll__item {
position: static;
display: grid;
grid-template-columns: 1fr;
gap: 24px;
margin-bottom: 64px;
opacity: 1;
pointer-events: auto;
}
.practice-scroll__visual,
.practice-scroll.is-enhanced .practice-scroll__item.is-active .practice-scroll__visual,
.practice-scroll.is-enhanced .practice-scroll__item.is-prev .practice-scroll__visual,
.practice-scroll.is-enhanced .practice-scroll__item.is-next .practice-scroll__visual,
.practice-scroll.is-enhanced .practice-scroll__item.is-far-before .practice-scroll__visual,
.practice-scroll.is-enhanced .practice-scroll__item.is-far-after .practice-scroll__visual {
grid-column: 1;
grid-row: auto;
width: 100%;
aspect-ratio: 4 / 3;
opacity: 1;
filter: none;
transform: none;
}
.practice-scroll__content,
.practice-scroll.is-enhanced .practice-scroll__content,
.practice-scroll.is-enhanced .practice-scroll__item.is-active .practice-scroll__content {
grid-column: 1;
grid-row: auto;
max-width: none;
padding: 0;
opacity: 1;
transform: none;
}
.practice-scroll__content h2 {
margin-block: 13px 18px;
font-size: clamp(34px, 11vw, 48px);
}
.practice-scroll__content p {
margin-bottom: 24px;
}
.practice-scroll__progress {
display: none;
}
.practice-scroll__all {
position: static;
margin-top: -22px;
}
}
@media (prefers-reduced-motion: reduce) {
.practice-scroll__visual,
.practice-scroll__content,
.practice-scroll__progress button {
transition: none;
}
.practice-scroll__item.is-prev .practice-scroll__visual,
.practice-scroll__item.is-next .practice-scroll__visual {
opacity: 0;
transform: none;
}
}
.purpose-section {
padding-block: var(--section-large);
background: var(--apex-navy);
color: #fff;
}
.purpose-section__grid {
display: grid;
grid-template-columns: minmax(0, 1.15fr) minmax(260px, .8fr) minmax(240px, .65fr);
gap: var(--split-gap);
align-items: start;
}
.purpose-section .section-eyebrow,
.purpose-section__label { color: var(--apex-gold-ink); }
.purpose-section__lead h2 {
max-width: 720px;
margin: var(--space-3) 0 var(--space-6);
color: #fff;
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(38px, 4.2vw, 68px);
line-height: 1.02;
}
.purpose-section__lead .rich-text,
.purpose-section__impact .rich-text { color: rgba(255,255,255,.76); font-size: 17px; line-height: 1.75; }
.purpose-section__label { margin: 0 0 var(--space-6); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.purpose-section__values article { padding: var(--space-6) 0; border-top: 1px solid rgba(255,255,255,.16); }
.purpose-section__values article:first-of-type { padding-top: 0; border-top: 0; }
.purpose-section__values h3 { margin: 0 0 8px; color: #fff; font-family: var(--font-serif, Georgia, serif); font-size: 24px; }
.purpose-section__values p { margin: 0; color: rgba(255,255,255,.68); line-height: 1.6; }
.purpose-section__impact { padding: var(--card-padding); border: 1px solid rgba(201,164,92,.48); background: rgba(255,255,255,.04); }
.contact-grid {
display: grid;
grid-template-columns: minmax(280px, 0.8fr) minmax(460px, 1.2fr);
gap: var(--split-gap);
align-items: start;
}
.contact-details {
margin: var(--space-8) 0 0;
padding: 0;
list-style: none;
}
.contact-details li {
padding: var(--space-4) 0;
border-bottom: 1px solid var(--apex-border);
}
.contact-details strong {
display: block;
margin-bottom: 4px;
color: var(--apex-heading);
font-size: 13px;
text-transform: uppercase;
letter-spacing: 0.08em;
}
.contact-panel {
padding: var(--card-padding);
background: var(--apex-card);
box-shadow: var(--apex-shadow);
}
.contact-panel h2 {
margin-top: 0;
font-size: 32px;
}
.contact-form {
display: grid;
gap: var(--space-6);
}
.contact-form label {
display: grid;
gap: var(--space-2);
color: var(--apex-heading);
font-size: 14px;
font-weight: 700;
}
.contact-form input,
.contact-form textarea,
.contact-form select {
width: 100%;
min-height: var(--control-height);
border: 1px solid var(--apex-border);
border-radius: var(--control-radius);
background: #fff;
color: var(--apex-text);
padding: var(--space-3) var(--space-4);
}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus {
outline: 2px solid var(--apex-gold);
outline-offset: 2px;
}
.form-row {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
}
.form-honeypot {
position: absolute;
left: -9999px;
}
.form-notice {
margin-bottom: 20px;
border-left: 4px solid;
padding: 12px 14px;
}
.form-notice--success {
border-color: #277947;
background: #edf8f0;
}
.form-notice--error {
border-color: #a32929;
background: #fff1f1;
}
.site-footer {
background: var(--apex-navy);
color: rgba(255, 255, 255, 0.72);
font-family: var(--font-sans, Arial, sans-serif);
font-size: 14px;
line-height: 1.6;
}
.site-footer__artwork {
position: relative;
height: clamp(112px, 13.35vw, 256px);
margin-top: var(--section-compact);
overflow: hidden;
background: #fff;
line-height: 0;
}
.site-footer__artwork img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center bottom;
}
.site-footer__body {
position: relative;
padding: 0 0 var(--space-6);
background: var(--apex-navy);
}
.footer-columns {
display: grid;
grid-template-columns:
minmax(230px, 1.2fr)
minmax(160px, 1fr)
minmax(140px, 0.85fr)
minmax(215px, 1.1fr);
gap: var(--space-8) clamp(28px, 3.6vw, 62px);
align-items: start;
padding: clamp(46px, 5vw, 76px) 0 var(--space-8);
}
.footer-brand {
max-width: 360px;
}
.footer-brand p {
margin: 0;
color: rgba(255, 255, 255, 0.72);
}
.footer-col {
min-height: 100%;
border-left: 1px solid rgba(255, 255, 255, 0.16);
padding-left: clamp(24px, 3vw, 46px);
}
.footer-col ul {
margin: 0;
padding: 0;
list-style: none;
}
.site-footer .footer-col li {
margin: 0;
}
.site-footer .footer-col a,
.site-footer .footer-contact__line,
.site-footer a.footer-bottom__privacy,
.site-footer .footer-social a {
display: block;
padding: 2px 0;
color: #fff;
}
.footer-col .footer-heading {
margin-bottom: 18px;
color: var(--apex-gold-light);
font-size: 12px;
font-weight: 700;
letter-spacing: .18em;
text-transform: uppercase;
}
.footer-contact address {
margin: 0 0 14px;
color: rgba(255, 255, 255, 0.72);
font-style: normal;
}
.footer-social a {
display: inline-flex;
min-height: var(--control-height-compact);
align-items: center;
}
.footer-social {
display: flex;
flex-wrap: wrap;
gap: 4px 22px;
margin-top: 20px;
}
.footer-social a:not(:last-child)::after {
margin-left: 22px;
color: rgba(255, 255, 255, 0.26);
content: "|";
}
.footer-social a {
border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.footer-col a:hover,
.footer-col a:focus-visible,
.footer-contact__line:hover,
.footer-contact__line:focus-visible,
.footer-bottom__privacy:hover,
.footer-bottom__privacy:focus-visible,
.footer-social a:hover,
.footer-social a:focus-visible {
color: var(--apex-gold-light);
}
.footer-logo {
display: inline-flex;
width: min(100%, 330px);
margin-bottom: 28px;
background: #fff;
border-radius: 3px;
padding: 10px 14px;
}
.footer-logo img {
display: block;
width: 100%;
height: auto;
}
.site-footer a.footer-col__all,
.site-footer a.footer-contact__location {
display: inline-flex;
gap: 12px;
align-items: center;
margin-top: 20px;
color: var(--apex-gold-light);
}
.site-footer ul {
margin: 0;
padding: 0;
list-style: none;
}
.site-footer li {
margin-bottom: 9px;
}
.site-footer a {
display: block;
color: rgba(255, 255, 255, 0.76);
}
.site-footer a:hover {
color: var(--apex-gold-light);
}
.site-footer address {
margin-bottom: 14px;
color: rgba(255, 255, 255, 0.72);
font-style: normal;
}
.social-links {
display: flex;
flex-wrap: wrap;
gap: 12px;
}
.social-links a {
border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}
.footer-bottom {
border-top: 1px solid rgba(216, 188, 115, 0.3);
padding-top: 24px;
text-align: left;
color: rgba(255, 255, 255, 0.58);
}
@media (max-width: 1200px) {
:root {
--apex-header-height: 82px;
}
.site-header {
min-height: var(--apex-header-height);
}
.site-header__inner {
display: flex;
align-items: center;
justify-content: space-between;
}
.site-brand {
width: min(420px, calc(100% - 140px));
height: 72px;
justify-content: flex-start;
padding: 7px 18px;
}
.site-logo-image {
width: auto;
max-width: 100%;
height: 58px;
}
.menu-toggle {
display: grid;
}
.site-header {
background: var(--apex-navy);
color: #fff;
}
.cards {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.stats-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 1099px) {
.hero {
min-height: 0;
grid-template-columns: 1fr;
}
.hero__content {
min-height: 0;
padding-block: clamp(56px, 9vw, 88px);
padding-inline: clamp(20px, 6vw, 64px);
}
.hero__media {
min-height: 460px;
}
.hero__cards {
position: static;
transform: none;
flex-direction: row;
flex-wrap: wrap;
width: auto;
padding: 0 clamp(20px, 6vw, 64px) clamp(28px, 5vw, 40px);
}
.hero__cards li {
flex: 1 1 190px;
}
.hero__card-face::before {
display: none;
}
}
@media (min-width: 1100px) {
.menu-toggle {
width: 40px;
height: 40px;
flex-basis: 40px;
}
.menu-toggle .apex-icon {
width: 26px;
height: 26px;
font-size: 26px;
}
.hero__content {
align-items: flex-start;
justify-content: flex-start;
padding: clamp(112px, 15vh, 132px) clamp(32px, 3.25vw, 46px) 64px
max(
calc(clamp(40px, 10vw, 128px) / 2),
calc((200% - var(--apex-shell)) / 2)
);
}
.hero__inner {
width: 100%;
max-width: 470px;
}
.hero__eyebrow {
margin-bottom: 16px;
font-size: 11px;
}
.hero h1 {
margin-bottom: 22px;
font-size: clamp(46px, 3.8vw, 54px);
line-height: 1.01;
}
.hero__intro {
max-width: 455px;
font-size: 16px;
line-height: 1.6;
}
.hero__actions {
gap: 18px;
margin-top: 28px;
}
.hero__actions .button {
min-height: 42px;
padding: 10px 18px;
font-size: 12px;
}
.hero__link {
font-size: 12px;
}
}
@media (max-width: 720px) {
:root {
--shell-inset: max(var(--gutter-mobile), calc((100vw - var(--apex-shell)) / 2));
}
.site-shell {
width: min(calc(100% - (2 * var(--gutter-mobile))), var(--apex-shell));
}
.section {
padding-block: var(--section-standard-mobile);
}
:root,
.home {
--apex-header-height: 72px;
}
.site-brand {
height: 64px;
padding-inline: 12px;
}
.site-logo-image {
height: 50px;
}
.hero__media {
min-height: 340px;
}
.hero__cards {
flex-direction: column;
}
.hero h1 {
font-size: clamp(38px, 12vw, 54px);
}
.stats-grid,
.cards,
.split,
.content-layout,
.contact-grid,
.form-row,
.page-hero__grid {
grid-template-columns: 1fr;
}
.stats-grid,
.cards {
gap: var(--grid-gap-mobile);
}
.split,
.content-layout {
gap: var(--split-gap-mobile);
}
.section-heading {
margin-bottom: var(--space-8);
}
.page-hero {
padding-block: var(--section-large-mobile) var(--section-standard-mobile);
}
.stats-band,
.purpose-section {
padding-block: var(--section-compact-mobile);
}
.contact-panel,
.purpose-section__impact {
padding: var(--card-padding-mobile);
}
.contact-grid,
.page-hero__grid {
gap: var(--split-gap-mobile);
}
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
scroll-behavior: auto !important;
transition-duration: 0.01ms !important;
animation-duration: 0.01ms !important;
}
}
.source-hero {
padding: clamp(140px, 16vw, 180px) 0 clamp(64px, 8vw, 88px);
background: var(--apex-navy);
color: rgba(255, 255, 255, 0.78);
}
.source-hero h1 {
max-width: 820px;
margin: 0 0 24px;
color: #fff;
font-size: clamp(36px, 5vw, 56px);
letter-spacing: -0.02em;
}
.source-hero p {
max-width: 680px;
margin: 0;
font-size: clamp(16px, 1.4vw, 19px);
}
.source-hero--about.source-hero--media {
position: relative;
overflow: hidden;
background: var(--apex-navy);
}
.source-hero--about > .source-hero__media {
position: absolute;
z-index: 0;
inset: 0;
}
.source-hero__media .source-hero__image {
width: 100%;
height: 100%;
object-fit: cover;
}
.source-hero__scrim {
position: absolute;
inset: 0;
background: linear-gradient(100deg, rgba(0, 6, 19, 0.94) 0%, rgba(0, 6, 19, 0.82) 38%, rgba(0, 6, 19, 0.35) 72%, rgba(0, 6, 19, 0.55) 100%);
}
.source-hero--about .source-hero__inner {
position: relative;
z-index: 1;
}
.source-hero--media.source-hero--about .source-hero__inner {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: end;
gap: 32px;
}
.source-hero__tagline {
display: flex;
align-items: center;
gap: 14px;
margin: 28px 0 0;
color: var(--apex-gold-light);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.source-hero__tagline-dash {
width: 28px;
height: 1px;
background: var(--apex-gold-light);
}
.source-hero__side {
display: flex;
flex-direction: column;
gap: 6px;
padding-left: 28px;
border-left: 1px solid rgba(216, 188, 115, 0.5);
font-family: var(--font-serif, Georgia, serif);
font-style: italic;
font-size: clamp(22px, 2.4vw, 32px);
line-height: 1.25;
color: rgba(255, 255, 255, 0.92);
white-space: nowrap;
}
@media (max-width: 900px) {
.source-hero--media.source-hero--about .source-hero__inner {
grid-template-columns: minmax(0, 1fr);
}
.source-hero__side {
display: none;
}
}
.source-section {
padding: clamp(64px, 10vw, 120px) 0;
}
.source-section:has(+ .source-section),
.detail-main:has(+ .source-section),
.article-main:has(+ .source-section) {
padding-bottom: clamp(28px, 3.4vw, 48px);
}
.source-section + .source-section,
.detail-main + .source-section,
.article-main + .source-section {
padding-top: clamp(32px, 3.8vw, 56px);
}
.source-section--alt {
background: var(--apex-alt);
}
.practice-archive .source-hero {
border-bottom: 1px solid rgba(216, 188, 115, 0.4);
}
.practice-collection {
background: #f5f3ee;
}
.practice-collection__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: clamp(28px, 3vw, 42px);
}
.practice-collection-card {
min-width: 0;
border: 1px solid rgba(0, 31, 63, 0.16);
background: #fff;
box-shadow: 0 14px 38px rgba(0, 18, 42, 0.055);
}
.practice-collection-card__link {
height: 100%;
display: flex;
flex-direction: column;
color: inherit;
}
.practice-collection-card__link:focus-visible {
outline: 2px solid var(--apex-gold);
outline-offset: 5px;
}
.practice-collection-card__media {
position: relative;
aspect-ratio: 4 / 3;
overflow: hidden;
background: #061426;
}
.practice-collection-card__media img {
width: 100%;
height: 100%;
object-fit: cover;
filter: saturate(0.78) contrast(1.03);
}
.practice-collection-card__placeholder {
width: 100%;
height: 100%;
display: grid;
place-items: center;
background: linear-gradient(145deg, #07182d, #0b2b48);
}
.practice-collection-card__placeholder::after {
content: "";
position: absolute;
inset: 18px;
border: 1px solid rgba(216, 188, 115, 0.2);
}
.practice-collection-card__placeholder span {
color: rgba(255, 255, 255, 0.13);
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(74px, 8vw, 118px);
line-height: 1;
}
.practice-collection-card__label {
position: absolute;
z-index: 2;
left: 24px;
bottom: 22px;
padding: 7px 10px;
background: rgba(2, 13, 29, 0.9);
color: var(--apex-gold-light);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.13em;
line-height: 1;
text-transform: uppercase;
}
.practice-collection-card__body {
flex: 1;
display: flex;
flex-direction: column;
padding: clamp(26px, 2.4vw, 36px);
}
.practice-collection-card h2 {
margin: 0 0 16px;
color: var(--apex-heading);
font-size: clamp(25px, 2.25vw, 34px);
line-height: 1.08;
letter-spacing: -0.02em;
transition: color var(--motion-quick) var(--ease-state);
}
.practice-collection-card p {
margin: 0 0 30px;
color: #5d6874;
font-size: 15px;
line-height: 1.7;
}
.practice-collection-card__footer {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 24px;
margin-top: auto;
padding-top: 22px;
border-top: 1px solid rgba(0, 31, 63, 0.13);
}
.practice-collection-card__cta {
color: var(--apex-heading);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.09em;
text-transform: uppercase;
}
.practice-collection-card__cta span {
display: inline-block;
margin-left: 8px;
color: var(--apex-gold-ink);
transition: transform var(--motion-standard) var(--ease-state);
}
.practice-collection-card__number {
color: var(--apex-gold-ink);
font-family: var(--font-serif, Georgia, serif);
font-size: 18px;
line-height: 1;
}
@media (hover: hover) and (pointer: fine) {
.practice-collection-card:hover {
transform: translateY(-2px);
border-color: rgba(169, 133, 50, 0.62);
box-shadow: 0 24px 58px rgba(0, 18, 42, 0.11);
}
.practice-collection-card:hover .practice-collection-card__media img {
transform: scale(1.035);
}
.practice-collection-card:hover h2 {
color: #8a6818;
}
.practice-collection-card:hover .practice-collection-card__cta span {
transform: translateX(5px);
}
}
@media (max-width: 1099px) {
.practice-collection__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 680px) {
.practice-collection__grid {
grid-template-columns: 1fr;
gap: 28px;
}
.practice-collection-card__body {
padding: 26px 24px;
}
}
.industry-index {
padding: clamp(56px, 6vw, 92px) 0 clamp(64px, 7vw, 104px);
}
.industry-index__list {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: clamp(32px, 4.5vw, 80px);
margin: 0;
padding: 0;
list-style: none;
}
.industry-index__item {
position: relative;
border-bottom: 1px solid var(--apex-border);
}
.industry-index__item::after {
content: "";
position: absolute;
right: 0;
bottom: -1px;
left: 0;
height: 1px;
background: var(--apex-gold);
transform: scaleX(0);
transform-origin: left center;
transition: transform var(--motion-standard, 240ms) var(--ease-state, ease);
}
.industry-index__item:hover::after,
.industry-index__item:focus-within::after {
transform: scaleX(1);
}
.industry-index__link,
.industry-index__link:visited {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: start;
gap: clamp(14px, 1.5vw, 22px);
padding: clamp(20px, 2.1vw, 28px) 0;
color: var(--apex-heading);
text-decoration: none;
}
.industry-index__number {
padding-top: 0.35em;
color: var(--apex-gold-ink);
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(12px, 0.9vw, 14px);
font-variant-numeric: tabular-nums;
line-height: 1;
}
.industry-index__title {
display: block;
color: var(--apex-heading);
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(19px, 1.45vw, 23px);
line-height: 1.3;
transition: color var(--motion-quick, 140ms) var(--ease-state, ease);
}
.industry-index__link:hover .industry-index__title,
.industry-index__link:focus-visible .industry-index__title {
color: var(--apex-gold-ink);
}
.industry-index__summary {
display: block;
margin-top: 7px;
color: var(--apex-muted);
font-size: clamp(13.5px, 0.95vw, 15px);
line-height: 1.6;
}
.industry-index__arrow {
padding-top: 0.15em;
color: var(--apex-gold-ink);
font-size: 17px;
line-height: 1.3;
opacity: 0.45;
transition: opacity var(--motion-quick, 140ms) var(--ease-state, ease),
transform var(--motion-standard, 240ms) var(--ease-state, ease);
}
.industry-index__link:hover .industry-index__arrow,
.industry-index__link:focus-visible .industry-index__arrow {
opacity: 1;
transform: translateX(5px);
}
@media (max-width: 860px) {
.industry-index__list {
grid-template-columns: minmax(0, 1fr);
}
}
@media (prefers-reduced-motion: reduce) {
.industry-index__item::after,
.industry-index__arrow,
.industry-index__title {
transition: none;
}
.industry-index__link:hover .industry-index__arrow,
.industry-index__link:focus-visible .industry-index__arrow {
transform: none;
}
}
.source-photo {
min-height: 440px;
}
.source-cta {
padding: clamp(64px, 10vw, 120px) 0;
background: var(--apex-navy);
text-align: center;
}
.source-cta__inner {
max-width: 700px;
}
.source-cta h2 {
margin: 0 0 18px;
color: #fff;
font-size: clamp(26px, 3.4vw, 36px);
}
.source-cta p {
color: rgba(255, 255, 255, 0.72);
}
.source-cta .button {
margin-top: 12px;
}
.source-link {
color: var(--apex-gold-ink);
font-size: 14px;
font-weight: 700;
}
.breadcrumbs {
display: flex;
flex-wrap: wrap;
gap: 9px;
margin-bottom: 46px;
color: var(--apex-muted);
font-size: 13px;
}
.breadcrumbs a {
color: var(--apex-muted);
}
.source-hero .breadcrumbs,
.source-hero .breadcrumbs a,
.page-hero .breadcrumbs,
.page-hero .breadcrumbs a {
color: var(--apex-muted-on-dark);
}
.numbered-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 32px;
}
.numbered-card {
min-height: 330px;
display: flex;
flex-direction: column;
padding: 42px 38px;
border-radius: var(--apex-radius);
background: #fff;
box-shadow: 0 10px 40px rgba(0, 31, 63, 0.05);
color: inherit;
}
.numbered-card__number {
color: var(--apex-gold-ink);
font-family: var(--font-serif, Georgia, serif);
font-size: 16px;
}
.numbered-card h2 {
margin: 30px 0 16px;
font-size: 26px;
}
.numbered-card p {
font-size: 15px;
}
.numbered-card .source-link {
margin-top: auto;
}
.image-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 24px;
}
.image-grid--3col {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.image-card {
position: relative;
display: block;
min-height: 360px;
overflow: hidden;
border-radius: var(--apex-radius);
background: #d8d7d2;
color: #fff;
transition: transform var(--motion-standard) var(--ease-state);
}
.image-card:hover {
transform: translateY(-2px);
}
.image-card--no-media {
background: linear-gradient(160deg, #0b1c33, #001f3f);
}
.image-card__media,
.image-card__media img {
width: 100%;
height: 100%;
min-height: 360px;
object-fit: cover;
transition: transform var(--motion-cinematic) var(--ease-state);
}
.image-card:hover .image-card__media img {
transform: scale(1.035);
}
.image-card__overlay {
position: absolute;
inset: auto 0 0;
padding: 80px 24px 26px;
background: linear-gradient(180deg, rgba(0, 6, 19, 0) 0%, rgba(0, 6, 19, 0.82) 62%);
}
.image-card__overlay h2 {
margin: 0;
color: #fff;
font-size: 21px;
}
.image-card__overlay p {
margin: 8px 0 0;
color: rgba(255, 255, 255, 0.78);
font-size: 14px;
line-height: 1.5;
}
.image-card__overlay > span {
position: absolute;
right: 24px;
bottom: 26px;
color: rgba(255, 255, 255, 0.6);
font-family: var(--font-serif, Georgia, serif);
}
.team-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 32px;
}
.team-card {
color: inherit;
}
.team-card__media {
aspect-ratio: 4/5;
overflow: hidden;
border-radius: var(--apex-radius);
background: #deddd9;
}
.team-card__media img {
width: 100%;
height: 100%;
object-fit: cover;
}
.team-card__body {
padding: 22px 4px 0;
}
.team-card h2,
.team-card h3 {
margin: 0 0 5px;
font-size: 24px;
}
.team-card__title {
color: var(--apex-gold-ink);
font-size: 13px;
font-weight: 700;
}
.team-card__expertise {
margin-top: 9px;
font-size: 13px;
}
.team-card p {
margin-top: 15px;
font-size: 14px;
}
.team-group {
text-align: center;
}
.team-group + .team-group {
margin-top: clamp(48px, 6vw, 80px);
}
.team-grid--centered {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 32px;
}
.team-grid--centered .team-card {
flex: 0 1 calc((100% - 96px) / 4);
min-width: 0;
}
@media (max-width: 1050px) {
.team-grid--centered .team-card {
flex-basis: calc((100% - 32px) / 2);
}
}
@media (max-width: 560px) {
.team-grid--centered .team-card {
flex-basis: 100%;
max-width: 360px;
}
}
.filter-bar {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-bottom: 46px;
}
.filter-pill {
border: 1px solid var(--apex-border);
border-radius: 999px;
background: transparent;
padding: 9px 18px;
color: var(--apex-heading);
cursor: pointer;
}
.filter-pill.is-active,
.filter-pill:hover {
border-color: var(--apex-navy);
background: var(--apex-navy);
color: #fff;
}
.editorial-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 48px 32px;
}
.editorial-card[hidden] {
display: none;
}
.editorial-card__media {
display: block;
aspect-ratio: 16/10;
overflow: hidden;
border-radius: var(--apex-radius);
background: #deddd9;
}
.editorial-card__media img {
width: 100%;
height: 100%;
object-fit: cover;
}
.editorial-card__meta {
display: flex;
gap: 14px;
margin-top: 19px;
color: var(--apex-gold-ink);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.editorial-card h2,
.editorial-card h3 {
margin: 10px 0 13px;
font-size: 23px;
}
.editorial-card h2 a,
.editorial-card h3 a {
color: var(--apex-heading);
}
.editorial-card p {
font-size: 15px;
}
.editorial-card {
display: flex;
flex-direction: column;
}
.editorial-card__excerpt {
margin: 0 0 16px;
color: var(--apex-text);
line-height: 1.6;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
}
.editorial-card__more {
margin-top: auto;
color: var(--apex-gold-ink);
font-family: var(--font-ui, var(--font-sans, Arial, sans-serif));
font-size: 13px;
font-weight: 700;
letter-spacing: 0.06em;
}
.editorial-card__more span {
display: inline-block;
transition: transform var(--motion-quick) var(--ease-state);
}
.editorial-card:hover .editorial-card__more span,
.editorial-card:focus-within .editorial-card__more span {
transform: translateX(4px);
}
.editorial-card__media img {
transition: transform var(--motion-standard) var(--ease-state);
}
.editorial-card:hover .editorial-card__media img,
.editorial-card:focus-within .editorial-card__media img {
transform: scale(1.03);
}
@media (prefers-reduced-motion: reduce) {
.editorial-card__more span,
.editorial-card__media img {
transition: none;
}
.editorial-card:hover .editorial-card__more span,
.editorial-card:focus-within .editorial-card__more span,
.editorial-card:hover .editorial-card__media img,
.editorial-card:focus-within .editorial-card__media img {
transform: none;
}
}
.featured-story {
padding: clamp(64px, 8vw, 100px) 0;
background: #fff;
}
.featured-story__grid {
display: grid;
grid-template-columns: 1.05fr 0.95fr;
gap: clamp(44px, 7vw, 90px);
align-items: center;
}
.featured-story__media {
height: 470px;
background: #deddd9;
}
.featured-story__media img {
width: 100%;
height: 100%;
object-fit: cover;
}
.featured-story__copy {
display: flex;
flex-direction: column;
justify-content: center;
}
.featured-story__copy h2 {
margin: 0 0 18px;
font-size: clamp(30px, 3.5vw, 44px);
}
.featured-story__copy h2 a {
color: var(--apex-heading);
}
.featured-story__copy .button {
align-self: flex-start;
margin-top: 12px;
}
.archive-tools {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 30px;
}
.archive-tools .archive-search { display: flex; align-items: flex-end; gap: 12px; }
.archive-tools .archive-search label { display: block; }
.archive-tools .archive-search .button { min-height: 42px; }
.archive-search input {
min-width: 260px;
border: 0;
border-bottom: 1px solid var(--apex-border);
background: transparent;
padding: 10px 0;
color: var(--apex-text);
font-family: inherit;
font-size: 14px;
}
.values-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 40px;
margin-top: 55px;
}
.value-card > span {
display: block;
width: 48px;
height: 1px;
margin-bottom: 24px;
background: var(--apex-gold);
}
.value-card h3 {
margin: 0 0 12px;
font-size: 20px;
}
.journey-scroll {
position: relative;
background: var(--apex-alt);
color: var(--apex-heading);
}
.journey-scroll.is-enhanced {
height: var(--journey-scroll-height);
}
.journey-scroll__sticky {
padding: clamp(54px, 6vh, 76px) 0;
}
.journey-scroll.is-enhanced .journey-scroll__sticky {
position: sticky;
top: var(--journey-sticky-top, 0px);
min-height: 100svh;
height: calc(100svh - var(--journey-sticky-top, 0px));
overflow: hidden;
}
.journey-scroll__shell {
height: 100%;
display: grid;
grid-template-rows: auto minmax(0, 1fr);
}
.journey-scroll__heading {
margin-bottom: clamp(28px, 4vh, 48px);
}
.journey-scroll__heading .section-title {
max-width: 720px;
margin-bottom: 0;
}
.journey-scroll__heading .journey-scroll__intro {
max-width: 720px;
margin-top: var(--space-4);
}
.journey-scroll__heading .journey-scroll__intro p:last-child {
margin-bottom: 0;
}
.journey-scroll__layout {
min-height: 0;
display: grid;
grid-template-columns: minmax(440px, 0.92fr) minmax(380px, 1.08fr);
align-items: stretch;
gap: clamp(56px, 8vw, 124px);
}
.journey-scroll__timeline {
min-height: 0;
display: flex;
flex-direction: column;
}
.journey-scroll__item {
--journey-fill: 0%;
display: grid;
grid-template-columns: 62px minmax(0, 1fr);
gap: 24px;
opacity: 0.92;
transition: opacity var(--motion-standard) var(--ease-state);
}
.journey-scroll__item.is-window-hidden {
display: none;
}
.journey-scroll__item:not(.is-window-hidden) {
animation: journey-item-enter var(--motion-cinematic) var(--ease-premium);
}
.journey-scroll__item.is-complete {
opacity: 0.96;
}
.journey-scroll__item.is-active {
opacity: 1;
}
.journey-scroll__marker {
width: 62px;
display: grid;
grid-template-rows: auto minmax(28px, 1fr);
justify-items: start;
gap: 8px;
border: 0;
background: transparent;
padding: 0;
color: inherit;
font: inherit;
cursor: pointer;
}
.journey-scroll__number {
color: var(--apex-gold-ink);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.16em;
}
.journey-scroll__track {
width: 1px;
height: 100%;
min-height: 28px;
display: block;
position: relative;
margin-left: 5px;
overflow: hidden;
background: rgba(0, 31, 63, 0.18);
}
.journey-scroll__track span {
position: absolute;
inset: 0;
height: 100%;
transform: scaleY(var(--journey-fill, 0));
transform-origin: top center;
background: var(--apex-gold);
transition: transform var(--motion-quick) linear;
}
.journey-scroll__copy {
padding: 0 0 clamp(12px, 1.7vh, 22px);
}
.journey-scroll__year {
display: block;
margin-bottom: 3px;
color: var(--apex-gold-ink);
font-family: var(--font-serif, Georgia, serif);
font-size: 14px;
}
.journey-scroll__copy h3 {
margin: 0;
font-family: var(--font-sans, Arial, sans-serif);
font-size: clamp(17px, 1.35vw, 21px);
line-height: 1.25;
}
.journey-scroll__description {
max-width: 560px;
margin: 8px 0 0;
color: #59636f;
font-size: 14px;
line-height: 1.55;
}
.journey-scroll__description > :first-child {
margin-top: 0;
}
.journey-scroll__description > :last-child {
margin-bottom: 0;
}
.journey-scroll__description ul,
.journey-scroll__description ol {
margin-block: 8px;
padding-left: 20px;
}
.journey-scroll.is-enhanced .journey-scroll__description {
max-height: 0;
margin-top: 0;
overflow: hidden;
opacity: 0;
transform: translateY(6px);
transition:
max-height var(--motion-cinematic) var(--ease-state),
margin var(--motion-cinematic) var(--ease-state),
opacity var(--motion-standard) var(--ease-state),
transform var(--motion-cinematic) var(--ease-state);
}
.journey-scroll.is-enhanced
.journey-scroll__item.is-active
.journey-scroll__description {
max-height: min(24vh, 210px);
margin-top: 8px;
overflow-y: auto;
opacity: 1;
transform: translateY(0);
scrollbar-color: var(--apex-gold) rgba(0, 31, 63, 0.1);
scrollbar-width: thin;
}
.journey-scroll__description.is-scrollable {
padding: 0 16px 8px 0;
border-bottom: 1px solid rgba(169, 133, 50, 0.28);
}
.journey-scroll__description.is-scrollable:focus-visible {
outline: 2px solid var(--apex-gold);
outline-offset: 4px;
}
.journey-scroll__visual {
min-height: 430px;
position: relative;
overflow: hidden;
background: linear-gradient(145deg, #07182d, #0e3150);
box-shadow: 0 28px 70px rgba(0, 18, 42, 0.18);
}
.journey-scroll__image {
width: 100%;
height: 100%;
position: absolute;
inset: 0;
object-fit: cover;
filter: saturate(0.72);
transform: scale(1.04);
transition:
transform var(--motion-slow) cubic-bezier(0.22, 0.8, 0.25, 1),
filter var(--motion-slow) var(--ease-state);
}
.journey-scroll__visual[data-active-index="1"] .journey-scroll__image {
transform: scale(1.08) translate3d(-1%, 0, 0);
}
.journey-scroll__visual[data-active-index="2"] .journey-scroll__image {
transform: scale(1.12) translate3d(1%, -1%, 0);
}
.journey-scroll__visual[data-active-index="3"] .journey-scroll__image {
transform: scale(1.08) translate3d(0, 1%, 0);
}
.journey-scroll__visual[data-active-index="4"] .journey-scroll__image {
transform: scale(1.04);
}
.journey-scroll__shade {
position: absolute;
inset: 0;
background: linear-gradient(
180deg,
rgba(2, 13, 29, 0.08) 20%,
rgba(2, 13, 29, 0.88) 100%
);
}
.journey-scroll__caption {
position: absolute;
z-index: 2;
right: clamp(28px, 4vw, 58px);
bottom: clamp(28px, 5vh, 56px);
left: clamp(28px, 4vw, 58px);
color: #fff;
opacity: 0;
transform: translateY(22px);
transition:
opacity var(--motion-cinematic) var(--ease-state),
transform var(--motion-slow) cubic-bezier(0.22, 0.8, 0.25, 1);
}
.journey-scroll__caption.is-active {
opacity: 1;
transform: translateY(0);
}
.journey-scroll__caption strong {
display: block;
color: var(--apex-gold-light);
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(58px, 7vw, 104px);
font-weight: 400;
line-height: 0.9;
}
.journey-scroll__caption span {
display: block;
max-width: 500px;
margin-top: 18px;
font-size: clamp(17px, 1.6vw, 24px);
line-height: 1.25;
}
.journey-scroll__marker:focus-visible {
outline: 2px solid var(--apex-gold);
outline-offset: 5px;
}
@keyframes journey-item-enter {
from {
opacity: 0;
transform: translateY(16px);
}
to {
transform: translateY(0);
}
}
@media (max-width: 900px) {
.journey-scroll,
.journey-scroll.is-enhanced {
height: auto !important;
}
.journey-scroll__sticky,
.journey-scroll.is-enhanced .journey-scroll__sticky {
position: static;
height: auto;
min-height: 0;
padding: 72px 0;
overflow: visible;
}
.journey-scroll__shell {
display: block;
}
.journey-scroll__layout {
display: flex;
flex-direction: column-reverse;
gap: 42px;
}
.journey-scroll__visual {
min-height: 0;
aspect-ratio: 4 / 3;
}
.journey-scroll__timeline {
display: grid;
gap: 30px;
}
.journey-scroll__item,
.journey-scroll__item.is-active,
.journey-scroll__item.is-complete,
.journey-scroll__item.is-upcoming,
.journey-scroll__item.is-window-hidden {
display: grid;
grid-template-columns: 48px minmax(0, 1fr);
gap: 14px;
opacity: 1;
animation: none;
}
.journey-scroll__marker {
width: 48px;
cursor: default;
}
.journey-scroll__track {
min-height: 46px;
}
.journey-scroll.is-enhanced .journey-scroll__description,
.journey-scroll.is-enhanced
.journey-scroll__item.is-active
.journey-scroll__description {
max-height: none;
margin-top: 8px;
overflow: visible;
opacity: 1;
transform: none;
}
.journey-scroll__description.is-scrollable {
padding-right: 0;
border-bottom: 0;
}
.journey-scroll__copy h3 {
font-size: 20px;
}
.journey-scroll__copy p {
font-size: 15px;
}
}
@media (prefers-reduced-motion: reduce) {
.journey-scroll__item,
.journey-scroll__track span,
.journey-scroll__copy p,
.journey-scroll__image,
.journey-scroll__caption {
transition: none;
}
}
.why-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 32px;
margin-top: 55px;
}
.why-grid article {
border-radius: var(--apex-radius);
background: #fff;
padding: 36px 30px;
box-shadow: 0 10px 40px rgba(0, 31, 63, 0.04);
}
.why-grid h3 {
margin-top: 0;
}
.achievement-list {
margin-top: 45px;
}
.achievement-list > div {
display: grid;
grid-template-columns: 140px 1fr;
gap: 24px;
border-bottom: 1px solid var(--apex-border);
padding: 28px 0;
}
.achievement-list strong {
color: var(--apex-gold-ink);
font-family: var(--font-serif, Georgia, serif);
font-size: 18px;
}
.vacancy-heading {
display: flex;
align-items: end;
justify-content: space-between;
gap: 30px;
margin-bottom: 36px;
}
.vacancy-heading .filter-bar {
margin-bottom: 8px;
}
.vacancy-list {
display: grid;
gap: 14px;
}
.vacancy-row {
display: grid;
grid-template-columns: 1fr auto;
align-items: center;
gap: 30px;
padding: 24px 28px;
background: #fff;
box-shadow: 0 8px 28px rgba(0, 31, 63, 0.05);
color: inherit;
}
.vacancy-row[hidden] {
display: none;
}
.vacancy-row h3 {
margin: 0;
font-size: 22px;
}
.vacancy-row div {
color: #6c747d;
font-size: 14px;
}
.vacancy-row div h3 {
color: var(--apex-heading);
}
.vacancy-row strong {
color: var(--apex-gold-ink);
font-size: 13px;
}
.detail-header,
.article-header,
.job-header {
padding: 138px 0 64px;
background: #fff;
}
.detail-header h1,
.article-header h1,
.job-header h1 {
max-width: 920px;
margin: 0 0 20px;
font-size: clamp(40px, 6vw, 64px);
letter-spacing: -0.02em;
}
.detail-header p {
max-width: 760px;
font-size: 18px;
}
.detail-main {
padding: 10px 0 clamp(80px, 10vw, 120px);
background: #fff;
}
.detail-main__grid {
display: grid;
grid-template-columns: minmax(0, 1fr) 330px;
gap: clamp(48px, 7vw, 88px);
align-items: start;
}
.detail-lead-media {
min-height: 460px;
overflow: hidden;
border-radius: var(--apex-radius);
background: #deddd9;
}
.detail-lead-media img {
width: 100%;
height: 100%;
object-fit: cover;
}
.structured-sections section {
padding: 46px 0;
border-bottom: 1px solid var(--apex-border);
}
.structured-sections h2 {
margin-top: 0;
font-size: 30px;
}
.detail-sidebar {
display: grid;
gap: 24px;
}
.relationship-box {
border-top: 3px solid var(--apex-gold);
background: var(--apex-alt);
padding: 26px;
}
.relationship-box h2 {
margin: 0 0 16px;
font-size: 19px;
}
.relationship-box ul {
margin: 0;
padding: 0;
list-style: none;
}
.relationship-box li {
border-top: 1px solid var(--apex-border);
padding: 10px 0;
}
.relationship-box a {
color: var(--apex-heading);
}
.sidebar-cta {
background: var(--apex-navy);
padding: 30px 26px;
color: rgba(255, 255, 255, 0.72);
}
.sidebar-cta h2 {
margin-top: 0;
color: #fff;
font-size: 23px;
}
.sidebar-cta .button {
width: 100%;
}
.profile-hero {
padding: 138px 0 clamp(70px, 9vw, 110px);
background: #fff;
}
.profile-hero__grid {
display: grid;
grid-template-columns: minmax(300px, 0.8fr) minmax(420px, 1.2fr);
gap: clamp(48px, 8vw, 110px);
align-items: center;
}
.profile-hero__grid--no-portrait {
grid-template-columns: minmax(0, 1fr);
max-width: 760px;
}
.profile-portrait {
aspect-ratio: 4/5;
overflow: hidden;
background: #deddd9;
}
.profile-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
}
.profile-copy h1 {
margin: 0 0 24px;
font-size: clamp(42px, 6vw, 64px);
}
.profile-title {
margin-top: -14px;
color: var(--apex-gold-ink);
font-size: 17px;
font-weight: 700;
}
.profile-tags {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin: 22px 0 28px;
}
.profile-tags a {
border-radius: 999px;
background: var(--apex-alt);
padding: 6px 15px;
color: var(--apex-heading);
font-size: 13px;
}
.profile-contact {
display: flex;
flex-wrap: wrap;
gap: 18px;
margin-top: 28px;
}
.credentials-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 55px;
}
.credentials-grid h2 {
font-size: 23px;
}
.credentials-grid ul {
padding-left: 18px;
}
.article-shell {
max-width: 900px;
}
.article-kicker {
margin-bottom: 18px;
color: var(--apex-gold-ink);
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.article-header p {
color: var(--apex-muted);
}
.article-media {
overflow: hidden;
}
.article-media:has(img) {
min-height: 520px;
background: #deddd9;
}
.article-media img {
width: 100%;
max-height: 720px;
object-fit: cover;
}
.article-body {
padding: clamp(70px, 9vw, 110px) 0;
background: #fff;
}
.article-body.detail-main {
padding: 10px 0 clamp(80px, 10vw, 120px);
}
.article-layout {
display: grid;
grid-template-columns: minmax(0, 1fr) 330px;
gap: clamp(48px, 7vw, 88px);
align-items: start;
}
.article--railed .article-layout {
grid-template-columns: minmax(0, 1fr) 330px;
gap: clamp(48px, 7vw, 88px);
}
.article-layout .entry-content {
width: 100%;
max-width: none;
font-size: clamp(17px, 0.5vw + 15.4px, 19px);
line-height: 1.75;
}
.article-detail-header .article-kicker {
margin: 26px 0 16px;
}
.article-detail-header .article-standfirst {
max-width: 46ch;
margin-bottom: 0;
font-size: 18px;
}
.article-facts dl {
margin: 0;
}
.article-facts dl > div {
display: grid;
grid-template-columns: 92px minmax(0, 1fr);
gap: 14px;
padding: 11px 0;
border-top: 1px solid var(--apex-border);
}
.article-facts dt {
color: var(--apex-muted);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.article-facts dd {
margin: 0;
color: var(--apex-heading);
font-size: 14px;
line-height: 1.45;
}
.article-layout__sidebar .article-layout__rail {
border: 1px solid var(--apex-border);
border-radius: var(--apex-radius);
padding: 24px 22px 24px 40px;
background: var(--apex-card);
}
.article-layout__sidebar .article-rail {
top: auto;
}
.article-anchor {
display: block;
height: 0;
}
.entry-content h2[id],
.entry-content h3[id],
.article-anchor {
scroll-margin-top: 118px;
}
.article-layout .entry-content h2 {
position: relative;
margin-top: 2.1em;
font-size: clamp(26px, 2.2vw, 33px);
line-height: 1.25;
}
.article-layout .entry-content h2::before {
content: "";
position: absolute;
top: 0.62em;
left: -22px;
width: 10px;
height: 2px;
background: var(--apex-gold);
}
.article-layout .entry-content > p:first-of-type {
margin-bottom: 1.5em;
border-left: 2px solid var(--apex-gold);
padding-left: clamp(18px, 2vw, 28px);
color: var(--apex-navy);
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(20px, 1.1vw + 16px, 25px);
line-height: 1.5;
letter-spacing: -0.005em;
}
.article-rail {
position: sticky;
top: 118px;
align-self: start;
padding-left: 20px;
}
.article-rail::before,
.article-rail::after {
content: "";
position: absolute;
left: 0;
width: 2px;
}
.article-rail::before {
top: 0;
bottom: 0;
background: var(--apex-border);
}
.article-rail::after {
top: 0;
bottom: 0;
background: var(--apex-gold);
transform: scaleY(var(--rail-progress, 0));
transform-origin: top;
transition: transform var(--motion-standard, 260ms) var(--ease-state, linear);
}
.article-rail__label {
margin: 0 0 14px;
color: var(--apex-navy);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.article-rail__list {
margin: 0;
padding: 0;
list-style: none;
counter-reset: none;
}
.article-rail__list li + li {
margin-top: 12px;
}
.article-rail__list a {
display: grid;
grid-template-columns: 22px 1fr;
gap: 8px;
color: var(--apex-muted);
font-size: 13px;
line-height: 1.4;
text-decoration: none;
}
.article-rail__num {
font-size: 11px;
font-weight: 700;
font-variant-numeric: tabular-nums;
letter-spacing: 0.06em;
opacity: 0.55;
}
.article-rail__list a.is-active {
color: var(--apex-navy);
font-weight: 600;
}
.article-rail__list a.is-active .article-rail__num {
color: var(--apex-gold-ink);
opacity: 1;
}
.article-utilities {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 14px 20px;
margin-top: clamp(48px, 6vw, 66px);
border-top: 1px solid var(--apex-border);
padding-top: 24px;
}
.article-utilities__label {
margin: 0;
margin-right: auto;
color: var(--apex-muted);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.article-utilities__actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.article-utilities__button {
border: 1px solid var(--apex-border);
border-radius: var(--radius-button, 2px);
padding: 9px 16px;
background: none;
color: var(--apex-navy);
font-family: inherit;
font-size: 13px;
font-weight: 500;
text-decoration: none;
cursor: pointer;
}
.article-utilities__button:hover,
.article-utilities__button:focus-visible {
border-color: var(--apex-navy);
background: var(--apex-navy);
color: #fff;
}
.article-utilities__button.is-copied {
border-color: var(--apex-gold-ink);
color: var(--apex-gold-ink);
}
.article-adjacent {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 1px;
margin: 0 0 clamp(60px, 7vw, 96px);
border: 1px solid var(--apex-border);
background: var(--apex-border);
}
.article-adjacent__link {
display: block;
padding: clamp(22px, 3vw, 32px);
background: #fff;
text-decoration: none;
}
.article-adjacent__link--next {
text-align: right;
}
.article-adjacent__dir {
display: block;
margin-bottom: 8px;
color: var(--apex-gold-ink);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.article-adjacent__title {
display: block;
max-width: 42ch;
color: var(--apex-navy);
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(17px, 1.4vw, 21px);
line-height: 1.3;
}
.article-adjacent__link--next .article-adjacent__title {
margin-left: auto;
}
.article-standfirst {
max-width: 60ch;
margin: 0 0 26px;
color: #4a4a4a;
font-size: clamp(18px, 1.2vw, 21px);
line-height: 1.55;
}
.article-byline {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: 6px 26px;
color: var(--apex-muted);
font-size: 14px;
}
.article-byline__author {
color: var(--apex-navy);
font-weight: 600;
}
.article-byline__read {
color: var(--apex-gold-ink);
font-weight: 600;
}
.job-header {
background: var(--apex-alt);
}
.job-meta {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.job-meta span {
border: 1px solid var(--apex-border);
border-radius: 999px;
padding: 7px 13px;
font-size: 13px;
}
.job-page {
max-width: 1120px;
display: grid;
grid-template-columns: minmax(0, 1fr) 380px;
gap: clamp(40px, 5vw, 72px);
align-items: start;
}
.job-page .application-panel {
position: sticky;
top: calc(var(--apex-header-height, 80px) + 20px);
}
.job-copy section {
padding-bottom: 34px;
}
.job-copy h2 {
font-size: 30px;
}
.job-copy li {
margin-bottom: 9px;
}
.application-panel {
margin-top: 30px;
background: var(--apex-alt);
padding: 44px;
box-shadow: none;
}
.application-panel h2 {
margin-top: 0;
}
.application-panel input[type="file"] {
padding: 10px 0;
border: 0;
}
.application-form input,
.application-form textarea {
border: 0;
border-bottom: 1px solid var(--apex-border);
background: transparent;
padding-inline: 4px;
}
.application-form .button,
.contact-panel .contact-form .button {
width: auto;
justify-self: start;
background: var(--apex-navy);
color: #fff;
}
.contact-panel .contact-form .button:hover,
.contact-panel .contact-form .button:focus-visible {
background: var(--apex-gold);
color: var(--apex-navy);
}
.application-panel small,
.contact-details small {
display: block;
color: var(--apex-muted);
font-weight: 400;
}
.contact-panel {
background: var(--apex-alt);
box-shadow: none;
}
.contact-panel .contact-form input,
.contact-panel .contact-form textarea,
.contact-panel .contact-form select {
border: 0;
border-bottom: 1px solid var(--apex-border);
border-radius: 0;
background: transparent;
padding-inline: 4px;
}
.single-career .source-section {
padding-block: 72px;
}
.single-career .job-header {
padding-bottom: 52px;
}
.single-career .application-panel {
padding: 38px;
}
.form-note {
color: var(--apex-muted);
font-size: 13px;
}
.contact-map-section {
min-height: 360px;
padding: 70px 0;
background: var(--apex-alt);
}
.contact-location-visual {
min-height: 400px;
margin-top: 34px;
background: #fff;
box-shadow: 0 10px 40px rgba(0, 31, 63, 0.04);
}
.contact-location-visual img {
width: 100%;
height: 100%;
min-height: 400px;
object-fit: cover;
}
.contact-location-visual--map iframe {
display: block;
width: 100%;
height: 100%;
min-height: 400px;
}
@media (max-width: 1050px) {
.image-grid,
.team-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.numbered-grid,
.editorial-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.values-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.detail-main__grid,
.job-page {
grid-template-columns: minmax(0, 1fr) 300px;
gap: 44px;
}
}
@media (max-width: 720px) {
.source-hero {
padding-top: clamp(56px, 12vw, 72px);
}
.numbered-grid,
.editorial-grid,
.image-grid,
.team-grid,
.values-grid,
.why-grid,
.featured-story__grid,
.detail-main__grid,
.profile-hero__grid,
.credentials-grid,
.article-layout {
grid-template-columns: 1fr;
}
.numbered-card {
min-height: 285px;
padding: 34px 28px;
}
.image-card,
.image-card__media,
.image-card__media img {
min-height: 320px;
}
.team-grid {
gap: 48px;
}
.archive-tools {
display: block;
}
.archive-search {
display: block;
margin-bottom: 38px;
}
.archive-search input {
width: 100%;
min-width: 0;
}
.featured-story__media {
height: 320px;
}
.featured-story__copy {
padding: 35px 24px;
}
.vacancy-row {
grid-template-columns: 1fr;
gap: 9px;
}
.vacancy-heading {
display: block;
}
.detail-header,
.article-header,
.job-header,
.profile-hero {
padding-top: clamp(52px, 11vw, 68px);
}
.detail-lead-media:has(img),
.article-media:has(img) {
min-height: 300px;
}
.job-page {
grid-template-columns: 1fr;
}
.job-page .application-panel {
position: static;
}
.article--railed .article-layout {
grid-template-columns: 1fr;
gap: 34px;
}
.article-rail {
position: static;
order: -1;
border-top: 1px solid var(--apex-border);
border-bottom: 1px solid var(--apex-border);
padding: 18px 0 18px 20px;
}
.article-rail::before,
.article-rail::after {
display: none;
}
.article-adjacent__link--next {
text-align: left;
}
.article-adjacent__link--next .article-adjacent__title {
margin-left: 0;
}
.article-utilities__label {
width: 100%;
}
.application-panel {
padding: 28px 20px;
}
.achievement-list > div {
grid-template-columns: 80px 1fr;
}
}
.mega-nav-menu .apexlaw-current > a,
.mega-menu__practices .apexlaw-current > a {
color: var(--apex-gold-light);
text-decoration: underline;
text-underline-offset: 5px;
}
.skip-link:focus {
top: calc(var(--apex-header-height) + 12px);
}
.footer-heading {
margin: 0 0 18px;
color: #fff;
font-family: var(--font-serif, Georgia, serif);
font-size: 19px;
line-height: 1.25;
}
.error-routes {
display: grid;
grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
gap: clamp(40px, 6vw, 88px);
align-items: start;
}
.error-routes .footer-heading {
color: var(--apex-heading);
}
.archive-search--block {
display: flex;
flex-wrap: wrap;
gap: 12px;
max-width: 520px;
}
.archive-search--block input {
flex: 1 1 220px;
min-width: 0;
min-height: var(--control-height);
border: 1px solid var(--apex-border);
background: var(--apex-card);
padding: 0 14px;
color: var(--apex-text);
}
.source-hero .archive-search--block {
margin-top: 28px;
}
.source-hero .archive-search--block input {
border-color: rgba(255, 255, 255, 0.32);
background: rgba(255, 255, 255, 0.06);
color: #fff;
}
.detail-list--links {
display: grid;
gap: 10px;
margin: 0;
padding: 0;
list-style: none;
}
.detail-list--links a {
display: inline-flex;
min-height: var(--control-height-compact);
align-items: center;
}
.search-results {
display: grid;
gap: 8px;
margin: 0;
padding: 0;
list-style: none;
}
.search-result {
border-bottom: 1px solid var(--apex-border);
padding: 26px 0;
}
.search-result:first-child {
padding-top: 0;
}
.search-result__type {
margin: 0 0 8px;
color: var(--apex-gold-ink);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.search-result h2 {
margin: 0 0 10px;
font-size: clamp(21px, 2.2vw, 26px);
line-height: 1.25;
}
.search-result h2 a {
color: var(--apex-heading);
}
.search-result h2 a:hover,
.search-result h2 a:focus-visible {
color: var(--apex-gold-ink);
}
.search-result p {
max-width: 68ch;
margin: 0;
}
.filter-empty {
margin: 8px 0 0;
color: var(--apex-text);
}
.pagination ul {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 0;
padding: 0;
list-style: none;
}
.pagination a,
.pagination .current {
min-width: var(--control-height-compact);
min-height: var(--control-height-compact);
display: inline-flex;
align-items: center;
justify-content: center;
border: 1px solid var(--apex-border);
padding: 0 12px;
color: var(--apex-heading);
font-variant-numeric: tabular-nums;
}
.pagination .current {
border-color: var(--apex-navy);
background: var(--apex-navy);
color: #fff;
}
@media (max-width: 720px) {
.error-routes {
grid-template-columns: 1fr;
}
}
.newsletter-signup {
display: flex;
flex-direction: column;
gap: 14px;
}
.newsletter-signup__title {
margin: 0;
}
.newsletter-signup__title:not(.footer-heading) {
font-size: 1.4rem;
color: #fff;
}
.newsletter-signup__intro {
margin: 0;
max-width: 52ch;
opacity: 0.82;
}
.newsletter-signup__form {
display: flex;
flex-direction: column;
gap: 12px;
}
.newsletter-signup__hp {
position: absolute !important;
left: -9999px;
width: 1px;
height: 1px;
overflow: hidden;
}
.newsletter-signup__fields {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 14px;
max-width: 44rem;
}
.newsletter-signup__field {
display: flex;
flex-direction: column;
gap: 6px;
font-size: 0.9rem;
}
.newsletter-signup__field em {
opacity: 0.6;
font-style: normal;
}
.newsletter-signup__field input {
padding: 12px 14px;
border: 1px solid rgba(255, 255, 255, 0.22);
border-radius: var(--control-radius);
background: rgba(255, 255, 255, 0.06);
color: inherit;
font: inherit;
min-height: var(--control-height-compact);
}
.newsletter-signup__field input:focus-visible,
.newsletter-signup__consent input:focus-visible,
.newsletter-signup__submit:focus-visible {
outline: 2px solid var(--apex-gold, #a67c00);
outline-offset: 2px;
}
.newsletter-signup__topics {
border: 1px solid rgba(255, 255, 255, 0.16);
border-radius: var(--card-radius);
padding: 16px;
margin: 0;
max-width: 44rem;
}
.newsletter-signup__topic-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 8px;
}
.newsletter-signup__topics label,
.newsletter-signup__consent {
display: flex;
gap: 10px;
align-items: flex-start;
font-size: 0.88rem;
line-height: 1.5;
max-width: 56ch;
}
.newsletter-signup__consent input {
margin-top: 3px;
flex: 0 0 auto;
width: 18px;
height: 18px;
}
.newsletter-signup__submit {
align-self: flex-start;
min-height: var(--control-height-compact);
}
.newsletter-signup__notice {
margin: 0;
padding: 12px 16px;
border-left: 3px solid var(--apex-gold, #a67c00);
background: rgba(166, 124, 0, 0.14);
max-width: 56ch;
}
.newsletter-signup__notice--error {
border-left-color: #e07a67;
background: rgba(224, 122, 103, 0.14);
}
.footer-bottom {
display: flex;
flex-wrap: wrap;
gap: 8px 20px;
align-items: center;
justify-content: space-between;
}
.footer-bottom__privacy {
padding: 2px 0;
text-decoration: underline;
text-underline-offset: 3px;
}
.footer-bottom__links {
display: flex;
flex-wrap: wrap;
gap: 8px 20px;
}
.footer-bottom__consent {
border: 0;
background: none;
color: #fff;
font: inherit;
cursor: pointer;
}
.newsletter-signup__consent a,
.newsletter-signup__intro a {
display: inline;
text-decoration: underline;
text-underline-offset: 2px;
}
.home-cta {
background: var(--apex-navy);
color: rgba(255, 255, 255, 0.72);
}
.home-cta__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.home-cta__panel {
display: flex;
min-width: 0;
min-height: 480px;
flex-direction: column;
justify-content: center;
padding-block: clamp(68px, 7vw, 108px);
}
.home-cta__newsletter {
padding-right: clamp(36px, 6vw, 86px);
padding-left: max(clamp(24px, 6vw, 86px), calc((100vw - var(--apex-shell)) / 2));
background:
linear-gradient(rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.055)),
var(--apex-navy);
}
.home-cta__contact {
border-left: 1px solid rgba(255, 255, 255, 0.08);
padding-right: max(clamp(24px, 6vw, 86px), calc((100vw - var(--apex-shell)) / 2));
padding-left: clamp(36px, 6vw, 86px);
}
.home-cta__contact:only-child {
grid-column: 1 / -1;
align-items: center;
border-left: 0;
padding-inline: max(clamp(24px, 6vw, 86px), calc((100vw - var(--apex-shell)) / 2));
text-align: center;
}
.home-cta__contact-inner {
width: 100%;
max-width: 570px;
}
.home-cta__contact .section-eyebrow {
margin: 0 0 18px;
color: var(--apex-gold-light);
}
.home-cta__contact .section-title {
max-width: 16ch;
margin-bottom: 22px;
font-size: clamp(32px, 3.25vw, 48px);
line-height: 1.13;
text-wrap: balance;
}
.home-cta__contact .rich-text {
max-width: 58ch;
}
.home-cta__contact .rich-text p:last-child {
margin-bottom: 0;
}
.home-cta__contact .button {
margin-top: 30px;
}
.newsletter-signup--home-cta {
width: 100%;
max-width: 560px;
gap: 20px;
}
.home-cta .newsletter-signup__title {
max-width: 12ch;
color: var(--apex-gold-light);
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(38px, 4.25vw, 58px);
font-weight: 500;
line-height: 1.06;
letter-spacing: -0.025em;
text-wrap: balance;
}
.newsletter-signup--home-cta .newsletter-signup__intro {
max-width: 46ch;
color: rgba(255, 255, 255, 0.62);
}
.newsletter-signup--home-cta .newsletter-signup__form {
position: relative;
gap: 18px;
}
.newsletter-signup--home-cta .newsletter-signup__fields {
display: block;
max-width: none;
padding-right: 68px;
}
.newsletter-signup--home-cta .newsletter-signup__field {
gap: 8px;
color: rgba(255, 255, 255, 0.58);
}
.newsletter-signup--home-cta .newsletter-signup__field input {
width: 100%;
min-height: var(--control-height);
border: 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.36);
border-radius: 0;
padding: 10px 4px 12px;
background: transparent;
}
.newsletter-signup--home-cta .newsletter-signup__field input:focus-visible {
border-bottom-color: var(--apex-gold-light);
}
.newsletter-signup--home-cta .newsletter-signup__consent {
max-width: 52ch;
color: rgba(255, 255, 255, 0.58);
font-size: 0.8rem;
}
.newsletter-signup--home-cta .newsletter-signup__submit {
position: absolute;
top: 24px;
right: 0;
width: 52px;
min-height: 52px;
border-color: rgba(255, 255, 255, 0.42);
border-radius: 50%;
padding: 0;
background: transparent;
color: var(--apex-gold-light);
font-size: 0;
}
.newsletter-signup--home-cta .newsletter-signup__submit::before {
content: "→";
font-size: 1.35rem;
font-weight: 400;
}
.newsletter-signup--home-cta .newsletter-signup__submit:hover,
.newsletter-signup--home-cta .newsletter-signup__submit:focus-visible {
border-color: var(--apex-gold-light);
background: var(--apex-gold-light);
color: var(--apex-navy);
}
@media (max-width: 900px) {
.purpose-section__grid {
grid-template-columns: 1fr;
}
.contact-grid {
grid-template-columns: 1fr;
gap: var(--split-gap-tablet);
}
.purpose-section__impact {
max-width: 560px;
}
.home-cta__grid {
grid-template-columns: 1fr;
}
.home-cta__panel {
min-height: 0;
padding: clamp(58px, 10vw, 82px) clamp(20px, 6vw, 64px);
}
.home-cta__contact {
border-top: 1px solid rgba(255, 255, 255, 0.08);
border-left: 0;
}
}
.faq-list {
display: flex;
flex-direction: column;
gap: 10px;
max-width: 62rem;
}
.faq-item {
border: 1px solid var(--apex-border);
border-radius: var(--card-radius);
background: var(--apex-page);
padding: 0 20px;
}
.faq-item[open] {
padding-bottom: 16px;
}
.faq-item > summary {
cursor: pointer;
padding: 16px 0;
font-weight: 600;
color: var(--apex-navy, #000613);
list-style: none;
display: flex;
justify-content: space-between;
align-items: center;
gap: 14px;
min-height: var(--control-height-compact);
}
.faq-item > summary::-webkit-details-marker {
display: none;
}
.faq-item > summary::after {
content: "+";
color: var(--apex-gold-ink, #7d5c00);
font-size: 1.3rem;
line-height: 1;
flex: 0 0 auto;
}
.faq-item[open] > summary::after {
content: "\2013";
}
.faq-item > summary:focus-visible {
outline: 2px solid var(--apex-gold, #a67c00);
outline-offset: 3px;
border-radius: var(--control-radius);
}
.faq-answer {
max-width: 68ch;
}
.faq-answer p {
margin: 0 0 10px;
}
.faq-answer p:last-child {
margin-bottom: 0;
}
.faq-section--hidden,
.faq-item--hidden {
display: none;
}
@media (max-width: 800px) {
.site-footer__artwork img {
object-fit: cover;
object-position: center bottom;
}
.footer-columns {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-8) clamp(24px, 4vw, 48px);
}
.footer-brand {
grid-column: 1 / -1;
max-width: 560px;
}
.footer-columns .footer-col:nth-child(2) {
border-left: 0;
padding-left: 0;
}
}
@media (max-width: 520px) {
.site-footer__artwork { height: 96px; }
.footer-columns {
grid-template-columns: 1fr;
gap: var(--grid-gap-mobile);
}
.footer-col {
border-top: 1px solid rgba(255, 255, 255, 0.14);
border-left: 0;
padding-top: 28px;
padding-left: 0;
}
.footer-bottom {
align-items: flex-start;
flex-direction: column;
}
}
.detail-header--split .detail-header__grid {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr);
gap: clamp(32px, 4vw, 64px);
align-items: center;
}
.detail-header--split .detail-header__copy > p {
max-width: 46ch;
margin-bottom: 0;
}
.detail-header__media {
overflow: hidden;
border-radius: var(--apex-radius);
background: var(--apex-alt);
}
.detail-header__media img {
display: block;
width: 100%;
height: 100%;
aspect-ratio: 16 / 10;
object-fit: cover;
}
.lawyer-list {
display: flex;
flex-direction: column;
gap: 4px;
}
.lawyer-list__item a {
display: flex;
align-items: center;
gap: 14px;
padding: 6px 0;
}
.lawyer-list__portrait {
flex: none;
width: 52px;
height: 52px;
overflow: hidden;
border-radius: 3px;
background: var(--apex-alt);
}
.lawyer-list__portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top center;
}
.lawyer-list__name {
font-weight: 500;
}
.linked-list a {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
padding: 9px 0;
border-bottom: 1px solid var(--apex-border);
}
.linked-list li:last-child a {
border-bottom: 0;
}
.linked-list__chevron {
flex: none;
color: var(--apex-gold-ink);
font-size: 19px;
line-height: 1;
transition: transform var(--motion-quick) var(--ease-state);
}
.linked-list a:hover .linked-list__chevron,
.linked-list a:focus-visible .linked-list__chevron {
transform: translateX(3px);
}
.sidebar-steps {
border: 1px solid var(--apex-border);
border-radius: var(--apex-radius);
padding: 26px 24px;
background: var(--apex-card);
}
.sidebar-steps__title {
margin: 0 0 20px;
font-family: var(--font-serif, Georgia, serif);
font-size: 19px;
line-height: 1.25;
color: var(--apex-heading);
}
.sidebar-steps__list {
position: relative;
margin: 0;
padding: 0;
list-style: none;
display: flex;
flex-direction: column;
gap: 22px;
}
.sidebar-steps__item {
position: relative;
display: grid;
grid-template-columns: 26px minmax(0, 1fr);
gap: 14px;
margin: 0;
}
.sidebar-steps__item::before {
content: "";
position: absolute;
top: 26px;
bottom: -22px;
left: 13px;
width: 1px;
background: var(--apex-border);
}
.sidebar-steps__item:last-child::before {
display: none;
}
.sidebar-steps__marker {
position: relative;
z-index: 1;
display: grid;
place-items: center;
width: 26px;
height: 26px;
border-radius: 50%;
background: var(--apex-navy);
color: #fff;
font-family: var(--font-ui, var(--font-sans, Arial, sans-serif));
font-size: 12px;
font-weight: 700;
font-variant-numeric: tabular-nums;
}
.sidebar-steps__item h3 {
margin: 3px 0 5px;
font-family: var(--font-sans, Arial, sans-serif);
font-size: 14px;
font-weight: 600;
line-height: 1.3;
color: var(--apex-heading);
}
.sidebar-steps__item p {
margin: 0;
font-size: 13.5px;
line-height: 1.55;
color: var(--apex-text);
}
.howto-section--hidden,
.howto-step--hidden,
.sidebar-steps--hidden,
.sidebar-steps__item--hidden {
display: none;
}
.sidebar-steps__item--last::before {
display: none;
}
.faq-section .faq-list {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px 24px;
align-items: start;
}
.editorial-card--compact h2,
.editorial-card--compact h3 {
margin: 14px 0 8px;
font-size: 19px;
}
.editorial-card--compact .editorial-card__excerpt {
margin-bottom: 0;
}
@media (max-width: 1024px) {
.detail-header--split .detail-header__grid {
grid-template-columns: 1fr;
gap: 32px;
}
.article-layout,
.article--railed .article-layout {
grid-template-columns: 1fr;
gap: 48px;
}
.article-layout__sidebar {
grid-row: auto;
}
.faq-section .faq-list {
grid-template-columns: 1fr;
}
}
.site-header__tools {
display: flex;
align-items: center;
gap: 26px;
margin-left: auto;
}
.home {
--apex-header-height: 77px;
--apex-header-border: 1px;
}
.home #main > section:not(.practice-scroll) {
min-height: 100vh;
min-height: 100svh;
}
.home #main > .section,
.home #main > .purpose-section {
display: flex;
align-items: center;
}
.home #main > .section > .site-shell,
.home #main > .purpose-section > .site-shell {
width: min(calc(100% - (2 * var(--gutter-desktop))), var(--apex-shell));
}
.home .legacy-section__grid,
.home .home-cta__grid {
min-height: 100vh;
min-height: 100svh;
}
@media (max-width: 1024px) {
.home #main > .section > .site-shell,
.home #main > .purpose-section > .site-shell {
width: min(calc(100% - (2 * var(--gutter-tablet))), var(--apex-shell));
}
}
@media (max-width: 720px) {
.home #main > .section > .site-shell,
.home #main > .purpose-section > .site-shell {
width: min(calc(100% - (2 * var(--gutter-mobile))), var(--apex-shell));
}
}
.home .site-header {
--apex-focus: var(--apex-gold-light);
--apex-gold-ink: var(--apex-gold-light);
border-bottom: var(--apex-header-border) solid rgba(232, 226, 213, 0.14);
background: var(--apex-navy);
color: #f1ece1;
}
.home .site-header.is-scrolled {
box-shadow: 0 8px 28px rgba(0, 0, 0, 0.34);
}
.home .site-header__inner {
gap: 28px;
}
.home .site-brand {
width: auto;
height: 76px;
align-self: center;
justify-content: flex-start;
overflow: visible;
padding: 10px 0;
}
.home .site-header .site-logo-image {
width: auto;
max-width: min(250px, 42vw);
height: 52px;
filter: brightness(0) invert(1);
}
.site-header__file-ref {
color: #7d8797;
font-family: var(--font-ui, var(--font-sans, Arial, sans-serif));
font-size: 10.5px;
line-height: 1;
letter-spacing: 0.1em;
white-space: nowrap;
}
.home .menu-toggle {
width: var(--control-height-compact);
height: var(--control-height-compact);
flex-basis: var(--control-height-compact);
border-color: rgba(232, 226, 213, 0.42);
color: #f1ece1;
}
.home .menu-toggle .apex-icon {
width: 20px;
height: 20px;
}
.home .menu-toggle:hover,
.home .menu-toggle:focus-visible {
border-color: var(--apex-gold-light);
background: rgba(216, 188, 115, 0.14);
color: #ffffff;
}
.home .mega-menu .menu-toggle--close {
border-color: rgba(255, 255, 255, 0.34);
color: #fff;
}
.casefile-hero {
--case-ink: var(--apex-navy);
--case-paper: #f1ece1;
--case-ink-soft: #b7c4d4;
--case-copy: #c8cfda;
--case-muted: #9fabbb;
--case-gold: #b3891f;
--case-gold-ink: #d8bc73;
--case-gold-on-paper: #795f16;
position: relative;
overflow: hidden;
background:
radial-gradient(120% 90% at 15% 10%, rgba(120, 152, 190, 0.22), transparent 62%),
var(--case-ink);
color: var(--case-paper);
isolation: isolate;
}
.casefile-hero__stage {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.85fr);
min-height: calc(100svh - 135px);
}
.casefile-hero__copy {
position: relative;
display: flex;
min-width: 0;
flex-direction: column;
justify-content: center;
padding: clamp(54px, 6vh, 82px) clamp(34px, 4.2vw, 68px) clamp(58px, 7vh, 92px) var(--shell-inset);
}
.casefile-hero__eyebrow {
display: flex;
align-items: baseline;
gap: 14px;
margin-bottom: 24px;
color: var(--case-muted);
font-family: var(--font-ui, var(--font-sans, Arial, sans-serif));
font-size: 10.5px;
line-height: 1.5;
letter-spacing: 0.15em;
text-transform: uppercase;
opacity: 0;
animation: casefile-fade-up 0.7s ease-out 0.18s forwards;
}
.casefile-hero__title {
max-width: 920px;
margin: 0;
color: var(--case-paper);
font-family: var(--font-serif, Georgia, serif);
font-size: clamp(48px, 6.15vw, 80px);
font-weight: 400;
line-height: 0.98;
letter-spacing: -0.025em;
text-wrap: balance;
}
.casefile-hero__title-line {
display: block;
overflow: hidden;
}
.casefile-hero__title-line > span {
display: block;
opacity: 0;
animation: casefile-fade-up 0.9s cubic-bezier(0.16, 0.8, 0.24, 1) 0.28s forwards;
}
.casefile-hero__title-line:nth-child(2) > span {
animation-delay: 0.4s;
}
.casefile-hero__title-line--promise {
margin-top: 8px;
color: var(--case-ink-soft);
font-style: italic;
}
.casefile-hero__title-line--promise > span {
animation-delay: 0.52s;
}
.casefile-hero__terms {
display: flex;
align-items: flex-end;
flex-wrap: wrap;
gap: 26px 22px;
margin-top: 14px;
opacity: 0;
animation: casefile-fade-up 0.9s ease-out 0.68s forwards;
}
.casefile-hero__term {
position: relative;
display: inline-flex;
padding: 0 0 13px;
border-bottom: 1px solid var(--case-gold);
}
.casefile-hero__term-word {
font-size: clamp(30px, 3.45vw, 46px);
line-height: 1;
}
.casefile-hero__term-link {
color: inherit;
text-decoration: none;
}
.casefile-hero__term-link:hover,
.casefile-hero__term-link:focus-visible {
color: var(--case-gold);
}
.casefile-hero__plate-media-link {
display: block;
height: 100%;
}
.casefile-hero__term-label {
position: absolute;
top: calc(100% + 6px);
left: 0;
color: var(--case-muted);
font-family: var(--font-ui, var(--font-sans, Arial, sans-serif));
font-size: 9px;
font-style: normal;
line-height: 1;
letter-spacing: 0.12em;
white-space: nowrap;
}
.casefile-hero__intro {
max-width: 480px;
margin-top: 52px;
color: var(--case-copy);
font-family: var(--font-sans, Arial, sans-serif);
font-size: 15.5px;
line-height: 1.72;
opacity: 0;
animation: casefile-fade-up 0.8s ease-out 0.92s forwards;
}
.casefile-hero__copy,
.casefile-hero__intro { min-width: 0; width: 100%; }
.casefile-hero__intro p {
margin: 0;
}
.casefile-hero__actions {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 22px 28px;
margin-top: 32px;
font-family: var(--font-ui, var(--font-sans, Arial, sans-serif));
opacity: 0;
animation: casefile-fade-up 0.8s ease-out 1.06s forwards;
}
.casefile-hero__primary,
.casefile-hero__secondary {
display: inline-flex;
min-height: 46px;
align-items: center;
justify-content: center;
gap: 12px;
font-size: 14px;
font-weight: 500;
line-height: 1.2;
}
.casefile-hero__primary {
padding: 14px 24px;
background: var(--case-paper);
color: var(--case-ink);
transition: background-color var(--motion-quick) var(--ease-state), color var(--motion-quick) var(--ease-state);
}
.casefile-hero__primary .apex-icon {
color: var(--case-gold-on-paper);
}
.casefile-hero__primary:hover,
.casefile-hero__primary:focus-visible {
background: #ffffff;
color: var(--case-ink);
}
.casefile-hero__secondary {
min-height: 34px;
border-bottom: 1px solid rgba(241, 236, 225, 0.42);
padding: 4px 0;
color: var(--case-paper);
transition: border-color var(--motion-quick) var(--ease-state), color var(--motion-quick) var(--ease-state);
}
.casefile-hero__secondary:hover,
.casefile-hero__secondary:focus-visible {
border-color: var(--case-gold-ink);
color: var(--case-gold-ink);
}
.casefile-hero__plate-column {
position: relative;
display: flex;
min-width: 0;
flex-direction: column;
justify-content: center;
gap: var(--space-4);
padding: 36px 44px 36px 0;
}
.casefile-hero__plate {
position: relative;
flex: 1;
min-height: 340px;
opacity: 0;
transform-origin: right center;
animation: casefile-plate-in 1.1s cubic-bezier(0.16, 0.8, 0.24, 1) 0.56s forwards;
}
.casefile-hero__plate-frame {
position: absolute;
inset: 14px -14px -14px 14px;
z-index: 0;
border: 1px solid var(--case-gold);
pointer-events: none;
}
.casefile-hero__plate-media {
position: relative;
z-index: 1;
width: 100%;
height: 100%;
overflow: hidden;
background: #dcd6c9;
}
.casefile-hero__plate-media img,
.casefile-hero__image {
width: 100%;
height: 100%;
object-fit: cover;
}
.casefile-hero__plate-label {
position: absolute;
top: -11px;
left: 0;
z-index: 2;
padding: 0 8px;
background: var(--case-ink);
color: var(--case-muted);
font-family: var(--font-ui, var(--font-sans, Arial, sans-serif));
font-size: 9.5px;
line-height: 1.5;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.casefile-hero__pulse {
position: absolute;
top: 38%;
right: -19px;
z-index: 2;
width: 9px;
height: 9px;
border-radius: 50%;
background: var(--case-gold);
animation: casefile-pulse 2.6s ease-in-out infinite;
}
.casefile-hero__metrics {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
border-top: 1px solid rgba(241, 236, 225, 0.2);
opacity: 0;
animation: casefile-fade-up 0.8s ease-out 1.18s forwards;
}
.casefile-hero__metric {
min-width: 0;
padding: 14px 16px 0 0;
}
.casefile-hero__metric + .casefile-hero__metric {
border-left: 1px solid rgba(241, 236, 225, 0.2);
padding-right: 0;
padding-left: 16px;
}
.casefile-hero__metric strong {
display: block;
color: var(--case-paper);
font-family: var(--font-serif, Georgia, serif);
font-size: 32px;
font-weight: 400;
line-height: 1;
}
.casefile-hero__metric strong span {
color: var(--case-gold-ink);
}
.casefile-hero__metric > span {
display: block;
margin-top: 6px;
color: var(--case-muted);
font-family: var(--font-ui, var(--font-sans, Arial, sans-serif));
font-size: 9.5px;
line-height: 1.4;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.casefile-hero__ticker {
position: relative;
z-index: 2;
height: 58px;
display: flex;
align-items: center;
overflow: hidden;
border-top: 1px solid rgba(232, 226, 213, 0.18);
background: var(--case-ink);
color: #e8e2d5;
opacity: 0;
animation: casefile-fade-in 0.8s ease-out 1.26s forwards;
}
.casefile-hero__ticker-track {
display: flex;
width: max-content;
animation: casefile-marquee 28s linear infinite;
}
.casefile-hero__ticker-set {
display: flex;
flex: none;
align-items: center;
gap: 44px;
margin: 0;
padding: 0 44px 0 0;
list-style: none;
font-family: var(--font-ui, var(--font-sans, Arial, sans-serif));
font-size: 11px;
line-height: 1;
letter-spacing: 0.15em;
white-space: nowrap;
}
.casefile-hero__ticker-set li {
display: flex;
align-items: center;
gap: 44px;
}
.casefile-hero__ticker-set i {
color: #d0a32d;
font-style: normal;
font-size: 8px;
}
.casefile-hero__ticker {
padding-right: 104px;
}
.casefile-hero__ticker:hover .casefile-hero__ticker-track,
.casefile-hero__ticker:focus-within .casefile-hero__ticker-track,
.casefile-hero__ticker.is-paused .casefile-hero__ticker-track {
animation-play-state: paused;
}
.casefile-hero__ticker-toggle {
position: absolute;
top: 0;
right: 0;
z-index: 3;
display: flex;
align-items: center;
gap: 7px;
height: 100%;
padding: 0 18px;
border: 0;
border-left: 1px solid rgba(232, 226, 213, 0.24);
background: var(--case-ink);
color: #e8e2d5;
font-family: var(--font-ui, var(--font-sans, Arial, sans-serif));
font-size: 10px;
font-weight: 700;
line-height: 1;
letter-spacing: 0.15em;
text-transform: uppercase;
cursor: pointer;
}
.casefile-hero__ticker-toggle:hover {
color: #fff;
}
.casefile-hero__ticker-toggle:focus-visible {
outline: 2px solid var(--apex-gold-light);
outline-offset: -3px;
}
.casefile-hero__ticker-toggle-icon {
width: 8px;
height: 9px;
flex: none;
border-left: 3px solid currentColor;
border-right: 3px solid currentColor;
}
.casefile-hero__ticker-toggle[aria-pressed="true"] .casefile-hero__ticker-toggle-icon {
width: 0;
height: 0;
border-left: 8px solid currentColor;
border-right: 0;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
}
@keyframes casefile-fade-in {
to { opacity: 1; }
}
@keyframes casefile-fade-up {
from { opacity: 0; transform: translateY(24px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes casefile-plate-in {
from { opacity: 0; transform: translateX(36px) scale(0.985); }
to { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes casefile-pulse {
0%, 100% { box-shadow: 0 0 0 0 rgba(179, 137, 31, 0.45); }
50% { box-shadow: 0 0 0 9px rgba(179, 137, 31, 0); }
}
@keyframes casefile-marquee {
to { transform: translateX(-50%); }
}
@media (max-width: 870px) {
.casefile-hero__stage {
grid-template-columns: 1fr;
min-height: 0;
}
.casefile-hero__copy {
padding: clamp(58px, 10vw, 96px) var(--shell-inset) clamp(72px, 11vw, 108px);
}
.casefile-hero__plate-column {
padding: 38px clamp(28px, 7vw, 72px) 52px;
}
.casefile-hero__plate {
flex: none;
min-height: min(66vw, 620px);
}
.casefile-hero__plate-label {
background: rgba(13, 26, 43, 0.92);
}
}
@media (min-width: 871px) and (max-width: 1099px) {
.casefile-hero__stage {
grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
}
.casefile-hero__copy {
padding: clamp(42px, 6vh, 64px) clamp(18px, 2.8vw, 34px) clamp(48px, 7vh, 72px) var(--shell-inset);
}
.casefile-hero__eyebrow {
margin-bottom: 18px;
font-size: 9px;
}
.casefile-hero__title {
max-width: none;
font-size: clamp(40px, 4.7vw, 52px);
}
.casefile-hero__terms {
flex-wrap: nowrap;
gap: clamp(10px, 1.4vw, 18px);
}
.casefile-hero__term {
min-width: 0;
}
.casefile-hero__term-word {
font-size: clamp(20px, 2.25vw, 27px);
}
.casefile-hero__term-label {
font-size: 7px;
}
.casefile-hero__intro {
max-width: 44ch;
margin-top: 42px;
font-size: 13px;
}
.casefile-hero__actions {
gap: 16px 20px;
margin-top: 24px;
}
.casefile-hero__primary,
.casefile-hero__secondary {
font-size: 12px;
}
.casefile-hero__plate-column {
padding: 28px clamp(24px, 3vw, 34px) 28px 0;
}
}
@media (max-width: 640px) {
.home {
--apex-header-height: 72px;
}
.home .site-brand {
height: 71px;
}
.home .site-header .site-logo-image {
max-width: 190px;
height: 44px;
}
.site-header__file-ref {
display: none;
}
.home .menu-toggle {
width: 42px;
height: 42px;
flex-basis: 42px;
}
.casefile-hero__copy {
padding: 54px var(--shell-inset) 72px;
overflow: hidden;
}
.casefile-hero__eyebrow {
align-items: flex-start;
gap: 10px;
margin-bottom: 28px;
font-size: 9px;
}
.casefile-hero__eyebrow span:last-child {
max-width: 28ch;
}
.casefile-hero__title {
font-size: clamp(42px, 12.5vw, 56px);
line-height:1.1;
}
.casefile-hero__terms {
display: grid;
grid-template-columns: minmax(0, 1fr);
justify-items: start;
gap: 30px;
margin-top: 18px;
}
.casefile-hero__term-word {
font-size: clamp(31px, 9.5vw, 40px);
}
.casefile-hero__intro {
margin-top: 54px;
font-size: 15px;
overflow-wrap: anywhere;
}
.casefile-hero__actions {
align-items: flex-start;
flex-direction: column;
margin-top: 30px;
}
.casefile-hero__primary {
width: 100%;
}
.casefile-hero__plate-column {
padding: 26px 22px 44px;
}
.casefile-hero__plate {
min-height: 430px;
}
.casefile-hero__plate-frame {
inset: 10px -8px -10px 8px;
}
.casefile-hero__plate-label {
max-width: calc(100% - 20px);
font-size: 8.5px;
}
.casefile-hero__pulse {
right: -10px;
}
.casefile-hero__metrics {
margin-top: 4px;
}
.casefile-hero__metric strong {
font-size: 29px;
}
.casefile-hero__ticker-set {
gap: 32px;
padding-right: 32px;
font-size: 10px;
}
.casefile-hero__ticker-set li {
gap: 32px;
}
.casefile-hero__ticker {
padding-right: 86px;
}
.casefile-hero__ticker-toggle {
padding: 0 13px;
font-size: 9px;
}
}
@media (prefers-reduced-motion: reduce) {
.casefile-hero *,
.home .site-header__file-ref {
scroll-behavior: auto;
}
.casefile-hero__eyebrow,
.casefile-hero__title-line > span,
.casefile-hero__terms,
.casefile-hero__intro,
.casefile-hero__actions,
.casefile-hero__plate,
.casefile-hero__metrics,
.casefile-hero__ticker {
opacity: 1;
transform: none;
animation: none;
}
.casefile-hero__pulse {
animation: none;
}
.casefile-hero__ticker {
overflow: visible;
}
.casefile-hero__ticker-track {
transform: none;
animation: none;
width: 100%;
}
.casefile-hero__ticker-set {
width: 100%;
flex-wrap: wrap;
white-space: normal;
gap: 12px 20px;
padding-right: 0;
line-height: 1.6;
}
.casefile-hero__ticker-set li {
min-width: 0;
max-width: 100%;
gap: 12px;
}
.casefile-hero__ticker-set li span {
overflow-wrap: anywhere;
}
.casefile-hero__ticker-set[aria-hidden="true"] {
display: none;
}
.casefile-hero__ticker {
padding-right: 0;
}
.casefile-hero__ticker-toggle {
display: none;
}
}
.structured-sections .section-answer {
font-size: 1.0625rem;
line-height: 1.6;
color: var(--text-heading);
font-weight: 500;
margin: 0 0 var(--space-3, 1rem);
padding-left: var(--space-3, 1rem);
border-left: 2px solid var(--accent);
}
.structured-sections .section-detail > :first-child { margin-top: 0; }
.structured-sections .section-detail ul,
.structured-sections .section-detail ol { padding-left: 1.25rem; margin: 0 0 1rem; }
.structured-sections .section-detail li { margin-bottom: .4rem; }
.structured-sections .section-detail table {
width: 100%;
border-collapse: collapse;
margin: 0 0 1rem;
font-size: .95rem;
}
.structured-sections .section-detail th,
.structured-sections .section-detail td {
text-align: left;
padding: .55rem .75rem;
border-bottom: 1px solid var(--color-outline-variant);
vertical-align: top;
}
.structured-sections .section-detail thead th {
border-bottom-width: 2px;
font-weight: 600;
color: var(--text-heading);
}
.article-sources {
margin: var(--space-6, 2.5rem) 0 0;
padding-top: var(--space-5, 2rem);
border-top: 1px solid var(--color-outline-variant);
}
.article-sources__title {
font-size: .8125rem;
letter-spacing: .12em;
text-transform: uppercase;
color: var(--text-muted);
margin: 0 0 var(--space-3, 1rem);
}
.article-sources__list { margin: 0; padding-left: 1.25rem; font-size: .9375rem; line-height: 1.6; }
.article-sources__list li { margin-bottom: .5rem; }
.campaign__hero { padding: var(--space-7, 4rem) 0; }
.campaign__grid {
display: grid;
grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
gap: var(--space-6, 2.5rem);
align-items: start;
}
.campaign__lead { font-size: 1.125rem; }
.campaign__proof {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
gap: var(--space-4, 1.5rem);
margin: var(--space-5, 2rem) 0 0;
padding-top: var(--space-5, 2rem);
border-top: 1px solid var(--color-outline-variant);
}
.campaign__proof dt {
font-size: 1.75rem;
font-weight: 600;
color: var(--text-heading);
font-variant-numeric: tabular-nums;
}
.campaign__proof dd { margin: .25rem 0 0; font-size: .875rem; color: var(--text-muted); }
.campaign__panel {
position: sticky;
top: var(--space-5, 2rem);
background: var(--surface-card);
border: 1px solid var(--color-outline-variant);
border-radius: var(--shape-md, 6px);
padding: var(--space-5, 2rem);
}
.campaign__call { margin: var(--space-3, 1rem) 0 0; font-size: .9375rem; color: var(--text-muted); }
.page-template-page-campaign .menu-toggle,
.page-template-page-campaign .footer-columns .footer-col { display: none; }
@media (max-width: 900px) {
.campaign__grid { grid-template-columns: 1fr; }
.campaign__panel { position: static; }
}
.legacy-section {
padding: 0;
overflow: hidden;
}
.legacy-section__grid {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
align-items: stretch;
min-height: 34rem;
}
.legacy-section__copy {
display: flex;
align-items: center;
padding: var(--space-7, 4rem) var(--space-6, 2.5rem) var(--space-7, 4rem) 0;
}
.legacy-section__inner {
margin-left: auto;
width: 100%;
max-width: calc(var(--apex-shell) / 2 - var(--space-6, 2.5rem));
padding-left: var(--gutter-desktop, 2rem);
}
.legacy-section h2 {
font-size: clamp(1.85rem, 3.6vw, 3rem);
line-height: 1.1;
letter-spacing: -0.01em;
margin: 0.5rem 0 var(--space-4, 1.5rem);
text-wrap: balance;
}
.legacy-section__text {
max-width: 46ch;
margin-bottom: var(--space-5, 2rem);
}
.legacy-section__text p:last-child { margin-bottom: 0; }
.legacy-section__link {
display: inline-flex;
align-items: center;
gap: 0.85rem;
padding: 0.9rem 1.6rem;
border: 1px solid currentColor;
text-decoration: none;
font-size: 0.8125rem;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
transition: background-color var(--motion-standard) var(--ease-state), color var(--motion-standard) var(--ease-state);
}
.legacy-section__link .apex-icon { transition: transform var(--motion-standard) var(--ease-state); }
.section--navy .legacy-section__link:hover,
.section--navy .legacy-section__link:focus-visible {
background: var(--apex-gold-light);
border-color: var(--apex-gold-light);
color: var(--apex-navy);
}
.legacy-section__link:hover span,
.legacy-section__link:focus-visible span { color: var(--apex-navy); }
.legacy-section__link:hover .apex-icon,
.legacy-section__link:focus-visible .apex-icon { transform: translateX(4px); }
.legacy-section__media { position: relative; }
.legacy-section__media img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
@media (max-width: 900px) {
.legacy-section__grid { grid-template-columns: 1fr; min-height: 0; }
.legacy-section__copy { padding: var(--space-6, 2.5rem) 0; }
.legacy-section__inner {
max-width: none;
padding: 0 var(--space-5, 2rem);
}
.legacy-section__media { min-height: 18rem; order: -1; }
}
@media (prefers-reduced-motion: reduce) {
.legacy-section__link,
.legacy-section__link .apex-icon { transition: none; }
}
.legacy-section--no-media .legacy-section__grid {
grid-template-columns: 1fr;
min-height: 0;
}
.legacy-section--no-media .legacy-section__copy {
padding: var(--space-7, 4rem) 0;
}
.legacy-section--no-media .legacy-section__inner {
margin-inline: auto;
max-width: var(--apex-shell);
padding-inline: var(--gutter-desktop, 2rem);
}
.legacy-section--no-media .legacy-section__text { max-width: 62ch; }
.faq-archive__intro { max-width: 48rem; font-size: 1.125rem; }
.faq-search { display: flex; gap: .75rem; max-width: 42rem; margin-top: 2rem; }
.faq-search label { flex: 1 1 auto; min-width: 0; }
.faq-search input {
width: 100%;
min-height: 3.5rem;
padding: .85rem 1rem;
border: 1px solid rgba(255, 255, 255, .45);
border-radius: .2rem;
background: #fff;
color: var(--color-navy, #0b1f33);
font: inherit;
}
.faq-archive__layout { display: grid; grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.faq-archive__nav { position: sticky; top: 7rem; display: grid; gap: .7rem; padding-left: 1rem; border-left: 2px solid var(--color-gold, #b38a3e); }
.faq-archive__nav a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.faq-archive__groups { min-width: 0; }
.faq-topic { scroll-margin-top: 7rem; margin-bottom: clamp(3rem, 6vw, 5rem); }
.faq-topic__heading { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; margin-bottom: 1.25rem; }
.faq-topic__heading h2 { margin: 0; }
.faq-topic__heading a { flex: 0 0 auto; }
.faq-archive__empty { padding: 2rem; background: var(--color-sand, #f4f0e8); }
@media (max-width: 760px) {
.faq-archive__layout { grid-template-columns: 1fr; }
.faq-archive__nav { position: static; }
.faq-topic__heading { display: block; }
.faq-topic__heading a { display: inline-block; margin-top: .5rem; }
.faq-search { align-items: stretch; flex-direction: column; }
.faq-search .button { width: 100%; }
}
@media (max-width: 900px) {
.detail-main__grid { grid-template-columns: minmax(0, 1fr); }
.detail-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.detail-sidebar .sidebar-steps { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
.detail-sidebar { grid-template-columns: minmax(0, 1fr); }
}
:root {
--layout-shell: clamp(80rem, 90vw, 150rem);
--gutter-desktop: clamp(2rem, 3vw, 6rem);
}
html { font-size: clamp(16px, calc(12px + .28vw), 22px); }
@media (min-width: 1600px) {
:root {
--space-1: clamp(.25rem, .18vw, .4rem);
--space-2: clamp(.5rem, .36vw, .75rem);
--space-3: clamp(.75rem, .54vw, 1.1rem);
--space-4: clamp(1rem, .72vw, 1.5rem);
--space-6: clamp(1.5rem, 1.08vw, 2.25rem);
--space-8: clamp(2rem, 1.45vw, 3rem);
--space-10: clamp(2.5rem, 1.8vw, 3.75rem);
--space-12: clamp(3rem, 2.15vw, 4.5rem);
--space-16: clamp(4rem, 2.9vw, 6rem);
--space-20: clamp(5rem, 3.6vw, 7.5rem);
--space-24: clamp(6rem, 4.3vw, 9rem);
--space-30: clamp(7.5rem, 5.4vw, 11.25rem);
--apex-header-height: clamp(5.125rem, 4.3vw, 7rem);
}
body { font-size: clamp(1rem, .45rem + .46vw, 1.25rem); }
.site-shell { width: min(calc(100% - (2 * var(--gutter-desktop))), var(--apex-shell)); }
.site-header__inner { min-height: var(--apex-header-height); }
.site-brand,
.home .site-brand { width: clamp(16.875rem, 15vw, 24rem); height: var(--apex-header-height); }
.site-header .site-logo-image,
.home .site-header .site-logo-image { max-width: 100%; height: clamp(3.25rem, 3vw, 5rem); }
.menu-toggle,
.home .menu-toggle { width: clamp(3rem, 2.6vw, 4rem); height: clamp(3rem, 2.6vw, 4rem); flex-basis: clamp(3rem, 2.6vw, 4rem); }
.section,
.source-section { padding-block: clamp(5rem, 8vh, 10rem); }
.page-hero,
.source-hero { padding-block: clamp(6rem, 11vh, 13rem) clamp(5rem, 8vh, 10rem); }
.detail-header,
.article-header,
.job-header,
.profile-hero { padding-block: clamp(7rem, 12vh, 14rem) clamp(4rem, 7vh, 8rem); }
.page-hero h1,
.source-hero h1,
.detail-header h1,
.article-header h1,
.job-header h1,
.profile-hero h1 { max-width: 18ch; font-size: clamp(3.5rem, 3.75vw, 6.5rem); }
.section-title,
.section-heading h2 { font-size: clamp(2.5rem, 2.8vw, 5rem); }
.entry-content { font-size: clamp(1rem, .55rem + .38vw, 1.3rem); }
.casefile-hero__stage { grid-template-columns: minmax(0, 1.35fr) minmax(36rem, .85fr); }
.casefile-hero__copy { padding-right: clamp(2.125rem, 4.2vw, 4.25rem); }
.casefile-hero__title { max-width: 57.5rem; font-size: clamp(3rem, 4.15vw, 5rem); }
.casefile-hero__terms { flex-wrap: nowrap; }
.casefile-hero__term-word { font-size: clamp(1.875rem, 2.4vw, 2.875rem); }
.casefile-hero__intro { max-width: 30rem; font-size: clamp(.96875rem, .72rem + .18vw, 1.125rem); }
.casefile-hero__primary,
.casefile-hero__secondary { min-height: clamp(3.25rem, 2.7vw, 4.5rem); font-size: clamp(1rem, .64rem + .3vw, 1.3rem); }
.casefile-hero__plate-column { padding: clamp(1.5rem, 2vw, 3rem) var(--shell-inset) clamp(1.5rem, 2vw, 3rem) clamp(1.5rem, 2.4vw, 3rem); }
.button,
button,
input,
textarea,
select { min-height: clamp(3rem, 2.5vw, 4rem); }
.button { padding: clamp(.75rem, .7vw, 1.15rem) clamp(1.25rem, 1.35vw, 2.25rem); }
.cards,
.editorial-grid,
.numbered-grid,
.image-grid,
.team-grid { gap: clamp(2rem, 2.2vw, 4rem); }
.card,
.editorial-card,
.numbered-card,
.image-card { min-width: 0; }
.card__media,
.editorial-card__media,
.image-card__media { min-height: clamp(20rem, 22vw, 34rem); }
.card h3,
.editorial-card h2,
.editorial-card h3,
.image-card h2,
.image-card h3,
.team-card h2,
.team-card h3,
.numbered-card h2,
.numbered-card h3 { font-size: clamp(1.5rem, 1.35vw, 2.65rem); }
.card p,
.editorial-card p,
.image-card p,
.team-card p,
.numbered-card p { font-size: clamp(1rem, .6rem + .34vw, 1.3rem); }
.split { gap: clamp(4rem, 6vw, 10rem); }
.split__media,
.detail-lead-media,
.article-media { min-height: clamp(32rem, 40vw, 58rem); }
.content-layout { grid-template-columns: minmax(0, 1fr) clamp(20rem, 21vw, 30rem); }
.detail-main__grid,
.article-layout,
.job-page { grid-template-columns: minmax(0, 1fr) clamp(21rem, 22vw, 32rem); }
.job-page {
width: 100%;
max-width: var(--layout-shell);
}
.job-copy { max-width: 78ch; }
.single-career .application-panel {
margin-top: 0;
padding: clamp(2.5rem, 3vw, 5rem);
}
.detail-main__grid,
.article-layout,
.content-layout,
.job-page { gap: clamp(4rem, 6vw, 10rem); }
.mega-menu__content { grid-template-columns: minmax(20rem, .8fr) minmax(24rem, 1fr) minmax(26rem, 1.1fr); }
.mega-nav-menu a { font-size: clamp(1.75rem, 1.7vw, 3rem); }
.mega-menu__practices li a { min-height: clamp(3rem, 2.7vw, 4.25rem); font-size: clamp(1rem, .62rem + .34vw, 1.35rem); }
.practice-scroll__sticky { padding-block: clamp(4rem, 7vh, 8rem); }
.practice-scroll__shell { align-content: center; grid-template-rows: auto minmax(clamp(30rem, 52vh, 50rem), auto); }
.practice-scroll__heading { gap: clamp(4rem, 8vw, 12rem); margin-bottom: clamp(2rem, 4vh, 5rem); }
.practice-scroll__heading h2 { max-width: 18ch; font-size: clamp(3rem, 3.4vw, 6rem); }
.practice-scroll__heading p { max-width: 48ch; font-size: clamp(1rem, .58rem + .36vw, 1.35rem); }
.practice-scroll__item { align-items: center; grid-template-columns: minmax(0, 1.12fr) minmax(28rem, .88fr); gap: clamp(5rem, 8vw, 14rem); }
.practice-scroll__visual { width: min(92%, clamp(38rem, 35vw, 58rem)); }
.practice-scroll__content { max-width: 44rem; padding: 0 clamp(5rem, 6vw, 10rem) 0 0; }
.practice-scroll__content h2 { max-width: 12ch; font-size: clamp(3rem, 4vw, 7rem); }
.practice-scroll__content p { max-width: 46ch; font-size: clamp(1rem, .55rem + .4vw, 1.4rem); }
.practice-scroll.is-enhanced .practice-scroll__progress { top: 50%; transform: translateY(-50%); }
.purpose-section__grid { gap: clamp(4rem, 6vw, 10rem); }
.legacy-section__inner { max-width: calc(var(--apex-shell) / 2 - 3rem); }
.home-cta__panel { min-height: min(100svh, 70rem); }
.home-cta__contact-inner,
.newsletter-signup--home-cta { max-width: 44rem; }
.faq-archive__layout { grid-template-columns: clamp(16rem, 18vw, 24rem) minmax(0, 1fr); }
.faq-search { max-width: 56rem; }
.faq-topic { margin-bottom: clamp(4rem, 7vh, 8rem); }
.site-footer__grid { gap: clamp(3rem, 5vw, 8rem); }
.site-footer { font-size: clamp(1rem, .65rem + .3vw, 1.25rem); }
.footer-brand { max-width: 42rem; }
}
@media (max-width: 720px) {
html { font-size: clamp(15px, 4vw, 17px); }
:root { --gutter-mobile: clamp(1rem, 5vw, 1.5rem); }
.button,
button,
input,
textarea,
select { max-width: 100%; }
iframe,
video,
canvas,
svg { max-width: 100%; }
.cards,
.editorial-grid,
.numbered-grid,
.image-grid,
.team-grid { gap: var(--grid-gap-mobile); }
.page-hero h1,
.source-hero h1,
.detail-header h1,
.article-header h1,
.job-header h1,
.profile-hero h1 { overflow-wrap: anywhere; font-size: clamp(2.25rem, 11vw, 3.75rem); }
}
.structured-sections .section-detail p,
.structured-sections .section-detail li,
.purpose-section__lead .rich-text,
.purpose-section__impact .rich-text,
.featured-story__copy p,
.faq-answer,
.faq-answer p,
.entry-content > p,
.entry-content > ul,
.entry-content > ol { max-width: 62ch; }
.split__media { max-width: 100%; }
@media (min-width: 1600px) {
.casefile-hero__intro { max-width: 46ch; }
.cards,
.editorial-grid,
.practice-collection__grid,
.numbered-grid { grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr)); }
.image-grid,
.team-grid { grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr)); }
.card__media,
.editorial-card__media { min-height: 0; }
.image-card__media { min-height: 0; aspect-ratio: 4 / 5; }
.image-card__media img { min-height: 0; }
.values-grid,
.why-grid,
.stats-grid { max-width: 1600px; margin-inline: auto; }
.contact-form { max-width: 900px; }
.vacancy-list { max-width: 1200px; }
}
.album-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: var(--grid-gap);
}
.album-card {
min-width: 0;
display: flex;
flex-direction: column;
color: inherit;
}
.album-card:hover {
color: inherit;
}
.album-card__media {
position: relative;
display: block;
aspect-ratio: 16 / 10;
overflow: hidden;
border-radius: var(--apex-radius);
background: #e9e8e4;
}
.album-card__media img {
width: 100%;
height: 100%;
display: block;
object-fit: cover;
transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.album-card:hover .album-card__media img,
.album-card:focus-visible .album-card__media img {
transform: scale(1.04);
}
.album-card__count {
position: absolute;
left: 14px;
bottom: 14px;
padding: 6px 12px;
border-radius: 999px;
background: rgba(0, 6, 19, 0.78);
color: #fff;
font-size: 12px;
font-weight: 600;
letter-spacing: 0.04em;
}
.album-card__body {
display: block;
padding: 22px 4px 0;
}
.album-card__meta {
display: block;
margin-bottom: 8px;
color: var(--apex-gold-ink);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.album-card__title {
margin: 0 0 8px;
font-size: clamp(22px, 2vw, 26px);
text-decoration: underline;
text-decoration-color: transparent;
text-underline-offset: 5px;
text-decoration-thickness: 1px;
transition: text-decoration-color 0.2s ease;
}
.album-card:hover .album-card__title,
.album-card:focus-visible .album-card__title {
text-decoration-color: var(--apex-gold-ink);
}
.album-card__excerpt {
display: block;
color: var(--apex-text);
font-size: 15px;
}
.gallery-album__meta {
display: flex;
flex-wrap: wrap;
gap: 8px 0;
margin: 0 0 20px;
color: var(--apex-gold-ink);
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.gallery-album__meta span + span {
margin-left: 16px;
padding-left: 16px;
border-left: 1px solid var(--apex-border);
}
.gallery-album__story {
padding: 0 0 clamp(32px, 4vw, 48px);
background: #fff;
}
.gallery-album__story .entry-content {
max-width: 760px;
}
.gallery-album__photos {
padding: 8px 0 clamp(64px, 10vw, 120px);
background: #fff;
}
.photo-grid {
columns: 3 280px;
column-gap: 16px;
margin: 0;
padding: 0;
list-style: none;
}
.photo-grid__item {
break-inside: avoid;
margin: 0 0 16px;
}
.photo-grid figure {
margin: 0;
}
.photo-grid__link {
display: block;
overflow: hidden;
border-radius: var(--apex-radius);
background: #e9e8e4;
cursor: zoom-in;
}
.photo-grid__link img {
width: 100%;
height: auto;
display: block;
transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.photo-grid__link:hover img,
.photo-grid__link:focus-visible img {
transform: scale(1.03);
}
.photo-grid figcaption {
padding: 10px 2px 0;
color: var(--apex-muted);
font-size: 14px;
}
html:has(.lightbox[open]) {
overflow: hidden;
}
.lightbox {
width: 100vw;
max-width: none;
height: 100vh;
height: 100dvh;
max-height: none;
margin: 0;
padding: 0;
border: 0;
background: rgba(0, 6, 19, 0.97);
color: #fff;
}
.lightbox::backdrop {
background: rgba(0, 6, 19, 0.97);
}
.lightbox[open] {
display: grid;
grid-template-rows: auto minmax(0, 1fr);
}
.lightbox__bar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px 20px;
}
.lightbox__counter {
color: rgba(255, 255, 255, 0.75);
font-size: 14px;
letter-spacing: 0.08em;
}
.lightbox__close,
.lightbox__nav {
width: 48px;
height: 48px;
display: grid;
place-items: center;
padding: 0;
border: 1px solid rgba(255, 255, 255, 0.28);
border-radius: 50%;
background: rgba(255, 255, 255, 0.06);
color: #fff;
font-size: 22px;
line-height: 1;
cursor: pointer;
transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}
.lightbox__close:hover,
.lightbox__nav:hover {
border-color: var(--apex-gold-light);
color: var(--apex-gold-light);
background: rgba(255, 255, 255, 0.1);
}
.lightbox__close:focus-visible,
.lightbox__nav:focus-visible {
outline: 2px solid var(--apex-gold-light);
outline-offset: 3px;
}
.lightbox__nav {
position: absolute;
top: 50%;
transform: translateY(-50%);
}
.lightbox__nav--prev {
left: 20px;
}
.lightbox__nav--next {
right: 20px;
}
.lightbox__nav[hidden] {
display: none;
}
.lightbox__stage {
min-height: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
margin: 0;
padding: 0 88px 28px;
}
.lightbox__stage img {
max-width: 100%;
max-height: calc(100dvh - 150px);
width: auto;
height: auto;
border-radius: 4px;
object-fit: contain;
transition: opacity 0.2s ease;
}
.lightbox__stage img.is-loading {
opacity: 0.35;
}
.lightbox__stage figcaption {
max-width: 760px;
margin-top: 14px;
color: rgba(255, 255, 255, 0.82);
font-size: 15px;
text-align: center;
}
.lightbox__stage figcaption:empty {
display: none;
}
@media (max-width: 1024px) {
.album-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 720px) {
.album-grid {
grid-template-columns: minmax(0, 1fr);
}
.photo-grid {
columns: 2;
column-gap: 10px;
}
.photo-grid__item {
margin-bottom: 10px;
}
.photo-grid figcaption {
font-size: 13px;
}
.lightbox__stage {
padding: 0 12px 88px;
}
.lightbox__stage img {
max-height: calc(100dvh - 200px);
}
.lightbox__nav {
top: auto;
bottom: 20px;
transform: none;
}
.lightbox__nav--prev {
left: calc(50% - 60px);
}
.lightbox__nav--next {
right: calc(50% - 60px);
}
}
@media (prefers-reduced-motion: reduce) {
.album-card__media img,
.photo-grid__link img,
.lightbox__stage img {
transition: none;
}
.album-card:hover .album-card__media img,
.album-card:focus-visible .album-card__media img,
.photo-grid__link:hover img,
.photo-grid__link:focus-visible img {
transform: none;
}
}
.apex-art {
transition: filter 0.3s ease;
}
.apex-art--people {
filter: saturate(0.62) brightness(0.88) contrast(1.08) hue-rotate(-8deg);
}
.apex-art--render {
filter: saturate(0.7) brightness(0.95) contrast(1.04);
}
.card:hover .apex-art--people,
.card:focus-visible .apex-art--people {
filter: saturate(0.74) brightness(0.94) contrast(1.06) hue-rotate(-6deg);
}
.card:hover .apex-art--render,
.card:focus-visible .apex-art--render {
filter: saturate(0.82) brightness(1) contrast(1.02);
}
@media print {
.apex-art {
filter: none;
}
}
html.menu-open {
overflow: hidden;
}
.mega-menu {
overscroll-behavior: contain;
}
.menu-toggle,
.home .menu-toggle {
width: 48px;
height: 48px;
flex-basis: 48px;
}
.casefile-hero__primary {
background: var(--case-gold);
color: var(--case-ink);
}
.casefile-hero__primary .apex-icon {
color: currentColor;
}
.casefile-hero__primary:hover,
.casefile-hero__primary:focus-visible {
background: var(--case-gold-ink);
color: var(--case-ink);
}
.newsletter-signup--home-cta .newsletter-signup__title {
color: var(--apex-paper, #f1ece1);
}
.newsletter-signup--home-cta .newsletter-signup__fields {
padding-right: 0;
}
.newsletter-signup--home-cta .newsletter-signup__submit {
position: static;
width: auto;
min-height: 48px;
justify-self: start;
border-radius: 0;
border-color: var(--apex-gold);
padding: 12px 22px;
background: var(--apex-gold);
color: var(--apex-navy);
font-size: 15px;
}
.newsletter-signup--home-cta .newsletter-signup__submit::before {
content: none;
}
.newsletter-signup--home-cta .newsletter-signup__field,
.newsletter-signup--home-cta .newsletter-signup__consent {
color: rgba(255, 255, 255, 0.76);
}
@media (max-width: 600px) {
.casefile-hero__copy {
padding-top: 30px;
padding-bottom: 44px;
}
.casefile-hero__eyebrow {
margin-bottom: 20px;
}
.casefile-hero__title {
font-size: clamp(36px, 10.5vw, 48px);
line-height: 1.08;
}
.casefile-hero__terms {
gap: 12px;
margin-top: 16px;
}
.casefile-hero__term-word {
font-size: clamp(25px, 7vw, 32px);
}
.casefile-hero__intro {
margin-top: 26px;
}
.casefile-hero__actions {
margin-top: 22px;
}
}
@keyframes casefile-rise {
from { transform: translateY(18px); }
to { transform: translateY(0); }
}
.casefile-hero__eyebrow,
.casefile-hero__title-line > span,
.casefile-hero__terms,
.casefile-hero__intro,
.casefile-hero__actions {
opacity: 1;
animation-name: casefile-rise;
animation-duration: var(--motion-cinematic, 420ms);
animation-delay: 0s;
}
@media (prefers-reduced-motion: reduce) {
.casefile-hero__eyebrow,
.casefile-hero__title-line > span,
.casefile-hero__terms,
.casefile-hero__intro,
.casefile-hero__actions { animation: none; }
}
.site-footer .footer-contact__address { color: inherit; }
:root {
--motion-quick: 140ms;
--motion-standard: 260ms;
--motion-cinematic: 420ms;
--motion-slow: 620ms;
--motion-stagger: 55ms;
--ease-premium: cubic-bezier(.22,.8,.25,1);
--ease-state: cubic-bezier(.2,0,0,1);
--ease-exit: cubic-bezier(.4,0,1,1);
}
html.motion-enabled .site-header {
transition: box-shadow var(--motion-standard) var(--ease-state), background-color var(--motion-standard) var(--ease-state), border-color var(--motion-standard) var(--ease-state);
}
.motion-scroll-progress {
position: fixed;
z-index: 650;
top: 0;
right: 0;
left: 0;
height: 2px;
pointer-events: none;
transform: scaleX(0);
transform-origin: left center;
background: linear-gradient(90deg, var(--apex-gold), var(--apex-gold-light));
box-shadow: 0 0 12px rgba(247,189,72,.28);
}
.hero,
.page-hero,
.source-hero {
position: relative;
isolation: isolate;
overflow: hidden;
}
.hero > *,
.page-hero > *,
.source-hero > * {
position: relative;
z-index: 2;
}
.motion-ambient {
position: absolute !important;
z-index: 1 !important;
top: -240px;
left: -240px;
width: 480px;
height: 480px;
border-radius: 50%;
pointer-events: none;
opacity: .16;
background: radial-gradient(circle, rgba(247,189,72,.46) 0, rgba(166,124,0,.12) 36%, transparent 70%);
filter: blur(18px);
transform: translate3d(0,0,0);
}
a,
button,
input,
textarea,
select {
transition-duration: var(--motion-quick);
transition-timing-function: var(--ease-state);
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
outline: 2px solid var(--apex-focus, var(--apex-gold-light));
outline-offset: 4px;
}
.button,
.filter-pill,
.pagination a,
.profile-tags a,
.menu-toggle {
transition-property: color, background-color, border-color, box-shadow, transform;
}
.button:active,
.filter-pill:active,
.pagination a:active,
.menu-toggle:active {
transform: translateY(1px);
}
.text-link,
.source-link,
.card__footer,
.hero__link {
position: relative;
display: inline-flex;
width: fit-content;
padding-bottom: 3px;
background-image: linear-gradient(currentColor,currentColor);
background-repeat: no-repeat;
background-position: 100% 100%;
background-size: 0 1px;
transition: color var(--motion-quick) var(--ease-state), background-size var(--motion-standard) var(--ease-premium), background-position 0s var(--motion-standard);
}
.text-link:hover,
.text-link:focus-visible,
.source-link:hover,
.source-link:focus-visible,
.card:hover .card__footer,
.card:focus-visible .card__footer,
.hero__link:hover,
.hero__link:focus-visible {
background-position: 0 100%;
background-size: 100% 1px;
}
.card,
.numbered-card,
.image-card,
.team-card,
.editorial-card,
.vacancy-row,
.why-grid article,
.relationship-box,
.sidebar-card,
.sidebar-cta,
.practice-collection-card {
transition: transform var(--motion-quick) var(--ease-state), box-shadow var(--motion-quick) var(--ease-state), border-color var(--motion-quick) var(--ease-state);
}
@media (hover: hover) and (pointer: fine) {
.card:hover,
.numbered-card:hover,
.image-card:hover,
.team-card:hover,
.editorial-card:hover,
.vacancy-row:hover {
transform: translateY(-2px);
}
.card--panel:hover,
.numbered-card:hover,
.vacancy-row:hover,
.why-grid article:hover {
box-shadow: 0 22px 58px rgba(0,31,63,.11);
}
.card__media img,
.editorial-card__media img,
.image-card__media img,
.team-card__media img,
.featured-story__media img,
.practice-collection-card__media img {
transition: transform var(--motion-standard) var(--ease-premium);
}
.card:hover .card__media img,
.editorial-card:hover .editorial-card__media img,
.image-card:hover .image-card__media img,
.team-card:hover .team-card__media img,
.featured-story__media:hover img,
.practice-collection-card:hover .practice-collection-card__media img {
transform: scale(1.035);
}
}
.numbered-card__number,
.value-card > span,
.relationship-box,
.sidebar-card,
.article-rail {
transition: border-color var(--motion-standard) var(--ease-state), color var(--motion-standard) var(--ease-state);
}
.contact-form input,
.contact-form textarea,
.contact-form select,
.archive-search input {
transition: border-color var(--motion-quick) var(--ease-state), box-shadow var(--motion-standard) var(--ease-premium), background-color var(--motion-standard) var(--ease-state);
}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus,
.archive-search input:focus {
border-color: var(--apex-gold);
box-shadow: 0 4px 0 -3px var(--apex-gold);
}
.filter-pill {
transition-property: color, background-color, border-color, transform, box-shadow;
}
.filter-pill:hover,
.filter-pill:focus-visible {
box-shadow: 0 8px 22px rgba(0,31,63,.11);
}
.article-rail__list a {
transition: color var(--motion-quick) var(--ease-state);
}
.article-utilities__button {
transition: border-color var(--motion-quick) var(--ease-state), color var(--motion-quick) var(--ease-state), background-color var(--motion-quick) var(--ease-state);
}
.article-adjacent__link {
transition: background-color var(--motion-standard) var(--ease-state);
}
@media (hover: hover) and (pointer: fine) {
.article-utilities__button:hover {
border-color: var(--apex-gold);
color: var(--apex-gold);
}
.article-adjacent__link:hover {
background: var(--apex-alt);
}
.article-rail__list a:hover {
color: var(--apex-navy);
}
}
.is-motion-active {
will-change: transform, opacity;
}
.mega-menu:not([hidden]) {
will-change: opacity;
}
@media (max-width: 720px) {
.motion-ambient { display: none; }
.motion-scroll-progress { height: 2px; }
}
.motion-lite .motion-ambient { display: none; }
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto !important; }
*, *::before, *::after {
scroll-behavior: auto !important;
animation-duration: .01ms !important;
animation-iteration-count: 1 !important;
transition-duration: .01ms !important;
transition-delay: 0ms !important;
}
.motion-scroll-progress,
.motion-ambient { display: none !important; }
.is-motion-active {
opacity: 1 !important;
visibility: visible !important;
transform: none !important;
will-change: auto !important;
}
}
