:root {
  --navy: #071f3e;
  --navy-mid: #123454;
  --gold: #d1a13f;
  --gold-hover: #b98627;
  --gold-ink: #895f13;
  --focus: #9b6d19;
  --silver: #b9bdc1;
  --line: #d9dee3;
  --muted: #607184;
  --paper: #ffffff;
  --background: #f7f8f8;
  --section: #edf0f2;
  --surface-cool: #e6f0f3;
  --surface-warm: #f3eee4;
  --max-width: 1240px;
  --header-height: 78px;
  --space-eyebrow-title: 20px;
  --space-title-lead: 22px;
  --space-header-content: 52px;
  --type-display: clamp(50px, 4.55vw, 68px);
  --type-section-title: clamp(36px, 3.7vw, 54px);
  --type-subsection-title: 28px;
  --type-card-title: 19px;
  --type-callout: 21px;
  --type-lead: 17px;
  --type-body: 14px;
  --type-label: 11px;
  --leading-display: .98;
  --leading-section-title: 1.04;
  --leading-title: 1.28;
  --leading-body: 1.55;
  --optical-icon-offset: 1px;
  --optical-copy-offset: -1px;
  --motion-fast: 160ms;
  --motion-base: 380ms;
  --motion-ease-out: cubic-bezier(0, 0, .2, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 16px); }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--navy);
  background: var(--background);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button, a, input, textarea { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }
