@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#112b32;--ink-muted:#52656a;--green:#276b67;--green-light:#a9d5ca;--accent:#d6f0e6;--surface:#f5f7f6;--white:#ffffff;--line:#e1e8e6;--font-head:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-body:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;scroll-behavior:smooth}
*{box-sizing:border-box}html{scroll-padding-top:105px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}svg{max-width:100%}::selection{background:#b5e1d7;color:#112b32}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--font-head);line-height:1.22;letter-spacing:-.038em}p{color:var(--ink-muted)}:focus-visible{outline:3px solid #549c91;outline-offset:4px}.shell{width:min(1170px,calc(100% - 80px));margin-inline:auto}.skip-link{position:absolute;z-index:40;top:-100px;left:10px;background:white;padding:12px}.skip-link:focus{top:10px}
.site-header{position:sticky;z-index:20;top:0;background:rgba(255,255,255,.96);border-bottom:1px solid #edf0ef;backdrop-filter:blur(16px)}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:47px;height:47px;display:flex;align-items:center;justify-content:center;background:var(--ink);border-radius:12px;color:white;font:800 18px var(--font-head);letter-spacing:-.06em}.brand-dot{color:#b8e9d8}.brand-name{font-family:var(--font-head);font-size:15px;font-weight:800;letter-spacing:-.03em;line-height:1.3}.brand-name span{display:block;color:#799095;font-family:var(--font-body);font-size:10.5px;font-weight:600;letter-spacing:.015em;margin-top:2px}.nav{display:flex;align-items:center;gap:32px}.nav a{color:#3b5055;font-weight:600;font-size:13px;transition:color .2s}.nav a:hover{color:#16746b}.nav a.nav-contact{color:var(--white);background:var(--ink);padding:12px 18px;border-radius:8px}.nav-contact span{margin-left:8px;color:#a5dbd0}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.11fr .89fr;align-items:center;gap:42px;min-height:640px;padding-top:82px;padding-bottom:91px}.eyebrow{display:flex;gap:12px;align-items:center;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--green);white-space:normal}.eyebrow-line{display:block;width:23px;height:2px;background:#2a8b7e}.hero h1{font-size:clamp(45px,5.1vw,72px);font-weight:800;line-height:1.09;letter-spacing:-.065em;margin:24px 0 24px;max-width:735px}.hero h1 span{color:#37877c}.hero-lede{font-size:17px;line-height:1.8;max-width:570px;margin-bottom:30px}.hero-lede strong{font-weight:700;color:var(--ink)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border-radius:8px;font-size:13px;font-weight:700;min-height:49px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--ink);color:#fff;padding:0 20px}.button-primary span{color:#b4ded5}.button-primary:hover{background:#205258}.button-text{color:var(--ink);padding:0 7px}.button-text span{color:var(--green)}.hero-location{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;color:#71858a;margin-top:46px}.location-icon{display:inline-block;width:9px;height:9px;border:2px solid #397f75;border-radius:50%;position:relative}.location-icon::after{content:"";position:absolute;background:#397f75;width:2px;height:6px;left:2px;top:6px;transform:rotate(28deg);border-radius:3px}.bullet{color:#bac9c8}
.section{padding-top:115px;padding-bottom:116px}.section-header{margin-bottom:43px}.split-heading{display:flex;justify-content:space-between;align-items:end;gap:60px}.split-heading>p,.project-heading>p{max-width:387px;margin:0 0 4px;color:#62747a;font-size:15px;line-height:1.85}.section-kicker{color:#328276;font-weight:800;letter-spacing:.19em;font-size:11px;margin-bottom:19px}.section h2{font-size:clamp(34px,3.45vw,49px);font-weight:800;letter-spacing:-.055em;margin:0}.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden}.capability{padding:35px 32px 37px;position:relative;min-height:270px}.capability:not(:last-child){border-right:1px solid var(--line)}.cap-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#e5f2ed;border-radius:10px}.cap-icon svg{width:30px;height:30px;stroke:#29776f;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.cap-num{position:absolute;top:40px;right:33px;color:#b5c7c2;font:800 11px var(--font-head)}.capability h3{font-size:18px;margin:30px 0 12px;letter-spacing:-.03em}.capability p{font-size:13px;line-height:1.85;margin:0}
.project-section{background:#f6f8f7}.project-heading{display:flex;justify-content:space-between;align-items:end;gap:55px}.featured-grid{display:grid;grid-template-columns:1.13fr .87fr;gap:19px}.project-card{border-radius:12px;padding:30px 34px 26px;min-height:365px;display:flex;flex-direction:column;overflow:hidden;position:relative}.project-card-primary{background:#12363d;color:#fff;grid-row:span 2;min-height:737px;padding:35px 38px 30px}.project-card-secondary{background:#e3eee9;color:#153c40}.project-card-light{background:#fff;border:1px solid #e3eae6;color:var(--ink)}.project-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;font-weight:800;letter-spacing:.15em}.project-card-primary .project-card-top{color:#bedbd5}.project-card-secondary .project-card-top{color:#57847e}.project-card-light .project-card-top{color:#56837e}.project-number{opacity:.62}.project-big-number{font:800 clamp(64px,7.5vw,120px)/1 var(--font-head);letter-spacing:-.085em;margin:29px 0 12px}.project-card-primary .project-big-number{font-size:clamp(88px,11vw,162px);margin-top:115px;color:#d0eee4}.project-big-number span{font-size:14px;letter-spacing:0;font-weight:700;margin-left:12px;white-space:nowrap}.project-card-primary .project-big-number span{font-size:16px}.project-card h3{font-size:clamp(23px,2.55vw,30px);letter-spacing:-.055em;margin:0 0 13px}.project-card-primary h3{font-size:clamp(33px,3.55vw,48px);margin-top:26px}.project-card p{font-size:13px;line-height:1.85;max-width:390px;margin:0 0 25px}.project-card-primary p{color:#b8cecf;font-size:15px;max-width:385px}.project-card-secondary p{color:#587474}.project-card-light p{color:#687a7b}.project-meta{display:flex;flex-wrap:wrap;gap:15px 25px;margin-top:auto;border-top:1px solid #6b9b9a5c;padding-top:20px}.project-meta>span{font-weight:700;font-size:9px;letter-spacing:.12em;color:#8fbab1}.project-meta strong{display:block;color:inherit;letter-spacing:0;font-size:12px;margin-top:3px}.project-card-primary .project-meta strong{color:#e0f0ec}.project-card-secondary .project-meta{border-color:#b7d2cb}.project-card-secondary .project-meta>span{color:#56807c}.project-card-secondary .project-meta strong{color:#234d50}.project-card-light .project-meta{border-color:#e4eae8}.project-card-light .project-meta>span{color:#668985}.project-card-light .project-meta strong{color:#2b5051}.more-projects-heading{display:flex;justify-content:space-between;align-items:center;margin-top:48px;padding-bottom:17px;border-bottom:1px solid #dce5e1}.more-projects-heading h3{font-size:20px;margin:0}.more-projects-heading span{font-size:11px;letter-spacing:.1em;font-weight:800;color:#879b98}.project-list-item{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:22px;padding:23px 2px;border-bottom:1px solid #dce5e1}.list-num{font-size:12px;font-weight:800;color:#61968d}.project-list-item h4{font-size:15px;letter-spacing:-.022em;margin:0 0 5px}.project-list-item p{font-size:12.5px;margin:0;line-height:1.6}.list-tag{font-size:11px;color:#517a73;padding:7px 11px;border:1px solid #cbded6;border-radius:5px;white-space:nowrap}
.career-timeline{border-top:1px solid var(--line)}.career-entry{display:grid;grid-template-columns:255px 1fr;gap:35px;padding:37px 0 38px;border-bottom:1px solid var(--line)}.career-date{color:#51867e;font:800 12px var(--font-head);letter-spacing:.11em;padding-top:9px}.career-date>span{display:block;font-weight:500;font-size:11px;letter-spacing:0;line-height:1.7;margin-top:9px;color:#7d9090}.career-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.career-intro h3{font-size:23px;margin:0 0 5px}.career-location{font-size:12px;color:#79908b;margin-bottom:19px}.career-current{border:1px solid #c7dfd4;color:#2e7b6e;border-radius:4px;font-size:10px;font-weight:800;padding:6px 9px;letter-spacing:.09em}.career-role{font-weight:700;color:#28484b;font-size:13.5px;margin:0 0 5px}.career-role>span{font-weight:500;color:#8b9a9b;font-size:12px;margin-left:9px}.career-secondary-role{margin-bottom:17px}.career-body>p:last-of-type:not(.career-role){max-width:760px;font-size:13.5px;line-height:1.9;margin-top:10px;margin-bottom:0}.career-note{margin-top:18px;display:inline-block;font-size:12px;font-weight:700;color:#387e75;background:#eff7f3;padding:8px 12px;border-radius:5px}
.skills-section{background:#f6f8f7}.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.skill-panel{background:#fff;border:1px solid #e5ece8;border-radius:10px;padding:28px 27px 31px;min-height:360px}.skill-heading{display:flex;align-items:center;gap:13px;margin-bottom:24px}.skill-heading>span{font:800 11px var(--font-head);color:#72a095;background:#e7f3ed;width:31px;height:31px;display:flex;align-items:center;justify-content:center;border-radius:6px}.skill-heading h3{font-size:18px;margin:0}.tag-cloud{display:flex;align-items:flex-start;flex-wrap:wrap;gap:9px}.tag-cloud span{background:#f5f8f6;color:#405a5b;border:1px solid #e5ece9;border-radius:5px;padding:7px 10px;font-size:11.5px;font-weight:600;line-height:1.5}.skill-footnote{font-size:12px;line-height:1.8;margin:21px 0 0}
.credentials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.credential{border:1px solid var(--line);border-radius:10px;padding:31px 33px;min-height:210px;display:flex;flex-direction:column}.credential-label{color:#368075;font-size:10px;letter-spacing:.16em;font-weight:800;margin-bottom:22px}.credential h3{font-size:19px;margin:0 0 9px;max-width:390px}.credential p{font-size:13px;color:#526a6c;margin:0}.credential small{font-size:12px;color:#82918d;margin-top:auto;padding-top:24px}.credential-award{background:#e8f2ed;border-color:#e8f2ed}
.contact-section{background:#112f35;color:#fff;padding:90px 0 91px}.contact-inner{display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:end}.section-kicker-light{color:#a2d2c6}.contact-inner h2{font-size:clamp(40px,4.7vw,66px);letter-spacing:-.065em;margin:0 0 21px}.contact-inner h2 em{font-style:normal;color:#aedacf}.contact-inner p{color:#adcbca;max-width:600px;line-height:1.85;font-size:14px;margin:0}.contact-side{border-left:1px solid #54706e;padding-left:34px;padding-bottom:4px}.contact-caption{display:block;font-size:10px;letter-spacing:.18em;color:#9bb9b5;font-weight:800;margin-bottom:9px}.contact-side strong{display:block;font-size:15px;font-family:var(--font-head)}.contact-rule{height:1px;background:#54706e;margin:24px 0}.contact-pending{font-size:13px;color:#d0e2df}.contact-email{display:inline-flex;font-weight:700;font-size:15px;color:#d7f4e8;border-bottom:1px solid #afd5ca;padding-bottom:3px;word-break:break-word}.contact-linked-in{display:block;margin-top:12px;color:#d7f4e8;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.footer{background:#0d262c;color:#829d9d}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 0;font-size:11px}.footer-brand{color:#e3eeee;font-family:var(--font-head);font-weight:800;font-size:13px}.footer-brand span{font-family:var(--font-body);color:#8daaaa;font-weight:500;font-size:11px}.footer a{color:#a9cdc8}.footer a:hover{color:#fff}
@media(max-width:1050px){.shell{width:min(1170px,calc(100% - 55px))}.nav{gap:20px}.hero{grid-template-columns:1fr .9fr;gap:20px}.hero h1{font-size:clamp(39px,4.9vw,57px)}.project-card-primary{min-height:737px}.project-card-primary .project-big-number{font-size:105px}.project-card-primary h3{font-size:38px}.career-entry{grid-template-columns:215px 1fr}.contact-inner{gap:35px}}
@media(max-width:760px){.shell{width:calc(100% - 38px)}.header-inner{min-height:75px}.brand-mark{width:42px;height:42px}.menu-toggle{display:flex;background:transparent;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:10px;margin-right:-10px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);border-radius:3px}.nav{display:none;position:absolute;top:75px;left:0;right:0;background:white;box-shadow:0 16px 20px #1429231a;border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:13px 10px;font-size:14px}.nav .nav-contact{text-align:center;margin-top:8px}.hero{grid-template-columns:1fr;min-height:auto;gap:37px;padding-top:70px;padding-bottom:66px}.hero h1{font-size:clamp(42px,9vw,68px);margin-top:22px}.hero-lede{font-size:16px}.hero-location{margin-top:32px}.section{padding-top:75px;padding-bottom:78px}.section-header{margin-bottom:30px}.split-heading,.project-heading{display:block}.split-heading>p,.project-heading>p{margin-top:20px;max-width:540px}.section h2{font-size:clamp(33px,7vw,43px)}.capability-grid{grid-template-columns:1fr}.capability{min-height:unset;padding:28px}.capability:not(:last-child){border-right:0;border-bottom:1px solid var(--line)}.capability h3{margin-top:17px}.featured-grid{grid-template-columns:1fr}.project-card{min-height:unset;padding:30px}.project-card-primary{grid-row:auto;min-height:500px}.project-card-primary .project-big-number{font-size:115px;margin-top:65px}.project-card-primary h3{font-size:37px}.project-big-number{font-size:85px}.project-list-item{grid-template-columns:28px 1fr;gap:14px}.list-tag{grid-column:2;justify-self:start}.career-entry{grid-template-columns:1fr;gap:9px}.career-date{padding:0}.career-entry{padding:32px 0}.skills-grid{grid-template-columns:1fr}.skill-panel{min-height:0}.credentials-grid{grid-template-columns:1fr}.credential{min-height:190px}.contact-section{padding:75px 0}.contact-inner{grid-template-columns:1fr;gap:35px}.contact-side{border-left:0;border-top:1px solid #54706e;padding:24px 0 0}.footer-inner{flex-wrap:wrap;gap:12px}.footer-inner>div:nth-child(2){order:3;flex-basis:100%}}
@media(max-width:420px){.brand-name{font-size:13px}.brand-name span{font-size:9px}.eyebrow{font-size:9px;letter-spacing:.11em}.hero h1{font-size:40px}.hero-actions{align-items:flex-start;flex-direction:column;gap:8px}.project-card-primary .project-big-number{font-size:92px}.project-card-primary h3{font-size:30px}.project-card h3{font-size:25px}.project-big-number{font-size:72px}.project-big-number span{font-size:12px}.project-card{padding:26px}.career-intro h3{font-size:21px}.career-role>span{display:block;margin:3px 0 0}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button{transition:none}}
@media print{.site-header,.hero-actions,.contact-section,.footer{display:none!important}.shell{width:100%}.hero{display:block;min-height:0;padding:20px 0}.section{padding:25px 0}.project-card,.capability,.credential,.career-entry{break-inside:avoid}.project-section,.skills-section{background:#fff}.project-card-primary{min-height:0}.project-card-primary .project-big-number{margin-top:30px}.featured-grid{display:block}.project-card{margin-bottom:15px}.career-entry{grid-template-columns:160px 1fr}.contact-section{display:none}}


/* v1.2 — Editorial, typographic homepage. No diagrams, dashboards, or statistic panels. */
.hero-band{background:#f7f9f8;border-bottom:1px solid #e7ece9}
.hero{display:block;min-height:auto;padding-top:122px;padding-bottom:123px}
.hero-copy{max-width:1060px}
.hero h1{font-size:clamp(54px,6.4vw,91px);line-height:1.095;max-width:1050px;letter-spacing:-.068em;margin:32px 0 32px}
.hero-lede{font-size:19px;line-height:1.85;max-width:725px;margin-bottom:34px}
.hero-location{margin-top:70px;padding-top:21px;border-top:1px solid #dce6e2;max-width:725px;color:#647d7d}
@media(max-width:1050px){.hero{padding-top:103px;padding-bottom:110px}.hero h1{font-size:clamp(54px,7.3vw,78px)}}
@media(max-width:760px){.hero{padding-top:77px;padding-bottom:77px}.hero h1{font-size:clamp(43px,8.7vw,64px);margin:26px 0}.hero-lede{font-size:17px;line-height:1.75}.hero-location{margin-top:46px}}
@media(max-width:420px){.hero h1{font-size:clamp(39px,9.6vw,47px)}.hero-lede{font-size:16px}.hero{padding-top:62px;padding-bottom:67px}.hero-location{margin-top:33px}}
@media print{.hero-band{background:#fff;border:0}.hero{padding:20px 0}}

/* Version 1.5: discreet, accessible résumé download links. */
.hero-resume-link { color: #276b67; }
.contact-resume-wrap { margin-top: 28px; }
.contact-resume { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; color: #d7f4e8; border-bottom: 1px solid #8bc2b5; padding-bottom: 3px; font-weight: 700; }
.contact-resume:hover { color: #fff; border-bottom-color: #fff; }
@media(max-width: 760px) { .hero-actions { gap: 12px 18px; } }
