:root {
  --ink: #132523;
  --pine: #183c38;
  --lime: #d7ff47;
  --sky: #75d7e7;
  --paper: #f5f4ee;
  --muted: #61706b;
  --line: rgba(19, 37, 35, .18);
  --display: "Barlow Condensed", sans-serif;
  --body: "Manrope", sans-serif;
  --mono: "DM Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
.page-grid { position: fixed; inset: 0; pointer-events: none; z-index: -1; opacity: .35; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to bottom, black, transparent 76%); }
.site-header { min-height: 86px; max-width: 1440px; margin: auto; padding: 0 6vw; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; }
.wordmark { font: 700 2rem/1 var(--display); letter-spacing: 0; }.wordmark span { color: #e9572e; }
.site-nav { display: flex; gap: 2rem; font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.site-nav a { opacity: .55; }.site-nav a:hover, .site-nav .is-active { opacity: 1; }
.menu-toggle { display: none; background: transparent; border: 0; color: var(--ink); font: 700 .75rem var(--body); text-transform: uppercase; letter-spacing: .08em; }
.hero { max-width: 1440px; min-height: 645px; margin: auto; padding: 6vw; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); gap: 6vw; align-items: center; }
.eyebrow, .section-label { font: 500 .72rem var(--mono); letter-spacing: .04em; text-transform: uppercase; }.eyebrow { margin: 0 0 1.35rem; color: #3f6c65; }
h1, h2, h3, p { margin-top: 0; } h1, h2, h3 { font-weight: 600; letter-spacing: 0; line-height: .94; } h1 { max-width: 735px; margin-bottom: 1.5rem; font-family: var(--display); font-size: clamp(4.1rem, 7.1vw, 7.2rem); } h2 { font-family: var(--display); font-size: clamp(3rem, 5vw, 5.3rem); } em { color: #43827b; font-weight: 500; }
.hero-text { max-width: 590px; color: var(--muted); font-size: 1.04rem; }.hero-actions { display: flex; align-items: center; gap: 1.8rem; margin-top: 2.3rem; }.button { display: inline-flex; align-items: center; gap: 1.4rem; padding: .85rem 1.1rem  .85rem 1.35rem; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }.button span { font-size: 1.15rem; }.button-primary { background: var(--lime); }.button-dark { background: var(--ink); color: var(--paper); }.text-link, .arrow-link { font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; border-bottom: 1px solid currentColor; }.arrow-link { display: inline-flex; gap: .8rem; border: 0; }.arrow-link span { font-size: 1.1rem; }
.hero-visual { position: relative; min-height: 456px; }.hero-visual > img { display: block; width: 100%; height: 456px; object-fit: cover; filter: saturate(.75) contrast(1.05); }.signal-card { position: absolute; bottom: -28px; left: -30px; display: flex; align-items: flex-start; gap: .75rem; width: min(275px, 70%); padding: 1rem 1.1rem; background: var(--paper); border: 1px solid var(--ink); box-shadow: 7px 7px 0 var(--sky); }.signal-card small { display: block; font: .63rem var(--mono); text-transform: uppercase; }.signal-card strong { display: block; margin-top: .18rem; font-size: .78rem; }.signal-dot { width: 9px; height: 9px; margin-top: .28rem; border-radius: 50%; background: #57bf42; box-shadow: 0 0 0 4px #d8f5d0; flex: 0 0 auto; }.diagram { position: absolute; right: -20px; top: 25px; display: flex; align-items: center; padding: .6rem .7rem; background: var(--ink); color: white; font: .6rem var(--mono); }.diagram i { display: block; width: 17px; height: 1px; margin: 0 5px; background: var(--lime); }
.ticker { overflow: hidden; padding: 1rem 0; background: var(--lime); border-block: 1px solid var(--ink); }.ticker-track { display: flex; align-items: center; width: max-content; animation: ticker 28s linear infinite; font: 600 1.25rem var(--display); letter-spacing: .03em; }.ticker span { margin: 0 1.25rem; }.ticker b { width: 7px; height: 7px; background: #e9572e; border-radius: 50%; } @keyframes ticker { to { transform: translateX(-50%); } }
.section-shell { max-width: 1440px; margin: auto; padding: 8rem 6vw; display: grid; grid-template-columns: 18% 1fr; gap: 2rem; }.section-label { color: #4d625d; }.section-label span { color: #e9572e; margin-right: .75rem; }.intro-section { border-bottom: 1px solid var(--line); }.intro-content { max-width: 820px; }.intro-content h2 { max-width: 740px; margin-bottom: 1.6rem; }.intro-content p { max-width: 625px; color: var(--muted); }.intro-content .arrow-link { margin-top: 1.3rem; }
.capabilities { padding-bottom: 4rem; }.capability-list { border-top: 1px solid var(--ink); }.capability-list article { display: grid; grid-template-columns: 11% minmax(185px, .8fr) 1fr; gap: 1.5rem; align-items: baseline; padding: 2rem 0; border-bottom: 1px solid var(--line); }.capability-list article > span { color: #e9572e; font: .72rem var(--mono); }.capability-list h3 { margin: 0; font-family: var(--display); font-size: 2.35rem; }.capability-list p { margin: 0; max-width: 370px; color: var(--muted); font-size: .91rem; }
.featured { padding-top: 3rem; padding-bottom: 8rem; }.featured-content { display: grid; grid-template-columns: 1.2fr .8fr; gap: 3rem; align-items: end; padding: clamp(2rem, 5vw, 5rem); background: var(--sky); }.featured-content h2 { max-width: 610px; margin: 0; }.featured-content p:not(.eyebrow) { margin: 0; align-self: center; color: #234e53; }.featured-content .button { justify-self: start; }
.site-footer { max-width: 1440px; margin: auto; padding: 3rem 6vw; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 2rem; align-items: end; }.site-footer p { margin: .65rem 0 0; color: var(--muted); font-size: .8rem; }.site-footer > p { text-align: center; }.site-footer .arrow-link { justify-self: end; font-size: .7rem; }
.page-heading { padding-top: 7rem; padding-bottom: 7rem; border-bottom: 1px solid var(--line); }.page-heading h1 { max-width: 930px; margin-bottom: 0; }.page-heading .lead-copy { max-width: 600px; margin: 1.8rem 0 0; color: var(--muted); }.role-detail { background: var(--ink); color: var(--paper); max-width: none; padding-left: calc((100% - min(1440px, 100%)) / 2 + 6vw); padding-right: calc((100% - min(1440px, 100%)) / 2 + 6vw); }.role-detail .section-label { color: #a4bab2; }.role-content { max-width: 920px; }.role-title { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; border-bottom: 1px solid rgba(255,255,255,.25); padding-bottom: 1.4rem; }.role-title h2 { margin: 0; font-size: clamp(2.8rem, 4.5vw, 4.6rem); font-family: var(--display); }.role-title p { margin: 0; font: .72rem var(--mono); color: var(--lime); text-transform: uppercase; }.lead-copy { font-size: 1.18rem; line-height: 1.65; }.role-content > .lead-copy { max-width: 720px; margin: 2rem 0 3.5rem; color: #d5dfdb; }.achievement-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 3rem; }.achievement-grid > div { padding: 1.4rem 0; border-top: 1px solid rgba(255,255,255,.2); }.achievement-grid span { color: var(--lime); font: .68rem var(--mono); text-transform: uppercase; }.achievement-grid p { margin: .6rem 0 0; font-size: .9rem; color: #cfdbd7; }.skills-layout > h2 { max-width: 670px; margin: 0 0 4rem; }.skill-groups { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3rem; }.skill-groups div { border-top: 2px solid var(--ink); padding-top: .9rem; }.skill-groups h3 { margin: 0 0 .8rem; font: 700 .75rem var(--body); letter-spacing: .07em; text-transform: uppercase; }.skill-groups p { margin: 0; color: var(--muted); font-size: .92rem; }.quote-band { padding: 5.5rem 6vw; background: #e9572e; color: var(--paper); text-align: center; }.quote-band p { max-width: 880px; margin: auto; font: 600 clamp(3rem, 6vw, 6.5rem)/.95 var(--display); }.education { align-items: baseline; }.education h2 { margin: 0 0 1rem; }.education p { color: var(--muted); }.article-list { padding-top: 2rem; }.article-list > div:last-child { border-top: 1px solid var(--ink); }.article-list article { display: grid; grid-template-columns: 9% 1fr auto; gap: 2rem; align-items: center; padding: 2.5rem 0; border-bottom: 1px solid var(--line); }.article-index { color: #e9572e; font: .75rem var(--mono); }.article-list h2 { margin: 0 0 .9rem; max-width: 750px; font-size: clamp(2rem, 3.6vw, 3.7rem); }.article-list p:not(.eyebrow) { max-width: 620px; margin: 0; color: var(--muted); font-size: .9rem; }.article-list .eyebrow { margin-bottom: .6rem; }.article-list .arrow-link { white-space: nowrap; font-size: .7rem; }.contact-main { min-height: calc(100vh - 86px); }.contact-hero { padding-bottom: 5rem; }.contact-hero h1 { max-width: 850px; margin-bottom: 1.8rem; }.contact-options { padding-top: 3rem; }.contact-list { border-top: 1px solid var(--ink); }.contact-list a { display: grid; grid-template-columns: 20% 1fr auto; gap: 1rem; align-items: center; padding: 1.35rem 0; border-bottom: 1px solid var(--line); transition: padding .2s ease; }.contact-list a:hover { padding-inline: .8rem; background: rgba(117,215,231,.2); }.contact-list span { font: .7rem var(--mono); color: #4d625d; text-transform: uppercase; }.contact-list strong { font: 600 clamp(1.25rem, 2.4vw, 2rem) var(--display); }.contact-list b { font-size: 1.3rem; }.availability { max-width: 1440px; margin: 1rem auto 0; padding: 4rem 6vw; background: var(--lime); display: flex; align-items: end; justify-content: space-between; }.availability h2 { margin: 0; font-size: clamp(3.5rem, 6vw, 6.5rem); }.availability .eyebrow { color: var(--ink); }.availability-mark { font: 700 clamp(5rem, 14vw, 12rem)/.7 var(--display); }.availability-mark span { color: #e9572e; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }.reveal { animation: enter .7s ease-out both; }.delay-1 { animation-delay: .13s; } @keyframes enter { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 760px) { .site-header { min-height: 70px; padding-inline: 1.3rem; }.menu-toggle { display: block; }.site-nav { position: absolute; top: 70px; left: 0; right: 0; z-index: 5; display: none; flex-direction: column; gap: 1rem; padding: 1.4rem 1.3rem; background: var(--paper); border-bottom: 1px solid var(--line); }.site-nav.is-open { display: flex; }.hero { min-height: unset; padding: 4rem 1.3rem 4.5rem; grid-template-columns: 1fr; gap: 3.5rem; }.hero h1 { font-size: clamp(3.6rem, 17vw, 5.2rem); }.hero-visual, .hero-visual > img { min-height: 330px; height: 330px; }.hero-visual { margin-left: .8rem; }.signal-card { left: -13px; bottom: -19px; }.diagram { right: -7px; }.section-shell { padding: 5rem 1.3rem; grid-template-columns: 1fr; gap: 2.4rem; }.capability-list article { grid-template-columns: 14% 1fr; gap: 1rem; }.capability-list p { grid-column: 2; }.featured-content { grid-template-columns: 1fr; gap: 1.5rem; padding: 2.1rem 1.5rem; }.site-footer { padding: 2.5rem 1.3rem; grid-template-columns: 1fr; gap: 1rem; }.site-footer > p { text-align: left; }.site-footer .arrow-link { justify-self: start; }.page-grid { background-size: 48px 48px; }.page-heading { padding-top: 4.5rem; padding-bottom: 4.5rem; }.role-detail { padding-inline: 1.3rem; }.role-title { display: block; }.role-title p { margin-top: .8rem; }.achievement-grid, .skill-groups { grid-template-columns: 1fr; gap: 0; }.skill-groups div { padding: 1.2rem 0; }.article-list { padding-top: 1rem; }.article-list article { grid-template-columns: 1fr; gap: 1rem; }.article-list .arrow-link { margin-top: .5rem; }.contact-list a { grid-template-columns: 1fr auto; }.contact-list a span { grid-column: 1 / -1; }.availability { padding: 3rem 1.3rem; }.availability-mark { font-size: 6rem; } }