*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--oak-dark:#2c1810;--oak-mid:#6b3f2a;--forest:#2d5a3d;--sage:#4a8c5c;--linen:#f5f0e8;--linen-dim:#e8e0d0;--muted:#c8b89a;--serif:"Cormorant Garamond", Georgia, serif;--mono:"DM Mono", "Courier New", monospace;--sans:"Instrument Sans", system-ui, sans-serif}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--linen);color:var(--oak-mid);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}section{position:relative;overflow:hidden}.nav{z-index:100;-webkit-backdrop-filter:blur(8px);background:#2c1810d1;border-bottom:.5px solid #4a8c5c26;justify-content:space-between;align-items:center;padding:16px 48px;transition:background .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{width:auto;height:44px;display:block}.nav-links{gap:32px;list-style:none;display:flex}.nav-links a{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--sage)}.hero{height:100vh;display:flex;position:relative;overflow:hidden}.hero-half{flex:1;justify-content:center;align-items:center;padding:0 80px;transition:background .4s;display:flex}.hero-left{background:var(--oak-dark)}.hero-right{background:var(--linen)}.hero-left:hover{background:var(--forest)}.hero-right:hover{background:var(--oak-mid)}.hero-content{max-width:280px}.hero-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px;font-size:10px;display:block}.hero-left .hero-label{color:var(--sage)}.hero-right .hero-label{color:var(--forest)}.hero-heading{font-family:var(--serif);margin-bottom:20px;font-size:clamp(52px,6vw,80px);font-weight:300;line-height:1;transition:color .4s}.hero-left .hero-heading{color:var(--linen)}.hero-right .hero-heading{color:var(--oak-dark)}.hero-right:hover .hero-heading{color:var(--linen)}.hero-sub{font-size:13px;line-height:1.8;transition:color .4s}.hero-left .hero-sub{color:var(--muted)}.hero-right .hero-sub{color:var(--oak-mid)}.hero-left:hover .hero-sub{color:#a8c8b0}.hero-right:hover .hero-sub{color:var(--muted)}.hero-line{pointer-events:none;z-index:1;background:#ffffff26;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.hero-avatar{border:2px solid var(--sage);pointer-events:none;z-index:3;border-radius:50%;width:160px;height:160px;transition:border-color .4s;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 0 8px #2c18104d}.avatar-logo{width:100%;height:100%;display:block}.hero-green-line{background:var(--sage);pointer-events:none;z-index:2;width:2px;height:0;transition:height .4s;position:absolute;top:calc(50% + 80px);left:calc(50% - 1px)}.hero:has(.hero-left:hover) .hero-green-line{height:calc(50% - 80px)}.hero:has(.hero-right:hover) .hero-avatar{border-color:var(--oak-mid)}.hero-scroll{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.14em;white-space:nowrap;pointer-events:none;z-index:4;font-size:9px;animation:2s ease-in-out infinite pulse;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.about{grid-template-columns:300px 1fr;min-height:540px;display:grid}.about-sidebar{background:var(--oak-mid);flex-direction:column;justify-content:space-between;padding:64px 40px;display:flex}.about-sidebar-label{font-family:var(--mono);color:#f5f0e866;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.about-sidebar-heading{font-family:var(--serif);color:var(--linen);font-size:52px;font-weight:300;line-height:1.1}.about-content{background:var(--linen);padding:80px 64px}.about-text{color:var(--oak-mid);max-width:560px;margin-bottom:40px;font-size:15px;line-height:1.9}.about-text p+p{margin-top:24px}.about-text strong{color:var(--oak-dark);font-weight:500}.about-tags{flex-wrap:wrap;gap:8px;display:flex}.about-tag{font-family:var(--mono);color:var(--forest);border:.5px solid var(--forest);text-transform:uppercase;letter-spacing:.04em;cursor:default;padding:6px 14px;font-size:10px;transition:background .2s,color .2s}.about-tag:hover{background:var(--forest);color:var(--linen)}.skills{background:var(--oak-dark);padding:80px 48px}.skills-header{justify-content:space-between;align-items:baseline;margin-bottom:56px;display:flex}.skills-title{font-family:var(--serif);color:var(--linen);font-size:52px;font-weight:300}.skills-number{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:10px}.skills-grid{background:#ffffff0f;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.skill-card{background:var(--oak-dark);padding:32px;transition:background .2s;position:relative;overflow:hidden}.skill-card:before{content:"";background:var(--sage);width:2px;height:0;transition:height .3s;position:absolute;top:0;left:0}.skill-card:hover{background:#3a1f12}.skill-card:hover:before{height:100%}.skill-badge{font-family:var(--mono);color:var(--sage);text-transform:uppercase;letter-spacing:.1em;font-size:9px;position:absolute;top:32px;right:32px}.skill-name{font-family:var(--serif);color:var(--linen);margin-bottom:12px;font-size:22px;font-weight:400}.skill-desc{color:var(--muted);font-size:11px;line-height:1.7}.experience{background:var(--linen);padding:80px 48px}.experience-title{font-family:var(--serif);color:var(--oak-dark);margin-bottom:56px;font-size:52px;font-weight:300}.exp-item{border-top:.5px solid var(--linen-dim);grid-template-columns:180px 1fr;gap:40px;padding:36px 0;display:grid}.exp-item:last-child{border-bottom:.5px solid var(--linen-dim)}.exp-year{font-family:var(--mono);color:var(--muted);letter-spacing:.1em;padding-top:6px;font-size:10px}.exp-role{font-family:var(--serif);color:var(--oak-dark);margin-bottom:8px;font-size:26px;font-weight:400}.exp-company{font-family:var(--mono);color:var(--forest);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:11px}.exp-detail{color:var(--oak-mid);font-size:12px;line-height:1.8}.contact{background:var(--forest);grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding:80px 48px;display:grid}.contact-heading{font-family:var(--serif);color:var(--linen);margin-bottom:24px;font-size:64px;font-weight:300;line-height:1.05}.contact-text{color:#f5f0e8b3;max-width:340px;font-size:13px;line-height:1.8}.contact-rows{flex-direction:column;gap:16px;display:flex}.contact-row{border:.5px solid #f5f0e833;justify-content:space-between;align-items:center;padding:20px 24px;transition:background .2s,border-color .2s;display:flex}.contact-row:hover{background:#f5f0e814;border-color:#f5f0e866}.contact-row-label{font-family:var(--mono);color:var(--linen);text-transform:uppercase;letter-spacing:.12em;font-size:10px}.contact-row-value{color:#f5f0e899;font-size:13px}.footer{background:var(--oak-dark);justify-content:space-between;align-items:center;padding:24px 48px;display:flex}.footer-logo{opacity:.85;width:auto;height:32px;display:block}.footer-copy{font-family:var(--mono);color:#c8b89a80;font-size:10px}@media (width<=900px){.nav{padding:16px 24px}.nav-links{gap:20px}.hero-half{padding:0 40px}.about{grid-template-columns:1fr}.about-sidebar{flex-direction:row;align-items:center;min-height:auto;padding:40px 32px}.about-sidebar-heading{font-size:36px}.about-content{padding:48px 32px}.skills{padding:60px 24px}.skills-grid{grid-template-columns:1fr 1fr}.experience{padding:60px 24px}.contact{grid-template-columns:1fr;padding:60px 24px}.contact-heading{font-size:44px}.footer{padding:20px 24px}}@media (width<=600px){.hero{flex-direction:column}.hero-half{width:100%;min-height:50vh;padding:0 32px}.hero-line,.hero-avatar,.hero-green-line{display:none}.skills-grid{grid-template-columns:1fr}.exp-item{grid-template-columns:1fr;gap:8px}.exp-year{padding-top:0}.footer{text-align:center;flex-direction:column;gap:8px}}
