:root {
  color-scheme: light;
  --navy: #0d2039;
  --marine: #163958;
  --brass: #b7914f;
  --champagne: #e1c38d;
  --paper: #f4f7f9;
  --white: #fff;
  --ink-muted: #4d5d6b;
  --rule: #d2dce4;
  --gutter: clamp(20px, 5.4vw, 86px);
  --display: Georgia, 'Times New Roman', serif;
  --body: system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-padding-block-start: 92px; }
body { margin: 0; color: var(--navy); background: var(--white); font: 1rem/1.65 var(--body); }
main:focus { outline: none; }
h1, h2, h3, p, dl, dd { margin: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; line-height: 1.08; text-wrap: balance; }
h1 { font-size: clamp(2.7rem, 5.8vw, 6rem); letter-spacing: -.048em; }
h2 { font-size: clamp(2.15rem, 4vw, 3.8rem); letter-spacing: -.035em; }
h3 { font-size: clamp(1.6rem, 2.4vw, 2.35rem); letter-spacing: -.025em; }
p { text-wrap: pretty; }
a { color: inherit; }
a:hover { text-decoration-thickness: 2px; }
button, input, select, textarea { font: inherit; color: inherit; }
button, summary { cursor: pointer; }
img { display: block; max-width: 100%; }
:focus-visible { outline: 3px solid #725218; outline-offset: 4px; }
::selection { color: var(--navy); background: var(--champagne); }

.wrap { width: 100%; max-width: 1530px; margin-inline: auto; padding-inline: var(--gutter); }
.chapter { padding-block: clamp(58px, 8vw, 114px); }
.chapter--short { padding-block: clamp(38px, 5vw, 66px); }
.tonal { background: var(--paper); }
.tag { font-weight: 650; font-size: .82rem; line-height: 1.45; }
.text-link { display: inline-block; font-weight: 650; text-underline-offset: .24em; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 50px;
  max-width: 100%;
  padding: 10px 19px;
  border: 1px solid transparent;
  border-radius: 3px;
  text-align: center;
  text-decoration: none;
  font-size: .9rem;
  font-weight: 680;
  line-height: 1.35;
}
.button--outline { border-color: var(--rule); color: var(--navy); }
.button--outline:hover { border-color: var(--navy); }
.button--gold { color: var(--navy); background: var(--champagne); }
.button--gold:hover { background: #f0d8ae; }
.button--navy { color: var(--white); background: var(--navy); }
.button--navy:hover { background: var(--marine); }

.skip-link { position: fixed; z-index: 20; top: 8px; left: 8px; background: var(--white); padding: 8px 14px; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.masthead { position: sticky; top: 0; z-index: 10; background: var(--white); border-bottom: 1px solid var(--rule); }
.masthead__inner { min-height: 82px; display: flex; justify-content: space-between; align-items: center; gap: 22px; }
.identity { display: inline-flex; align-items: center; gap: 11px; color: inherit; text-decoration: none; flex: none; }
.identity > span { font: 700 1.55rem/1 var(--display); white-space: nowrap; }
.identity small { font: 500 .8rem/1 var(--body); }
.masthead__links { display: flex; gap: clamp(16px, 2.6vw, 42px); }
.masthead__links a, .mobile-nav a { min-height: 44px; display: flex; align-items: center; text-decoration: none; font-size: .88rem; font-weight: 580; white-space: nowrap; }
.masthead__links a:hover, .masthead__links a[aria-current="page"], .mobile-nav a:hover { text-decoration: underline; text-underline-offset: 6px; }
.mobile-nav { display: none; }
.mobile-nav summary { display: flex; align-items: center; min-height: 44px; padding-inline: 13px; border: 1px solid var(--rule); border-radius: 3px; font-weight: 650; list-style: none; }
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav nav { position: absolute; inset: 100% 0 auto; max-height: calc(100dvh - 68px); overflow: auto; display: grid; padding: 10px var(--gutter) 16px; background: var(--white); border-bottom: 1px solid var(--rule); }
.mobile-nav nav a + a { border-top: 1px solid var(--rule); }

.feature, .page-photo, .photo-chapter { color: var(--white); background: var(--navy); }
.feature__slide, .page-photo, .photo-chapter { position: relative; isolation: isolate; }
.feature__slide img, .page-photo img, .photo-chapter img,
.feature__slide::before, .page-photo::before, .photo-chapter::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
:is(.feature__slide, .page-photo, .photo-chapter) > img { z-index: -2; object-fit: cover; object-position: 74% 48%; }
:is(.feature__slide, .page-photo, .photo-chapter)::before {
  content: '';
  z-index: -1;
  background: linear-gradient(90deg, rgba(13, 32, 57, .90), rgba(13, 32, 57, .68) 38%, rgba(13, 32, 57, .1) 70%, transparent);
}
.feature__copy, .page-photo__copy, .photo-chapter__copy {
  min-height: clamp(470px, 42vw, 695px);
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 23px;
  padding-block: 68px;
}
.feature__copy h1, .feature__copy h2, .page-photo h1 { max-width: 15ch; }
.feature__copy h2 { font-size: clamp(2.7rem, 5.8vw, 6rem); }
.feature__copy > p:not(.feature__label), .page-photo__copy > p:not(.tag), .photo-chapter__copy > p { max-width: 42ch; color: #edf2f7; font-size: clamp(1rem, 1.4vw, 1.22rem); }
.feature__label, .page-photo .tag { color: var(--champagne); font-size: .88rem; font-weight: 650; }
.feature__label span { display: inline-block; margin: 0 6px 3px; width: 14px; border-top: 1px solid var(--brass); }
.feature :focus-visible, .page-photo :focus-visible, .photo-chapter :focus-visible { outline-color: var(--champagne); }
.feature__nav { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.feature__topics, .feature__arrows { display: flex; gap: 12px; }
.feature__nav button { min-height: 48px; border: 0; background: transparent; color: inherit; }
.feature__topics button { padding: 0 16px; border-block: 2px solid transparent; min-height: 65px; font-weight: 600; }
.feature__topics button[aria-pressed="true"] { border-bottom-color: var(--champagne); color: var(--champagne); }
.feature__arrows button { width: 46px; border: 1px solid #72859a; border-radius: 3px; font-size: 1.3rem; }
.feature__nav button:hover { background: var(--marine); }
.page-photo__copy { min-height: clamp(400px, 35vw, 570px); }
.page-photo h1 { font-size: clamp(2.65rem, 5vw, 5rem); }
.photo-chapter__copy { min-height: clamp(350px, 34vw, 530px); }
.photo-chapter h2 { max-width: 17ch; }

.section-heading, .reading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 24px clamp(32px, 8vw, 118px); align-items: start; }
.section-heading { align-items: end; margin-bottom: clamp(26px, 4vw, 48px); }
.section-heading p, .reading > div > p, .prose p { max-width: 53ch; color: var(--ink-muted); }
.reading > div > h2 + p { margin-top: 14px; }
.directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--rule); }
.directory a { position: relative; display: grid; align-content: start; gap: 17px; padding: 27px 26px 76px; min-height: 286px; text-decoration: none; }
.directory a + a { border-left: 1px solid var(--rule); }
.directory a:hover { background: var(--paper); }
.directory__category, .partner-line small { font-size: .83rem; font-weight: 650; color: var(--ink-muted); }
.directory__arrow { position: absolute; bottom: 22px; left: 26px; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--rule); border-radius: 50%; }
.directory a:hover .directory__arrow { background: var(--navy); border-color: var(--navy); color: var(--white); }
.partner-line, .partner-panels { display: grid; grid-template-columns: 1fr 1fr auto; gap: 24px; align-items: center; border-top: 1px solid var(--rule); padding-top: 22px; }
.partner-line h3 { margin-top: 4px; }
.partner-panels { grid-template-columns: 1fr 1fr; align-items: stretch; }
.partner-panels article { background: var(--white); padding: clamp(20px, 3vw, 40px); display: grid; justify-items: start; align-content: start; gap: 14px; border-top: 3px solid var(--brass); }

.dossier { background: var(--paper); border-block-end: 1px solid var(--rule); }
.dossier__inner { display: grid; justify-items: start; gap: 16px; padding-block: clamp(54px, 7vw, 95px); }
.dossier h1 { max-width: 20ch; }
.dossier p:last-child { max-width: 60ch; color: var(--ink-muted); }
.back-link { font-size: .9rem; text-underline-offset: 4px; }
.facts dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--rule); }
.facts dl > div { padding: 22px 18px 20px 0; }
.facts dt { font-size: .82rem; color: var(--ink-muted); }
.facts dd { font-family: var(--display); font-size: clamp(1.38rem, 2.3vw, 2rem); line-height: 1.25; margin-top: 4px; }

