@font-face {
  font-family: Nunito;
  src: url("fonts/nunito-latin-800.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --paper: #f0f7f7;
  --ink: #122f37;
  --muted: #45616a;
  --line: #cbdde0;
  --green: #125b69;
  --lime: #f0ce98;
  --white: #f7fdfd;
  --deep-aqua: #0b2933;
  --mid-aqua: #16404a;
  --pale-aqua: #e2f0f1;
  --aqua-line: #3a6069;
  --aqua-light: #a2e0d9;
  --light-copy: #d6e7e9;
  --card: #fcffff;
}
body { background: var(--paper); }
.wrap { width: min(1240px, calc(100% - 80px)); }
html { scroll-padding-top: 90px; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline-color: #bf893e;
}
header { background: var(--deep-aqua); color: var(--white); border-color: #214651; }
.nav { height: 72px; }
.mark { background: #1d4b57; border-color: #52838b; color: #f6d6a4; }
.links a { color: #e9f4f5; }
.nav-contact { border-color: #587e88; }
.nav-contact svg { vertical-align: -2px; }
.menu { color: var(--white); border-color: #5a7b83; border-radius: 4px; }

.executive-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  align-items: center;
  margin-top: clamp(20px, 3.2vw, 46px);
  padding: clamp(27px, 5vw, 69px);
  gap: clamp(22px, 4.5vw, 65px);
  background: linear-gradient(118deg, #091f29, #103844 72%, #14434e);
  border: 1px solid #315a66;
  border-radius: 15px;
  color: var(--white);
}
.executive-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: repeating-linear-gradient(51deg, transparent 0 88px, #75d6d90c 90px 111px, transparent 113px 160px);
  mask-image: linear-gradient(to right, transparent 42%, #000 76%);
}
.executive-hero .eyebrow { color: var(--lime); }
.executive-hero .dot { background: var(--aqua-light); }
.executive-hero h1 {
  font: 800 clamp(43px, 6vw, 82px)/1 Nunito, Arial, sans-serif;
  letter-spacing: -.045em;
  margin: 15px 0 13px;
}
.executive-hero .hero-role {
  font-size: clamp(17px, 2.1vw, 24px);
  color: var(--aqua-light);
  margin-bottom: 17px;
}
.executive-hero .lead { color: var(--light-copy); }
.executive-hero .hero-proof strong { color: var(--white); }
.executive-hero .button { background: #a5ded8; color: #0c3039; }
.executive-hero .button:hover { background: #c2efe9; }
.executive-hero .text-link { border-color: var(--aqua-light); }
.executive-brief { background: #103440; border-color: #48707a; box-shadow: 0 16px 42px #031b2460; }
.brief-header { background: #194653; color: var(--lime); border-color: var(--aqua-line); }
.brief-header span:last-child, .brief-items dd { color: var(--light-copy); }
.brief-label, .brief-link { color: var(--aqua-light); }
.brief-items div { border-color: #466d77; }

.hero-footer { margin-top: 18px; }
.employer-list li::before { background: #237883; }
.tool-names, .tool-names li { color: var(--muted); }
.impact { background: var(--mid-aqua); color: var(--white); }
.impact > div { border-color: #4b747d; }
.impact strong { color: var(--lime); }
.section-heading p, .career-meta, .career-copy > p, .capability p { color: var(--muted); }
.career-index, .career-work-link, .career-copy h4 { color: var(--green); }
.achievement-list li { background: #e5f0f0; border: 1px solid #d3e4e6; }
.achievement-list p, .tags span { color: var(--muted); }
.solution-context { background: #dfeeee; color: #244951; border-color: #48969d; }
.solution-context li::before { color: #21717c; }

.work-section { background: var(--deep-aqua); }
.work-section .section-heading p { color: var(--light-copy); }
.account-case { background: var(--mid-aqua); border-color: var(--aqua-line); }
.account-story p { color: var(--light-copy); }
.account-register { background: #e7f4f3; color: #153d45; }
.register-heading, .account-register li { border-color: #bed7d9; }
.register-heading span:last-child, .account-register li div > span, .account-register p { color: #375f66; }
.register-owner { background: #cde8e7; }
.account-register p strong { color: #1e4853; }
.maternal-case { border-color: #dfc7bb; }

.case-jumps {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 34px 0;
}
.case-jumps a, .design-jumps a {
  display: inline-block;
  padding: 7px 13px;
  border: 1px solid #91b6bd;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.case-jumps a { color: #eaf7f8; border-color: #51757c; }
.case-jumps a:hover { background: #1a4956; }
.case-group + .case-group { margin-top: clamp(40px, 6vw, 75px); }
.case-group-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  align-items: end;
  gap: 11px 35px;
  padding: 0 0 15px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--line);
}
.case-group-heading h3, .analytics-credential h3 {
  margin: 7px 0 0;
  font: normal clamp(25px, 3.4vw, 39px)/1.12 Georgia, serif;
  letter-spacing: -.55px;
}
.case-group-heading p { margin: 0; font-size: 14px; color: var(--muted); }
.work-section .case-group-heading { border-color: var(--aqua-line); }
.work-section .case-group-heading p { color: var(--light-copy); }
.portfolio-case-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.portfolio-case {
  min-width: 0;
  padding: clamp(17px, 2.15vw, 29px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  color: var(--ink);
}
.work-section .portfolio-case { border-color: var(--aqua-line); background: #123642; color: var(--white); }
.case-top { display: flex; align-items: baseline; gap: 8px; margin-bottom: 12px; }
.case-top span { color: var(--green); font: normal 23px/1 Georgia, serif; }
.work-section .case-top span { color: var(--lime); }
.portfolio-case .case-top p {
  margin: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.portfolio-case h4 {
  font: normal clamp(22px, 2.5vw, 30px)/1.12 Georgia, serif;
  margin: 0 0 10px;
  letter-spacing: -.35px;
}
.portfolio-case p { margin: 0 0 12px; font-size: 14px; line-height: 1.58; color: var(--muted); }
.portfolio-case dl { margin: 13px 0 0; }
.portfolio-case dl > div { border-top: 1px solid var(--line); padding: 9px 0 0; margin-top: 9px; }
.portfolio-case dt { font-size: 12px; font-weight: 700; }
.portfolio-case dd { margin: 3px 0 0; font-size: 13px; line-height: 1.55; color: var(--muted); }
.work-section .portfolio-case dl > div { border-color: var(--aqua-line); }
.work-section .portfolio-case p, .work-section .portfolio-case dd { color: var(--light-copy); }

.audit-feature {
  display: grid;
  grid-template-columns: minmax(120px, .48fr) minmax(0, 1.52fr);
  gap: clamp(16px, 4vw, 41px);
  align-items: start;
  background: #e7f4f4;
  color: #153841;
  border-radius: 8px;
  padding: clamp(18px, 3vw, 34px);
  margin-bottom: 14px;
}
.audit-proof {
  display: grid;
  align-content: start;
  gap: 8px;
  border-right: 1px solid #b7d1d4;
  padding-right: 18px;
}
.audit-proof strong { color: var(--green); font: normal clamp(45px, 7.5vw, 90px)/.9 Georgia, serif; }
.audit-proof span { max-width: 15em; font-size: 13px; font-weight: 700; }
.audit-feature .eyebrow { color: var(--green); }
.audit-feature h4 { margin: 7px 0 10px; font: normal clamp(24px, 3vw, 33px)/1.15 Georgia, serif; }
.audit-feature p { color: #365761; font-size: 14px; margin-bottom: 9px; }
.audit-feature p:last-child { margin-bottom: 0; }
.example-disclosure {
  color: #ffefce;
  background: #123641;
  border: 1px solid #6a6e62;
  border-left: 3px solid var(--lime);
  border-radius: 4px;
  padding: 11px 13px;
  margin: 0 0 15px;
  font-size: 13px;
}
.usd-schedule {
  width: 100%;
  border-collapse: collapse;
  color: #133b44;
  background: #e9f4f4;
  border-radius: 4px;
  font-size: 12px;
}
.usd-schedule caption {
  text-align: left;
  padding: 0 0 5px;
  color: #fae5c0;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .8px;
}
.usd-schedule th, .usd-schedule td { padding: 6px 8px; border-bottom: 1px solid #cfdfdf; }
.usd-schedule th { text-align: left; font-weight: 400; }
.usd-schedule td { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.usd-schedule tr:last-child th, .usd-schedule tr:last-child td { border: 0; font-weight: 700; }

.automation-section { background: #e0eff0; color: var(--ink); }
.automation-heading p, .automation-card p, .automation-steps span { color: var(--muted); }
.automation-card { background: var(--card); border-color: var(--line); }
.automation-card-head, .automation-card summary { color: var(--green); }
.automation-status, .automation-example { background: #e4f2f2; border-color: #d2e5e5; }
.automation-steps li { border-color: var(--line); }
.automation-controls { background: #d1e8e9; border-color: #427d86; }
.automation-controls p { color: #284b54; }

.showcase { --gallery-ink: var(--ink); --gallery-paper: var(--card); --gallery-muted: var(--muted); }
.design-intro .eyebrow, .gallery-kicker, .gallery-copy .gallery-source, .pitch-copy .gallery-source { color: var(--green); }
.design-jumps a { color: var(--green); }
.design-jumps a:hover { background: #dceef0; }
.deck-intro { margin: 0 0 16px; max-width: 70ch; font-size: 14px; }
.deck-cover-card, .publication, .campaign-piece { border-color: var(--line); }
.deck-artwork {
  aspect-ratio: 16 / 9;
  background: #173740;
  overflow: hidden;
}
.deck-artwork img { width: 100%; height: 100%; object-fit: contain; transition: transform .2s ease; }
.deck-artwork:hover img { transform: scale(1.025); }
.gallery-peek { background: #f4ffff; color: #143c45; }
.gallery-art:hover .gallery-peek { background: #1b5663; color: white; }
.pitch-copy .gallery-source { display: inline-block; font-size: 12px; margin-top: 12px; font-weight: 700; }
.campaign-art { aspect-ratio: 5 / 4; }
.gallery-modal { background: #f6fcfc; border-color: #62949d; color: var(--ink); }
.gallery-modal::backdrop { background: #08242ddd; }

.data-band { background: #e0eef0; }
.analytics-credential {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 14px clamp(16px, 4vw, 50px);
  color: var(--white);
  background: #133a46;
  border-radius: 8px;
  padding: clamp(21px, 3vw, 36px);
  margin-bottom: 18px;
}
.analytics-credential .eyebrow { color: var(--lime); }
.analytics-credential p, .analytics-credential ol { margin: 0; font-size: 14px; color: var(--light-copy); }
.analytics-credential ol { padding-left: 19px; margin-top: 9px; }
.analytics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.analytics-tool {
  min-width: 0;
  padding: clamp(20px, 3.2vw, 36px);
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.analytics-tool .eyebrow { color: var(--green); }
.analytics-tool h3 { font: normal clamp(27px, 3.3vw, 41px)/1.1 Georgia, serif; margin: 7px 0 11px; }
.analytics-tool p { color: var(--muted); font-size: 15px; line-height: 1.64; margin: 0 0 10px; }
.analytics-tool details { border-top: 1px solid var(--line); margin-top: 13px; padding-top: 9px; }
.analytics-tool summary { color: var(--green); cursor: pointer; font-size: 13px; font-weight: 700; }
.analytics-tool pre {
  overflow-x: auto;
  padding: 12px;
  background: #e9f3f4;
  border: 1px solid #cddfe2;
  border-radius: 4px;
  color: #173e48;
  font-size: 12px;
  line-height: 1.55;
}
.analytics-examples { margin-top: 30px; }
.analytics-examples .case-group-heading { border-color: #b1cdd1; }
.bar-track { background: #d9e9eb; }
.bar-track > span { background: #377f87; }
.portfolio-case .service-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.portfolio-case .service-kpis > div { border: 0; background: #e4f2f2; padding: 8px; border-radius: 4px; }
.portfolio-case .service-kpis dt { font-size: 10px; }
.portfolio-case .service-kpis dd { color: var(--green); font: normal 24px/1 Georgia, serif; margin-top: 5px; }

.contact-box { background: #123944; color: var(--white); }
.contact-box p, .contact-box .copy-status { color: var(--light-copy); }
.contact-box h2 em, .contact-box .copy { color: var(--aqua-light); }
.contact-box .button { color: #123943; background: var(--aqua-light); }
.contact-box .text-link { border-color: var(--aqua-light); }
.contact-box .eyebrow { color: var(--lime); }

@media (max-width: 1000px) {
  .wrap { width: calc(100% - 48px); }
  .portfolio-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .executive-hero { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
}
@media (max-width: 850px) {
  .deck-cover-grid, .curated-campaigns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 740px) {
  .portfolio-case-grid, .case-group-heading { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 680px) {
  .wrap { width: calc(100% - 30px); }
  html { scroll-padding-top: 75px; }
  .nav { height: 62px; }
  .links { top: 62px; background: var(--deep-aqua); border-color: var(--aqua-line); }
  .executive-hero { grid-template-columns: minmax(0, 1fr); margin-top: 15px; padding: 24px 19px 26px; }
  .executive-hero h1 { font-size: clamp(36px, 10vw, 51px); }
  .executive-hero::before { mask-image: linear-gradient(to right, transparent 60%, #000 88%); }
  .hero-footer { margin-top: 12px; }
  .case-jumps { margin: 24px 0; gap: 7px; }
  .case-jumps a, .design-jumps a { padding: 6px 11px; }
  .audit-feature, .analytics-credential, .analytics-grid { grid-template-columns: minmax(0, 1fr); }
  .audit-proof { grid-template-columns: auto 1fr; align-items: center; border: 0; padding: 0 0 9px; border-bottom: 1px solid #b7d1d4; }
  .analytics-tool p { font-size: 14px; }
}
@media (max-width: 510px) {
  .deck-cover-grid, .curated-campaigns { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .deck-artwork img { transition: none; }
}