p, h1, h2, h3 { margin-top: 0; }
p, h1 { text-wrap: pretty; }
h2, h3 { text-wrap: balance; }
.container { width: min(calc(100% - 64px), var(--max-width)); margin: 0 auto; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; z-index: 100; top: 10px; left: 10px; padding: 12px 18px;
  color: var(--paper); background: var(--navy); transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.info-icon, .channel-icon {
  width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7;
  stroke-linecap: round; stroke-linejoin: round;
}

/* Header */
.site-header {
  position: sticky; z-index: 30; top: 0; background: rgba(247, 248, 248, 0.95);
  border-bottom: 1px solid rgba(217, 222, 227, 0.76); backdrop-filter: blur(12px);
}
.header-inner {
  min-height: var(--header-height); display: grid; grid-template-columns: auto 1fr auto;
  align-items: center; gap: 38px;
}
.brand { position: relative; display: inline-flex; align-items: center; gap: 11px; min-width: 48px; }
.brand-symbol { position: relative; display: block; width: 44px; height: 52px; overflow: hidden; }
.brand-symbol img {
  position: absolute; top: -41px; left: -67px; width: 174px; max-width: none; mix-blend-mode: multiply;
}
.brand-copy { display: grid; gap: 3px; }
.brand-name { font-size: 13px; font-weight: 800; letter-spacing: .1em; line-height: 1; text-transform: uppercase; }
.brand-tagline { display: flex; gap: 4px; white-space: nowrap; font-size: 6.5px; line-height: 1; letter-spacing: .055em; text-transform: uppercase; }
.brand-tagline strong:first-child { color: var(--navy); }
.brand-tagline strong:last-child { color: var(--gold-ink); }
.main-nav { display: flex; justify-content: center; align-items: center; gap: clamp(18px, 2.2vw, 34px); }
.main-nav a { position: relative; font-size: 13px; line-height: 1.2; white-space: nowrap; }
.main-nav a:not(.mobile-nav-cta)::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 1px;
  background: var(--gold); transition: right 180ms ease;
}
.main-nav a:hover::after, .main-nav a:focus-visible::after { right: 0; }
.mobile-nav-cta { display: none; letter-spacing: .05em; text-transform: uppercase; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.channel-button {
  display: inline-flex; min-height: 44px; padding: 0 13px; align-items: center; justify-content: center; gap: 8px;
  color: var(--navy); background: transparent; border: 1px solid #b7c0c8; font-size: 10px; font-weight: 800;
  line-height: 1; letter-spacing: .07em; text-transform: uppercase; transition: color var(--motion-fast) ease-out,
    background var(--motion-fast) ease-out, border-color var(--motion-fast) ease-out, transform var(--motion-fast) ease-out;
}
.channel-button:hover, .channel-button:focus-visible { background: var(--surface-cool); border-color: var(--navy); transform: translateY(-1px); }
.channel-max-icon { display: grid; width: 22px; height: 22px; place-items: center; color: var(--paper); background: var(--navy); border-radius: 5px; font-size: 11px; font-weight: 800; }
.channel-icon { width: 19px; height: 19px; }
.menu-toggle { display: none; }

/* Shared */
.button {
  display: inline-flex; min-height: 58px; padding: 0 28px; align-items: center; justify-content: center;
  gap: 24px; border: 1px solid transparent; border-radius: 2px; font-size: 15px; font-weight: 700;
  line-height: 1; letter-spacing: .045em; text-transform: uppercase;
  cursor: pointer; transition: color var(--motion-fast) ease-out, background var(--motion-fast) ease-out,
    border-color var(--motion-fast) ease-out, transform var(--motion-fast) ease-out;
}
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button > span[aria-hidden="true"] { transition: transform var(--motion-fast) ease-out; }
.button:hover > span[aria-hidden="true"], .button:focus-visible > span[aria-hidden="true"] { transform: translate(3px, 2px); }
.button-small { min-height: 44px; padding: 0 18px; font-size: 12px; }
.button-outline, .button-secondary { color: var(--navy); border-color: #b7c0c8; background: transparent; }
.button-outline:hover, .button-secondary:hover { border-color: var(--navy); }
.button-primary { color: var(--navy); background: var(--gold); }
.button-primary:hover { background: var(--gold-hover); }
.section { padding: 105px 0; }
.section-silver { background: var(--section); }
.section-navy { color: var(--paper); background: var(--navy); }
.section-intro { max-width: 820px; margin-bottom: var(--space-header-content); }
.section-intro-compact { max-width: 820px; }
.eyebrow { margin-bottom: 20px; color: var(--gold-ink); font-size: var(--type-label); font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.section-intro > .eyebrow { margin-bottom: var(--space-eyebrow-title); }
h1 { margin-bottom: 27px; font-size: var(--type-display); line-height: var(--leading-display); letter-spacing: -.052em; font-weight: 700; }
h2 { max-width: 15ch; margin-bottom: 0; font-size: var(--type-section-title); line-height: var(--leading-section-title); letter-spacing: -.044em; font-weight: 700; }
h3 { margin-bottom: 10px; font-size: var(--type-card-title); line-height: var(--leading-title); letter-spacing: -.015em; font-weight: 700; }
.section-lead { max-width: 48ch; margin: 0; color: #40566b; font-size: var(--type-lead); line-height: var(--leading-body); }
.section-intro h2 + .section-lead { margin-top: var(--space-title-lead); }
#examples-title { max-width: 19ch; }
#advantages-title { max-width: 17ch; }
#team-title { max-width: 16ch; }
#request-title { max-width: 14ch; }
.section-intro-light .section-lead { color: #c6d0d9; }
.text-link { display: inline-flex; gap: 28px; align-items: center; padding-bottom: 7px; border-bottom: 1px solid var(--navy); font-weight: 700; }
.text-link:hover { color: var(--gold-ink); border-color: var(--gold-ink); }

/* Hero */
.hero { position: relative; min-height: 690px; display: flex; align-items: stretch; padding: 35px 0 74px; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(460px, .9fr); align-items: center; gap: 52px; }
.hero-copy { padding-top: 5px; }
.hero-lead { max-width: 585px; margin-bottom: 37px; color: #34495f; font-size: 19px; line-height: 1.53; }
.hero-actions { display: flex; gap: 12px; margin-bottom: 31px; }
.hero-caption { display: flex; align-items: center; gap: 10px; margin-bottom: 0; color: var(--muted); font-size: 13px; }
.hero-caption span { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.hero-visual { position: relative; display: flex; align-items: center; justify-content: flex-end; min-width: 0; }
.hero-photo-frame {
  position: relative; width: min(100%, 560px); height: 570px; margin: 0; overflow: hidden;
  border-radius: 230px 30px 210px 30px; background: var(--surface-warm);
  box-shadow: 0 28px 70px rgba(7, 31, 62, .16);
  isolation: isolate;
}
.hero-photo-frame::before {
  content: ""; position: absolute; z-index: 2; inset: 0; pointer-events: none;
  border: 1px solid rgba(255, 255, 255, .42); border-radius: inherit;
}
.hero-photo-frame::after {
  content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(247, 248, 249, .62) 0%, rgba(247, 248, 249, .1) 22%, transparent 43%),
    linear-gradient(180deg, transparent 68%, rgba(7, 31, 62, .22) 100%);
}
.hero-photo-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 47%; }
.hero-photo-glow {
  position: absolute; z-index: 3; right: -25px; bottom: -20px; width: 190px; height: 190px;
  border: 2px solid rgba(209, 161, 63, .88); border-radius: 50%; pointer-events: none;
}
.hero-visual::before {
  content: ""; position: absolute; z-index: -1; right: -38px; top: 5%; width: 72%; height: 90%;
  border: 1px solid rgba(7, 31, 62, .14); border-radius: 48% 8% 46% 8%; transform: rotate(3deg);
}

@keyframes hero-rise {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}
.hero-copy h1 { animation: hero-rise 560ms var(--motion-ease-out) both; }
.hero-lead { animation: hero-rise 520ms var(--motion-ease-out) 80ms both; }
.hero-actions { animation: hero-rise 500ms var(--motion-ease-out) 150ms both; }
.hero-caption { animation: hero-rise 460ms var(--motion-ease-out) 220ms both; }
.hero-photo-frame { animation: hero-rise 680ms var(--motion-ease-out) 100ms both; }

/* Scroll reveal is enabled only when JavaScript confirms that reduced motion is not requested. */
.motion-ready .section-reveal {
  opacity: 0; transform: translateY(24px);
  transition: opacity var(--motion-base) var(--motion-ease-out), transform var(--motion-base) var(--motion-ease-out);
}
.motion-ready .section-reveal.is-visible { opacity: 1; transform: translateY(0); }

/* Route */
.workflow { background: var(--background); }
.workflow > .container { position: relative; padding: 72px; border-radius: 32px; background: var(--surface-cool); overflow: hidden; }
.workflow .section-intro { position: relative; z-index: 1; max-width: 690px; }
.workflow .route-dot { border-color: var(--surface-cool); }
.route { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; }
.route::before { content: ""; position: absolute; left: 3px; right: 3px; top: 53px; height: 1px; background: #aeb7bf; }
.route::after {
  content: ""; position: absolute; right: 0; top: 49px; width: 9px; height: 9px;
  border-top: 1px solid #aeb7bf; border-right: 1px solid #aeb7bf; transform: rotate(45deg);
}
.route-step { position: relative; display: grid; grid-template-rows: 35px 35px auto; justify-items: start; padding-right: 30px; }
.route-number { color: #778592; font-size: 12px; line-height: 1.3; font-weight: 700; letter-spacing: .1em; }
.route-dot { position: relative; z-index: 1; width: 11px; height: 11px; margin-top: 13px; border: 3px solid var(--section); border-radius: 50%; outline: 1px solid var(--navy); background: var(--navy); }
.route-dot-gold { outline-color: var(--gold-hover); background: var(--gold); }
.route-copy { padding-top: 22px; }
.route-copy h3 { max-width: 215px; min-height: calc(2 * var(--type-card-title) * var(--leading-title)); margin-bottom: 11px; }
.route-copy p { max-width: 245px; margin: 0; color: #526679; font-size: var(--type-body); line-height: var(--leading-body); }
.section-action { margin-top: 55px; }
.workflow .section-action { position: relative; z-index: 1; }

/* Categories */
.examples { background: var(--paper); }
.category-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.category-item {
  display: grid; grid-template-columns: 34px minmax(0, 220px) minmax(0, 1fr); column-gap: 22px;
  min-height: 154px; align-items: start; padding: 30px; border-radius: 20px; background: var(--surface-cool);
}
.category-symbol {
  display: flex; width: 28px; height: 28px; align-items: flex-start; justify-content: center;
  color: var(--gold-ink); transform: translateY(var(--optical-icon-offset));
}
.category-symbol .info-icon { width: 27px; height: 27px; }
.category-item h3, .category-item p { margin: 0; }
.category-item h3 { max-width: 220px; }
.category-item p {
  color: #53687b; font-size: var(--type-body); line-height: var(--leading-body);
  transform: translateY(var(--optical-copy-offset));
}
.category-item-wide { grid-column: 1 / -1; min-height: 112px; background: var(--surface-warm); }
.prompt-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 112px; gap: 40px; align-items: center; margin-top: 12px; padding: 28px 30px; border-radius: 20px; background: var(--surface-warm); }
.prompt-line p { max-width: 710px; margin: 0; font-size: var(--type-callout); line-height: var(--leading-title); letter-spacing: -.02em; font-weight: 600; }

/* Advantages */
.advantages { position: relative; overflow: hidden; }
.advantages::after {
  content: ""; position: absolute; right: -120px; top: -150px; width: 410px; height: 410px;
  border: 76px solid rgba(255, 255, 255, .035); border-radius: 50%; pointer-events: none;
}
.advantages > .container { position: relative; z-index: 1; }
.advantages .eyebrow { color: var(--gold); }
.advantage-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid #3a5066; border-bottom: 1px solid #3a5066; }
.advantage-item { min-height: 310px; padding: 30px 24px 28px; border-bottom: 0; }
.advantage-item:first-child { padding-left: 0; }
.advantage-item:last-child { padding-right: 0; }
.advantage-item:not(:last-child) { border-right: 1px solid #3a5066; }
.advantage-icon { display: grid; width: 38px; height: 38px; margin-bottom: 40px; place-items: center; color: var(--gold); border: 1px solid rgba(209, 161, 63, .55); border-radius: 50%; }
.advantage-icon .info-icon { width: 21px; height: 21px; }
.advantage-item h3 { max-width: 13ch; min-height: calc(3 * var(--type-card-title) * var(--leading-title)); color: var(--paper); }
.advantage-item p { max-width: 325px; margin: 0; color: #b8c5d0; font-size: var(--type-body); line-height: var(--leading-body); }
.advantage-item:nth-child(2), .advantage-item:nth-child(4) {
  color: var(--paper); background: var(--navy-mid);
}
.advantage-item:nth-child(2) h3, .advantage-item:nth-child(4) h3 { color: var(--paper); }
.advantage-item:nth-child(2) p, .advantage-item:nth-child(4) p { color: #c6d0d9; }
.advantage-item:nth-child(2) .advantage-icon, .advantage-item:nth-child(4) .advantage-icon {
  color: var(--gold); border-color: rgba(209, 161, 63, .55); background: rgba(255, 255, 255, .035);
}

/* Cases */
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.case-card { display: grid; grid-template-rows: minmax(calc(2 * var(--type-card-title) * var(--leading-title)), auto) auto 1fr auto; min-height: 440px; padding: 29px; border-top: 4px solid var(--navy); border-radius: 18px; background: var(--paper); }
.case-card h3 { margin-bottom: 24px; }
.case-fields { display: grid; gap: 18px; margin: 0; }
.case-fields div { display: grid; gap: 4px; }
.case-fields dt { color: #7b8995; font-size: 10px; line-height: 1.3; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.case-fields dd { margin: 0; color: #455a6e; font-size: var(--type-body); line-height: var(--leading-body); }
.case-metric { display: flex; justify-content: space-between; gap: 18px; align-self: end; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line); color: var(--navy); font-weight: 700; }
.case-metric span:first-child { color: #7b8995; font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
.company-strip { margin-top: 75px; padding-top: 38px; border-top: 1px solid #cbd2d8; }
.company-strip h3 { margin-bottom: 30px; font-size: var(--type-subsection-title); line-height: 1.16; }
.company-strip ul { display: grid; grid-template-columns: repeat(6, 1fr); margin: 0; padding: 0; list-style: none; }
.company-strip li { padding: 18px 20px; border-left: 1px solid #cbd2d8; font-size: 17px; font-weight: 700; text-align: center; }
.company-strip li:last-child { border-right: 1px solid #cbd2d8; }
.company-strip p { margin: 22px 0 0; color: #71808e; font-size: 12px; }

/* Team */
.team { background: #fbfbfa; }
.team-layout { display: grid; grid-template-columns: .76fr 1.24fr; gap: 56px; align-items: stretch; }
.team-center { position: relative; display: flex; min-height: 380px; padding: 45px; flex-direction: column; justify-content: center; color: var(--paper); background: var(--navy); border-radius: 28px; overflow: hidden; }
.team-center::after { content: ""; position: absolute; right: -70px; bottom: -75px; width: 190px; height: 190px; border: 33px solid var(--silver); border-radius: 50%; opacity: .36; }
.team-center-label { margin-bottom: 50px; color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.team-center strong { margin-bottom: 22px; font-size: 40px; line-height: 1.02; letter-spacing: -.04em; }
.team-center p { max-width: 280px; margin: 0; color: #bbc8d2; font-size: var(--type-body); line-height: var(--leading-body); }
.role-list { position: relative; display: grid; gap: 12px; align-content: stretch; padding-left: 42px; }
.role-list::before { content: ""; position: absolute; left: 0; top: 16%; bottom: 16%; width: 1px; background: #aebdc7; }
.role-item { position: relative; display: grid; grid-template-columns: 55px 1fr; gap: 24px; align-items: start; padding: 24px 26px; border-radius: 16px; background: var(--surface-cool); }
.role-symbol { display: grid; width: 38px; height: 38px; margin-top: 2px; place-items: center; color: var(--gold-ink); border: 1px solid #c1cbd2; border-radius: 50%; background: rgba(255, 255, 255, .55); }
.role-symbol .info-icon { width: 20px; height: 20px; }
.role-item h3 { margin-bottom: 6px; }
.role-item p { max-width: 570px; margin: 0; color: #52677a; font-size: var(--type-body); line-height: var(--leading-body); }
.geography-line { display: flex; gap: 22px; align-items: center; margin-top: 20px; padding: 26px 28px; border-radius: 18px; background: var(--surface-warm); }
.geography-mark { width: 12px; height: 12px; flex: 0 0 auto; border: 3px solid var(--background); border-radius: 50%; outline: 1px solid var(--gold-hover); background: var(--gold); }
.geography-line p { margin: 0; font-size: var(--type-callout); line-height: var(--leading-title); font-weight: 600; letter-spacing: -.01em; }

/* Request form */
.request { color: var(--paper); background: var(--navy); }
.request-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 82px; align-items: start; }
.request h2 { margin-bottom: var(--space-title-lead); }
.request .section-lead { color: #b9c7d1; }
.contact-details { display: grid; grid-template-columns: 1fr 1fr; margin-top: 50px; border-top: 1px solid #40566b; font-style: normal; }
.contact-item { display: grid; gap: 7px; padding: 17px 0; border-bottom: 1px solid #40566b; }
.contact-item:nth-child(odd):not(.contact-item-wide) { padding-right: 22px; border-right: 1px solid #40566b; }
.contact-item:nth-child(even):not(.contact-item-wide) { padding-left: 22px; }
.contact-item-wide { grid-column: 1 / -1; }
.contact-item > span { color: #9eacb8; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-item > a, .contact-item > p, .contact-item > strong { margin: 0; color: var(--paper); font-size: var(--type-body); line-height: var(--leading-body); }
.contact-item a { width: fit-content; border-bottom: 1px solid rgba(255, 255, 255, .45); }
.contact-director > strong { color: var(--gold); }
.request-form { padding: 42px; color: var(--navy); background: var(--paper); border-radius: 24px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { margin-bottom: 22px; }
.field label, .field-label { display: block; margin-bottom: 9px; color: #3f5569; font-size: 12px; line-height: 1.4; font-weight: 700; }
.field label span { color: var(--gold-ink); }
.field input:not([type="file"]), .field textarea {
  width: 100%; border: 0; border-bottom: 1px solid #aeb8c1; border-radius: 0; color: var(--navy); background: transparent;
  font-size: 16px; line-height: 1.5; outline: 0;
}
.field input:not([type="file"]) { height: 47px; }
.field textarea { min-height: 104px; padding: 12px 0; resize: vertical; }
.field input:focus, .field textarea:focus { border-color: var(--gold-hover); box-shadow: 0 1px 0 var(--gold-hover); }
.field [aria-invalid="true"] { border-color: #a33737 !important; }
.field-error { display: block; min-height: 16px; margin-top: 5px; color: #a33737; font-size: 11px; }
.drop-zone { display: grid !important; grid-template-columns: 35px 1fr; gap: 2px 14px; align-items: center; min-height: 102px; padding: 18px; border: 1px dashed #9ba8b3; cursor: pointer; }
.drop-zone:hover, .drop-zone.is-dragging { border-color: var(--gold-hover); background: #fbf8f1; }
.drop-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.drop-icon { grid-row: 1 / 3; color: var(--gold-hover); font-size: 31px; font-weight: 300; text-align: center; }
.drop-zone strong { color: var(--navy); }
.drop-zone small { color: #778592; font-weight: 400; }
.file-name { display: block; margin-top: 8px; color: #627487; font-size: 12px; }
.consent-field { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; }
.consent-field input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--gold-hover); }
.consent-field label { color: #536779; font-size: 12px; line-height: 1.45; }
.consent-field a { color: var(--navy); border-bottom: 1px solid var(--navy); }
.form-submit { width: 100%; margin-top: 15px; }
.form-status { min-height: 21px; margin-top: 13px; color: #1f6a46; font-size: 13px; font-weight: 700; }
.form-status.is-error { color: #a33737; }

/* Footer */
.site-footer { padding: 52px 0; color: #53687a; background: #e4e8eb; border-top: 1px solid #d0d6db; }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 60px; }
.footer-brand { display: flex; gap: 18px; align-items: center; }
.footer-symbol { width: 40px; height: 46px; flex: 0 0 auto; }
.footer-symbol img { top: -36px; left: -59px; width: 154px; mix-blend-mode: multiply; }
.footer-brand p { max-width: 240px; margin: 0; font-size: 13px; line-height: 1.45; }
.footer-contacts, .footer-meta { display: grid; gap: 10px; align-content: center; font-size: 12px; line-height: 1.45; }
.footer-contacts a { width: fit-content; color: var(--navy); border-bottom: 1px solid #718193; }
.footer-meta strong { color: var(--navy); }
.footer-meta a { width: fit-content; color: var(--navy); border-bottom: 1px solid #718193; }

/* Privacy */
.privacy-main { padding: 75px 0 100px; }
.privacy-back { display: inline-flex; margin-bottom: 55px; color: var(--muted); font-size: 13px; }
.privacy-head { max-width: 900px; margin-bottom: 55px; }
.privacy-head h1 { overflow-wrap: anywhere; }
.privacy-notice { max-width: 900px; margin-bottom: 65px; padding: 22px 25px; border-left: 4px solid var(--gold); color: #4f6274; background: var(--section); font-weight: 600; line-height: 1.5; }
.privacy-layout { display: grid; grid-template-columns: 250px 1fr; gap: 75px; }
.privacy-nav { position: sticky; top: 110px; align-self: start; margin: 0; padding: 0; list-style: none; }
.privacy-nav a { display: block; padding: 9px 0; color: var(--muted); font-size: 12px; }
.privacy-content { max-width: 820px; }
.privacy-section { padding: 0 0 38px; margin-bottom: 38px; border-bottom: 1px solid var(--line); scroll-margin-top: 110px; }
.privacy-section h2 { margin-bottom: 17px; font-size: 29px; letter-spacing: -.03em; }
.privacy-section p, .privacy-section li { color: #4e6376; font-size: 15px; line-height: 1.65; }
.privacy-section ul { padding-left: 20px; }
.placeholder { padding: 1px 5px; color: var(--navy); background: #eee3c9; font-family: ui-monospace, monospace; font-size: .9em; }

@media (max-width: 1140px) {
  .header-inner { gap: 22px; }
  .main-nav { gap: 16px; }
  .main-nav a { font-size: 12px; }
  .hero-grid { gap: 35px; }
  .request-grid { gap: 55px; }
  .workflow .section-intro { max-width: 600px; }
  .category-item { grid-template-columns: 34px 1fr; align-content: start; row-gap: 8px; }
  .category-item:not(.category-item-wide) h3 { min-height: calc(3 * var(--type-card-title) * var(--leading-title)); }
  .category-item p { grid-column: 2; }
}

@media (max-width: 1000px) {
  .workflow .section-intro { max-width: 820px; }
}

@media (max-width: 900px) {
  :root { --header-height: 72px; }
  .container { width: min(calc(100% - 40px), var(--max-width)); }
  .header-inner { grid-template-columns: 1fr auto auto; }
  .header-actions { display: flex; gap: 5px; }
  .channel-button { width: 44px; padding: 0; }
  .channel-label { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .main-nav { display: none; }
  .main-nav.is-open { position: absolute; left: 0; right: 0; top: var(--header-height); display: flex; flex-direction: column; align-items: flex-start; gap: 0; padding: 13px 20px 22px; background: var(--background); border-bottom: 1px solid var(--line); }
  .main-nav.is-open a { width: 100%; padding: 13px 0; font-size: 14px; border-bottom: 1px solid #e2e6e9; }
  .main-nav.is-open .mobile-nav-cta { display: block; margin-top: 10px; padding: 14px; color: var(--navy); background: var(--gold); border: 0; text-align: center; }
  .menu-toggle { display: flex; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; flex-direction: column; align-items: flex-end; justify-content: center; gap: 7px; }
  .menu-toggle span:not(.sr-only) { width: 25px; height: 1px; background: var(--navy); transition: transform 180ms ease, width 180ms ease; }
  .menu-toggle span:nth-child(2) { width: 17px; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { width: 25px; transform: translateY(-4px) rotate(-45deg); }
  .hero { padding-top: 55px; }
  .hero-grid, .request-grid, .team-layout { grid-template-columns: 1fr; }
  .hero-copy { max-width: 690px; }
  .hero-visual { width: min(620px, 100%); margin: 0 auto; justify-content: center; }
  .hero-photo-frame { width: min(100%, 590px); height: 560px; }
  .workflow > .container { padding: 48px 40px; }
  .workflow .section-intro { max-width: 820px; }
  .section-lead { max-width: 720px; }
  .route { margin-top: 25px; }
  .category-list { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .category-item, .category-item:nth-child(odd):not(.category-item-wide), .category-item:nth-child(even), .category-item-wide {
    grid-column: auto; grid-template-columns: 34px minmax(0, 220px) minmax(0, 1fr); column-gap: 22px;
    row-gap: 0; padding: 28px;
  }
  .category-item:not(.category-item-wide) h3 { min-height: 0; }
  .category-item p { grid-column: auto; }
  .advantage-list { grid-template-columns: 1fr 1fr; border-bottom: 0; }
  .advantage-item, .advantage-item:not(:last-child) { min-height: 250px; margin: 0; border-bottom: 1px solid #3a5066; }
  .advantage-item:nth-child(odd) { padding-right: 25px; padding-left: 0; border-right: 1px solid #3a5066; }
  .advantage-item:nth-child(even) { padding-left: 25px; border-right: 0; }
  .case-grid { grid-template-columns: 1fr; }
  .case-card { min-height: 0; }
  .company-strip ul { grid-template-columns: repeat(3, 1fr); }
  .company-strip li:nth-child(3) { border-right: 1px solid #cbd2d8; }
  .company-strip li:nth-child(n+4) { border-top: 1px solid #cbd2d8; }
  .team-layout { gap: 28px; }
  .team-center { min-height: 330px; }
  .request-grid { gap: 50px; }
  .privacy-layout { grid-template-columns: 1fr; gap: 35px; }
  .privacy-nav { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-meta { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .route { grid-template-columns: 1fr; }
  .route::before { left: 20px; right: auto; top: 9px; bottom: 18px; width: 1px; height: auto; }
  .route::after { left: 16px; right: auto; top: auto; bottom: 15px; transform: rotate(135deg); }
  .route-step { grid-template-columns: 41px 30px 1fr; grid-template-rows: auto; min-height: 146px; padding: 0; }
  .route-number { grid-column: 2; grid-row: 1; padding-top: 1px; }
  .route-dot { grid-column: 1; grid-row: 1; margin: 4px 0 0 15px; }
  .route-copy { grid-column: 3; grid-row: 1; padding: 0; }
  .route-copy h3 { min-height: 0; }
  .section-action { margin-top: 20px; }
}

@media (max-width: 600px) {
  :root {
    --space-eyebrow-title: 16px;
    --space-title-lead: 18px;
    --space-header-content: 40px;
    --type-display: clamp(42px, 8.34vw, 50px);
    --type-section-title: clamp(30px, 9vw, 36px);
    --type-subsection-title: 24px;
    --type-card-title: 17px;
    --type-callout: 18px;
    --type-lead: 15px;
    --type-body: 13px;
    --type-label: 10px;
    --leading-display: 1.01;
    --leading-section-title: 1.06;
  }
  .container { width: calc(100% - 36px); }
  .header-inner { gap: 8px; }
  .brand { gap: 8px; }
  .brand-symbol { width: 38px; height: 46px; }
  .brand-symbol img { top: -36px; left: -59px; width: 154px; }
  .brand-name { font-size: 10px; }
  .brand-tagline { gap: 2px; font-size: 5.5px; }
  .section { padding: 74px 0; }
  .section-intro { margin-bottom: var(--space-header-content); }
  .hero { min-height: 0; padding: 32px 0 18px; }
  .hero-grid { gap: 18px; }
  .hero-visual { margin-top: 8px; }
  .hero-photo-frame { width: 100%; height: 410px; border-radius: 132px 20px 118px 20px; }
  .hero-photo-frame img { object-position: 50% 47%; }
  .hero-photo-glow { right: -34px; bottom: -34px; width: 145px; height: 145px; }
  .hero-visual::before { right: -12px; top: 3%; width: 94%; height: 94%; }
  h1 { margin-bottom: 23px; }
  h2 { max-width: 18ch; letter-spacing: -.04em; }
  .eyebrow { margin-bottom: 17px; font-size: 10px; }
  .hero-lead { margin-bottom: 29px; font-size: 16px; line-height: 1.5; }
  .hero-actions { display: grid; grid-template-columns: 1fr; margin-bottom: 24px; }
  .button { width: 100%; min-height: 54px; }
  .hero-caption { align-items: flex-start; max-width: 315px; font-size: 12px; line-height: 1.45; }
  .hero-caption span { flex: 0 0 auto; margin-top: 5px; }
  .section-lead { line-height: var(--leading-body); }
  .route-number { font-size: 10px; }
  .workflow > .container { padding: 36px 24px; border-radius: 24px; }
  .category-list { gap: 10px; }
  .category-item, .category-item:nth-child(odd):not(.category-item-wide), .category-item:nth-child(even), .category-item-wide { grid-template-columns: 32px 1fr; min-height: 0; gap: 12px; padding: 22px; border-radius: 16px; }
  .category-item:not(.category-item-wide) h3 { min-height: 0; }
  .category-item p { grid-column: 2; }
  .prompt-line { grid-template-columns: 1fr; gap: 25px; margin-top: 10px; padding: 22px; border-radius: 16px; }
  .advantage-list { grid-template-columns: 1fr; }
  .advantage-item, .advantage-item:not(:last-child), .advantage-item:nth-child(odd), .advantage-item:nth-child(even) { min-height: 0; margin: 0; padding: 26px 0; border-right: 0; border-bottom: 1px solid #3a5066; }
  .advantage-item:nth-child(2), .advantage-item:nth-child(4) { padding-right: 20px; padding-left: 20px; }
  .advantage-icon { margin-bottom: 26px; }
  .advantage-item h3 { min-height: 0; }
  .case-card { padding: 25px; }
  .company-strip { margin-top: 55px; }
  .company-strip ul { grid-template-columns: 1fr 1fr; }
  .company-strip li { padding: 15px 8px; font-size: 14px; }
  .company-strip li:nth-child(3) { border-right: 0; border-top: 1px solid #cbd2d8; }
  .company-strip li:nth-child(n+3) { border-top: 1px solid #cbd2d8; }
  .company-strip li:nth-child(even) { border-right: 1px solid #cbd2d8; }
  .team-center { min-height: 315px; padding: 32px; }
  .team-center strong { font-size: 35px; }
  .role-list { padding-left: 20px; }
  .role-list::before { top: 14%; bottom: 14%; }
  .role-item { grid-template-columns: 35px 1fr; gap: 15px; padding: 20px; }
  .role-item::before { left: -20px; width: 20px; }
  .role-symbol { width: 30px; height: 30px; }
  .role-symbol .info-icon { width: 17px; height: 17px; }
  .geography-line { padding: 22px; }
  .request-copy h2 { max-width: 15ch; }
  .contact-details { grid-template-columns: 1fr; }
  .contact-item, .contact-item:nth-child(odd):not(.contact-item-wide), .contact-item:nth-child(even):not(.contact-item-wide) { grid-column: 1; padding: 16px 0; border-right: 0; }
  .request-form { padding: 27px 20px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .drop-zone { grid-template-columns: 28px 1fr; padding: 15px; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-meta { grid-column: auto; }
  .privacy-main { padding: 50px 0 75px; }
  .privacy-back { margin-bottom: 35px; }
  .privacy-head h1 { font-size: 36px; line-height: 1.04; }
  .privacy-nav { grid-template-columns: 1fr; }
  .privacy-section h2 { font-size: 25px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
