:root{--bg:#f3f1ec;--bg-soft:#e8e5de;--panel:#fbfaf7;--panel-muted:#efede7;--ink:#202326;--muted:#676b70;--line:#d3d0c7;--line-strong:#a9a69e;--steel:#52606b;--accent:#b56b35;--accent-dark:#7f4521;--shadow:0 22px 60px rgba(32,35,38,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(90deg,rgba(32,35,38,.035) 1px,transparent 1px),linear-gradient(180deg,#f7f5ef 0,var(--bg) 42%,#ebe8df 100%);background-size:88px 100%,100% 100%;color:var(--ink)}a{color:inherit;text-decoration:none}p{color:var(--muted);line-height:1.68}code{border:1px solid var(--line);border-radius:6px;padding:2px 6px;background:var(--panel-muted);color:var(--accent-dark);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;width:min(1120px,calc(100% - 40px));margin:0 auto;padding:18px 0;background:hsla(43,23%,94%,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid hsla(45,12%,80%,.8)}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:var(--bg)}.nav{display:flex;gap:8px;color:var(--muted);font-size:14px}.nav a{padding:8px 10px;border-radius:6px}.nav a:hover{background:var(--panel-muted);color:var(--ink)}.header-cta{padding:10px 14px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:var(--bg);font-weight:750}.section-shell{width:min(1120px,calc(100% - 40px));margin:0 auto}.hero{display:flex;align-items:center;min-height:calc(100vh - 72px);padding:72px 0 84px}.hero-copy{max-width:820px}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--accent-dark);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.eyebrow:before{content:"";width:34px;height:1px;background:var(--accent)}.contact-section h2,.hero h1,.section-heading h2,.split-section h2{margin:0;letter-spacing:0;line-height:1.04}.hero h1{max-width:760px;font-size:clamp(44px,7vw,82px);font-weight:820}.hero-title{margin:18px 0 0;color:var(--steel);font-weight:750;font-size:18px}.hero-copy>p:not(.hero-title){max-width:620px;margin:18px 0 0;font-size:18px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:6px;font-weight:760}.btn.primary{border:1px solid var(--ink);background:var(--ink);color:var(--bg)}.btn.secondary{border:1px solid var(--line-strong);background:transparent}.btn:hover,.header-cta:hover{transform:translateY(-1px)}.section-block{padding:78px 0}.compact-block{padding-top:38px}.section-heading{max-width:760px;margin-bottom:32px}.contact-section h2,.section-heading h2,.split-section h2{font-size:clamp(30px,4.5vw,52px);font-weight:810}.section-heading p{max-width:680px;margin:16px 0 0}.split-section{display:grid;grid-template-columns:.92fr 1.08fr;grid-gap:44px;gap:44px;align-items:start;padding:78px 0}.about-content{padding:26px;border:1px solid var(--line);border-radius:8px;background:hsla(45,33%,98%,.72)}.about-content p:first-child{margin-top:0}.highlight-list{display:grid;grid-gap:10px;gap:10px;margin-top:22px}.highlight-item{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:start;padding:13px 0;border-top:1px solid var(--line)}.highlight-item span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--steel);color:#fff;font-weight:800;font-size:13px}.highlight-item p{margin:0}.skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.contact-card,.experience-card,.project-card,.skill-card{border:1px solid var(--line);border-radius:8px;background:hsla(45,33%,98%,.78);box-shadow:0 12px 38px rgba(32,35,38,.06)}.skill-card{padding:22px}.skill-card h3{margin:0 0 16px;font-size:19px;font-weight:790}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip-list span{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;color:var(--steel);background:var(--panel-muted);font-size:13px}.chip-list.small span{min-height:28px;padding:5px 9px;font-size:12px}.experience-list{display:grid;grid-gap:16px;gap:16px}.experience-card{padding:26px}.experience-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:18px}.experience-head h3{margin:0;font-size:27px;font-weight:790}.experience-head p{margin:6px 0 0}.experience-head>span{display:inline-flex;align-items:center;height:36px;padding:0 11px;border:1px solid var(--line);border-radius:6px;color:var(--accent-dark);font-weight:760}ul{margin:20px 0 0;padding-left:20px;color:var(--muted);line-height:1.72}li::marker{color:var(--accent)}.project-stack{display:grid;grid-gap:24px;gap:24px}.project-card{display:grid;grid-template-columns:minmax(0,1fr) 408px;grid-gap:22px;gap:22px;padding:24px}.project-main{display:grid;grid-template-columns:58px 1fr;grid-gap:18px;gap:18px}.project-number{display:grid;place-items:center;width:50px;height:50px;border:1px solid var(--line-strong);border-radius:6px;background:var(--panel-muted);color:var(--accent-dark);font-weight:820}.project-category{color:var(--accent-dark);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-card h3{margin:8px 0 0;font-size:clamp(27px,3.5vw,42px);font-weight:810}.project-card h4{margin:8px 0 16px;color:var(--steel);font-size:18px}.project-card p{margin:0 0 14px}.outcome strong,.project-role{color:var(--ink)}.project-role{display:inline-flex;margin:4px 0 16px;padding:9px 11px;border-left:3px solid var(--accent);background:var(--panel-muted);font-weight:760}.project-media{display:grid;grid-gap:12px;gap:12px}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.contribution-box{grid-column:1/-1;padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:var(--panel-muted)}.contribution-box h5{margin:0 0 10px;font-size:16px;color:var(--ink)}.contribution-box ul{column-count:2;margin-top:0}.image-slot{position:relative;min-height:260px;display:flex;align-items:flex-end;padding:16px;border:1px solid var(--line);border-radius:8px;background-color:#d9d6ce;background-size:cover;background-position:50%;overflow:hidden}.image-slot:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(32,35,38,.05),rgba(32,35,38,.72))}.image-slot>div{position:relative;z-index:2;max-width:92%}.image-slot span,.image-slot strong{display:block}.image-slot strong{color:#fff;font-size:17px;font-weight:780}.image-slot span{margin-top:6px;color:hsla(0,0%,100%,.78);line-height:1.45}.image-slot.compact{min-height:150px}.image-slot.compact strong{font-size:14px}.image-slot.compact span{font-size:11px}.contact-section{display:grid;grid-template-columns:1fr .82fr;grid-gap:30px;gap:30px;align-items:stretch;padding:78px 0 96px;border-top:1px solid var(--line)}.contact-card{display:grid;grid-gap:10px;gap:10px;padding:22px}.contact-card a,.contact-card span{display:block;padding:13px 14px;border:1px solid var(--line);border-radius:6px;background:var(--panel-muted);color:var(--ink);word-break:break-word}.contact-card a:hover{border-color:var(--accent)}.footer{display:flex;justify-content:space-between;gap:20px;width:min(1120px,calc(100% - 40px));margin:0 auto;padding:26px 0 38px;border-top:1px solid var(--line);color:var(--muted)}.footer a{color:var(--accent-dark);font-weight:760}@media (max-width:1020px){.contact-section,.project-card,.split-section{grid-template-columns:1fr}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.site-header{position:static;flex-wrap:wrap;gap:12px}.footer,.section-shell,.site-header{width:min(100% - 28px,1120px)}.nav{order:3;width:100%;overflow-x:auto;justify-content:flex-start;padding-bottom:4px}.hero{padding-top:36px}.hero h1{font-size:clamp(40px,13vw,62px)}.project-gallery,.project-main,.skill-grid{grid-template-columns:1fr}.project-number{width:46px;height:46px}.contribution-box ul{column-count:1}.experience-head,.footer{flex-direction:column}}