.definitions > div { border-bottom: 1px solid var(--rule); padding: 16px 0; }
.definitions > div:first-child, .disclosures { border-top: 1px solid var(--rule); }
.definitions dt, .sequence strong { font-weight: 700; margin-bottom: 4px; }
.definitions dd, .sequence span { color: var(--ink-muted); }
.definitions--numbers > div { display: grid; grid-template-columns: 64px 1fr; align-items: center; }
.definitions--numbers dt { font: 400 2rem/1 var(--display); }
.sequence { margin: 0; padding-inline-start: 2.3ch; }
.sequence li { padding: 14px 0 14px 8px; border-bottom: 1px solid var(--rule); }
.sequence li::marker { color: #725218; font-weight: 750; }
.sequence strong, .sequence span { display: block; }
.prose { display: grid; justify-items: start; gap: 14px; }
.disclosures details { border-bottom: 1px solid var(--rule); }
.disclosures summary { padding: 15px 4px; min-height: 46px; font-weight: 650; }
.disclosures p { padding: 0 4px 17px; color: var(--ink-muted); }

.table-scroll { overflow-x: auto; }
.comparison { width: 100%; min-width: 610px; border-collapse: collapse; text-align: left; }
.comparison th, .comparison td { padding: 15px 18px; border-bottom: 1px solid var(--rule); }
.comparison thead { color: var(--white); background: var(--navy); }
.comparison tbody th { background: var(--paper); }

.checklist { margin: 0; min-width: 0; padding: 12px 20px 18px; border: 1px solid var(--rule); }
.checklist legend { padding-inline: 6px; font-weight: 650; }
.checklist label { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; cursor: pointer; }
.checklist label + label { border-top: 1px solid var(--rule); }
.checklist input { width: 18px; height: 18px; margin: 4px 0 0; accent-color: var(--marine); flex: none; }
.checklist small { display: block; color: var(--ink-muted); }
.brief-form { display: grid; justify-items: start; gap: 16px; }
.brief-form label { width: 100%; display: grid; gap: 5px; font-weight: 600; }
.brief-form select, .brief-form textarea { width: 100%; min-height: 46px; border: 1px solid #8194a5; border-radius: 3px; background: var(--white); padding: 9px 12px; font-weight: 400; }
.brief-form textarea { resize: vertical; }
.brief-form [role="status"] { font-size: .9rem; color: var(--ink-muted); }

.site-end { background: var(--navy); color: var(--white); padding-block: 46px 29px; }
.site-end__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 25px; }
.site-end nav { display: grid; align-content: start; justify-items: start; gap: 9px; }
.site-end nav a { color: #e1e9ef; font-size: .91rem; text-underline-offset: 4px; }
.site-end p { margin-top: 8px; color: #d1dce7; }
.site-end .site-end__legal { grid-column: 1 / -1; border-top: 1px solid #4d6277; padding-top: 18px; font-size: .8rem; }
.site-end :focus-visible { outline-color: var(--champagne); }

@media (max-width: 960px) {
  .masthead__inner { min-height: 68px; }
  .masthead__links, .masthead__contact { display: none; }
  .mobile-nav { display: block; }
}
@media (max-width: 720px) {
  .section-heading, .reading, .directory, .partner-line, .partner-panels, .facts dl, .site-end__grid { grid-template-columns: minmax(0, 1fr); }
  .directory a { min-height: auto; padding: 24px 55px 24px 0; gap: 9px; }
  .directory a + a { border-left: 0; border-top: 1px solid var(--rule); }
  .directory__arrow { left: auto; right: 0; top: 24px; bottom: auto; }
  .facts dl > div + div { border-top: 1px solid var(--rule); }
  .facts dl > div { padding: 13px 0; }
  :is(.feature__slide, .page-photo, .photo-chapter) > img { height: clamp(240px, 65vw, 405px); object-position: 91% 50%; }
  :is(.feature__slide, .page-photo, .photo-chapter)::before {
    height: clamp(242px, 65vw, 407px);
    background: linear-gradient(180deg, transparent 40%, var(--navy));
  }
  .feature__copy, .page-photo__copy, .photo-chapter__copy { min-height: auto; gap: 16px; padding-block: clamp(193px, 53vw, 330px) 34px; }
  .feature__copy { min-height: calc(clamp(193px, 53vw, 330px) + 330px); }
  .feature__copy h1, .feature__copy h2 { max-width: 17ch; }
  .feature__nav { flex-wrap: wrap; padding-bottom: 10px; }
  .feature__topics { gap: 0; }
  .feature__topics button { min-height: 50px; padding-inline: 8px; font-size: .82rem; }
  .feature__arrows { gap: 5px; }
  .feature__arrows button { width: 44px; min-height: 44px; }
}

.section-heading .tag, .reading .tag { color: var(--ink-muted); margin-bottom: 10px; }
.resources-list { border-top: 1px solid var(--rule); }
.resources-list a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 20px;
  align-items: center;
  min-height: 70px;
  padding: 14px 8px;
  border-bottom: 1px solid var(--rule);
  text-decoration: none;
}
.resources-list strong { font-weight: 690; }
.resources-list a > :nth-child(2) { color: var(--ink-muted); font-size: .92rem; }
.resources-list a > :last-child { grid-column: 2; grid-row: 1 / 3; font-size: 1.2rem; }
.resources-list a:hover { background: var(--paper); }
.resources-list--home a:hover { background: var(--white); }
@media (min-width: 721px) {
  .resources-list--home a { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) auto; padding: 20px 14px; }
  .resources-list--home a > :last-child { grid-column: 3; grid-row: 1; }
}
.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--rule); background: var(--rule); }
.product-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-grid article { display: grid; gap: 12px; align-content: start; background: var(--white); padding: clamp(20px, 4vw, 39px); }
.product-grid p { color: var(--ink-muted); }
.product-grid p strong { color: var(--navy); }
@media (max-width: 720px) {
  .product-grid { grid-template-columns: minmax(0, 1fr); }
}

