:root{--background:#f3f0e8;--background-soft:#ebe7dc;--surface:#fffdf8;--surface-dark:#14241e;--surface-dark-soft:#1d332a;--text:#18211d;--text-soft:#5e6b64;--text-light:#f7f8f4;--accent:#557a64;--accent-dark:#355442;--accent-light:#c4d8c9;--gold:#b18a4b;--border:#18211d21;--border-light:#ffffff21;--shadow-sm:0 8px 24px #18211d14;--shadow-md:0 18px 55px #18211d1f;--shadow-lg:0 28px 80px #0e181333;--radius-sm:.75rem;--radius-md:1.25rem;--radius-lg:2rem;--radius-full:999px;--container-width:1180px;--transition:.18s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6.5rem}body{background:radial-gradient(circle at top left, #c4d8c98c, transparent 34rem), var(--background);min-width:320px;color:var(--text);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.7}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance;line-height:1.15}p{text-wrap:pretty}::selection{background:var(--accent-dark);color:var(--text-light)}.container{width:min(calc(100% - 2.5rem), var(--container-width));margin-inline:auto}.section{padding:7rem 0}.skip-link{z-index:9999;background:var(--surface-dark);color:var(--text-light);border-radius:var(--radius-sm);transition:transform var(--transition);padding:.8rem 1.1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--accent-dark);letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem;font-size:.78rem;font-weight:800;line-height:1.2}.section-heading{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:end;gap:3rem;margin-bottom:3.5rem;display:grid}.section-heading h2,.about-content h2,.contact-content h2{letter-spacing:-.055em;max-width:760px;margin-bottom:0;font-size:clamp(2.15rem,5vw,4.4rem)}.section-heading>p{max-width:560px;color:var(--text-soft);margin-bottom:0;font-size:1.05rem}.compact-heading{grid-template-columns:1fr}.site-header{z-index:1000;-webkit-backdrop-filter:blur(18px);background:#f3f0e8de;border-bottom:1px solid #18211d14;position:sticky;top:0}.navigation{grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;min-height:5.25rem;display:grid}.site-logo{letter-spacing:-.03em;align-items:center;gap:.75rem;width:fit-content;font-weight:800;display:inline-flex}.logo-mark{background:var(--surface-dark);width:2.65rem;height:2.65rem;color:var(--text-light);letter-spacing:.07em;border-radius:50%;place-items:center;font-size:.78rem;display:grid}.logo-text{white-space:nowrap}.nav-list{align-items:center;gap:2rem;display:flex}.nav-list a,.footer-links a{color:var(--text-soft);font-size:.9rem;font-weight:600;position:relative}.nav-list a:after,.footer-links a:after{content:"";background:var(--accent-dark);transform-origin:100%;width:100%;height:2px;transition:transform var(--transition);position:absolute;bottom:-.3rem;left:0;transform:scaleX(0)}.nav-list a:hover:after,.nav-list a:focus-visible:after,.footer-links a:hover:after,.footer-links a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.navigation>.button{justify-self:end}.button{border-radius:var(--radius-full);min-height:3.35rem;transition:transform var(--transition), background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);border:1px solid #0000;justify-content:center;align-items:center;padding:.8rem 1.35rem;font-size:.92rem;font-weight:750;line-height:1;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:focus-visible,.text-link:focus-visible,.nav-list a:focus-visible,.footer-links a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.button-primary{background:var(--surface-dark);color:var(--text-light);box-shadow:0 12px 30px #14241e33}.button-primary:hover{background:var(--accent-dark)}.button-secondary{border-color:var(--border);background:#ffffff73}.button-secondary:hover{border-color:var(--accent);background:var(--surface)}.button-outline{border-color:var(--border);background:0 0}.button-outline:hover{border-color:var(--accent-dark);background:var(--surface)}.button-light{background:var(--text-light);color:var(--surface-dark);box-shadow:0 12px 32px #00000024}.button-light:hover{background:var(--accent-light)}.button-small{min-height:2.8rem;padding-inline:1.15rem}.text-link{width:fit-content;color:var(--accent-dark);align-items:center;gap:.45rem;font-size:.92rem;font-weight:800;display:inline-flex}.text-link span{transition:transform var(--transition)}.text-link:hover span{transform:translate(3px,-3px)}.hero{isolation:isolate;min-height:calc(100vh - 5.25rem);padding:7.5rem 0 8rem;position:relative;overflow:hidden}.hero:before{content:"";z-index:-3;border:1px solid #3554421c;border-radius:50%;width:36rem;height:36rem;position:absolute;top:8%;right:-8rem}.hero:after{content:"";z-index:-3;border:1px solid #3554421a;border-radius:50%;width:25rem;height:25rem;position:absolute;top:18%;right:1rem}.hero-layout{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.hero-content{z-index:2;position:relative}.hero h1{letter-spacing:-.07em;max-width:820px;margin-bottom:1.8rem;font-size:clamp(3.25rem,7.6vw,7.1rem)}.hero h1 span{color:var(--accent-dark);display:block}.hero-description{max-width:720px;color:var(--text-soft);margin-bottom:2.2rem;font-size:clamp(1.05rem,1.7vw,1.25rem)}.hero-actions{flex-wrap:wrap;gap:.9rem;margin-bottom:2.4rem;display:flex}.hero-specialties{flex-wrap:wrap;gap:.6rem;display:flex}.hero-specialties li{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-soft);background:#ffffff59;padding:.45rem .8rem;font-size:.76rem;font-weight:700}.hero-visual{position:relative}.portrait-frame{width:min(100%,470px);box-shadow:var(--shadow-lg);background:linear-gradient(150deg,#ffffffb8,#c4d8c959);border:1px solid #ffffff7a;border-radius:48% 48% 2rem 2rem;margin-left:auto;padding:1rem;position:relative}.hero-headshot{aspect-ratio:4/5;object-fit:cover;object-position:center 20%;filter:saturate(.86)contrast(1.02);border-radius:46% 46% 1.4rem 1.4rem;width:100%}.mountain-icon{filter:drop-shadow(0 10px 12px #00000029);width:7rem;position:absolute;bottom:1.5rem;right:-2.5rem;transform:rotate(5deg)}.availability-card{border:1px solid var(--border);border-radius:var(--radius-md);max-width:280px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8ed;align-items:flex-start;gap:.85rem;padding:1rem 1.2rem;display:flex;position:absolute;bottom:2.4rem;left:-2.8rem}.availability-card div{gap:.12rem;display:grid}.availability-card strong{font-size:.84rem}.availability-card span:not(.availability-dot){color:var(--text-soft);font-size:.72rem}.availability-dot{background:#4b9b67;border:3px solid #557a6433;border-radius:50%;flex:none;width:.7rem;height:.7rem;margin-top:.3rem;box-shadow:0 0 0 4px #4b9b671f}.hero-tree{z-index:-2;opacity:.16;width:min(38vw,520px);position:absolute;bottom:-3rem;left:-8rem;transform:scaleX(-1)}.hero-waves{z-index:-1;opacity:.25;width:min(42rem,58vw);position:absolute;bottom:2rem;right:4%}.projects-section{background:var(--surface)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.project-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--background);box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);overflow:hidden}.project-card:hover{box-shadow:var(--shadow-md);border-color:#3554424d;transform:translateY(-5px)}.project-card-featured{grid-column:1/-1;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);display:grid}.project-visual{background:linear-gradient(145deg, var(--surface-dark), var(--surface-dark-soft));min-height:330px;padding:clamp(1.4rem,4vw,3rem)}.artwork-visual{background:radial-gradient(circle at 25% 20%, #c4d8c933, transparent 15rem), linear-gradient(145deg, var(--surface-dark), #29463a);place-items:center;display:grid}.browser-frame{border:1px solid var(--border-light);background:var(--surface);width:min(100%,540px);box-shadow:var(--shadow-lg);border-radius:1.1rem;overflow:hidden;transform:rotate(-1.5deg)}.browser-toolbar{border-bottom:1px solid var(--border);background:#e5e3dc;align-items:center;gap:.38rem;padding:.7rem .8rem;display:flex}.browser-toolbar>span{background:#adb4ad;border-radius:50%;width:.55rem;height:.55rem}.browser-address{border-radius:var(--radius-full);color:#6a726e;background:#f5f4ef;flex:1;margin-left:.6rem;padding:.35rem .7rem;font-size:.62rem}.browser-content{background:linear-gradient(135deg,#efe4d6,#d4ddcf);grid-template-columns:.75fr 1.25fr;align-items:center;gap:1rem;min-height:280px;padding:1.5rem;display:grid}.browser-content img{aspect-ratio:1;object-fit:cover;border-radius:50% 50% 1rem 1rem;width:100%}.browser-content div{display:grid}.browser-content span{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}.browser-content strong{font-family:Babylonica,cursive;font-size:clamp(2.5rem,6vw,5rem);font-weight:400;line-height:.9}.personal-visual{background:radial-gradient(circle at top right, #b18a4b33, transparent 13rem), var(--surface-dark);place-items:center;min-height:300px;display:grid;position:relative;overflow:hidden}.personal-visual>img{object-fit:cover;opacity:.17;filter:grayscale();width:100%;height:100%;position:absolute;inset:0}.visual-code-card{z-index:1;border:1px solid var(--border-light);border-radius:var(--radius-md);width:min(100%,330px);color:var(--accent-light);box-shadow:var(--shadow-lg);background:#14241edb;gap:.2rem;padding:2rem;font-family:monospace;display:grid;position:relative}.visual-code-card strong{color:var(--text-light);font-size:1.8rem}.project-content{padding:clamp(1.7rem,4vw,3rem)}.project-title-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-content h3,.future-project h3{letter-spacing:-.04em;margin-bottom:1rem;font-size:clamp(1.55rem,3vw,2.3rem)}.project-content>p,.future-project p{color:var(--text-soft)}.project-type{color:var(--accent-dark);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.55rem;font-size:.7rem;font-weight:800;line-height:1.3}.project-status{border-radius:var(--radius-full);background:var(--accent-light);color:var(--accent-dark);text-transform:uppercase;flex:none;padding:.35rem .65rem;font-size:.68rem;font-weight:800}.project-highlights{gap:.65rem;margin:1.5rem 0;display:grid}.project-highlights li{color:var(--text-soft);padding-left:1.25rem;font-size:.9rem;position:relative}.project-highlights li:before{content:"";background:var(--accent);border-radius:50%;width:.42rem;height:.42rem;position:absolute;top:.68rem;left:0}.tech-list,.future-stack{flex-wrap:wrap;gap:.45rem;margin-top:1.5rem;display:flex}.tech-list li,.future-stack span{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-soft);background:#ffffff73;padding:.4rem .68rem;font-size:.7rem;font-weight:700}.project-links{flex-wrap:wrap;gap:1.4rem;margin-top:1.8rem;display:flex}.future-project{background:linear-gradient(145deg, var(--surface-dark), #29463a);min-height:100%;color:var(--text-light);place-items:center;display:grid}.future-project-content{padding:clamp(2rem,6vw,4rem)}.future-project .project-type{color:var(--accent-light)}.future-project p{color:#f7f8f4b8}.future-project .future-stack span{border-color:var(--border-light);color:var(--text-light);background:#ffffff14}.about-section{background:var(--background-soft);overflow:hidden}.about-layout{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.about-image-column{position:relative}.about-image-frame{border-radius:48% 48% var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-md);background:#ffffff7a;border:1px solid #ffffffa6;padding:.8rem;overflow:hidden}.about-image-frame img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.8)contrast(1.03);border-radius:46% 46% 1.5rem 1.5rem;width:100%}.about-underline{opacity:.45;width:72%;margin:1.6rem auto 0}.about-content h2{margin-bottom:1.7rem}.about-content>p:not(.eyebrow){max-width:720px;color:var(--text-soft);font-size:1.03rem}.about-actions{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.skills-section{background:var(--surface)}.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.skill-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);transition:transform var(--transition), background-color var(--transition), color var(--transition), box-shadow var(--transition);padding:2rem;position:relative;overflow:hidden}.skill-card:hover{background:var(--surface-dark);color:var(--text-light);box-shadow:var(--shadow-md);transform:translateY(-5px)}.skill-number{color:var(--accent);letter-spacing:.14em;margin-bottom:2.5rem;font-size:.75rem;font-weight:800;display:block}.skill-card h3{margin-bottom:.9rem;font-size:1.45rem}.skill-card p{min-height:7.2rem;color:var(--text-soft);transition:color var(--transition);font-size:.88rem}.skill-card:hover p{color:#f7f8f4ad}.skill-card ul{gap:.55rem;display:grid}.skill-card li{color:var(--text-soft);transition:color var(--transition);padding-left:1rem;font-size:.82rem;font-weight:600;position:relative}.skill-card li:before{content:"";background:var(--accent);border-radius:50%;width:.3rem;height:.3rem;position:absolute;top:.61rem;left:0}.skill-card:hover li{color:var(--text-light)}.certifications-section{background:var(--background)}.certification-list{border-top:1px solid var(--border)}.certification-item{border-bottom:1px solid var(--border);grid-template-columns:120px 1fr;align-items:start;gap:2rem;padding:2rem 0;display:grid}.certification-year{color:var(--accent-dark);letter-spacing:.1em;font-size:.82rem;font-weight:800}.certification-item h3{margin-bottom:.3rem;font-size:clamp(1.2rem,2vw,1.6rem)}.certification-item p{color:var(--text-soft);margin-bottom:0}.contact-section{background:var(--background);padding-top:2rem}.contact-card{isolation:isolate;border-radius:var(--radius-lg);background:radial-gradient(circle at 80% 20%, #c4d8c921, transparent 22rem), var(--surface-dark);min-height:470px;color:var(--text-light);box-shadow:var(--shadow-lg);padding:clamp(2.5rem,8vw,6rem);position:relative;overflow:hidden}.contact-content{z-index:2;max-width:760px;position:relative}.contact-content .eyebrow{color:var(--accent-light)}.contact-content h2{margin-bottom:1.5rem}.contact-content>p:not(.eyebrow){color:#f7f8f4b8;max-width:650px;font-size:1.05rem}.contact-actions{flex-wrap:wrap;align-items:center;gap:1.3rem;margin-top:2rem;display:flex}.contact-email{color:var(--accent-light);font-size:.9rem;font-weight:700}.contact-tree{z-index:1;opacity:.18;width:min(40rem,52vw);position:absolute;bottom:-5rem;right:-5rem}.site-footer{background:var(--background);padding:4rem 0 2rem}.footer-content{border-top:1px solid var(--border);grid-template-columns:1fr auto auto;align-items:end;gap:2.5rem;padding-top:2.5rem;display:grid}.footer-logo{margin-bottom:.9rem}.footer-content>div:first-child p{color:var(--text-soft);margin-bottom:0;font-size:.85rem}.footer-links{gap:1.5rem;display:flex}.copyright{color:var(--text-soft);margin-bottom:0;font-size:.8rem}@media (width<=1020px){.navigation{grid-template-columns:1fr auto}.navigation nav{display:none}.hero-layout,.about-layout{grid-template-columns:1fr}.hero{padding-top:5rem}.hero-content{max-width:850px}.hero-visual{width:min(100%,580px);margin:1rem auto 0}.portrait-frame{margin-inline:auto}.project-card-featured{grid-template-columns:1fr}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-card p{min-height:auto}.about-image-column{width:min(100%,520px);margin-inline:auto}.footer-content{grid-template-columns:1fr auto}.copyright{grid-column:1/-1}}@media (width<=760px){.section{padding:5rem 0}.section-heading{grid-template-columns:1fr;gap:1.2rem;margin-bottom:2.5rem}.navigation{min-height:4.7rem}.logo-text{display:none}.hero{min-height:auto;padding:4.5rem 0 6rem}.hero h1{font-size:clamp(3rem,14vw,5.2rem)}.hero-specialties{gap:.45rem}.hero-tree{width:80vw}.hero-waves{width:90vw}.availability-card{bottom:1.3rem;left:.5rem}.mountain-icon{width:5rem;right:-.6rem}.projects-grid,.skills-grid,.browser-content{grid-template-columns:1fr}.browser-content img{max-width:180px}.project-visual{min-height:270px}.certification-item{grid-template-columns:1fr;gap:.5rem}.contact-card{border-radius:var(--radius-md)}.contact-tree{width:80vw}.footer-content{grid-template-columns:1fr;align-items:start}.footer-links{flex-wrap:wrap}.copyright{grid-column:auto}}@media (width<=480px){.container{width:min(calc(100% - 1.4rem), var(--container-width))}.navigation>.button{padding-inline:.9rem}.hero-actions,.about-actions,.contact-actions{flex-direction:column;align-items:stretch}.hero-actions .button,.about-actions .button,.contact-actions .button{width:100%}.hero-specialties li{font-size:.68rem}.availability-card{margin:-1.5rem auto 0;position:relative;bottom:auto;left:auto}.project-title-row{display:block}.project-status{margin-bottom:1rem;display:inline-block}.contact-email{overflow-wrap:anywhere;text-align:center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
