:root{--ink:#193b34;--muted:#59665f;--paper:#f7f7f0;--accent:#d8ef8b;--line:#dbe0d6;--white:#fff;--radius:8px}
body.personal-site{background:var(--paper);color:var(--muted);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.75}
.personal-site h1,.personal-site h2,.personal-site h3,.personal-site h4{color:var(--ink);letter-spacing:-.035em}
.personal-site a{color:var(--ink)}
.personal-site a:hover{color:#356452}
.personal-site a:focus-visible,.personal-site button:focus-visible{outline:3px solid #709726;outline-offset:5px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:10000;background:var(--white);padding:12px 20px}.skip-link:focus{top:16px}
.personal-site #header,.personal-site #header.header-scrolled{padding:18px 0;background:rgba(247,247,240,.97);box-shadow:none;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand-mark{font-size:31px;letter-spacing:-3px;font-weight:800;border-right:1px solid #bdc8bb;padding-right:17px}.brand-mark>span{color:#728f36}.brand-name{font-weight:650;font-size:15px;line-height:1.4}.brand-name>span{display:block;font-size:9px;letter-spacing:.17em;font-weight:500;margin-top:4px}
.personal-site .navbar a,.personal-site .navbar a:focus{color:var(--ink);font-size:12px;letter-spacing:.025em;text-transform:none;font-weight:600}.personal-site .navbar>ul>li{padding-left:26px}.personal-site .navbar a:before{background:var(--ink);height:1px}.personal-site .mobile-nav-toggle{color:var(--ink);background:transparent;border:0;padding:10px;line-height:1}
.personal-site .hero{height:auto;min-height:760px;padding:146px 0 70px;color:var(--ink);background:none}
.hero-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.16em;line-height:1.6;color:var(--ink);margin-bottom:24px}.hero-copy>.eyebrow{font-size:9px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6a8d38;margin-right:7px}.hero h1{font-size:clamp(40px,4.35vw,65px);line-height:1.08;font-weight:500;letter-spacing:-.05em;margin:0 0 27px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#577b53}.hero-intro{max-width:510px;font-size:15px;line-height:1.85}.hero-intro a{border-bottom:1px solid #9fab94}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:32px}.action-primary{display:inline-flex;gap:34px;justify-content:space-between;align-items:center;padding:14px 22px;background:var(--ink);color:white!important;font-size:13px;font-weight:600;border-radius:4px;transition:background .2s,transform .2s}.action-primary:hover{background:#2d5948;transform:translateY(-2px)}.action-text{display:inline-flex;gap:18px;font-weight:600;font-size:13px;border-bottom:1px solid #b6c1b2;padding:7px 0}.hero-note{display:flex;gap:25px;margin-top:40px;font-size:8px;letter-spacing:.1em;color:#657364}
.hero-photo{position:relative;margin:0;height:530px;border-radius:160px 160px 8px 8px;overflow:hidden;background:#b9c7b2}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% center}.hero-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(12,32,27,.88));pointer-events:none}.hero-photo figcaption{position:absolute;bottom:28px;left:28px;right:28px;z-index:1;color:#fff;display:flex;justify-content:space-between;align-items:end;font-size:20px;line-height:1.35;letter-spacing:-.025em}.photo-index{font-size:8px;letter-spacing:.12em;max-width:70px;line-height:1.8}
.experience-strip{border-block:1px solid var(--line);padding:27px 0}.experience-strip>.container{display:flex;justify-content:space-between;align-items:center;gap:25px}.experience-strip .container>span:first-child{font-size:9px;letter-spacing:.12em;max-width:110px;color:var(--muted)}.experience-strip .container>span{font-size:22px;font-weight:600;letter-spacing:-.03em;color:var(--ink)}.experience-strip small{display:block;font-size:10px;letter-spacing:0;font-weight:400;color:var(--muted)}
.expertise-section,.personal-site #work,.personal-site #about,.personal-site #resume{padding:96px 0}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:42px}.section-heading h2,.about-me h2,.contact-section h2,.personal-site .title-a{font-size:clamp(32px,3.2vw,46px);line-height:1.15;font-weight:500;text-transform:none;margin-bottom:0}.section-heading>p{max-width:410px;font-size:14px;margin-bottom:0}.expertise-card{height:100%;padding:30px 27px;border:1px solid var(--line);border-radius:var(--radius);position:relative;background:#fcfcf7}.card-number{position:absolute;right:25px;top:26px;font-size:11px;color:#71806b}.expertise-card>i{font-size:28px;display:block;color:#4e7157;margin-bottom:33px}.expertise-card h3{font-size:22px;line-height:1.3;max-width:260px;margin-bottom:17px}.expertise-card p{font-size:14px;line-height:1.8}.card-tags{font-size:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px;color:#647456}
.personal-site #work{background:#eaf0e7}.personal-site .title-box{text-align:left!important;margin-bottom:35px}.personal-site .subtitle-a{font-size:14px;max-width:600px;line-height:1.8;margin:20px 0 0}.personal-site .line-mf{display:none}.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.project-filters button{border:1px solid #c6d1c0;color:var(--ink);background:transparent;border-radius:30px;padding:8px 19px;font-size:12px}.project-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.project-count{font-size:11px;margin-bottom:18px}.personal-site .work-box{border-radius:var(--radius);overflow:hidden;box-shadow:none;height:calc(100% - 26px);margin-bottom:26px;background:#fcfdf9;border:1px solid #dce3d7}.personal-site .work-content{padding:24px}.personal-site .w-title{font-size:21px;line-height:1.3;margin-bottom:12px}.project-description{font-size:13px;line-height:1.75}.personal-site .work-content .w-more{font-size:10px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.personal-site .w-ctegory{color:#506d43!important}.personal-site .work-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.personal-site .work-box:hover img{transform:scale(1.035)}.personal-site .work-content .w-like{font-size:24px}.personal-site .work-box .border{border:0!important}.personal-site .work-content .col-sm-1,.personal-site .work-content .col-sm-2{width:auto}.personal-site .work-content .col-sm-10,.personal-site .work-content .col-sm-11{width:100%}
.about-identity{background:#e9eddf;padding:34px;border-radius:var(--radius)}.about-identity img{width:150px;height:150px;object-fit:cover;border-radius:50%;margin-bottom:30px}.about-identity .eyebrow{font-size:9px;margin-bottom:12px}.about-identity h2{font-size:30px;font-weight:500}.about-identity p:not(.eyebrow){font-size:14px}.about-identity a{font-size:12px;border-bottom:1px solid #aab9a0}.about-me h2{margin-bottom:30px}.about-me p{font-size:15px;line-height:1.9}.about-me p.lead{font-size:21px;line-height:1.65;font-weight:400;color:var(--ink)}.about-closing{color:var(--ink)}.toolkit{padding:30px 0}.toolkit .eyebrow{margin-bottom:14px}.skill-tags{display:flex;gap:9px;flex-wrap:wrap}.skill-tags span{font-size:11px;border:1px solid var(--line);padding:5px 12px;border-radius:4px}
.personal-site #resume{border-top:1px solid var(--line)}.personal-site .resume .resume-title{font-size:22px;font-weight:500;margin-top:26px;margin-bottom:28px}.personal-site .resume-item{border-color:#bbcbb2;padding:0 0 30px 24px}.personal-site .resume-item:before{border-color:#738d65;background:var(--paper);width:11px;height:11px;left:-6.5px;top:4px}.personal-site .resume-item h4{font-family:inherit;font-size:16px;line-height:1.55;text-transform:none;letter-spacing:-.01em}.personal-site .resume-item h5{background:#e8eedf;font-size:11px;border-radius:4px;padding:6px 10px;font-weight:500}.personal-site .resume-item p,.personal-site .resume-item li{font-size:13px;line-height:1.8}.personal-site .resume-item ul{padding-left:17px}.personal-site .resume-item a:hover{text-decoration:underline}
.contact-section{background:var(--ink);padding:90px 0;color:#d2ded1}.contact-section .eyebrow{color:var(--accent)}.contact-section h2{color:var(--paper);font-size:clamp(36px,4.6vw,64px);margin-bottom:25px}.contact-section .col-lg-8>p:not(.eyebrow){max-width:510px;font-size:15px;margin-bottom:30px}.contact-section .action-primary{background:var(--accent);color:var(--ink)!important}.contact-details{padding-left:50px}.contact-details a{display:block;color:var(--paper);border-bottom:1px solid #446054;padding:12px 0;font-size:15px}.contact-details a:hover{color:var(--accent)}.contact-details>p:last-child{font-size:12px;margin-top:26px}.personal-site .site-footer{background:var(--ink);border-top:1px solid #38584c;padding:25px 0;color:#cbd5c7;font-size:10px;text-align:left}.site-footer .container{display:flex;justify-content:space-between;gap:20px}.footer-dot{color:var(--accent);margin:0 12px}.personal-site .back-to-top{background:#d8ef8b;border:1px solid #193b34}.personal-site .back-to-top i{color:var(--ink)}
@media(min-width:1400px){.personal-site .container{max-width:1200px}}
@media(max-width:1199px){.hero-layout{gap:35px}.hero-photo{height:490px}.hero-actions{gap:17px}.hero h1{font-size:48px}.hero-note{gap:14px}.hero-copy>.eyebrow{letter-spacing:.09em}}
@media(max-width:991px){.personal-site .hero{padding:125px 0 60px;min-height:0}.hero-layout{grid-template-columns:1.1fr 1fr;gap:24px}.hero h1{font-size:39px}.hero-photo{height:490px;border-radius:100px 100px 8px 8px}.hero-intro{font-size:14px}.hero-note{display:block}.hero-note span{display:block;margin-top:6px}.photo-index{display:none}.personal-site .navbar-mobile{background:rgba(21,45,37,.8)}.personal-site .navbar-mobile .mobile-nav-toggle{color:white}.personal-site .navbar-mobile ul{background:var(--paper);border-radius:8px;bottom:auto;padding:22px 0}.personal-site .navbar-mobile>ul>li{padding:0}.personal-site .navbar-mobile a{padding:13px 24px}.section-heading{gap:35px}.section-heading>p{max-width:300px}.expertise-card{padding:23px 18px}.expertise-card h3{font-size:19px}.experience-strip .container>span{font-size:18px}.contact-details{padding-left:12px}.personal-site .work-content{padding:18px}.personal-site .w-title{font-size:18px}}
@media(max-width:767px){.personal-site .container{padding-inline:24px}.brand-name{font-size:13px}.brand-mark{font-size:27px}.hero-layout{grid-template-columns:1fr;gap:38px}.personal-site .hero{padding-top:119px;padding-bottom:40px}.hero h1{font-size:clamp(38px,8.7vw,58px)}.hero-intro{max-width:none}.hero-copy>.eyebrow{font-size:8px;letter-spacing:.08em}.hero-photo{height:430px;border-radius:130px 130px 6px 6px}.hero-note{display:flex;flex-wrap:wrap;margin-top:25px}.hero-photo>img{object-position:center 53%}.hero-photo figcaption{font-size:21px}.experience-strip>.container{display:grid;grid-template-columns:1fr 1fr;gap:20px}.experience-strip .container>span:first-child{grid-column:1/-1;max-width:none;font-size:8px}.experience-strip .container>span{font-size:22px}.expertise-section,.personal-site #work,.personal-site #about,.personal-site #resume{padding:60px 0}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:none;margin-top:24px}.eyebrow{margin-bottom:17px}.expertise-card{padding:27px}.expertise-card>i{margin-bottom:20px}.expertise-card h3{font-size:23px;max-width:none}.personal-site .work-content{padding:24px}.personal-site .w-title{font-size:23px}.personal-site .work-box{height:auto}.project-filters{gap:7px}.project-filters button{font-size:11px;padding:7px 13px}.about-identity{padding:28px}.about-me p.lead{font-size:20px}.toolkit{padding-bottom:0}.contact-section{padding:60px 0}.contact-details{padding-inline:12px}.site-footer .container{flex-direction:column;gap:7px}.personal-site .back-to-top{width:36px;height:36px;right:12px;bottom:12px}}
.about-me p.about-eyebrow{font-size:10px;line-height:1.6}.personal-site section{scroll-margin-top:90px}.personal-site iframe{background:#dae3d6}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-aos]{opacity:1!important;transform:none!important}}