.photo-chapter .tag { color: var(--champagne); }
.photo-chapter__panel { display: grid; justify-items: start; gap: 20px; }
.photo-chapter__panel > p:not(.tag) { max-width: 38ch; color: #edf2f7; font-size: clamp(1rem, 1.4vw, 1.22rem); }
@media (min-width: 721px) {
  .photo-chapter--workplace > img { object-position: right 35%; }
  .photo-chapter--workplace::before { background: linear-gradient(90deg, rgba(13, 32, 57, .98) 12%, rgba(13, 32, 57, .88) 30%, rgba(13, 32, 57, .08) 64%, transparent); }
  .photo-chapter--right > img { object-position: left 42%; }
  .photo-chapter--right::before { background: linear-gradient(270deg, rgba(13, 32, 57, .92), rgba(13, 32, 57, .74) 36%, transparent 68%); }
  .photo-chapter--right .photo-chapter__copy { justify-items: end; }
}
@media (max-width: 720px) {
  .photo-chapter--right > img { object-position: left 46%; }
}

.rollout {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-block: 1px solid var(--rule);
  counter-reset: rollout;
}
.rollout li { list-style: none; padding: clamp(18px, 2.5vw, 34px); counter-increment: rollout; }
.rollout li::before { content: counter(rollout, decimal-leading-zero); display: block; margin-bottom: 14px; color: #745522; font-weight: 700; }
.rollout li + li { border-left: 1px solid var(--rule); }
.rollout h3, .snapshot h3 { font-size: clamp(1.52rem, 2.55vw, 2.55rem); }
.rollout p, .snapshot article > p { margin-top: 9px; color: var(--ink-muted); }
.home-section-link { margin-top: 20px; }
.snapshot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--rule); background: var(--rule); margin-bottom: 26px; }
.snapshot article { padding: clamp(19px, 3vw, 38px); min-width: 0; background: var(--white); }
.snapshot h3 a { text-decoration-thickness: 1px; text-underline-offset: .16em; }
.snapshot dl { margin-top: 20px; }
.snapshot dl > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 16px; border-top: 1px solid var(--rule); padding-top: 11px; margin-top: 10px; }
.snapshot dt { color: var(--ink-muted); font-size: .88rem; }
.snapshot dd { font-weight: 650; font-size: .93rem; }
@media (max-width: 820px) {
  .rollout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rollout li:nth-child(odd) { border-left: 0; }
  .rollout li:nth-child(n+3) { border-top: 1px solid var(--rule); }
}
@media (max-width: 600px) {
  .snapshot { grid-template-columns: minmax(0, 1fr); }
  .rollout h3 { font-size: 1.35rem; }
  .rollout li { padding: 14px 11px; }
}

