
:root{--ink:#142c36;--ink-soft:#34515a;--ink-light:#668087;--navy:#102934;--navy-dark:#0c222b;--mint:#e7f0ec;--paper:#f9f8f5;--cream:#f1f0e9;--gold:#d7b773;--gold-bright:#e8c982;--line:#d8e0dc;--white:#fff;--text:#202f33;--radius:18px;--shadow:0 24px 80px rgba(9,34,41,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font:400 16px/1.7 'DM Sans',system-ui,sans-serif;background:var(--paper);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bd9151;outline-offset:4px}.skip-link{position:absolute;top:-100px;left:12px;z-index:99;padding:12px 20px;background:white}.skip-link:focus{top:12px}.container{width:min(1160px,calc(100% - 64px));margin:0 auto}.section-pad{padding:115px 0}.site-header{position:sticky;top:0;z-index:80;background:rgba(249,248,245,.95);backdrop-filter:blur(18px);border-bottom:1px solid rgba(21,51,57,.09)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:14px;align-items:center}.brand-icon{font:800 22px/1 'Manrope',sans-serif;letter-spacing:-2px;color:var(--ink)}.brand-dot{color:#c4a263}.brand-name{font:800 11px/1.2 'Manrope',sans-serif;letter-spacing:1.9px;color:var(--ink)}.primary-nav{display:flex;align-items:center;gap:34px}.primary-nav>a{font-size:13px;font-weight:700;color:#40535b;transition:color .2s}.primary-nav>a:hover{color:#bc9354}.primary-nav .nav-contact{border:1px solid var(--ink);padding:10px 17px;border-radius:4px;color:var(--ink)}.nav-contact span{padding-left:12px}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#f9f8f5,#eef0eb)}.hero-pattern{position:absolute;right:-22%;top:-14%;width:60%;height:90%;border:1px solid rgba(24,68,74,.07);transform:rotate(-26deg);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:60px;min-height:576px}.hero-copy{position:relative;z-index:2;padding:18px 0 8px}.eyebrow{display:flex;gap:12px;align-items:center;font:800 11px/1.5 'Manrope',sans-serif;letter-spacing:2.2px;color:#678177;text-transform:uppercase}.eyebrow-line{width:28px;height:2px;background:var(--gold)}.hero h1,h2,h3{font-family:'Manrope',system-ui,sans-serif}.hero h1{font-size:clamp(48px,5vw,77px);letter-spacing:-.075em;line-height:1.12;font-weight:800;color:var(--ink);margin:30px 0}.hero h1 span{color:#4b7973}.hero-intro{font-size:18px;line-height:1.85;max-width:595px;color:#52646b;margin:0 0 33px}.hero-actions,.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border-radius:5px;padding:13px 23px;font-size:13px;font-weight:800;letter-spacing:.1px;min-height:52px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--ink);color:white}.button-primary:hover{background:#284953}.button-outline{border:1px solid #98a9ac;color:var(--ink)}.hero-meta{display:flex;align-items:center;gap:11px;flex-wrap:wrap;font-size:12px;line-height:1.5;color:#77817f;margin-top:36px}.status-dot{width:8px;height:8px;background:#619885;border-radius:50%;box-shadow:0 0 0 4px #d7e8e0}.meta-sep{width:4px;height:4px;background:#a5b0ad;border-radius:50%}.hero-visual{position:relative;width:100%;max-width:485px;justify-self:end;aspect-ratio:.94;isolation:isolate}.image-backplate{position:absolute;top:5%;left:9%;width:88%;height:88%;border-radius:240px 240px 8px 8px;background:#cbd4cf;transform:rotate(6deg)}.headshot{position:absolute;left:5%;top:0;width:90%;height:94%;object-fit:cover;object-position:50% 25%;border-radius:230px 230px 12px 12px;box-shadow:var(--shadow)}.hero-image-frame{position:absolute;left:0;top:4%;width:90%;height:90%;border:1.5px solid #c1a46b;border-radius:230px 230px 12px 12px;z-index:-1;transform:translate(15px,-4px)}.floating-note{position:absolute;right:-18px;bottom:2%;width:245px;padding:20px 22px;background:#fff;box-shadow:0 22px 55px rgba(20,39,45,.16);border-left:4px solid var(--gold);border-radius:2px;display:flex;flex-direction:column}.note-kicker{font:800 10px/1.5 'Manrope',system-ui,sans-serif;letter-spacing:1.8px;color:#8d9a98;margin-bottom:8px}.floating-note strong{font:800 18px/1.4 'Manrope',system-ui,sans-serif;letter-spacing:-.7px;color:var(--ink)}.note-icon{position:absolute;right:18px;bottom:13px;color:#b99c5c;font-size:22px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:45px;padding-top:26px;border-top:1px solid #dce4dd;font:700 10px 'Manrope',system-ui,sans-serif;letter-spacing:1.4px;color:#94a09e}.scroll-cue{font:700 12px 'DM Sans',system-ui,sans-serif;letter-spacing:0;color:#3c5960}.scroll-cue span{margin-left:10px}.impact-section{background:var(--navy);color:#fff}.section-top{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:62px}.eyebrow-light{color:var(--gold)}.section-top h2,.section-heading h2,.story-intro h2,.skills-layout h2,.about-copy h2,.contact-box h2{font-weight:800;font-size:clamp(36px,4vw,56px);letter-spacing:-.055em;line-height:1.15;margin:17px 0 0}.section-top h2 em,.skills-layout h2 em,.contact-box h2 em{font-style:normal;color:var(--gold)}.section-top>p{color:#aec1c4;max-width:350px;margin:0 0 5px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.metric{padding:36px 28px 36px 0;min-height:196px}.metric+.metric{border-left:1px solid rgba(255,255,255,.16);padding-left:28px}.metric-number{font:800 clamp(34px,4vw,56px)/1.15 'Manrope',system-ui,sans-serif;letter-spacing:-3px;color:var(--gold)}.metric-number span{font-size:.65em}.metric p{margin:20px 0 0;font-size:13px;line-height:1.55;color:#b5c4c4;max-width:205px}.impact-footer{display:flex;justify-content:space-between;padding-top:25px;color:#809b9e;font-size:12px;letter-spacing:.25px}.impact-footer span:last-child{color:var(--gold);font-size:24px}.philosophy-section{background:var(--paper)}.section-heading{max-width:780px;margin-bottom:58px}.section-heading h2{color:var(--ink)}.accent-underline{color:#4f7e77}.section-heading>p{font-size:17px;color:#738384;max-width:600px;line-height:1.85;margin-top:22px}.expertise-layout{display:grid;grid-template-columns:.89fr 1.11fr;box-shadow:0 20px 70px rgba(31,57,61,.06);background:white;border:1px solid #e7e9e2;border-radius:10px;overflow:hidden;min-height:405px}.expertise-tabs{background:#edf1ec;display:flex;flex-direction:column}.expertise-tabs button{width:100%;flex:1;border:0;border-bottom:1px solid #dbe3dd;background:transparent;color:#58716e;display:flex;align-items:center;text-align:left;gap:25px;padding:32px 28px;font-weight:800;font-size:17px;cursor:pointer;transition:background .2s,color .2s}.expertise-tabs button:last-child{border-bottom:0}.expertise-tabs button[aria-selected=true]{background:var(--ink);color:#fff}.tab-count{font:700 11px 'Manrope',system-ui,sans-serif;color:var(--gold)}.tab-arrow{margin-left:auto;font-size:22px;color:var(--gold);transform:rotate(45deg);transition:transform .2s}.expertise-tabs button[aria-selected=true] .tab-arrow{transform:rotate(0)}.expertise-panels{padding:44px 52px}.expertise-panel[hidden]{display:none}.panel-icon{font-size:33px;color:#c3a36b;margin-bottom:25px}.expertise-panel h3{font-size:29px;letter-spacing:-1px;line-height:1.25;color:var(--ink);margin:0 0 18px}.expertise-panel p{margin:0;color:#62777a;font-size:15px;line-height:1.9}.expertise-panel ul{margin:23px 0 0;padding:0;list-style:none}.expertise-panel li{padding:7px 0 7px 23px;position:relative;font-size:14px;color:#28434a;font-weight:700}.expertise-panel li::before{content:'✓';position:absolute;left:0;color:#c2a26a}.story-section{background:#173641;color:#fdfdfc}.story-layout{display:grid;grid-template-columns:.81fr 1.19fr;gap:85px}.story-intro{position:sticky;top:120px;align-self:start}.story-intro h2{font-size:clamp(37px,4vw,55px)}.story-intro>p{color:#b4c8c8;line-height:1.85;margin-top:24px}.story-quote{margin-top:47px;padding-left:20px;border-left:3px solid var(--gold);font:700 19px/1.5 'Manrope',system-ui,sans-serif;color:#e2cb95}.story-step{display:flex;align-items:flex-start;gap:24px;padding:8px 0 28px;margin-bottom:29px;border-bottom:1px solid #3c5961}.step-number{flex:none;color:var(--gold);font:800 13px/2 'Manrope',system-ui,sans-serif}.story-step h3{margin:0 0 12px;font-size:23px;letter-spacing:-.9px}.story-step p{color:#b4c8c8;margin:0;font-size:14px;line-height:1.8}.story-results{padding:26px 30px;background:#244752;border-left:3px solid var(--gold);display:grid;grid-template-columns:1fr 1fr;gap:20px}.story-results div>span{display:block;font:800 10px 'Manrope',system-ui,sans-serif;letter-spacing:1.7px;color:#b5bfc1;margin-bottom:10px}.story-results strong{font:800 23px/1.3 'Manrope',system-ui,sans-serif;color:#f8dd9e;letter-spacing:-1px}.story-results small{font-size:13px;color:#c3d2d3;letter-spacing:0}.story-results p{grid-column:1/-1;color:#b9cbce;line-height:1.65;font-size:12px;margin:0}.experience-section{background:#f7f7f3}.timeline{border-top:1px solid #d6dfda}.timeline-item{border-bottom:1px solid #d6dfda}.timeline-item summary{cursor:pointer;display:flex;align-items:center;gap:35px;list-style:none;padding:24px 8px;transition:background .2s}.timeline-item summary:hover{background:#eff1eb}.timeline-item summary::-webkit-details-marker{display:none}.job-years{width:125px;flex:none;font:800 13px 'Manrope',system-ui,sans-serif;color:#a48a5a}.job-info{flex:1}.job-info h3{margin:0;color:var(--ink);font-size:19px;font-weight:800;letter-spacing:-.6px}.job-info p{margin:3px 0 0;font-size:13px;color:#7f8f8b}.expand-icon{font-size:27px;font-weight:400;line-height:1;color:#8ba09a;transition:transform .2s}.timeline-item[open] .expand-icon{transform:rotate(45deg)}.job-details{margin-left:160px;max-width:780px;padding:0 20px 24px 0;color:#657c7a;font-size:14px;line-height:1.85}.job-details p{margin:0}.skills-section{background:var(--navy);color:white}.skills-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px}.skills-layout h2{margin-top:20px}.skills-layout>div:first-child>p{color:#adc0c2;max-width:360px;margin-top:25px}.skills-list{border-top:1px solid #45606a}.skills-list details{border-bottom:1px solid #45606a;padding:20px 0}.skills-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font:700 20px 'Manrope',system-ui,sans-serif;cursor:pointer}.skills-list summary::-webkit-details-marker{display:none}.skills-list summary span{color:var(--gold);font-size:24px;font-weight:400}.skills-list details[open] summary span{transform:rotate(45deg)}.skill-tags{display:flex;flex-wrap:wrap;gap:9px;padding:22px 0 6px}.skill-tags span{border:1px solid #5c7378;border-radius:99px;padding:5px 13px;color:#cbdbdc;font-size:12px}.about-section{background:#eff1eb}.about-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:105px;align-items:center}.about-decor{min-height:450px;background:var(--ink);padding:40px 42px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;color:#fff;border-radius:6px}.about-decor:before{content:'';position:absolute;width:440px;height:440px;border:1px solid #3e6767;border-radius:50%;right:-200px;top:-150px}.about-decor>span{position:relative;z-index:1;color:#d0c299;letter-spacing:2px;font:800 10px 'Manrope',system-ui,sans-serif}.about-monogram{font:800 125px/.9 'Manrope',system-ui,sans-serif;letter-spacing:-14px;color:#fff;position:relative}.about-monogram span{color:var(--gold)}.about-decor-line{width:100%;height:1px;background:#51646a}.about-decor p{margin:0;font:700 19px/1.55 'Manrope',system-ui,sans-serif;letter-spacing:-.5px}.about-copy h2{color:var(--ink)}.about-copy p{color:#637778;font-size:15px;line-height:1.95;margin-top:23px}.about-pillars{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.about-pillars span{background:#dfe7df;padding:7px 13px;color:#496b66;border-radius:5px;font-size:12px;font-weight:700}.contact-section{background:#eff1eb;padding-top:0}.contact-box{padding:78px 70px;background:var(--navy);border-radius:8px;text-align:center;color:#fff;position:relative;overflow:hidden}.contact-box:before,.contact-box:after{content:'';position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.09);border-radius:50%;pointer-events:none}.contact-box:before{left:-165px;top:-120px}.contact-box:after{right:-170px;bottom:-140px}.contact-box>.eyebrow{justify-content:center}.contact-box h2{font-size:clamp(39px,5vw,64px)}.contact-box>p{color:#bacacc;max-width:610px;margin:24px auto 30px}.contact-actions{justify-content:center}.button-gold{background:var(--gold);color:#182c35}.button-gold:hover{background:#efd18d}.button-outline-light{color:#fff;border:1px solid #607881}.contact-location{display:block;margin-top:35px;color:#91acae;font-size:12px}.site-footer{background:#0c222b;color:white;padding:38px 0}.footer-inner{display:grid;grid-template-columns:1fr auto;align-items:center;row-gap:18px}.footer-inner>div:first-child{display:flex;flex-direction:column}.footer-inner strong{font:800 12px 'Manrope',system-ui,sans-serif;letter-spacing:1.9px}.footer-inner span{font-size:12px;color:#8ba6aa}.footer-links{display:flex;gap:23px}.footer-links a{font-size:12px;color:#d3dedf;font-weight:700}.footer-links a:hover{color:var(--gold)}.footer-copyright{grid-column:1/-1}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.fade-in.visible{opacity:1;transform:none}
@media(max-width:1000px){.hero-grid{gap:25px}.hero h1{font-size:clamp(44px,5.6vw,63px)}.hero-intro{font-size:16px}.story-layout{gap:45px}.skills-layout{gap:50px}.about-grid{gap:55px}.floating-note{right:-5px}.section-pad{padding:90px 0}}
@media(max-width:760px){.container{width:min(100% - 36px,600px)}.header-inner{min-height:70px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:0;width:40px;height:40px;cursor:pointer;padding:8px}.menu-toggle span{background:var(--ink);height:2px;width:23px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.primary-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:16px 24px 28px;box-shadow:0 15px 22px rgba(12,30,35,.13);align-items:stretch;flex-direction:column;gap:0}.primary-nav.open{display:flex}.primary-nav>a{padding:15px 5px;border-bottom:1px solid #dce5e1}.primary-nav>.nav-contact{margin-top:16px;text-align:center;border:1px solid var(--ink)}.hero{padding-top:48px}.hero-grid{grid-template-columns:1fr;gap:45px}.hero h1{font-size:clamp(43px,9.4vw,64px);margin:22px 0}.hero-visual{justify-self:center;width:min(100%,470px);margin-bottom:35px}.hero-bottom{margin-top:0}.hero-bottom>span{max-width:180px}.section-top{display:block}.section-top>p{margin-top:25px}.metrics-grid{grid-template-columns:1fr 1fr}.metric,.metric+.metric{padding:25px 15px;border-left:0}.metric:nth-child(even){border-left:1px solid rgba(255,255,255,.16)}.metric:nth-child(n+3){border-top:1px solid rgba(255,255,255,.16)}.metric-number{font-size:43px}.expertise-layout,.story-layout,.skills-layout,.about-grid{grid-template-columns:1fr;gap:28px}.expertise-tabs button{padding:18px;font-size:15px}.expertise-panels{padding:25px}.story-intro{position:static}.story-results{padding:22px 20px}.story-results strong{font-size:19px}.about-decor{min-height:310px}.about-monogram{font-size:110px}.about-copy{padding-top:20px}.contact-box{padding:55px 23px}.contact-actions{flex-direction:column}.contact-actions .button{width:100%}.footer-inner{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.footer-copyright{grid-column:1}.section-pad{padding:76px 0}}
@media(max-width:480px){.brand-name{letter-spacing:1px;font-size:10px}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-meta{font-size:11px}.hero-visual{aspect-ratio:.95}.floating-note{width:208px;right:0;bottom:0;padding:15px}.floating-note strong{font-size:16px}.metric-number{font-size:36px}.metric p{font-size:12px}.section-top h2,.section-heading h2,.story-intro h2,.skills-layout h2,.about-copy h2{font-size:clamp(34px,9vw,48px)}.timeline-item summary{gap:15px;padding:20px 0}.job-years{width:72px;font-size:11px}.job-info h3{font-size:15px}.job-info p{font-size:12px}.job-details{margin-left:86px}.story-results{grid-template-columns:1fr}.story-results p{grid-column:1}.about-decor{padding:28px}.scroll-cue{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.fade-in{opacity:1;transform:none}}




/* Highlight only the four metrics and three leadership-story steps.
   Background layers preserve the original layout and scroll animations. */
.metrics-grid > .metric,
.story-steps > .story-step {
  position: relative;
  isolation: isolate;
}

.metrics-grid > .metric::before,
.story-steps > .story-step::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  background-color: var(--gold);
  opacity: 0;
  transition: opacity 220ms ease;
}

.metrics-grid > .metric::before {
  inset: 0;
}

.story-steps > .story-step::before {
  inset: -12px -16px 0;
  border-radius: 8px;
}

/* The first desktop metric is flush-left in the original design.
   Give its highlight breathing room without moving any of its text. */
@media (min-width: 761px) {
  .metrics-grid > .metric:first-child::before {
    left: -16px;
    border-radius: 8px 0 0 8px;
  }
}

.metrics-grid > .metric .metric-number,
.metrics-grid > .metric p,
.story-steps > .story-step .step-number,
.story-steps > .story-step h3,
.story-steps > .story-step p {
  transition: color 220ms ease;
}

/* On touch-only devices, keep the original appearance rather than a
   sticky hover state. These information tiles are not clickable buttons. */
@media (hover: hover) and (pointer: fine) {
  .metrics-grid > .metric:hover::before,
  .story-steps > .story-step:hover::before {
    opacity: 1;
  }

  .metrics-grid > .metric:hover .metric-number,
  .metrics-grid > .metric:hover p,
  .story-steps > .story-step:hover .step-number,
  .story-steps > .story-step:hover h3,
  .story-steps > .story-step:hover p {
    color: var(--navy-dark);
  }
}

@media (prefers-reduced-motion: reduce) {
  .metrics-grid > .metric::before,
  .story-steps > .story-step::before,
  .metrics-grid > .metric .metric-number,
  .metrics-grid > .metric p,
  .story-steps > .story-step .step-number,
  .story-steps > .story-step h3,
  .story-steps > .story-step p {
    transition: none !important;
  }
}
  

/* Restrained, progressively enhanced interactions. No external scripts required. */
:root { --motion-fast: 180ms; --motion-standard: 260ms; }
.sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
}
/* Content remains available if scripts are disabled or unsupported. */
.fade-in { opacity: 1; transform: none; }
.motion-ready .fade-in:not(.visible) { opacity: 0; transform: translateY(14px); }
.motion-ready .fade-in { transition: opacity 480ms ease, transform 480ms ease; }
[tabindex]:focus-visible { outline: 3px solid #bd9151; outline-offset: 5px; }

/* A hairline reading indicator and a quiet, section-aware navigation underline. */
.reading-progress {
  display: none; position: absolute; left: 0; right: 0; bottom: -1px;
  height: 2px; background: var(--gold); transform: scaleX(0);
  transform-origin: left center; pointer-events: none;
}
.ui-ready .reading-progress { display: block; }
.primary-nav > a { position: relative; display: inline-flex; align-items: center; min-height: 44px; }
.primary-nav > a::after {
  content: ''; position: absolute; height: 2px; left: 0; right: 0; bottom: 4px;
  background: var(--gold); transform: scaleX(0); transform-origin: left center;
  transition: transform var(--motion-fast) ease;
}
.primary-nav > a[aria-current="location"] { color: var(--ink); }
.primary-nav > a[aria-current="location"]::after { transform: scaleX(1); }
.primary-nav > .nav-contact::after { left: 17px; right: 17px; bottom: 6px; }
.primary-nav > .nav-contact[aria-current="location"] { background: #ece4d2; }
.menu-toggle { min-width: 44px; min-height: 44px; }

/* Counts animate once; the screen-reader values and the revenue range stay fixed. */
.metric-number .count-value { display: inline-block; font-size: inherit; font-variant-numeric: tabular-nums; }
.metric-number .metric-suffix { font-size: .65em; }
.metric { display: flex; flex-direction: column; align-items: flex-start; }
.metric-story-link {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
  margin-top: 14px; color: var(--gold-bright); font-size: 12px; font-weight: 700;
  text-decoration: underline; text-decoration-color: transparent;
  text-underline-offset: 5px; transition: color 220ms ease, text-decoration-color 180ms ease;
}
.metric-story-link:hover { text-decoration-color: currentColor; }
.metric-story-link > span { transition: transform var(--motion-fast) ease; }
.metric-story-link:hover > span { transform: translate(2px, -2px); }
.metrics-grid > .metric:focus-within::before { opacity: 1; }
.metrics-grid > .metric:focus-within .metric-number,
.metrics-grid > .metric:focus-within p,
.metrics-grid > .metric:focus-within .metric-story-link { color: var(--navy-dark); }
@media (hover: hover) and (pointer: fine) {
  .metrics-grid > .metric:hover .metric-story-link { color: var(--navy-dark); }
}

/* Tab changes use a short fade; native details retain their keyboard behavior. */
.expertise-panel:focus-visible { outline-offset: 9px; }
.skills-list summary > span { transition: transform var(--motion-standard) ease; }
.timeline-item[data-enhanced][data-expanded="false"] .expand-icon,
.skills-list details[data-enhanced][data-expanded="false"] summary > span { transform: rotate(0deg); }
.timeline-item[data-enhanced][data-expanded="true"] .expand-icon,
.skills-list details[data-enhanced][data-expanded="true"] summary > span { transform: rotate(45deg); }

/* Clear, zero-based comparison. Both reported ranges remain visible throughout. */
.story-results {
  position: relative; scroll-margin-top: 110px;
  transition: box-shadow var(--motion-standard) ease;
}
.story-results.result-spotlight {
  box-shadow: 0 0 0 2px var(--gold-bright), 0 0 0 8px rgba(215, 183, 115, .12);
}
.story-results:focus { outline: none; }
.story-results:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 6px; }
.labor-comparison {
  grid-column: 1 / -1; min-width: 0; margin: 4px 0 0;
  padding: 22px 0 4px; border-top: 1px solid rgba(226, 238, 236, .18);
}
.labor-comparison figcaption {
  color: #f1f3ee; font: 800 11px/1.5 'Manrope', system-ui, sans-serif;
  letter-spacing: 1.35px; text-transform: uppercase; margin-bottom: 19px;
}
.labor-row + .labor-row { margin-top: 19px; }
.story-results .labor-row-heading {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px;
}
.story-results .labor-row-heading > span {
  display: inline; margin: 0; font: 600 12px/1.5 'DM Sans', system-ui, sans-serif;
  letter-spacing: 0; color: #c7d9da;
}
.story-results .labor-row-heading > .labor-value { font-weight: 700; color: #f7f1df; font-variant-numeric: tabular-nums; }
.labor-track {
  position: relative; height: 13px; border-radius: 3px; overflow: hidden;
  background: rgba(9, 32, 41, .50);
}
.labor-track::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to right,
    transparent calc(33.333% - .5px), rgba(255,255,255,.15) calc(33.333% - .5px),
    rgba(255,255,255,.15) calc(33.333% + .5px), transparent calc(33.333% + .5px),
    transparent calc(66.667% - .5px), rgba(255,255,255,.15) calc(66.667% - .5px),
    rgba(255,255,255,.15) calc(66.667% + .5px), transparent calc(66.667% + .5px));
}
.labor-fill {
  position: relative; height: 100%; width: var(--bar-width); background: #839da2;
  border-radius: 3px; transform-origin: left center;
}
.labor-fill.after { background: var(--gold); }
.story-results .labor-fill > .labor-range-cap {
  position: absolute; top: 0; bottom: 0; right: 0; width: var(--cap-width);
  display: block; margin: 0; border-left: 1px solid rgba(12,34,43,.5); background: #c6d8d8;
}
.story-results .labor-fill.after > .labor-range-cap { background: #ffebba; }
.story-results .labor-axis { display: flex; justify-content: space-between; margin-top: 8px; }
.story-results .labor-axis > span {
  margin: 0; font: 400 10px/1.5 'DM Sans', system-ui, sans-serif; letter-spacing: 0; color: #afc4c7;
}
.story-results .labor-chart-note { margin: 10px 0 0; color: #bed0d1; font-size: 11px; line-height: 1.6; }

/* Contact conveniences are secondary to the email and LinkedIn calls to action. */
.contact-tools {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 6px 22px; margin-top: 19px;
}
.contact-tool {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  background: transparent; border: 0; padding: 10px 3px; min-height: 44px;
  color: #cfdddd; font: 600 12px/1.5 'DM Sans', system-ui, sans-serif;
  cursor: pointer; transition: color var(--motion-fast) ease;
}
.contact-tool svg { width: 16px; height: 16px; flex: none; }
.contact-tool:hover, .contact-tool:focus-visible, .contact-tool[data-copied="true"] { color: var(--gold-bright); }
.contact-tool:disabled { cursor: progress; }
.contact-box > .contact-feedback {
  color: var(--gold-bright); min-height: 22px; font-size: 12px; line-height: 1.6;
  max-width: 550px; margin: 3px auto 0;
}
.contact-box > .contact-location { margin-top: 16px; }
.copy-fallback { max-width: 390px; margin: 12px auto 0; text-align: left; }
.copy-fallback[hidden] { display: none; }
.copy-fallback label { display: block; color: #d0dedf; font-size: 12px; margin-bottom: 7px; }
.copy-fallback input {
  width: 100%; min-height: 46px; border: 1px solid #8ba4a6; border-radius: 4px;
  background: #1c3c47; color: #fff; padding: 10px 12px; font: 400 16px/1.5 system-ui, sans-serif;
}
.copy-fallback input:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.clipboard-buffer { position: fixed; top: 0; left: -9999px; font-size: 16px; opacity: 0; }

@media (max-width: 760px) {
  .primary-nav > a::after { right: auto; width: 32px; left: 5px; bottom: 6px; }
  .primary-nav > .nav-contact { justify-content: center; }
  .primary-nav > .nav-contact::after { left: 17px; right: 17px; width: auto; }
  .story-results { scroll-margin-top: 92px; }
  .labor-comparison { padding-top: 18px; }
  .metric-story-link { font-size: 11px; gap: 5px; }
}
@media (max-width: 480px) {
  .story-results { gap: 18px; }
  .contact-tools { gap: 3px 18px; }
  .contact-box > .contact-feedback { min-height: 39px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .motion-ready .fade-in:not(.visible) { opacity: 1; transform: none; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
  .button:hover, .metric-story-link:hover > span { transform: none; }
}
@media print {
  .fade-in, .motion-ready .fade-in:not(.visible) { opacity: 1; transform: none; }
  .site-header { position: static; }
  .reading-progress, .contact-tools, .contact-feedback, .copy-fallback { display: none !important; }
}


/* Employer-facing refinements. Page facts and the supplied resume are preserved. */
:root { --ink-light: #526b70; --muted-readable: #526a69; }
.hero.section-pad { padding-top: 76px; padding-bottom: 48px; }
.hero h1 { font-size: clamp(46px, 4.8vw, 69px); margin: 25px 0; }
.hero-intro { color: #415c63; margin-bottom: 22px; }
.eyebrow { color: #516c63; }
.eyebrow.eyebrow-light { color: var(--gold); }
.hero-meta { color: #526661; margin-top: 24px; }
.hero-bottom { color: #526661; margin-top: 35px; }
.note-kicker { color: #556b69; }
.section-heading > p, .expertise-panel p, .job-info p,
.job-details, .about-copy p { color: var(--muted-readable); }
.job-years { color: #826430; }
.expand-icon { color: #526d66; }
.panel-icon { color: #866327; }
.expertise-panel li::before { color: #7b6325; }
.expertise-tabs .tab-count, .expertise-tabs .tab-arrow { color: #806126; }
.expertise-tabs button[aria-selected="true"] .tab-count,
.expertise-tabs button[aria-selected="true"] .tab-arrow { color: var(--gold); }
.impact-footer { color: #adc1c4; }
.footer-inner span { color: #adbec1; }
.footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
.metric-number .metric-approx { font-size: .66em; letter-spacing: -.02em; margin-right: .015em; }

/* Clarifies the job search without turning preferences into past job titles. */
.opportunity-focus { border-left: 3px solid #a47e3e; padding-left: 15px; margin: 0 0 27px; max-width: 540px; }
.opportunity-focus .opportunity-label { display: block; color: #526661; font: 800 10px/1.6 'Manrope', system-ui, sans-serif; letter-spacing: 1.4px; text-transform: uppercase; margin-bottom: 5px; }
.opportunity-focus p { color: var(--ink); font-size: 14px; font-weight: 600; line-height: 1.7; margin: 0; }

/* A compact, immediately visible bridge to resort and executive experience. */
.leadership-overview { padding: 54px 0 65px; background: #f0f2ec; border-top: 1px solid #dce3db; }
.overview-heading { margin-bottom: 26px; }
.overview-heading h2 { color: var(--ink); font: 800 clamp(28px, 3vw, 36px)/1.22 'Manrope', system-ui, sans-serif; letter-spacing: -.045em; margin: 11px 0 0; }
.overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.overview-card { display: flex; flex-direction: column; min-width: 0; padding: 27px 27px 20px; background: #fbfcf9; border: 1px solid #d6dfd6; border-radius: 8px; }
.overview-card:first-child { background: #e5ece3; border-top: 3px solid #a47e3e; padding-top: 25px; }
.overview-kicker { color: #526661; font: 800 10px/1.6 'Manrope', system-ui, sans-serif; letter-spacing: 1.2px; text-transform: uppercase; }
.overview-card h3 { color: var(--ink); font-size: clamp(20px, 2vw, 24px); font-weight: 800; line-height: 1.3; letter-spacing: -.7px; margin: 14px 0; }
.overview-card p { color: #435c59; font-size: 14px; line-height: 1.8; margin: 0 0 18px; }
.overview-link { display: inline-flex; align-items: center; align-self: flex-start; gap: 10px; margin-top: auto; min-height: 44px; font-size: 12px; font-weight: 800; color: #294f4a; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; text-decoration-color: #9aada4; }
.overview-link:hover { color: var(--ink); text-decoration-color: currentColor; }
.overview-link > span { font-size: 17px; }

/* Keep the timeline chronological but expose its strongest relevant experience. */
.timeline-item.is-featured { background: #edf2eb; }
.timeline-item.is-featured summary { box-shadow: inset 3px 0 0 #a47e3e; }
.timeline-item.is-featured .job-years { padding-left: 10px; }
.timeline-item { scroll-margin-top: 106px; transition: box-shadow 220ms ease; }
.timeline-item.experience-spotlight { box-shadow: inset 0 0 0 2px #9d7b3e; }
.job-details { margin-left: 168px; padding-right: 28px; }

/* Mobile quick actions stay out of the way at the opening and contact section. */
.mobile-contact-bar { display: none; }
.mobile-contact-bar[hidden] { display: none !important; }
@media (max-width: 1000px) {
  .hero.section-pad { padding-top: 58px; }
  .hero h1 { font-size: clamp(43px, 5.7vw, 62px); }
  .overview-card { padding: 23px 20px 16px; }
  .overview-card:first-child { padding-top: 21px; }
  .overview-card p { font-size: 13px; }
}
@media (max-width: 760px) {
  .hero.section-pad { padding-top: 38px; padding-bottom: 37px; }
  .hero h1 { font-size: clamp(42px, 9.4vw, 63px); }
  .hero-visual { margin-bottom: 22px; }
  .hero-grid { gap: 35px; }
  .hero-bottom { margin-top: 0; }
  .opportunity-focus { margin-bottom: 25px; }
  .leadership-overview { padding: 38px 0 45px; }
  .overview-grid { grid-template-columns: 1fr; gap: 14px; }
  .overview-card { padding: 24px 25px 15px; }
  .overview-card:first-child { padding-top: 22px; }
  .overview-card p { font-size: 14px; margin-bottom: 12px; }
  .overview-card h3 { font-size: 23px; margin-top: 9px; margin-bottom: 12px; }
  .timeline-item { scroll-margin-top: 90px; }
  .mobile-contact-bar:not([hidden]) {
    display: block; position: fixed; z-index: 75; left: 0; right: 0; bottom: 0;
    padding: 10px max(18px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px));
    background: #f9f8f5; border-top: 1px solid #c4d0c8;
    box-shadow: 0 -6px 22px rgba(12, 34, 43, .10);
  }
  .mobile-contact-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: min(100%, 600px); margin: 0 auto; }
  .mobile-contact-inner .button { min-height: 48px; padding: 10px 14px; font-size: 13px; gap: 13px; }
  .mobile-contact-inner .button:hover { transform: none; }
  .mobile-actions-ready .site-footer { padding-bottom: calc(38px + 84px + env(safe-area-inset-bottom, 0px)); }
  html.mobile-actions-ready { scroll-padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  .mobile-actions-ready a, .mobile-actions-ready button, .mobile-actions-ready summary,
  .mobile-actions-ready input, .mobile-actions-ready [tabindex] { scroll-margin-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 480px) {
  .opportunity-focus p { font-size: 13px; }
  .job-details { margin-left: 87px; padding-right: 6px; }
  .timeline-item.is-featured .job-years { padding-left: 7px; }
  .metric-number { font-size: clamp(29px, 8.9vw, 38px); letter-spacing: -2px; white-space: nowrap; }
  .overview-card h3 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .timeline-item { transition: none; }
}
@media print {
  .mobile-contact-bar { display: none !important; }
  .mobile-actions-ready .site-footer { padding-bottom: 38px; }
  .overview-card { break-inside: avoid; }
}
/* Keep navigation hover text legible on the light header as well. */
.primary-nav > a:hover { color: #80602c; }


/* Selected-experience cards: clearer hover and keyboard feedback.
   Keep the featured resort card's original sage background when at rest.
   Independent translate leaves the existing scroll-in transform untouched. */
.overview-grid > .overview-card {
  transition: background-color 220ms ease, border-color 220ms ease,
              box-shadow 220ms ease, translate 220ms ease,
              opacity 480ms ease, transform 480ms ease;
}
.overview-grid > .overview-card .overview-link {
  transition: color 220ms ease, text-decoration-color 220ms ease;
}
.overview-grid > .overview-card .overview-link > span {
  transition: transform 220ms ease;
}
/* Give keyboard visitors the same clear card highlight. */
.overview-grid > .overview-card:focus-within {
  background-color: #f1e7d2;
  border-color: #a47e3e;
  box-shadow: 0 12px 26px rgba(16, 41, 52, .12);
  translate: 0 -4px;
}
.overview-grid > .overview-card:focus-within .overview-link {
  color: var(--ink);
  text-decoration-color: #826430;
}
.overview-grid > .overview-card:focus-within .overview-link > span {
  transform: translate(2px, -2px);
}
/* Avoid sticky mouse-hover highlights on touch-only devices. */
@media (hover: hover) and (pointer: fine) {
  .overview-grid > .overview-card:hover {
    background-color: #f1e7d2;
    border-color: #a47e3e;
    box-shadow: 0 12px 26px rgba(16, 41, 52, .12);
    translate: 0 -4px;
  }
  .overview-grid > .overview-card:hover .overview-link {
    color: var(--ink);
    text-decoration-color: #826430;
  }
  .overview-grid > .overview-card:hover .overview-link > span {
    transform: translate(2px, -2px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .overview-grid > .overview-card {
    transition: none !important;
    translate: none !important;
  }
  .overview-grid > .overview-card .overview-link,
  .overview-grid > .overview-card .overview-link > span {
    transition: none !important;
  }
  .overview-grid > .overview-card .overview-link > span {
    transform: none !important;
  }
}
@media print {
  .overview-grid > .overview-card {
    box-shadow: none !important;
    translate: none !important;
  }
}


/* Email contact chooser: recruiters can use browser-based mail even without a configured mail application. */
.email-choice {
  width: min(470px, calc(100% - 28px)); max-height: min(90dvh, 740px);
  border: 1px solid #d6ddda; border-radius: 17px; padding: 0; color: var(--ink);
  background: #f9f8f5; box-shadow: 0 22px 90px rgba(8,29,36,.3);
}
.email-choice::backdrop { background: rgba(6,26,33,.6); backdrop-filter: blur(3px); }
.email-choice-panel { padding: 30px; }
.email-choice-header { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.email-choice-kicker { display: block; color: #8b6b3c; font: 800 10px/1.6 'Manrope',system-ui,sans-serif; letter-spacing: 1.7px; text-transform: uppercase; }
.email-choice h2 { color: var(--ink); margin: 7px 0 10px; font: 800 clamp(24px,5vw,31px)/1.2 'Manrope',system-ui,sans-serif; letter-spacing: -.9px; }
.email-choice-description { margin: 0 0 22px; color: #405961; line-height: 1.65; font-size: 14px; }
.email-choice-close { flex: none; border: 1px solid #c6d1cd; color: #24414a; background: #fff; cursor: pointer; border-radius: 50%; width: 42px; height: 42px; font-size: 25px; line-height: 1; }
.email-choice-options { display: grid; gap: 10px; }
.email-choice-options a, .email-choice-options button {
  display: flex; align-items: center; justify-content: space-between; width: 100%;
  min-height: 50px; text-decoration: none; padding: 12px 16px;
  border: 1px solid #cad5cf; border-radius: 8px; color: #15323a; background: white;
  font: 700 14px/1.4 'DM Sans',system-ui,sans-serif; cursor: pointer;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.email-choice-options a:hover, .email-choice-options button:hover { background: #f2e5c5; border-color: #b89556; transform: translateY(-1px); }
.email-choice-options .email-choice-first { background: #e7f0ec; border-color: #94b1a7; }
.email-choice-options span:last-child { color: #98763e; font-size: 17px; }
.email-choice-address { margin-top: 18px; padding: 13px 14px; border-radius: 8px; background: #e9eeea; color: #29484f; font-size: 13px; overflow-wrap: anywhere; text-align: center; font-weight: 700; }
.email-choice-feedback { min-height: 23px; margin: 8px 0 0; color: #315a49; font-size: 13px; text-align: center; }
.email-choice a:focus-visible, .email-choice button:focus-visible { outline: 3px solid #b88a48; outline-offset: 2px; }
@media (max-width: 480px) { .email-choice-panel { padding: 22px; } }
@media (prefers-reduced-motion: reduce) { .email-choice-options a, .email-choice-options button { transition: none; } }
