:root{--paper:#f6f5f1;--ink:#303d52;--muted:#687385;--accent:#597495;--line:#d9dee5;--white:#fff;--soft:#edf0f5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{border:0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.05em;line-height:1.08}h1{font-size:clamp(48px,5.5vw,79px);margin-bottom:26px}h2{font-size:clamp(32px,3.3vw,46px);margin-bottom:0}h3{line-height:1.3}em{font-weight:400;color:var(--accent)}.wrap{width:min(1190px,calc(100% - 100px));margin:0 auto}.header{height:91px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4%;background:var(--paper);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;white-space:nowrap}.monogram{font:bold 35px/1 Georgia;letter-spacing:-4px;position:relative}.monogram span{color:var(--accent);letter-spacing:0}.header nav{display:flex;gap:24px;align-items:center;font-size:12px}.header nav a:hover,.text-link:hover{color:var(--accent)}.nav-contact{border:1px solid var(--line);padding:9px 16px}.nav-contact span{margin-left:12px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.18fr 1fr;gap:75px;padding-top:74px;padding-bottom:73px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600;line-height:1.6;margin-bottom:25px}.small-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:8px}.hero-intro{font-size:17px;line-height:1.65;max-width:440px;color:var(--muted);margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:27px}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;padding:14px 21px;font-weight:600;font-size:12px}.primary{background:var(--ink);color:white}.primary:hover{background:#435773}.text-link{font-size:12px;font-weight:600;display:inline-flex;gap:16px;background:none;padding:0}.hero-location{color:var(--muted);font-size:11px;margin-top:36px;display:flex;gap:10px;align-items:center}.location-divider{color:#9da99f}.hero-feature{position:relative;align-self:stretch;min-height:482px;background:var(--ink);color:#f7f5eb;border-radius:3px;padding:25px 29px;text-align:left;overflow:hidden;transition:transform .25s}.hero-feature:hover{transform:translateY(-4px)}.feature-top{display:flex;align-items:center;justify-content:space-between}.feature-kicker,.feature-index{font-size:9px;letter-spacing:1.5px;color:#becbda}.round-arrow{display:grid;place-items:center;border:1px solid #63776c;border-radius:50%;width:30px;height:30px}.system-visual{display:flex;align-items:center;justify-content:center;height:240px;position:relative}.system-orbit{width:235px;height:170px;border:1px solid #718477;border-radius:50%;position:relative;transform:rotate(-17deg)}.system-orbit:before{content:'';position:absolute;inset:-23px -15px;border:1px dashed #536c5f;border-radius:50%}.system-center{width:133px;height:133px;background:#d7dfc7;color:var(--ink);border:9px solid #486154;border-radius:50%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(17deg);display:flex;justify-content:center;align-items:center;flex-direction:column;font:38px Georgia;box-shadow:0 0 0 8px #2c483d}.system-center span{font:8px Arial;margin-top:7px}.system-node{font-size:9px;background:#355448;border:1px solid #718477;border-radius:20px;padding:6px 11px;position:absolute;transform:rotate(17deg)}.node-one{left:-27px;top:14px}.node-two{right:-50px;top:28px}.node-three{left:-20px;bottom:12px}.node-four{right:-12px;bottom:-4px}.orbit-point{position:absolute;width:7px;height:7px;background:#d6c887;border-radius:50%}.point-one{top:-2px;left:130px}.point-two{bottom:2px;left:140px}.feature-caption{border-top:1px solid #546c60;padding-top:19px}.feature-caption h2{font-size:30px;letter-spacing:-1px;line-height:1.14;margin:11px 0}.feature-caption p{font-size:11px;color:#becbda;margin-bottom:14px}.feature-link{font-size:11px;display:flex;justify-content:space-between}.impact-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-top:28px;padding-bottom:25px}.impact-grid>div{padding-left:42px;border-left:1px solid var(--line)}.impact-grid>div:first-child{border:0;padding-left:0}.impact-grid strong{font:38px Georgia;letter-spacing:-1px}.impact-grid strong span{font:10px Arial;letter-spacing:0;margin-left:10px}.impact-grid p{font-size:11px;color:var(--muted);margin:6px 0 0}.section{padding-top:85px;padding-bottom:85px;scroll-margin-top:15px}.about-grid,.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}.about-copy p{color:var(--muted)}.about-copy .large-copy{font-size:20px;line-height:1.6;color:var(--ink)}.values{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}.values span{border:1px solid var(--line);padding:5px 10px;font-size:10px}.language-line{font-size:10px;margin-top:26px;display:flex;gap:10px;flex-wrap:wrap;color:var(--muted)}.language-line b{color:var(--ink);font-weight:normal}.projects-section{background:#edf0f5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:37px}.section-heading>p{max-width:320px;font-size:13px;color:var(--muted);margin:0 0 4px}.skill-filters{display:flex;gap:8px;flex-wrap:wrap}.skill-filters button{border:1px solid #ccd6e3;background:transparent;border-radius:22px;padding:9px 16px;font-size:11px;transition:background .15s}.skill-filters button:hover{background:#dce5f0}.skill-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.results-bar{display:flex;gap:20px;justify-content:space-between;align-items:baseline;border-top:1px solid #d3dbe6;margin-top:24px;padding-top:18px;padding-bottom:17px;min-height:64px}.results-bar p{font-size:12px;margin:0;max-width:730px;color:var(--muted)}#result-count{font-size:10px;white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.project-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid #d4dce7;padding:24px;text-align:left;min-height:295px;transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #303d5214}.card-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:27px}.card-index{font:italic 18px Georgia;color:var(--accent);letter-spacing:0}.project-card h3{font:25px/1.16 Georgia;letter-spacing:-.6px;margin-bottom:12px}.project-card>p{font-size:12px;line-height:1.65;color:var(--muted);margin-bottom:18px}.card-bottom{margin-top:auto}.card-outcome{font-size:10px;border-top:1px solid var(--line);padding-top:14px;margin-bottom:15px;color:var(--ink)}.card-link{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600}.evidence-note{font-size:10px;color:var(--muted);margin:23px 0 0}.timeline{border-top:1px solid var(--line)}.timeline details{border-bottom:1px solid var(--line)}.timeline summary{display:grid;grid-template-columns:190px 1fr 28px;gap:25px;padding:27px 0;cursor:pointer;list-style:none;align-items:center}.timeline summary::-webkit-details-marker{display:none}.timeline-date{font-size:10px;letter-spacing:1px;color:var(--muted)}.timeline-role{display:flex;flex-direction:column;gap:5px}.timeline-role strong{font-size:17px;font-weight:500;line-height:1.3}.timeline-role>span{font-size:12px;color:var(--muted)}.expand-icon{font-size:25px;font-weight:300;text-align:center}.timeline details[open] .expand-icon{transform:rotate(45deg)}.experience-body{margin:0 50px 30px 215px;max-width:730px;font-size:13px;color:var(--muted)}.experience-body p{margin-bottom:13px}.experience-body ul{padding-left:17px;line-height:1.9;margin-bottom:18px}.experience-body .text-link{color:var(--accent)}.tools-band{background:var(--ink);color:#eef1f5;padding:32px 0}.tools-band .wrap{display:flex;align-items:center;gap:45px;justify-content:space-between}.tools-band .eyebrow{color:#b2c0d3;white-space:nowrap;margin:0}.tools-list{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;font:20px Georgia}.education-grid{align-items:center;border-bottom:1px solid var(--line)}.degree{border-left:2px solid var(--accent);padding-left:33px;position:relative}.degree .eyebrow{margin-bottom:17px;color:var(--muted)}.degree h3{font:29px/1.2 Georgia;letter-spacing:-.5px;max-width:350px;margin-bottom:7px}.degree-subject{font-size:15px;margin-bottom:15px}.degree>p:last-child{font-size:12px;color:var(--muted);margin-bottom:0}.degree-icon{position:absolute;right:0;top:0;color:var(--accent);font-size:26px}.learning-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.foundation-block,.course-block{border-top:1px solid var(--line);padding-top:24px}.foundation-block article{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.foundation-block article>span{font:italic 23px Georgia;color:var(--accent)}.foundation-block h3{font:24px Georgia;margin-bottom:5px}.foundation-block article p{font-size:12px;color:var(--muted);margin:0}.course-block ul{padding:0;list-style:none;margin:0}.course-block li{display:flex;flex-direction:column;border-bottom:1px solid var(--line);padding:13px 0;gap:2px;font-size:13px}.course-block li small{font-size:11px;color:var(--muted)}.contact-section{background:#e9edf3;padding:59px 0}.contact-grid{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-grid h2{font-size:40px}.contact-grid p:last-child{font-size:11px;color:var(--muted);margin:20px 0 0}.contact-button{background:var(--accent);color:white;white-space:nowrap}.contact-button:hover{background:#496586}footer{display:flex;justify-content:space-between;align-items:center;padding-top:26px;padding-bottom:26px;font-size:11px;color:var(--muted)}footer p{margin:0}dialog{width:min(780px,calc(100% - 30px));max-height:90dvh;padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:5px;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#253347b3;backdrop-filter:blur(4px)}.dialog-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line);padding:16px 30px}.dialog-top .eyebrow{margin:0}.close-button{width:35px;height:35px;border:1px solid var(--line);background:none;font-size:26px;line-height:1}.dialog-content{padding:33px 40px 38px}.dialog-content h2{font-size:42px;line-height:1.14;margin-bottom:17px}.dialog-intro{font-size:16px;color:var(--muted);line-height:1.65}.project-tags{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 30px}.project-tags span{font-size:10px;background:#e4ebf4;border-radius:15px;padding:4px 10px}.case-study{display:grid;gap:22px}.case-study h3{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;margin-bottom:8px;color:var(--accent)}.case-study p{font-size:14px;color:var(--muted);margin-bottom:0}.case-outcome{background:#edf0f5;padding:20px;border-left:2px solid var(--ink)}.dialog-metric{display:flex;gap:14px;align-items:baseline;margin-top:24px}.dialog-metric strong{font:38px Georgia}.dialog-metric span{font-size:12px;color:var(--muted)}.dialog-metric:empty{display:none}.case-footnote{font-size:10px;color:var(--muted);margin-top:12px}.dialog-content>.button{margin-top:18px}.skip{position:fixed;top:-100px;background:var(--ink);color:white;padding:12px;z-index:99}.skip:focus{top:10px}body.modal-open{overflow:hidden}
@media(min-width:1450px){.hero{gap:110px}.hero-feature{max-width:470px}}@media(max-width:1100px){.header nav{gap:14px}.header .brand>span:last-child{display:none}.wrap{width:calc(100% - 64px)}.hero{gap:35px}h1{font-size:59px}.tools-band .wrap{gap:25px;align-items:flex-start}.tools-list{font-size:18px;gap:20px}.about-grid,.education-grid{gap:50px}.impact-grid>div{padding-left:24px}.project-card{padding:20px}.project-card h3{font-size:23px}}
@media(max-width:760px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 40px)}.header{height:72px;padding:0 20px}.header .brand>span:last-child{display:block;font-size:12px}.menu-toggle{display:flex;background:none;font-size:12px;gap:12px;align-items:center}.header nav{display:none;position:absolute;top:71px;left:0;right:0;padding:15px 20px 22px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav a{padding:12px}.hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:40px;gap:33px}h1{font-size:clamp(46px,10vw,68px);line-height:1.06}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}.hero-intro{font-size:16px;max-width:500px}.hero-feature{min-height:430px;padding:21px 25px}.system-visual{height:222px}.hero-location{margin-top:24px;flex-wrap:wrap}.hero-actions{gap:22px}.impact-grid{grid-template-columns:1fr;padding-top:10px;padding-bottom:10px}.impact-grid>div,.impact-grid>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-left:0;border-bottom:1px solid var(--line)}.impact-grid>div:last-child{border-bottom:0}.impact-grid strong{font-size:30px;white-space:nowrap}.impact-grid strong span{font-size:8px;margin-left:6px}.impact-grid p{max-width:155px;text-align:right;margin:0;font-size:10px}.section{padding-top:52px;padding-bottom:52px}.about-grid,.education-grid{grid-template-columns:1fr;gap:28px}.eyebrow{margin-bottom:17px}.section-heading{display:block;margin-bottom:26px}.section-heading>p{margin-top:20px;max-width:none}.project-grid{grid-template-columns:1fr 1fr;gap:12px}.project-card{min-height:295px;padding:18px}.project-card h3{font-size:23px}.skill-filters{gap:7px}.skill-filters button{font-size:10px;padding:8px 12px}.results-bar{align-items:flex-start}.timeline summary{grid-template-columns:1fr 25px;gap:10px;padding:22px 0}.timeline-date{grid-column:1}.timeline-role{grid-column:1}.expand-icon{grid-column:2;grid-row:1 / 3}.timeline-role strong{font-size:16px}.experience-body{margin:0 0 25px}.tools-band .wrap{display:block}.tools-band .eyebrow{display:block;margin-bottom:20px}.tools-list{gap:18px 25px;justify-content:flex-start}.learning-grid{grid-template-columns:1fr;gap:34px}.contact-grid{display:block}.contact-grid h2{font-size:34px}.contact-button{margin-top:27px}footer{flex-wrap:wrap;gap:18px}footer p{display:none}.dialog-content{padding:25px}.dialog-content h2{font-size:32px}.dialog-top{padding:12px 20px}.dialog-top .eyebrow{font-size:9px}.degree{padding-left:22px}.degree h3{font-size:28px;padding-right:25px}}
@media(max-width:460px){.project-grid{grid-template-columns:1fr}.project-card{min-height:260px}.card-meta{margin-bottom:18px}.project-card h3{font-size:27px}.hero-actions{gap:17px}.hero-actions .text-link{font-size:11px}.button{padding:13px 17px;gap:22px}.feature-caption h2{font-size:29px}.hero-feature{min-height:420px}.section-heading h2{font-size:34px}.results-bar p{font-size:11px}.contact-grid h2{font-size:30px}.brand{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.header{position:static}nav,.hero-feature,.skill-filters,.hero-actions,.contact-section,.menu-toggle,dialog{display:none!important}.hero{display:block}h1{font-size:40px}.section{padding:25px 0}.project-grid{grid-template-columns:repeat(2,1fr)}.project-card{break-inside:avoid}.experience-body{display:block}.wrap{width:100%}body{background:white}.impact-strip{break-inside:avoid}footer{display:none}}

/* Portrait and the expanded personal story */
.hero{grid-template-columns:1.18fr 1fr;gap:75px;padding-top:61px;padding-bottom:59px}.hero h1{font-size:clamp(64px,6.3vw,91px);margin-bottom:20px;line-height:1.02}.hero-role{font-size:14px;letter-spacing:.2px;font-weight:600;margin-bottom:19px}.hero-intro{font-size:17px;max-width:460px}.portrait-panel{width:100%;max-width:430px;justify-self:end;position:relative;padding:0 18px 0 0}.portrait-frame{padding:14px;background:#e1e7ef;border:1px solid #d4dce7;border-radius:2px;position:relative;box-shadow:13px 13px 0 #eae6df}.portrait-frame img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}.portrait-corner{position:absolute;right:-14px;bottom:25px;background:var(--ink);color:#fff;border:6px solid var(--paper);border-radius:50%;display:grid;place-items:center;width:58px;height:58px;font-size:22px}.portrait-caption{display:flex;gap:23px;align-items:flex-start;padding:28px 3px 0}.portrait-caption .eyebrow{font-size:8px;max-width:104px;line-height:1.9;margin:2px 0 0;color:var(--muted)}.portrait-caption p{font:italic 24px/1.3 Georgia;margin:0;letter-spacing:-.6px}.portrait-caption p em{font-style:normal}.story-pullquote{border-left:2px solid #a8b9cf;font:italic 20px/1.6 Georgia;color:var(--muted);padding-left:20px;margin-top:31px}.story-details{margin-top:26px;border-top:1px solid var(--line)}.story-details details{border-bottom:1px solid var(--line)}.story-details summary{display:flex;justify-content:space-between;padding:14px 0;list-style:none;cursor:pointer;font-size:13px;font-weight:600}.story-details summary::-webkit-details-marker{display:none}.story-details summary>span:last-child{font-size:21px;line-height:1}.story-details details[open] summary>span:last-child{transform:rotate(45deg)}.story-details summary:hover{color:var(--accent)}.story-details p{font-size:13px;line-height:1.8;margin-bottom:20px}.story-details summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.personal-section{border-top:1px solid var(--line);background:#eeefeb}.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.personal-grid article{background:var(--paper);border:1px solid var(--line);padding:30px}.personal-grid h3{font:31px/1.17 Georgia;letter-spacing:-.7px;margin:14px 0 17px}.personal-grid p{font-size:13px;color:var(--muted);line-height:1.8}.card-number{font-size:9px;font-weight:600;letter-spacing:1.4px;color:var(--accent)}.personal-grid .travel-card{grid-column:1/-1;display:grid;grid-template-columns:.75fr 1.25fr;gap:35px}.travel-copy .personal-detail{font-size:11px;color:#7a756d}.travel-stat{display:flex;align-items:center;gap:17px;padding-top:8px}.travel-stat strong{font:56px/1 Georgia;color:var(--accent)}.travel-stat span{font-size:10px;color:var(--muted);line-height:1.8}.travel-map-area{align-self:center;min-width:0}.map-regions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.map-regions button{border:1px solid var(--line);padding:6px 10px;background:none;font-size:9px;border-radius:14px}.map-regions button[aria-pressed=true]{background:#e1e8f2;border-color:#b0c0d5;color:#3f5c7f}.map-regions button:hover{border-color:var(--accent);background:#e6edf7}.travel-map{padding:10px 0;background:#edf1f6;border:1px solid #dce3eb;border-radius:2px;margin-top:12px;overflow:hidden}.travel-map svg{width:100%;height:214px;display:block;overflow:hidden}.map-country{fill:#d8dee5;stroke:#f5f7f9;stroke-width:.6px;vector-effect:non-scaling-stroke}.map-country.visited{fill:#93a8c1;cursor:pointer}.map-country.visited:hover,.map-country.selected-country{fill:#516b8c}.map-dot{fill:#405d81;stroke:#eff3f8;stroke-width:.7px;vector-effect:non-scaling-stroke;cursor:pointer}.map-home{fill:#b69379;stroke:var(--paper);stroke-width:1px;vector-effect:non-scaling-stroke}.selected-marker{fill:#c4946d;stroke:#fff;stroke-width:2px}.personal-grid .map-readout{font-size:11px;min-height:24px;margin:10px 0 6px;color:var(--ink)}.country-details summary{font-size:10px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px}.country-details summary::-webkit-details-marker{display:none}.country-details summary:focus-visible{outline:2px solid var(--accent)}.country-list{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.country-list button{background:#ebeff5;border:1px solid #dbe2ed;border-radius:3px;padding:5px 8px;font-size:9px}.country-list button:hover,.country-list button.selected{background:#dbe5f1;border-color:var(--accent)}.map-credit{display:block;font-size:8px;color:#7c8796;margin-top:13px;line-height:1.6}.running-goals{display:flex;gap:50px;margin:25px 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.running-goals>div{display:flex;flex-direction:column;gap:8px}.running-goals strong{font:39px Georgia;color:var(--accent);letter-spacing:-1px}.running-goals span{font-size:10px;color:var(--muted)}.race-heading{display:flex;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:1px;margin-bottom:11px}.race-heading span:last-child{letter-spacing:0;color:var(--muted)}.race-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.race{border:1px solid var(--line);padding:12px 9px;display:flex;flex-direction:column;align-items:center;gap:2px}.race-mark{font-size:15px;color:var(--muted)}.race.done{background:#e9eee9;border-color:#cbd8cd}.race.done .race-mark{color:#59745e}.race strong{font-size:10px;font-weight:600}.race small{font-size:8px;color:var(--muted)}.personal-grid .goal-note{font-size:9px;margin:13px 0 0}.craft-divider{height:1px;background:var(--line);margin:29px 0}.impact-grid>button{padding:0 0 0 37px;border-left:1px solid var(--line);background:none;text-align:left;transition:color .2s}.impact-grid>button:first-child{border-left:0;padding-left:0}.impact-grid>button:hover{color:var(--accent)}.impact-grid>button p{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:27px}.impact-grid>button p span{font-size:15px;color:var(--accent)}
/* Skill explorer */
.explorer-top{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #d3dbe6;margin-bottom:20px;padding-bottom:20px}.skill-type-tabs{display:flex;background:#e0e5ed;padding:4px;border-radius:4px;gap:4px}.skill-type-tabs button{padding:10px 19px;background:transparent;border-radius:3px;font-size:12px}.skill-type-tabs button[aria-pressed=true]{background:var(--paper);box-shadow:0 1px 4px #303d5214;color:var(--ink);font-weight:600}.skill-type-tabs button:hover{color:var(--accent)}.skill-filters button:hover{border-color:#7c94b1;background:#dce6f3;box-shadow:0 2px 7px #303d5212;transform:translateY(-1px)}.project-search{display:grid;grid-template-columns:auto 1fr auto 170px;align-items:center;gap:13px;margin-top:24px;background:var(--paper);padding:13px 16px;border:1px solid #d3dce8;border-radius:3px}.project-search label{font-size:10px;color:var(--muted);white-space:nowrap}.project-search label>span{font-size:19px;margin-right:8px;line-height:1}.project-search input{border:0;border-left:1px solid var(--line);padding:7px 12px;background:transparent;color:var(--ink);font:12px Arial;min-width:0;width:100%}.project-search input::placeholder{color:#8791a0}.project-search input:focus-visible,.project-search select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-search select{background:var(--paper);border:1px solid var(--line);padding:8px;color:var(--ink);font:11px Arial;max-width:100%}.project-card{min-height:315px;border-top:3px solid transparent;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s}.project-card:hover{transform:translateY(-5px);border-color:#90a7c3;border-top-color:var(--accent);background:#fcfcfa;box-shadow:0 10px 25px #303d521a}.project-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.card-link span:last-child{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#e6ebf2;color:var(--accent);transition:background .2s,color .2s}.project-card:hover .card-link span:last-child{background:var(--accent);color:#fff}.load-more-row{display:flex;justify-content:center;margin-top:26px}.secondary{border:1px solid #aebed2;background:var(--paper);color:var(--ink)}.secondary:hover{background:#dfe8f5;border-color:var(--accent)}.empty-state{grid-column:1/-1;text-align:center;padding:45px 15px;border:1px dashed #aebed2}.empty-state h3{font:25px Georgia}.empty-state p{font-size:12px;color:var(--muted)}.project-tags .tag-hard{background:#e4ebf4}.project-tags .tag-soft{background:#eae6de;color:#625d55}.role-banner{border-left:2px solid #a1b4ce;padding-left:15px;margin-top:22px}.role-banner>span{font-size:9px;color:var(--accent);font-weight:600;letter-spacing:1.2px}.role-banner p{font-size:12px;color:var(--muted);margin:3px 0 0}.case-footnote{line-height:1.8}.contact-button:hover,.nav-contact:hover{box-shadow:0 4px 15px #303d5215}.header nav{gap:19px}.header nav a:not(.nav-contact){position:relative}.header nav a:not(.nav-contact):after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}.header nav a:not(.nav-contact):hover:after{transform:scaleX(1)}.portrait-panel .eyebrow{color:var(--muted)}
[hidden]{display:none!important}
@media(max-width:1100px){.hero{gap:42px}.hero h1{font-size:72px}.portrait-panel{max-width:390px}.header nav{gap:12px}.header nav a{font-size:11px}.personal-grid .travel-card{gap:25px;grid-template-columns:.8fr 1.2fr}.personal-grid article{padding:25px}.impact-grid>button{padding-left:20px}.impact-grid>button p{padding-right:15px}.impact-grid strong{font-size:33px}.hero-role{font-size:13px}.portrait-caption{gap:15px}.portrait-caption p{font-size:22px}}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:40px;gap:30px}.hero h1{font-size:clamp(58px,13vw,82px)}.hero-role{font-size:13px}.hero-intro{font-size:16px}.portrait-panel{justify-self:center;width:100%;max-width:390px;padding-right:13px}.portrait-caption{padding-top:23px;gap:22px;justify-content:center}.portrait-caption p{font-size:23px}.story-pullquote{margin-top:22px;font-size:18px}.about-grid{gap:28px}.personal-grid{grid-template-columns:1fr}.personal-grid .travel-card{grid-template-columns:1fr;gap:24px}.personal-grid article{padding:23px}.travel-copy .travel-stat{position:static}.travel-copy p{margin-bottom:12px}.travel-stat strong{font-size:42px}.travel-map svg{height:235px}.map-regions{justify-content:flex-start}.personal-grid h3{font-size:29px}.impact-grid>button,.impact-grid>button:first-child{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-left:0;border-bottom:1px solid var(--line)}.impact-grid>button:last-child{border:0}.impact-grid>button p{padding-right:0;max-width:195px}.impact-grid strong{font-size:30px}.explorer-top{gap:14px;align-items:center}.explorer-top>.text-link{font-size:10px;gap:7px}.skill-type-tabs button{font-size:11px;padding:9px 13px}.project-search{grid-template-columns:auto 1fr;padding:12px;gap:8px}.project-search input{font-size:11px;padding:7px 8px}.project-search select{width:100%}.project-search .company-label{padding-left:26px}.project-card{min-height:320px}.header nav a:not(.nav-contact):after{display:none}.race-list{grid-template-columns:repeat(3,1fr)}.map-credit{font-size:8px}.language-line{font-size:10px}}
@media(max-width:460px){.portrait-panel{max-width:335px}.portrait-caption{gap:13px}.portrait-caption .eyebrow{max-width:93px}.portrait-caption p{font-size:21px}.project-card{min-height:260px}.project-search{grid-template-columns:1fr;gap:8px}.project-search input{border:1px solid var(--line);padding:11px}.project-search .company-label{padding:5px 0 0}.running-goals{gap:40px}.explorer-top{align-items:flex-start;flex-direction:column;gap:12px}.personal-grid article{padding:20px}.personal-grid h3{font-size:28px}.travel-map svg{height:210px}.impact-grid>button p{max-width:160px;font-size:9px}.impact-grid strong{font-size:28px}.header .brand>span:last-child{font-size:11px}}
@media print{.portrait-panel{width:210px}.hero{display:grid;grid-template-columns:1fr 210px;gap:30px}.hero h1{font-size:42px}.hero-copy .eyebrow{font-size:9px}.story-details details:not([open]){display:none}.personal-section{break-inside:avoid}.project-search,.skill-type-tabs,.load-more-row,.explorer-top{display:none}.project-card{min-height:0}.travel-card{break-inside:avoid}.personal-grid{grid-template-columns:1fr 1fr}.personal-grid .travel-card{grid-template-columns:1fr 1.5fr}.impact-grid button{background:none}.impact-grid{grid-template-columns:repeat(3,1fr)}}
/* Contact details remain visible even when a visitor has no email app configured. */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.83fr);gap:55px;align-items:center}.contact-details{background:#f6f5f1;border:1px solid #cdd7e4;padding:25px 26px;min-width:0}.contact-detail+.contact-detail{margin-top:19px}.contact-label{display:block;font-size:9px;letter-spacing:1.4px;color:var(--muted);font-weight:600;margin-bottom:7px}.contact-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-value{font-size:14px;font-weight:600;overflow-wrap:anywhere;line-height:1.6}.contact-value:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.copy-button{font-size:9px;border:1px solid #bccbde;border-radius:3px;background:#edf1f6;padding:6px 9px;white-space:nowrap}.copy-button:hover{background:#dce7f5;border-color:var(--accent)}.copy-button:disabled{opacity:.6;cursor:wait}.contact-actions{display:flex;align-items:center;gap:22px;margin-top:25px}.contact-grid .contact-help{font-size:10px;color:var(--muted);margin:14px 0 0;line-height:1.7}.contact-grid .contact-copy-status{font-size:10px;color:var(--accent);margin:8px 0 0;line-height:1.7;min-height:17px}.contact-copy-fallback{margin-top:10px}.contact-copy-fallback label{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.contact-copy-fallback input{width:100%;background:#fff;border:1px solid #bdcbdd;padding:10px;font:13px Arial;color:var(--ink)}.contact-copy-fallback input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:1100px){.contact-grid{gap:30px;grid-template-columns:minmax(0,1fr) minmax(330px,1fr)}.contact-grid h2{font-size:34px}.contact-details{padding:22px}.contact-value{font-size:13px}.contact-detail-row{gap:8px}}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;gap:27px}.contact-details{max-width:560px;width:100%}.contact-actions .contact-button{margin-top:0}}
@media(max-width:460px){.contact-details{padding:21px 18px}.contact-detail-row{align-items:flex-start;flex-direction:column;gap:8px}.contact-value{font-size:14px}.contact-grid h2{font-size:31px}}
.contact-gate-title{font:27px/1.2 Georgia;margin:9px 0 12px}.contact-gate-intro{font-size:12px;color:var(--muted);line-height:1.8}#contact-verification{margin-top:20px}#verification-visual{display:flex;gap:12px;align-items:center;margin-bottom:16px}#verification-image{width:220px;max-width:72%;height:80px;border:1px solid #c7d3e3;background:#f2f5fa}#contact-verification label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}#verification-answer{display:block;width:100%;font:20px monospace;letter-spacing:5px;border:1px solid #bacbdd;background:white;color:var(--ink);padding:11px;margin-bottom:15px}#verification-answer:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#verification-mode{display:block;margin-top:18px;font-size:10px}#verification-question{font-size:16px;font-weight:600;background:#e6ecf5;padding:16px}.verification-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#verification-submit:disabled{opacity:.6;cursor:wait}.contact-grid .contact-details #verification-status{margin-top:12px;min-height:0}
/* Language controls stay visible beside the navigation, including on mobile. */
.header-controls{display:flex;align-items:center;gap:12px;order:3}.language-switch{display:flex;gap:2px;padding:3px;border:1px solid #c5cfdd;border-radius:5px}.language-switch button{background:transparent;padding:5px 8px;border-radius:3px;font-size:10px;line-height:1.5;font-weight:600}.language-switch button[aria-pressed=true]{background:var(--ink);color:#fff}.language-switch button:hover{background:#dce6f3;color:var(--ink)}.header nav{margin-left:auto;margin-right:20px}.header{gap:20px}
@media(max-width:1200px) and (min-width:761px){.header{padding:0 3%;gap:12px}.header nav{gap:10px;margin-right:0}.header nav a{font-size:10px}.header .brand{font-size:12px}.nav-contact{padding:8px 10px}.nav-contact span{margin-left:4px}}
@media(max-width:1200px){.header{height:auto;min-height:80px;padding-top:13px;padding-bottom:13px;flex-wrap:wrap}.header-controls{margin-left:auto;order:0}.header nav{width:100%;margin:0;justify-content:space-between}.header nav a{font-size:11px}}
@media(max-width:760px){.header{flex-wrap:nowrap;height:80px}.header-controls{order:3;gap:12px}.header nav{width:auto;margin:0;justify-content:flex-start}.language-switch button{padding:5px 7px}.menu-toggle{padding:0;background:none}.language-switch{flex-shrink:0}}
@media print{.header-controls{display:none}}

@media(max-width:760px){.header nav{top:100%}}
