/*
  Editorial journey / October 2026
  Intentional hierarchy, frosted navy accents, and progressive disclosure.
  The professional details live in the document; these styles shape their path.
*/

:root {
  --ink: #0b1f4b;
  --blue: #17386d;
  --soft-blue: #edf3fa;
  --glacier: #dce9f8;
}

html { scroll-padding-top: 122px; }
body { overflow-x: clip; }

/* Navigation: a floating, tactile surface that can retreat and return. */
.site-header {
  position: fixed;
  inset: 17px auto auto 50%;
  width: min(calc(100% - 50px), 1260px);
  height: 78px;
  padding-inline: 28px 13px;
  transform: translateX(-50%);
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 20px;
  background: rgba(248,251,255,.88);
  -webkit-backdrop-filter: blur(23px) saturate(155%);
  backdrop-filter: blur(23px) saturate(155%);
  box-shadow: 0 10px 34px rgba(4,21,52,.14), inset 0 1px 0 rgba(255,255,255,.85);
  z-index: 100;
  transition: transform .38s cubic-bezier(.22,1,.36,1), top .35s ease,
    background .35s ease, box-shadow .35s ease, width .35s ease;
}
.site-header.is-scrolled {
  top: 10px;
  width: min(calc(100% - 50px), 1200px);
  background: rgba(247,250,255,.94);
  box-shadow: 0 13px 42px rgba(4,21,52,.17), inset 0 1px 0 rgba(255,255,255,.9);
}
.site-header.is-hidden { transform: translate(-50%, calc(-100% - 42px)); }
.site-header .brand { min-width: 0; gap: 15px; }
.site-header .brand-mark { font-size: 37px; }
.site-header .brand-caption { font-size: 8px; padding-left: 16px; }
.site-header .site-nav { gap: clamp(15px,2vw,30px); }
.site-header .site-nav > a:not(.nav-contact) {
  font-size: 12px;
  color: #324764;
  padding-block: 15px;
}
.site-header .site-nav > a.is-current:not(.nav-contact) { color: var(--ink); }
.site-header .site-nav > a.is-current:not(.nav-contact)::after { right: 0; height: 2px; }
.site-header .nav-contact {
  margin: 0;
  min-height: 48px;
  display: inline-flex;
  gap: 18px;
  align-items: center;
  padding: 11px 18px;
  border-radius: 11px;
  font-size: 12px;
}
.site-header .nav-contact span { margin-left: 4px; }
.site-header .nav-contact:hover { color: #fff; }

/* Hero: one clear typographic focal point, with a physical practice folio
   playing a quieter, supporting role. The sheet extracts from a real pocket. */
.hero {
  min-height: min(825px,100svh);
  background: #0b1f4b;
  isolation: isolate;
}
.hero::before {
  background:
    radial-gradient(ellipse at 83% 35%, rgba(49,98,174,.52) 0%, rgba(25,62,121,.15) 40%, transparent 68%),
    radial-gradient(ellipse at 45% 120%, rgba(35,81,148,.42), transparent 55%),
    linear-gradient(125deg, #0b1f4b 12%, #0f2753 69%, #0a1e47);
}
.hero::after {
  display: block;
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  left: 0;
  bottom: 0;
  box-shadow: none;
  background:
    repeating-linear-gradient(90deg, transparent 0, transparent calc(20% - 1px), rgba(255,255,255,.021) calc(20% - 1px), rgba(255,255,255,.021) 20%),
    linear-gradient(114deg, transparent 39%, rgba(195,222,255,.028) 51%, transparent 65%);
  pointer-events: none;
  z-index: -1;
}
.hero-decoration-a { border-color: rgba(201,224,255,.085); right: -140px; top: -300px; }
.hero-decoration-b { border-color: rgba(201,224,255,.045); }
.hero-inner {
  min-height: 695px;
  padding-block: 132px 64px;
  grid-template-columns: minmax(0,1.16fr) minmax(0,.84fr);
  gap: clamp(45px,5vw,90px);
}
.hero h1 { font-size: clamp(76px,7.2vw,117px); margin-top: 43px; }
.hero-designation { font-size: clamp(23px,2vw,30px); }
.hero-description { max-width: 465px; }
.hero-actions .text-link { min-height: 44px; align-items: center; }
.hero-bottom { height: 73px; }
.hero-visual {
  width: 100%;
  min-height: 510px;
  perspective: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hero-halo {
  position: absolute;
  width: min(122%,570px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 48% 45%, rgba(105,167,236,.20), rgba(70,123,203,.07) 49%, transparent 75%);
  border: 1px solid rgba(220,237,255,.08);
  box-shadow: 0 0 0 68px rgba(155,203,255,.011), 0 0 0 134px rgba(155,203,255,.009);
  pointer-events: none;
}
.folder-scene {
  position: relative;
  width: min(100%,448px);
  height: 473px;
  isolation: isolate;
}
.folder-scene::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 94%;
  height: 36px;
  left: 3%;
  bottom: 0;
  border-radius: 50%;
  background: rgba(1,9,31,.4);
  filter: blur(24px);
}
.folder-paper-mask {
  position: absolute;
  inset: 0 0 10px;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}
.folder-sheet {
  position: absolute;
  top: 4px;
  left: 9%;
  width: 82%;
  height: 376px;
  padding: 26px 26px 20px;
  background: linear-gradient(151deg, #ffffff 0%, #f1f6fd 70%, #e5eef9);
  border: 1px solid rgba(231,240,252,.85);
  border-radius: 7px 7px 3px 3px;
  color: #0b1f4b;
  box-shadow: 0 12px 42px rgba(2,12,34,.23), inset 0 1px 0 #fff;
  transform: rotate(-2.4deg);
}
.folder-sheet::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(108deg, rgba(119,164,221,.025), transparent 48%, rgba(22,69,133,.035));
  pointer-events: none;
}
.folder-sheet-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding-bottom: 17px;
  border-bottom: 1px solid #d4dfed;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .15em;
  color: #607594;
}
.folder-sheet-kicker {
  margin: 20px 0 5px;
  color: #6b7d96;
  letter-spacing: .16em;
  font-size: 9px;
  font-weight: 700;
}
.folder-sheet-capabilities {
  list-style: none;
  padding: 0;
  margin: 0;
}
.folder-sheet-capabilities li {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 57px;
  border-bottom: 1px solid #d8e2ef;
}
.folder-sheet-capabilities li > span {
  color: #617a9d;
  font: 700 9px var(--sans);
}
.folder-sheet-capabilities strong {
  font: 400 clamp(28px,2.6vw,35px)/1 var(--serif);
  letter-spacing: -.025em;
}
.folder-sheet-capabilities small {
  color: #6c819c;
  font: 700 8px var(--sans);
  letter-spacing: .09em;
  white-space: nowrap;
}
.folder-sheet-signature {
  padding-top: 16px;
  font: 700 8px var(--sans);
  letter-spacing: .18em;
  color: #7188a8;
}
.folder-front {
  position: absolute;
  z-index: 2;
  left: 0;
  bottom: 10px;
  width: 100%;
  height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 25px 31px 23px;
  color: #eff6ff;
  background: linear-gradient(133deg, #2f68ac 0%, #1b4a8a 44%, #102d60 100%);
  border: 1px solid rgba(145,191,244,.62);
  border-radius: 7px 9px 15px 15px;
  box-shadow: 0 30px 60px rgba(1,9,27,.4), inset 0 1px 0 rgba(255,255,255,.25);
}
.folder-front::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -20px;
  left: -1px;
  width: 42%;
  height: 30px;
  border-radius: 10px 13px 0 0;
  background: #3168a9;
  border: 1px solid rgba(145,191,244,.45);
  border-bottom: 0;
}
.folder-front::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(165deg,rgba(219,238,255,.13), transparent 42%, rgba(4,22,56,.1));
}
.folder-front-header,
.folder-front-bottom {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: #d6e6fb;
  font: 700 8px/1.45 var(--sans);
  letter-spacing: .15em;
}
.folder-front-header > span:last-child { font-size: 16px; font-weight: 400; line-height: .8; }
.folder-front-brand {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}
.folder-front-monogram {
  font: 400 53px/.75 var(--serif);
  letter-spacing: -.08em;
  color: #fff;
}
.folder-front-monogram span { font-style: italic; }
.folder-front-brand > span:last-child {
  color: #d3e3f8;
  text-align: right;
  font: 700 9px/1.35 var(--sans);
  letter-spacing: .1em;
}
.folder-front-bottom {
  padding-top: 12px;
  border-top: 1px solid rgba(223,239,255,.27);
  font-size: 7px;
  color: #bed4f0;
}
.hero-art-marker {
  position: absolute;
  right: -18px;
  bottom: 13px;
  color: #91add2;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .2em;
  writing-mode: vertical-rl;
}