.company-cover { position: relative; isolation: isolate; background: var(--navy); color: var(--white); }
.company-cover__image { position: absolute; inset: 0 0 0 auto; width: 50%; height: 100%; object-fit: cover; object-position: 48% center; }
.company-cover__inner { display: grid; min-height: clamp(470px, 39vw, 640px); align-items: center; padding-block: 60px; }
.company-cover__copy { display: grid; justify-items: start; gap: 22px; width: 49%; }
.company-cover h1 { font-size: clamp(2.9rem, 4.9vw, 5.35rem); text-wrap: initial; }
.company-cover .tag { color: var(--champagne); }
.company-cover__copy p:not(.tag) { max-width: 36ch; color: #edf2f7; font-size: clamp(1rem, 1.4vw, 1.22rem); }
.company-cover :focus-visible { outline-color: var(--champagne); }
.company-story { display: grid; gap: 18px; color: var(--ink-muted); }
.company-story > p:first-child { font-size: clamp(1.15rem, 1.8vw, 1.52rem); line-height: 1.5; color: var(--navy); }
.company-story .company-note { padding: 16px 18px; border-left: 3px solid var(--brass); background: var(--paper); }
.company-note strong { display: block; margin-bottom: 4px; color: var(--navy); }
.company-journey { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.company-outlook h2 { max-width: 21ch; }
.company-partners article { grid-template-rows: auto auto auto 1fr auto; }
.company-partners ul { margin: 0; padding-inline-start: 20px; color: var(--ink-muted); }
.company-partners li::marker { color: #745522; }
.company-next { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.company-next p { margin-top: 12px; color: var(--ink-muted); }
.company-next .button { flex: none; }
@media (max-width: 820px) {
  .company-journey li:nth-child(odd) { border-left: 1px solid var(--rule); }
  .company-journey li:first-child { border-left: 0; }
  .company-journey li:nth-child(n+3) { border-top: 0; }
  .company-next { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 720px) {
  .company-cover__image { position: relative; width: 100%; height: clamp(225px, 65vw, 380px); object-position: center 39%; }
  .company-cover__inner { display: block; min-height: auto; padding-block: 32px 40px; }
  .company-cover__copy { width: auto; gap: 16px; }
  .company-cover h1 { font-size: clamp(2.55rem, 8vw, 4rem); }
  .company-journey { grid-template-columns: minmax(0, 1fr); }
  .company-journey li + li, .company-journey li:nth-child(n+3) { border-left: 0; border-top: 1px solid var(--rule); }
}
