*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:Arial,sans-serif;background:#f6f0e6}a{color:inherit;text-decoration:none}select{font:inherit}a:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:#d6b99a;color:#30231c}.site{--bg:#f6f0e6;--panel:#fffbf5;--ink:#30231c;--muted:#74675d;--accent:#965738;--line:#dacfc2;--illustration:#ecdfce;background:var(--bg);color:var(--ink);min-height:100vh}.theme-espresso{--bg:#221b17;--panel:#2e241e;--ink:#fff3e5;--muted:#c5b3a2;--accent:#e7b98d;--line:#4b3c31;--illustration:#38291f}.wrap{width:min(1180px,calc(100% - 80px));margin:auto}.nav{height:96px;display:flex;align-items:center;gap:35px;border-bottom:1px solid var(--line)}.brand{font-size:23px;letter-spacing:-1px;font-weight:750}.brand span{color:var(--accent)}nav{display:flex;gap:28px;margin-left:auto;font-size:13px;color:var(--muted)}nav a:hover{color:var(--accent)}.theme-label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}select{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px;font-size:12px}.skip{position:absolute;top:-100px;left:12px;z-index:3;background:var(--ink);color:var(--bg);padding:12px}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:75px;align-items:center;padding:80px 0 88px}.eyebrow{color:var(--accent);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;line-height:1.8;font-weight:600}.dot{display:inline-block;height:6px;width:6px;border-radius:50%;background:var(--accent);margin-right:6px}h1{font-size:clamp(40px,4.7vw,62px);line-height:1.12;letter-spacing:-2.7px;margin:24px 0;font-weight:700}em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}p{color:var(--muted);font-size:14px;line-height:1.75}.intro{font-size:18px;max-width:580px}.hero-text{max-width:500px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{border-radius:7px;padding:14px 19px;font-size:12px;font-weight:600}.primary{color:var(--bg);background:var(--ink)}.secondary{border:1px solid var(--line)}.button:hover{transform:translateY(-2px)}.hero-tags{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:30px}.hero-tags span:before{content:"+";color:var(--accent);margin-right:6px}.coffee-card{background:var(--illustration);padding:26px;border:1px solid var(--line);border-radius:100px 100px 14px 14px;position:relative}.card-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:var(--muted);padding-top:28px;gap:10px}.coffee-scene{position:relative;height:215px;margin-top:15px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.cup{height:100px;width:135px;background:#fff5e5;border-radius:8px 8px 50px 50px;position:relative;z-index:1;box-shadow:inset -12px -6px #ead8bf}.coffee{position:absolute;top:-9px;left:7px;width:121px;height:30px;border-radius:50%;background:#75452d;border:6px solid #fff5e5;color:#e8bd90;text-align:center;font-size:12px;line-height:18px;letter-spacing:3px}.handle{position:absolute;right:-36px;top:15px;width:45px;height:55px;border:11px solid #fff5e5;border-left:0;border-radius:0 30px 30px 0;z-index:-1}.saucer{height:18px;width:190px;border-radius:50%;background:#d4bda1;box-shadow:0 8px 20px #583a2520;margin-top:-4px}.steam{position:absolute;top:20px;left:50%;transform:translate(-50%);width:90px;height:90px;display:flex;justify-content:space-around}.steam i{width:14px;height:65px;border-left:2px solid var(--accent);border-radius:50%;opacity:.2;animation:steam 4s ease-in-out infinite}.steam i:nth-child(2){animation-delay:-1.3s;height:80px}.steam i:nth-child(3){animation-delay:-2.6s}.coffee-caption{text-align:center;font-family:Georgia,serif;font-size:22px;line-height:1.4;color:var(--ink);margin:25px 0}.coffee-caption strong{font-weight:400;color:var(--accent)}.card-bottom{display:flex;justify-content:space-around;font-size:10px;border-top:1px solid var(--line);padding-top:18px;color:var(--muted)}@keyframes steam{0%,to{transform:translateY(7px) skew(-5deg);opacity:.13}50%{transform:translateY(-10px) skew(7deg);opacity:.4}}.section{padding:58px 0;border-top:1px solid var(--line)}h2{font-size:clamp(29px,3.3vw,40px);font-weight:650;letter-spacing:-1.4px;margin:10px 0 22px}h3{font-size:21px;line-height:1.35;letter-spacing:-.5px;margin:20px 0 14px}.section-intro{margin-bottom:28px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:25px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .2s}.project:hover{transform:translateY(-5px)}.project:before{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border:8px solid var(--accent);border-radius:50%;opacity:0;pointer-events:none;transition:opacity .3s}.project:hover:before{opacity:.06}.project-top{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:1px;color:var(--accent)}.project p{font-size:13px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.tags span{border:1px solid var(--line);padding:5px 7px;border-radius:4px;font-size:10px;color:var(--muted)}.project .project-note{font-size:11px;line-height:1.6;margin-bottom:24px}.project-link{display:flex;justify-content:space-between;font-size:12px;color:var(--accent);border-top:1px solid var(--line);padding-top:17px;margin-top:auto}.supporting{display:flex;flex-wrap:wrap;gap:22px;margin-top:24px;font-size:12px;line-height:1.8}.supporting>span{color:var(--muted)}.supporting a:hover{text-decoration:underline}.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.education{display:flex;gap:24px;align-items:center;margin-top:22px}.education>span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}.education p{font-size:13px}.skill h3{font-size:16px;margin:0 0 12px}.skill p{font-size:13px;margin:0}.history{font-size:12px;max-width:850px;margin-top:24px}.contact{padding:75px 0}.contact h2{font-size:clamp(40px,4.8vw,58px)}.footer{display:flex;gap:20px;justify-content:space-between;font-size:11px;padding:26px 0 35px;color:var(--muted);border-top:1px solid var(--line)}@media (max-width:850px){.wrap{width:calc(100% - 40px)}.hero{gap:30px;padding:55px 0}.project-grid{grid-template-columns:1fr}.nav{gap:18px}nav{gap:15px}.theme-label{font-size:0}.card-top{font-size:8px}.coffee-card{padding:20px}.hero h1{font-size:45px}}@media (max-width:600px){.nav{height:auto;min-height:100px;flex-wrap:wrap;padding:18px 0}.brand{margin-right:auto}nav{order:3;width:100%;margin:0;justify-content:space-between}.theme-label{font-size:10px}.hero{grid-template-columns:1fr;gap:38px}.hero h1{font-size:44px}.coffee-card{max-width:400px;width:100%;margin:auto}.two-grid{grid-template-columns:1fr}.section{padding:42px 0}.supporting{gap:14px}.education{align-items:flex-start}.education p{margin:0}.footer{flex-wrap:wrap}.footer>span:nth-child(2){display:none}.contact{padding:50px 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.steam i{animation:none}.project,.project:before{transition:none}.button:hover,.project:hover{transform:none}}