/* Three distinct beats after the hero:
   1. measurable proof on white;
   2. an unmistakable navigation surface in navy;
   3. an editorial introduction with room to read. */
.metrics-strip {
  background: #f8fbff;
  border-top: 1px solid #d2e1f3;
  border-bottom: 0;
}
.metrics-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding-top: 34px;
  color: #5f7491;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.5;
}
.metrics-heading span:first-child { display: inline-flex; align-items: center; gap: 13px; color: var(--ink); }
.metrics-heading i { display: block; width: 26px; height: 2px; background: #3b68a4; }
.metrics-grid { grid-template-columns: .95fr .95fr 1.2fr; min-height: 218px; }
.metrics-grid > .metric {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 15px;
  padding: 35px 24px 38px 0;
  border-color: #d6e2ef;
}
.metrics-grid > .metric:nth-child(2) { padding-left: 42px; }
.metric-overline {
  color: #607894;
  font: 700 9px/1.4 var(--sans);
  letter-spacing: .17em;
}
.metric-figure { display: flex; align-items: end; gap: clamp(18px,2.1vw,32px); }
.metric-figure strong { display: block; font-size: clamp(76px,7.3vw,106px); line-height: .82; }
.metric-figure strong span { color: #6082b3; }
.metric-figure p {
  padding-bottom: 4px;
  font-size: 13px;
  line-height: 1.6;
  color: #455c7a;
  font-weight: 600;
}
.metrics-grid > .metric-description {
  justify-content: flex-start;
  gap: 19px;
  border-right: 0;
  padding: 35px 0 35px 50px;
}
.metric-description p {
  max-width: 390px;
  font-size: 16px;
  line-height: 1.65;
  color: #233b60;
}
.metric-description .metric-description-foot {
  margin-top: auto;
  color: #7187a3;
  font: 700 9px/1.5 var(--sans);
  letter-spacing: .14em;
}

/* An explicitly interactive contents bar, with high-contrast navigation. */
.journey-index {
  background: linear-gradient(105deg,#0e2752 0%,#163a71 100%);
  border-top: 1px solid rgba(219,235,255,.23);
  border-bottom: 1px solid #0b1f4b;
  color: #fff;
}
.journey-index-inner {
  display: grid;
  grid-template-columns: 1.18fr repeat(5,1fr);
  align-items: stretch;
}
.journey-index-label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
  padding: 20px 22px 20px 0;
  color: #cedef2;
}
.journey-index-label > span {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
}
.journey-index-label strong {
  font-family: var(--serif);
  font-size: clamp(20px,1.8vw,27px);
  font-weight: 400;
  letter-spacing: -.015em;
  line-height: 1;
  color: #fff;
}
.journey-index-label strong span { padding-left: 7px; font-family: var(--sans); font-size: 18px; }
.journey-index a {
  position: relative;
  min-height: 124px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  padding: 22px 20px;
  border-left: 1px solid rgba(227,240,255,.18);
  transition: background .2s ease;
}
.journey-index a:hover,.journey-index a:focus-visible,.journey-index a.is-current { background: rgba(207,229,255,.15); }
.journey-index a:focus-visible { outline-color: #fff; outline-offset: -4px; }
.journey-index small {
  color: #aac6e9;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
}
.journey-index a > span:not(.journey-arrow) {
  font-family: var(--serif);
  font-size: clamp(20px,1.7vw,27px);
  line-height: 1.05;
  color: #fff;
}
.journey-arrow {
  position: absolute;
  top: 19px;
  right: 17px;
  font-size: 16px;
  font-weight: 400;
  color: #bed3ef;
  transition: transform .2s ease;
}
.journey-index a:hover .journey-arrow { transform: translate(3px,-3px); }

/* Readability and progression: one focal headline per chapter. */
.section { padding-block: clamp(90px,8.4vw,126px); }
.section-header { margin-bottom: clamp(36px,4.3vw,60px); }
.section-header-sub { margin-bottom: 42px; }
.section-number { font-size: 10px; letter-spacing: .18em; }
.section-aside { font-size: 10px; letter-spacing: .15em; }
.section h2,
.credentials-heading h2 {
  font-size: clamp(58px,6vw,86px);
  line-height: .98;
}
.profile-grid { grid-template-columns: .94fr 1.06fr; gap: clamp(40px,7vw,110px); }
.profile-heading {
  border-left: 3px solid #35659f;
  padding: 4px 0 0 clamp(25px,3vw,48px);
  justify-content: flex-start;
}
.profile-heading h2 { position: static; font-size: clamp(59px,5.7vw,81px); }
.profile-copy .lead-paragraph { font-size: clamp(29px,2.6vw,36px); line-height: 1.24; }
.profile-copy p { line-height: 1.74; }
.profile-section {
  background: #fff;
  padding-top: clamp(100px,8vw,124px);
  border-top: 1px solid #dfe7f1;
}
.profile-section .section-header { margin-bottom: 64px; }
.profile-section .section-number { color: #214675; }
.profile-section .section-header-line { background: #c9d7e7; }
.expertise-section { background: #f3f7fc; }
.expertise-intro { gap: 45px; margin-bottom: 52px; }
.expertise-intro > p { max-width: 340px; }
.tax-panel { border-radius: 15px; overflow: hidden; }
.tax-panel-head { border-bottom: 1px solid #dce6f0; }
.tax-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
.tax-item,
.tax-item:nth-child(n+4) {
  grid-column: auto;
  min-height: 250px;
  border-top: 0;
  border-bottom: 0;
  border-right: 1px solid #dce5ef;
  padding: 30px 25px;
}
.tax-item:nth-child(3) { border-right: 1px solid #dce5ef; }
.tax-item:last-child { border-right: 0; }
.tax-item h3 { margin: 36px 0 19px; font-size: clamp(26px,2.35vw,34px); }
.tax-item p { font-size: 13px; }
.capability-grid { gap: 18px; margin-top: 18px; }
.capability-card {
  min-height: 350px;
  padding: 37px 39px;
  border: 1px solid rgba(145,177,214,.35);
  border-radius: 15px;
  background: linear-gradient(132deg, rgba(255,255,255,.83),rgba(218,233,250,.72));
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.capability-card-dark {
  background: linear-gradient(125deg,#123366,#0b1f4b);
  color: #fff;
  border-color: #325483;
}
.capability-card h3 { margin-top: 55px; font-size: clamp(44px,4.1vw,62px); }
.capability-card p { line-height: 1.72; }
.skills-section { background: #fff; }
.skills-heading { margin-bottom: 51px; }
.skills-layout { gap: clamp(20px,3vw,40px); }
.systems-panel {
  border-radius: 15px;
  background: radial-gradient(circle at 87% 14%,rgba(80,131,201,.33),transparent 42%),linear-gradient(145deg,#17386d,#0b1f4b);
  min-height: 630px;
}
.systems-panel > h3 { font-size: clamp(56px,5vw,72px); }
.skill-row { min-height: 102px; }
.skill-row h3 { font-size: clamp(29px,3vw,42px); }
.skill-row-last h3 { font-size: clamp(25px,2.5vw,35px); }
.education-section { background: #f3f7fc; }
.education-intro { margin-bottom: 55px; }
.education-cards { gap: 20px; }
.education-card {
  min-height: 470px;
  border-radius: 15px;
  background: #fff;
}
.education-card-secondary {
  background: linear-gradient(130deg,rgba(234,243,253,.9),rgba(205,226,249,.72));
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.education-card-main h3 { font-size: clamp(53px,5.2vw,74px); }
.education-card-secondary .education-card-main h3 { font-size: clamp(48px,4.5vw,66px); }
.experience-section { background: #f8faff; }
.experience-heading { margin-bottom: 51px; }
.timeline-item { padding-block: 37px 45px; }
.timeline-year { font-size: clamp(45px,4.5vw,63px); }
.timeline-content h3 { font-size: clamp(43px,4vw,60px); }
.timeline-content > p:not(.timeline-organization) { line-height: 1.7; }
.credentials-section { background: linear-gradient(140deg,#0b1f4b,#153464); }
.credentials-heading { min-height: auto; }
.credential-item { padding-block: 26px 29px; }
.credential-item h3 { font-size: clamp(31px,3vw,43px); }
.principles-section { background: #e6eef9; padding-block: clamp(90px,8vw,120px); }
.principles-layout h2 { font-size: clamp(41px,4vw,58px); line-height: 1.17; }
.contact-section { padding-bottom: 100px; }

/* One clear decision: support with your own finances, or extra capacity for a firm. */
.engagement-section {
  background: radial-gradient(ellipse at 92% 0%,#244c82 0%,transparent 49%),linear-gradient(130deg,#0b1f4b 0%,#173765 100%);
  color: #fff;
}
.engagement-section .section-aside,
.engagement-section .engagement-kicker { color: #c7d9ee; }
.engagement-section .section-header-line { background: rgba(231,243,255,.28); }
.engagement-section .section-header { margin-bottom: 35px; }
.engagement-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  align-items: end;
  column-gap: clamp(36px, 6.5vw, 104px);
  margin-bottom: 37px;
}
.engagement-intro .engagement-kicker {
  display: block;
  margin: 0 0 17px;
  font-size: 10px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .17em;
}
.engagement-section .engagement-intro h2 {
  font-size: clamp(62px, 5.5vw, 88px);
  line-height: .92;
  letter-spacing: -.045em;
}
.engagement-intro h2 em { color: #c0d7f1; }
.engagement-intro > p {
  max-width: 442px;
  margin: 0 0 8px;
  color: #e0ebfa;
  font-size: 16px;
  line-height: 1.68;
}
.engagement-section .engagement-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  border: 0;
}
.engagement-section .engagement-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 507px;
  padding: clamp(28px, 2.8vw, 40px);
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(6,21,48,.18);
}
.engagement-section .engagement-card.engagement-card-direct {
  color: #142e56;
  background: #f8fbff;
  border: 1px solid #e0eafa;
}
.engagement-section .engagement-card.engagement-card-firms {
  color: #fff;
  background: linear-gradient(138deg,#214d86,#193e74);
  border: 1px solid rgba(221,236,255,.36);
}
.engagement-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
}
.engagement-card-no,
.engagement-audience {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.5;
}
.engagement-audience { text-align: right; color: #6481a5; }
.engagement-card-firms .engagement-audience { color: #c1d8f2; }
.engagement-section .engagement-card h3 {
  margin: 29px 0 16px;
  font-size: clamp(48px, 4vw, 62px);
  line-height: .96;
}
.engagement-card h3 em { font-weight: 400; color: #2e628e; }
.engagement-card-firms h3 em { color: #d9e9ff; }
.engagement-section .engagement-card p,
.engagement-section .engagement-card:nth-child(2) p {
  max-width: 490px;
  margin: 0 0 21px;
  color: #415a78;
  font-size: 15px;
  line-height: 1.64;
}
.engagement-section .engagement-card-firms p,
.engagement-section .engagement-card-firms:nth-child(2) p { color: #e3ecf8; }
.engagement-offerings { width: 100%; margin-top: auto; padding-top: 17px; border-top: 1px solid #ccdaeb; }
.engagement-card-firms .engagement-offerings { border-color: rgba(226,240,255,.28); }
.engagement-offerings-label { font-size: 9px; font-weight: 700; letter-spacing: .16em; color: #5b7698; }
.engagement-card-firms .engagement-offerings-label { color: #c9dff8; }
.engagement-offerings ul { display: grid; gap: 9px; margin: 12px 0 21px; padding: 0; list-style: none; }
.engagement-offerings li {
  display: flex;
  align-items: baseline;
  gap: 11px;
  font-size: 13px;
  line-height: 1.5;
}
.engagement-offerings li::before {
  content: "";
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  align-self: center;
  border-radius: 50%;
  background: #4c7bad;
}
.engagement-card-firms .engagement-offerings li::before { background: #b6d6fc; }
.engagement-email {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 12px 17px;
  border: 1px solid #163b6d;
  border-radius: 8px;
  background: #173b6d;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  transition: background .2s ease, border-color .2s ease;
}
.engagement-email:hover { background: #2a568d; border-color: #2a568d; }
.engagement-email svg { width: 17px; height: 17px; flex: 0 0 17px; }
.engagement-card-firms .engagement-email { background: #f8fbff; color: #163c70; border-color: #f8fbff; }
.engagement-card-firms .engagement-email:hover { background: #dceafb; border-color: #dceafb; }

/* Gentle first impression and concise, non-blocking section reveals. */
@media (prefers-reduced-motion: no-preference) {
  .hero-copy .eyebrow,
  .hero-copy h1,
  .hero-copy .hero-designation,
  .hero-copy .hero-description,
  .hero-copy .hero-actions {
    animation: settle-in .64s cubic-bezier(.22,1,.36,1) both;
  }
  .hero-copy h1 { animation-delay: .07s; }
  .hero-copy .hero-designation { animation-delay: .13s; }
  .hero-copy .hero-description { animation-delay: .18s; }
  .hero-copy .hero-actions { animation-delay: .23s; }
  .folder-sheet { animation: paper-extract 1.05s .2s cubic-bezier(.18,.78,.2,1) both; }
  .js [data-reveal] { transition: opacity .48s ease, transform .48s cubic-bezier(.22,1,.36,1); }
  .js [data-reveal]:not(.is-visible) { transform: translateY(10px); }
  @keyframes settle-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @keyframes paper-extract {
    from { transform: translate3d(0,218px,0) rotate(-2.4deg); }
    to { transform: translate3d(0,0,0) rotate(-2.4deg); }
  }
}

@media (max-width: 1180px) {
  .site-header .brand-caption { display: none; }
  .hero-inner { grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); }
  .hero h1 { font-size: clamp(67px,7.4vw,94px); }
  .folder-scene { width: min(100%,425px); height: 455px; }
  .folder-front { height: 181px; }
  .journey-index-inner { grid-template-columns: repeat(5,1fr); }
  .journey-index-label {
    display: flex;
    grid-column: 1/-1;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    border-bottom: 1px solid rgba(227,240,255,.18);
  }
  .journey-index-label strong { font-size: 24px; }
  .journey-index a { min-height: 100px; padding: 20px 14px; }
  .journey-index a > span:not(.journey-arrow) { font-size: 22px; }
  .journey-arrow { right: 12px; }
  .tax-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .tax-item, .tax-item:nth-child(n+4) { border-bottom: 1px solid #dce5ef; }
  .tax-item:nth-child(3) { border-right: 0; }
  .tax-item:nth-child(5) { border-right: 1px solid #dce5ef; border-bottom: 0; }
  .tax-item:nth-child(4) { border-bottom: 0; }
}

@media (max-width: 1000px) {
  .site-header, .site-header.is-scrolled {
    height: 72px;
    width: min(calc(100% - 32px),820px);
    padding-inline: 20px 15px;
  }
  .site-header .brand-caption { display: block; }
  .site-header .menu-toggle {
    width: 44px;
    height: 44px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    border-radius: 10px;
    border-color: #bccde2;
  }
  .site-header .menu-toggle span { display: block; width: 18px; height: 1px; background: var(--ink); }
  .site-header .site-nav {
    display: none;
    position: absolute;
    top: calc(100% + 9px);
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 15px 20px 20px;
    background: rgba(248,251,255,.97);
    border: 1px solid #d4e0ee;
    border-radius: 18px;
    box-shadow: 0 18px 34px rgba(7,28,61,.17);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
  }
  .site-header .site-nav.is-open { display: flex; }
  .site-header .site-nav > a:not(.nav-contact) { padding: 15px 6px; border-bottom: 1px solid #dbe6f1; }
  .site-header .site-nav > a:not(.nav-contact)::after { display: none; }
  .site-header .nav-contact { margin-top: 13px; justify-content: space-between; }
  .hero-inner { display: flex; flex-direction: column; align-items: flex-start; padding: 160px 0 65px; gap: 50px; }
  .hero h1 { font-size: clamp(76px,10vw,104px); }
  .hero-visual { width: min(100%,570px); min-height: 470px; margin-inline: auto; }
  .folder-scene { width: min(100%,440px); height: 462px; }
  .metrics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metrics-grid > .metric:nth-child(2) { border-right: 0; }
  .metrics-grid > .metric-description {
    grid-column: 1/-1;
    border-top: 1px solid #d6e2ef;
    padding: 27px 0 30px;
    gap: 12px;
  }
  .metric-description p { max-width: 690px; }
  .metric-description .metric-description-foot { margin-top: 5px; }
  .profile-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
  .skills-layout { grid-template-columns: 1fr; }
  .systems-panel { min-height: 0; }
  .engagement-card h3 { font-size: clamp(46px,5vw,60px); }
}

@media (max-width: 740px) {
  html { scroll-padding-top: 104px; }
  .site-header, .site-header.is-scrolled {
    top: 10px;
    width: calc(100% - 24px);
    height: 66px;
    padding-inline: 17px 11px;
    border-radius: 16px;
  }
  .site-header .brand-mark { font-size: 35px; }
  .site-header .brand-caption { font-size: 7px; }
  .hero-inner { padding: 128px 0 45px; gap: 31px; }
  .hero h1 { font-size: clamp(64px,11vw,85px); margin: 36px 0 25px; }
  .hero-description { margin: 24px 0 28px; }
  .hero-visual { width: 100%; min-height: 432px; height: auto; margin: 0 auto; }
  .folder-scene { width: min(100%,405px); height: 427px; }
  .folder-sheet { height: 347px; padding: 22px 22px 18px; }
  .folder-paper-mask { bottom: 8px; }
  .folder-front { height: 174px; bottom: 8px; padding: 22px 26px 20px; }
  .folder-sheet-capabilities li { min-height: 52px; }
  .folder-sheet-capabilities strong { font-size: 32px; }
  .folder-front-monogram { font-size: 48px; }
  .hero-art-marker { display: none; }
  .hero-bottom { height: auto; min-height: 60px; padding-block: 18px; }
  .metrics-heading { padding-top: 23px; }
  .metrics-heading > span:last-child { display: none; }
  .metrics-grid { grid-template-columns: 1fr 1fr; }
  .metrics-grid > .metric { padding: 24px 13px 27px 0; gap: 12px; }
  .metrics-grid > .metric:nth-child(2) { padding-left: 22px; }
  .metric-overline { font-size: 8px; letter-spacing: .12em; }
  .metric-figure { flex-direction: column; align-items: flex-start; gap: 11px; }
  .metric-figure strong { font-size: clamp(67px,12vw,83px); }
  .metric-figure p { font-size: 12px; }
  .metrics-grid > .metric-description { padding: 23px 0 27px; }
  .metric-description p { font-size: 14px; }
  .journey-index-inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .journey-index-label { grid-column: 1/-1; padding: 16px 0; }
  .journey-index-label strong { font-size: 22px; }
  .journey-index a { min-height: 94px; padding: 17px 15px; border-bottom: 1px solid rgba(227,240,255,.18); }
  .journey-index a:nth-child(2n) { border-right: 1px solid rgba(227,240,255,.18); }
  .journey-index a:last-child { grid-column: 1/-1; }
  .journey-index a > span:not(.journey-arrow) { font-size: 23px; }
  .journey-arrow { top: 16px; right: 14px; }
  .section { padding-block: 80px; }
  .section h2,.credentials-heading h2 { font-size: clamp(55px,10vw,74px); }
  .profile-grid { display: flex; flex-direction: column; gap: 32px; }
  .profile-section { padding-top: 86px; }
  .profile-section .section-header { margin-bottom: 48px; }
  .profile-heading { padding-left: 24px; }
  .profile-heading h2 { font-size: clamp(57px,10vw,72px); }
  .profile-copy .lead-paragraph { font-size: clamp(30px,6vw,37px); }
  .expertise-intro { gap: 27px; }
  .tax-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tax-item, .tax-item:nth-child(n+4) {
    min-height: 225px;
    padding: 25px 21px;
    border-bottom: 1px solid #dce5ef;
    border-right: 1px solid #dce5ef;
  }
  .tax-item:nth-child(2n) { border-right: 0; }
  .tax-item:nth-child(3) { border-right: 1px solid #dce5ef; }
  .tax-item:nth-child(4) { border-bottom: 1px solid #dce5ef; }
  .tax-item:last-child { border-bottom: 0; }
  .tax-item h3 { font-size: clamp(26px,5vw,33px); margin-top: 31px; }
  .capability-card { min-height: 335px; }
  .capability-card h3 { font-size: clamp(46px,8vw,61px); }
  .skills-heading, .education-intro { margin-bottom: 40px; }
  .skills-heading h2,.education-intro h2 { font-size: clamp(52px,9.7vw,72px); }
  .engagement-card,.engagement-card:nth-child(2) { min-height: 380px; padding: 31px; }
  .engagement-card h3 { font-size: clamp(48px,8.8vw,63px); }
  .education-card { min-height: 425px; }
  .principles-layout h2 { font-size: clamp(39px,7vw,55px); }
}

@media (max-width: 440px) {
  .site-header .brand-caption { display: none; }
  .hero-inner { padding-top: 122px; gap: 27px; }
  .hero h1 { font-size: clamp(56px,12vw,71px); }
  .hero-actions { gap: 20px; }
  .hero-visual { min-height: 375px; }
  .folder-scene { width: min(100%,340px); height: 370px; }
  .folder-sheet { height: 312px; padding: 19px 18px 14px; }
  .folder-sheet-top { font-size: 7px; padding-bottom: 12px; }
  .folder-sheet-kicker { font-size: 8px; margin: 15px 0 4px; }
  .folder-sheet-capabilities li { grid-template-columns: 20px minmax(0,1fr) auto; gap: 6px; min-height: 45px; }
  .folder-sheet-capabilities strong { font-size: 27px; }
  .folder-sheet-capabilities small { font-size: 7px; }
  .folder-front { height: 140px; padding: 17px 19px 15px; }
  .folder-front-header { font-size: 7px; }
  .folder-front-monogram { font-size: 40px; }
  .folder-front-brand > span:last-child { font-size: 7px; }
  .folder-front-bottom { font-size: 6px; padding-top: 8px; }
  .metric-figure strong { font-size: clamp(59px,13.5vw,70px); }
  .journey-index a > span:not(.journey-arrow) { font-size: 21px; }
  .journey-index a { padding-inline: 12px; }
  .journey-index small { font-size: 8px; }
  .profile-heading h2 { font-size: clamp(51px,12vw,65px); }
  .section h2,.credentials-heading h2 { font-size: clamp(52px,12vw,66px); }
  .tax-item, .tax-item:nth-child(n+4) { padding: 23px 16px; min-height: 206px; }
  .tax-item h3 { font-size: 27px; }
  .tax-item p { font-size: 12px; }
  .capability-card h3 { font-size: clamp(45px,10vw,55px); }
  .engagement-card h3 { font-size: clamp(47px,11vw,54px); }
  .credential-item h3 { font-size: 30px; }
  .education-card-main h3 { font-size: 60px; }
  .education-card-secondary .education-card-main h3 { font-size: 48px; }
  .contact-email { font-size: clamp(35px,8.2vw,47px); }
}

@media (prefers-reduced-transparency: reduce) {
  .site-header,.site-header.is-scrolled,.site-header .site-nav { background: #f8fbff; }
  .engagement-card,.engagement-card:nth-child(2) { background: #224373; }
  .capability-card { background: #e2edf9; }
}

/* Skills & tools: a concise capabilities index, followed by true vendor marks.
   Kept intentionally separate from the large editorial capability sections. */
.skills-section.section {
  padding-block: clamp(54px, 4.7vw, 66px);
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}
.skills-section .section-header { margin-bottom: 18px; }
.skills-section .skills-heading {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(28px, 5vw, 74px);
  align-items: end;
  margin-bottom: 24px;
}
.skills-section .skills-heading h2 {
  font-size: clamp(58px, 5vw, 72px);
  line-height: .91;
}
.skills-section .skills-heading > p {
  max-width: 440px;
  margin-bottom: 5px;
  font-size: 15px;
  line-height: 1.66;
}
.skills-section .skills-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.skills-section .skills-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(240px, 1.45fr);
  align-items: stretch;
  gap: 11px;
  border: 0;
}
.skills-section .skills-list-heading {
  grid-column: 1 / -1;
  min-height: 21px;
  padding-bottom: 7px;
  border: 0;
  color: #4c6280;
}
.skills-section .skill-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  min-height: 132px;
  padding: 18px 19px 19px;
  border: 1px solid #d8e4f1;
  border-radius: 12px;
  background: #f5f9fe;
  transition: background .22s ease, border-color .22s ease, transform .22s ease;
}
.skills-section .skill-row:hover {
  padding-left: 19px;
  background: #edf4fc;
  border-color: #9bb4d1;
  transform: translateY(-2px);
}
.skills-section .skill-number {
  color: #597392;
  font-size: 10px;
  letter-spacing: .15em;
  font-weight: 700;
}
.skills-section .skill-row h3,
.skills-section .skill-row-last h3 {
  margin: auto 0 0;
  color: #102d57;
  font-family: var(--serif);
  font-size: clamp(25px, 2.15vw, 32px);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.04;
  overflow-wrap: normal;
}
.skills-section .skill-row-last h3 { font-size: clamp(23px, 1.85vw, 28px); line-height: 1.12; }
.skills-section .skill-row-last h3 span { color: #657c9b; }
.skills-section .systems-panel {
  display: block;
  min-height: 0;
  padding: 17px 25px 15px;
  color: #102d57;
  border: 1px solid #d3e1f0;
  border-radius: 13px;
  background: linear-gradient(115deg, #edf5fe 0%, #f8fbff 62%, #f1f6fd 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.skills-section .systems-top {
  padding: 0 0 12px;
  color: #425d80;
  border-bottom: 1px solid #ceddef;
}
.skills-section .systems-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.skills-section .system-entry {
  display: flex;
  align-items: center;
  gap: clamp(17px, 2.5vw, 34px);
  min-height: 93px;
  padding: 14px 24px 4px 0;
  border: 0;
}
.skills-section .system-entry + .system-entry { padding-left: 28px; border-left: 1px solid #ceddef; }
.skills-section .system-logo {
  display: block;
  width: clamp(150px, 14.2vw, 205px);
  max-width: 48%;
  height: auto;
  flex: 0 1 auto;
  object-fit: contain;
}
.skills-section .system-logo-odoo {
  width: clamp(155px, 14.5vw, 208px);
  height: 76px;
  object-fit: cover; /* Trims only the SVG's oversized transparent canvas. */
}
.skills-section .system-details { min-width: 0; }
.skills-section .system-details h4 {
  margin: 0 0 6px;
  color: #142f58;
  font-family: var(--sans);
  font-size: clamp(13px, 1.15vw, 16px);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.2;
}
.skills-section .system-details p { margin: 0; color: #42617e; font-size: 12px; line-height: 1.45; }

@media (max-width: 1170px) {
  .skills-section .skills-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .skills-section .skill-row-last { grid-column: span 2; }
  .skills-section .skill-row { min-height: 115px; }
  .skills-section .system-entry { gap: 18px; }
  .skills-section .system-entry + .system-entry { padding-left: 21px; }
}

@media (max-width: 780px) {
  .skills-section.section { padding-block: 70px; }
  .skills-section .skills-heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 28px; }
  .skills-section .skills-heading h2 { font-size: clamp(55px, 9vw, 72px); }
  .skills-section .skills-heading > p { max-width: 540px; font-size: 14px; }
  .skills-section .skills-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .skills-section .skill-row { min-height: 108px; }
  .skills-section .skill-row h3 { font-size: clamp(24px, 4vw, 31px); }
  .skills-section .skill-row-last h3 { font-size: clamp(23px, 3.7vw, 28px); }
  .skills-section .systems-grid { grid-template-columns: 1fr; }
  .skills-section .system-entry { min-height: 93px; padding: 6px 0; }
  .skills-section .system-entry + .system-entry {
    padding: 6px 0;
    border-left: 0;
    border-top: 1px solid #ceddef;
  }
  .skills-section .system-logo { width: 190px; max-width: 40%; }
  .skills-section .system-logo-odoo { width: 194px; height: 71px; }
  .skills-section .system-details h4 { font-size: 16px; }
}

@media (max-width: 480px) {
  .skills-section.section { padding-block: 57px; }
  .skills-section .section-header { margin-bottom: 21px; }
  .skills-section .skills-heading h2 { font-size: clamp(51px, 12vw, 60px); }
  .skills-section .skills-heading > p { font-size: 13px; }
  .skills-section .skills-list { gap: 8px; }
  .skills-section .skills-list-heading { font-size: 8px; letter-spacing: .12em; }
  .skills-section .skill-row { min-height: 110px; gap: 10px; padding: 15px 13px; }
  .skills-section .skill-row:hover { padding-left: 13px; }
  .skills-section .skill-row h3 { font-size: clamp(21px, 5.7vw, 26px); }
  .skills-section .skill-row-last h3 { font-size: 23px; }
  .skills-section .systems-panel { padding: 16px 17px 10px; }
  .skills-section .system-logo { width: 143px; max-width: 43%; }
  .skills-section .system-logo-odoo { width: 148px; height: 60px; }
  .skills-section .system-entry { gap: 15px; }
  .skills-section .system-details h4 { font-size: 14px; }
  .skills-section .system-details p { font-size: 11px; }
}

@media (max-width: 1100px) {
  .engagement-section .engagement-intro h2 { font-size: clamp(61px, 6.5vw, 77px); }
  .engagement-intro { column-gap: 34px; }
  .engagement-section .engagement-card { padding: 30px; }
  .engagement-section .engagement-card h3 { font-size: clamp(45px, 4.8vw, 57px); }
  .engagement-audience { max-width: 190px; }
}

@media (max-width: 820px) {
  .engagement-section .section-header { margin-bottom: 29px; }
  .engagement-intro { grid-template-columns: 1fr; gap: 22px; margin-bottom: 29px; }
  .engagement-section .engagement-intro h2 { font-size: clamp(61px, 8.4vw, 78px); }
  .engagement-intro > p { max-width: 650px; margin: 0; }
  .engagement-section .engagement-cards { grid-template-columns: 1fr; gap: 15px; }
  .engagement-section .engagement-card { min-height: 0; padding: 32px; }
  .engagement-section .engagement-card h3 { font-size: clamp(49px, 6.8vw, 62px); margin-top: 29px; }
  .engagement-section .engagement-card p { max-width: 620px; }
  .engagement-offerings { margin-top: 14px; }
}

@media (max-width: 480px) {
  .engagement-section .engagement-intro h2 { font-size: clamp(48px, 11vw, 59px); }
  .engagement-intro .engagement-kicker { font-size: 9px; margin-bottom: 16px; }
  .engagement-intro > p { font-size: 14px; }
  .engagement-section .engagement-card { padding: 24px 22px 25px; border-radius: 13px; }
  .engagement-card-top { flex-direction: column; gap: 5px; }
  .engagement-audience { text-align: left; max-width: none; }
  .engagement-section .engagement-card h3 { font-size: clamp(42px, 9.4vw, 50px); margin: 27px 0 14px; }
  .engagement-section .engagement-card p { font-size: 14px; margin-bottom: 14px; }
  .engagement-offerings li { font-size: 12px; }
  .engagement-email { width: 100%; justify-content: center; }
}

/* Editorial career story: the concurrent appointments stay legible at a glance. */
.experience-section.section { background: #f8faff; padding-block: clamp(76px,7.5vw,106px); }
.experience-section .section-header { margin-bottom: 44px; }
.experience-section .experience-heading { margin-bottom: 39px; }
.experience-section .experience-heading h2 { font-size: clamp(65px,7vw,100px); }
.experience-section .experience-heading p { max-width: 385px; }
.career-story { display: grid; gap: 0; }
.career-feature { overflow: hidden; border: 1px solid #d9e4f2; border-radius: 19px; background: #fff; box-shadow: 0 20px 65px rgba(9,35,81,.055); }
.career-feature-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 28px; background: #0b1f4b; color: #c7d9f5; border-bottom: 1px solid rgba(255,255,255,.16); }
.career-feature-index,.career-feature-date { font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.career-feature-index span { opacity: .45; margin-inline: 7px; }
.career-feature-date { color: #fff; }
.career-feature-grid { display: grid; grid-template-columns: minmax(0, .89fr) minmax(0, 1.11fr); }
.career-feature-identity { background: linear-gradient(151deg,#0b1f4b 2%,#153868 100%); color: #fff; padding: clamp(30px,3.1vw,48px); display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.career-feature-kicker { display: inline-flex; gap: 9px; align-items: center; font-size: 10px; font-weight: 700; letter-spacing: .17em; color: #cfe3ff; }
.career-active-dot { height: 7px; width: 7px; border-radius: 50%; background: #86d8b6; box-shadow: 0 0 0 5px rgba(134,216,182,.12); }
.career-feature-identity h3 { font-family: var(--serif); font-weight: 400; letter-spacing: -.045em; font-size: clamp(61px,6.1vw,89px); line-height: .89; margin: 38px 0 26px; }
.career-feature-identity h3 em,.career-history-card h3 em { font-weight: 400; }
.career-feature-firm { font-size: 16px; font-weight: 700; color: #fff; margin: 0 0 5px; }
.career-feature-location { font-size: 12px; line-height: 1.5; color: #b5c9e5; margin: 0; }
.career-feature-areas { display: flex; gap: 7px; flex-wrap: wrap; margin-top: auto; padding-top: 39px; }
.career-feature-areas span { font-size: 10px; font-weight: 600; color: #d9e9ff; border: 1px solid rgba(212,234,255,.25); padding: 8px 10px; border-radius: 100px; background: rgba(255,255,255,.07); }
.career-feature-copy { padding: clamp(30px,3vw,46px); min-width: 0; }
.career-copy-label { display: block; margin-bottom: 21px; font-size: 10px; font-weight: 700; letter-spacing: .16em; color: #3a648f; }
.career-feature-copy > p { margin: 0 0 17px; font-size: 15px; line-height: 1.75; color: #41546b; }
.career-feature-copy > p:first-of-type { color: #203754; font-size: 16px; }
.career-responsibilities { border-top: 1px solid #dbe4ee; margin-top: 23px; }
.career-responsibilities summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 18px; list-style: none; padding: 19px 0 4px; color: #102b56; }
.career-responsibilities summary::-webkit-details-marker { display: none; }
.career-responsibilities summary > span:first-child { display: grid; gap: 4px; }
.career-responsibilities summary strong { font-size: 13px; font-weight: 700; }
.career-responsibilities summary small { font-size: 11px; line-height: 1.6; color: #63788f; }
.career-responsibilities summary:focus-visible { outline: 2px solid #2b72ba; outline-offset: 4px; }
.career-details-symbol { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid #c2d4e9; color: #163b6c; font-size: 22px; line-height: 1; transition: transform .2s ease, background .2s ease; }
.career-responsibilities[open] .career-details-symbol { transform: rotate(45deg); background: #eaf3ff; }
.career-responsibilities-body { padding: 24px 0 8px; }
.career-responsibilities-body p { font-size: 13px; line-height: 1.75; color: #455970; }
.career-responsibilities-body ul { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 27px; margin: 16px 0 27px; padding: 0; list-style: none; }
.career-responsibilities-body li { position: relative; padding-left: 16px; font-size: 12px; line-height: 1.58; color: #41546b; }
.career-responsibilities-body li::before { content: ''; position: absolute; width: 5px; height: 5px; left: 0; top: .55em; border-radius: 50%; background: #3b79bb; }
.career-history-intro { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 31px 0 16px; }
.career-history-intro > span:first-child { font-size: 10px; font-weight: 700; letter-spacing: .16em; color: #1c4678; }
.career-history-intro > span:last-child { font-size: 12px; color: #67788b; }
.career-history-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.career-history-card { display: flex; flex-direction: column; padding: 28px 31px 24px; background: #fff; border: 1px solid #dce6f2; border-radius: 14px; min-width: 0; transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.career-history-card:hover { transform: translateY(-4px); border-color: #b0c9e5; box-shadow: 0 16px 37px rgba(12,48,97,.07); }
.career-history-top,.career-history-bottom { display: flex; justify-content: space-between; gap: 14px; }
.career-history-top { font-size: 9px; font-weight: 700; letter-spacing: .12em; color: #5a7190; }
.career-history-top span:last-child { color: #214a7a; }
.career-history-card h3 { font-family: var(--serif); font-weight: 400; font-size: clamp(46px,4.25vw,61px); letter-spacing: -.04em; line-height: .95; margin: 29px 0 16px; color: #102953; }
.career-history-card > p { font-size: 14px; color: #44586f; margin: 0 0 32px; }
.career-history-bottom { margin-top: auto; padding-top: 15px; border-top: 1px solid #e3ebf5; font-size: 10px; font-weight: 700; letter-spacing: .055em; color: #586d83; }
.career-overlap,.career-training-note { font-size: 11px; line-height: 1.5; margin-top: 18px; display: flex; gap: 9px; align-items: center; color: #315b8b; }
.career-overlap-dot { width: 7px; height: 7px; border-radius: 50%; flex: none; background: #286eba; box-shadow: 0 0 0 4px #e5f0fc; }
.career-training-note { color: #7b8799; }

/* Authentic vendor identities in compact, scannable professional credentials. */
.credentials-section.section { padding-block: clamp(66px,6.6vw,91px); background: linear-gradient(132deg,#081e47,#153867); }
.credentials-section .section-header { margin-bottom: 32px; }
.credentials-intro { display: flex; justify-content: space-between; gap: 25px; align-items: end; margin-bottom: 29px; }
.credentials-section .credentials-intro h2 { font-size: clamp(46px,5.2vw,73px); line-height: 1.02; color: #fff; max-width: none; }
.credentials-intro p { max-width: 280px; font-size: 13px; line-height: 1.6; color: #c0d1e9; margin: 0 0 6px; }
.credentials-section .section-header-light .section-aside { color: #b7cbe6; }
.credential-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 11px; }
.credential-card { display: flex; flex-direction: column; align-items: stretch; min-width: 0; min-height: 238px; padding: 16px 16px 19px; border-radius: 10px; background: #fff; color: #143053; border: 1px solid rgba(255,255,255,.68); box-shadow: 0 5px 28px rgba(5,17,38,.06); transition: transform .25s ease, box-shadow .25s ease; }
.credential-card:hover { transform: translateY(-4px); box-shadow: 0 19px 40px rgba(4,14,35,.2); }
.credential-card-top { font-size: 9px; font-weight: 700; letter-spacing: .12em; color: #55708d; min-height: 14px; }
.credential-brand { height: 83px; display: flex; align-items: center; justify-content: flex-start; padding: 7px 0; }
.credential-brand img { object-fit: contain; max-width: 100%; }
.credential-brand-icap img { width: 60px; height: 63px; }
.credential-brand-qbo img { width: 158px; height: auto; }
.credential-brand-odoo img { width: 149px; height: 80px; }
.credential-brand-symbol { color: #2e659a; }
.credential-brand-symbol svg { width: 46px; height: 46px; }
.credential-brand-monogram { font-family: var(--serif); font-size: 37px; letter-spacing: -.055em; color: #1e4b82; position: relative; width: fit-content; }
.credential-monogram-rule { position: absolute; bottom: 20px; left: 0; width: 37px; height: 2px; background: #89a9ce; }
.credential-card h3 { font-family: var(--sans); font-size: 15px; font-weight: 700; line-height: 1.28; letter-spacing: -.015em; margin: 1px 0 8px; color: #102b52; }
.credential-card p { font-size: 11px; line-height: 1.55; margin: auto 0 0; color: #586e84; }

@media (max-width: 1100px) {
  .credential-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .credential-card { min-height: 215px; }
  .credential-card h3 { font-size: 17px; }
}
@media (max-width: 780px) {
  .experience-section .experience-heading { flex-direction: column; align-items: flex-start; gap: 23px; }
  .experience-section .experience-heading p { margin: 0; max-width: 600px; }
  .career-feature-grid { grid-template-columns: 1fr; }
  .career-feature-identity { padding: 32px; }
  .career-feature-identity h3 { font-size: clamp(61px,10vw,81px); margin-block: 30px 24px; }
  .career-feature-areas { padding-top: 25px; }
  .career-feature-copy { padding: 32px; }
  .career-history-grid { gap: 11px; }
  .career-history-card { padding: 24px 21px; }
  .career-history-top,.career-history-bottom { flex-wrap: wrap; }
  .credentials-intro { align-items: flex-start; flex-direction: column; gap: 13px; }
  .credentials-intro p { max-width: 560px; }
}
@media (max-width: 540px) {
  .experience-section.section { padding-block: 65px; }
  .experience-section .section-header { margin-bottom: 31px; }
  .experience-section .experience-heading h2 { font-size: clamp(59px,12.5vw,73px); }
  .career-feature-top { padding: 17px 21px; align-items: flex-start; flex-direction: column; gap: 5px; }
  .career-feature-identity,.career-feature-copy { padding: 27px 22px; }
  .career-feature-identity h3 { font-size: 63px; }
  .career-feature-copy > p { font-size: 14px; }
  .career-feature-copy > p:first-of-type { font-size: 15px; }
  .career-responsibilities-body ul { grid-template-columns: 1fr; gap: 11px; }
  .career-history-intro { align-items: flex-start; flex-direction: column; gap: 5px; }
  .career-history-grid { grid-template-columns: 1fr; }
  .career-history-card h3 { font-size: 52px; }
  .credentials-section.section { padding-block: 60px; }
  .credentials-section .credentials-intro h2 { font-size: clamp(47px,10.5vw,60px); }
  .credential-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .credential-card { min-height: 226px; padding: 14px 13px 17px; }
  .credential-card h3 { font-size: 14px; }
  .credential-card p { font-size: 10px; }
  .credential-brand { height: 76px; }
  .credential-brand-qbo img { width: 137px; }
  .credential-brand-odoo img { width: 125px; }
  .credential-card:last-child { grid-column: 1 / -1; min-height: 180px; }
}
@media (prefers-reduced-motion: reduce) {
  .career-history-card,.credential-card,.career-details-symbol { transition: none; }
}

/* Practice overview: five recognizable tax categories, then two different disciplines. */
.expertise-section.section { background: #edf3fb; padding-block: clamp(76px,7vw,105px); }
.expertise-section .section-header { margin-bottom: 43px; }
.expertise-section .expertise-intro { margin-bottom: 37px; align-items: end; }
.expertise-intro-context { flex: 0 0 335px; display: grid; gap: 13px; padding-bottom: 7px; }
.expertise-intro-context > span { font-size: 10px; font-weight: 700; letter-spacing: .18em; color: #2c5d97; }
.expertise-intro-context p { font-size: 15px; line-height: 1.73; color: #42566e; margin: 0; }
.expertise-section .tax-panel { background: #0c2756; border: 0; border-radius: 17px; box-shadow: 0 21px 57px rgba(12,39,86,.11); }
.expertise-section .tax-panel-head { background: linear-gradient(115deg,#0b234f,#163b70); color: #fff; padding: 27px 31px 29px; border: 0; align-items: end; gap: 30px; }
.expertise-section .tax-panel-head .micro-label { display: block; color: #a9caef; font-size: 10px; font-weight: 700; letter-spacing: .17em; margin-bottom: 11px; }
.tax-panel-head h3 { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(37px,3.5vw,52px); letter-spacing: -.028em; line-height: 1; }
.tax-panel-head h3 em { font-weight: 400; }
.expertise-section .tax-panel-badge { color: #c2d7f0; font-size: 10px; letter-spacing: .14em; text-align: right; padding-bottom: 4px; }
.expertise-section .tax-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; padding: 10px; background: #0c2756; }
.expertise-section .tax-item,
.expertise-section .tax-item:nth-child(n+4) { display: flex; flex-direction: column; grid-column: auto; min-width: 0; min-height: 270px; padding: 24px 18px 20px; border: 0; border-radius: 9px; background: #e6effb; }
.expertise-section .tax-item:nth-child(2) { background: #d6e6f8; }
.expertise-section .tax-item:nth-child(3) { background: #e4edf7; }
.expertise-section .tax-item:nth-child(4) { background: #dbeaf8; }
.expertise-section .tax-item:nth-child(5) { background: #e2eef9; }
.tax-item-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-height: 37px; }
.expertise-section .tax-item-top span { font-size: 9px; font-weight: 700; letter-spacing: .09em; line-height: 1.5; color: #416e9f; }
.tax-item-top svg { width: 30px; height: 30px; flex: none; color: #285b90; }
.expertise-section .tax-item h3 { color: #0e2b55; font-size: clamp(26px,2.42vw,35px); line-height: 1.02; letter-spacing: -.025em; margin: 26px 0 26px; }
.tax-forms { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.tax-forms span { display: inline-flex; align-items: center; padding: 6px 8px; font-size: 11px; font-weight: 700; letter-spacing: .005em; color: #264d76; background: rgba(255,255,255,.78); border: 1px solid rgba(65,109,158,.15); border-radius: 5px; line-height: 1.3; }
.expertise-section .capability-grid { gap: 13px; margin-top: 13px; }
.expertise-section .capability-card { min-height: 330px; padding: 30px 35px 26px; border-radius: 14px; border: 1px solid #aec8e6; background: linear-gradient(145deg,#c6def6,#dbeaf9); color: #112c53; box-shadow: none; }
.expertise-section .capability-card-dark { background: linear-gradient(133deg,#173f75,#0a214c); border-color: #214878; color: #fff; }
.capability-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; width: 100%; }
.expertise-section .capability-index { color: #204e80; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.expertise-section .capability-card-dark .capability-index { color: #bbd8f8; }
.capability-card-head svg { width: 38px; height: 38px; flex: none; color: #376d9f; }
.capability-card-dark .capability-card-head svg { color: #96c1ef; }
.expertise-section .capability-card h3 { font-size: clamp(43px,3.8vw,57px); line-height: .98; margin: 26px 0 17px; }
.expertise-section .capability-card p { max-width: 530px; font-size: 14px; line-height: 1.63; color: #315276; margin: 0 0 28px; }
.expertise-section .capability-card-dark p { color: #d5e4f6; }
.capability-card-foot { width: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 13px; margin-top: auto; padding-top: 15px; border-top: 1px solid rgba(34,81,129,.2); }
.capability-card-foot span { font-size: 9px; font-weight: 700; letter-spacing: .13em; color: #2b5a87; }
.capability-card-dark .capability-card-foot { border-color: rgba(205,227,250,.22); }
.capability-card-dark .capability-card-foot span { color: #b7d4f3; }
.expertise-section .capability-corner { display: none; }

@media (max-width: 1100px) {
  .expertise-section .tax-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .expertise-section .tax-item,.expertise-section .tax-item:nth-child(n+4) { min-height: 245px; }
  .expertise-section .tax-item h3 { font-size: clamp(29px,3vw,37px); }
  .expertise-section .capability-card h3 { font-size: clamp(42px,4.6vw,52px); }
}
@media (max-width: 780px) {
  .expertise-section .expertise-intro { flex-direction: column; align-items: flex-start; gap: 21px; }
  .expertise-intro-context { flex: none; max-width: 530px; }
  .expertise-section .tax-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .expertise-section .tax-item,.expertise-section .tax-item:nth-child(n+4) { min-height: 234px; }
  .expertise-section .capability-grid { grid-template-columns: 1fr; }
  .expertise-section .capability-card { min-height: 295px; }
  .expertise-section .capability-card h3 { font-size: clamp(48px,7vw,62px); }
}
@media (max-width: 540px) {
  .expertise-section.section { padding-block: 65px; }
  .expertise-section .section-header { margin-bottom: 30px; }
  .expertise-section .expertise-intro { margin-bottom: 25px; }
  .expertise-intro-context p { font-size: 13px; }
  .expertise-section .tax-panel-head { padding: 24px 21px; }
  .tax-panel-head h3 { font-size: 37px; }
  .expertise-section .tax-panel-badge { display: none; }
  .expertise-section .tax-grid { gap: 7px; padding: 8px; }
  .expertise-section .tax-item,.expertise-section .tax-item:nth-child(n+4) { padding: 18px 14px 17px; min-height: 230px; }
  .expertise-section .tax-item h3 { font-size: clamp(24px,6vw,30px); margin: 21px 0; }
  .tax-item-top { gap: 3px; }
  .tax-item-top svg { width: 25px; height: 25px; }
  .expertise-section .tax-item-top span { font-size: 8px; }
  .tax-forms span { padding: 5px 6px; font-size: 10px; }
  .expertise-section .tax-item:last-child { grid-column: 1 / -1; min-height: 193px; }
  .expertise-section .capability-card { padding: 26px 23px 25px; min-height: 310px; }
  .expertise-section .capability-card h3 { font-size: clamp(43px,10vw,56px); }
  .expertise-section .capability-card p { font-size: 13px; }
}

/* Authentic portrait: human presence without changing the approved folio hero. */
.profile-section .profile-heading { min-width: 0; }
.profile-portrait { width: min(100%,450px); margin: 43px 0 0; }
.profile-portrait-art {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: 4 / 4.65;
  border: 1px solid #c9dbea;
  border-radius: 14px 14px 7px 7px;
  background: linear-gradient(147deg,#eaf2fb 0%,#d5e5f5 56%,#acc9e7 100%);
}
.profile-portrait-art::before {
  content: 'HMA';
  position: absolute;
  z-index: 0;
  top: 16%;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--serif);
  font-size: clamp(125px,18vw,230px);
  letter-spacing: -.07em;
  color: rgba(78,126,180,.12);
  line-height: 1;
  white-space: nowrap;
}
.profile-portrait-art img {
  display: block;
  position: absolute;
  z-index: 1;
  bottom: -2%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 98%;
  max-width: none;
  object-fit: contain;
  object-position: bottom center;
}
.profile-portrait-label {
  position: absolute;
  z-index: 2;
  top: 17px;
  left: 20px;
  font-size: 9px;
  letter-spacing: .16em;
  font-weight: 700;
  color: #315d8e;
}
.profile-portrait figcaption { display: flex; flex-direction: column; gap: 5px; border-bottom: 1px solid #cbd9e9; padding: 14px 1px 16px; }
.profile-portrait figcaption span:first-child { font-size: 13px; font-weight: 700; color: #0f2b55; }
.profile-portrait figcaption span:last-child { font-size: 11px; color: #5f7288; }

@media (max-width: 740px) {
  .profile-portrait { margin-top: 30px; width: min(100%,440px); }
  .profile-portrait-art::before { font-size: clamp(125px,28vw,220px); }
}
