*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#faf8f3;--bg2:#2c2618;--ink:#f0ece4;--ink2:#c8bfb0;--muted:#8a8272;--accent:#e8713a;--accent2:#5aab8c;--accent3:#d4a853;--border:#ffffff26;--font-display:"Playfair Display", serif;--font-body:"Outfit", sans-serif;--font-italic:"Cormorant Garamond", serif}html{scroll-behavior:smooth}body{color:var(--ink);font-family:var(--font-body);background:0 0;font-size:15px;line-height:1.7;overflow-x:hidden}#app{z-index:0;pointer-events:none;position:fixed;inset:0}nav,.about-strip,section,footer{z-index:1;position:relative}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border)}nav{z-index:100;justify-content:space-between;align-items:center;padding:1.75rem 4rem;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{font-family:var(--font-display);color:var(--ink);font-size:1.3rem;font-style:italic;text-decoration:none}.nav-links{gap:2.5rem;list-style:none;display:flex}.nav-links a{letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);font-size:12px;text-decoration:none;transition:color .2s;position:relative}.nav-links a:after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .3s;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.nav-links a:hover{color:var(--accent)}.nav-links a:hover:after{transform-origin:0;transform:scaleX(1)}#hero{flex-direction:column;justify-content:flex-end;min-height:100vh;padding:0 4rem 5rem;display:flex;position:relative;overflow:hidden}@keyframes drift1{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(30px,20px)rotate(10deg)}}@keyframes drift2{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(-20px,30px)rotate(-8deg)}}.hero-overline{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);opacity:0;align-items:center;gap:1rem;margin-bottom:1.5rem;font-size:11px;animation:.8s .3s forwards slideRight;display:flex}.hero-overline:before{content:"";background:var(--muted);width:32px;height:1px;display:block}.hero-name{font-family:var(--font-display);letter-spacing:-.03em;opacity:0;z-index:1;font-size:clamp(5rem,13vw,14rem);font-weight:700;line-height:.9;animation:.9s .4s forwards slideRight;position:relative}.hero-name .last{color:var(--accent);font-style:italic}.hero-bottom{opacity:0;justify-content:space-between;align-items:flex-end;margin-top:2rem;animation:1s .9s forwards fadeInAnim;display:flex}.hero-desc{max-width:340px;color:var(--ink2);font-weight:300;line-height:1.8}.hero-desc strong{color:var(--ink);font-weight:500}.hero-scroll-hint{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.75rem;font-size:11px;display:flex}.scroll-line{background:var(--border);transform-origin:top;width:1px;height:50px;margin:.75rem auto 0;animation:1.5s 1.5s forwards grow;transform:scaleY(0)}@keyframes grow{to{transform:scaleY(1)}}.about-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);align-items:center;gap:5rem;padding:3rem 4rem;display:flex}.about-quote{font-family:var(--font-italic);color:var(--ink2);flex:1;max-width:560px;font-size:1.4rem;font-style:italic;line-height:1.5}.about-quote em{color:var(--accent);font-style:normal;font-family:var(--font-display)}.about-meta{flex-direction:column;gap:1.5rem;min-width:200px;display:flex}.about-meta-item label{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem;font-size:10px;display:block}.about-meta-item span{color:var(--ink);font-size:14px}section{padding:6rem 4rem}.section-label{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);align-items:center;gap:1.25rem;margin-bottom:3.5rem;font-size:10px;display:flex}.section-label span{border:1px solid var(--border);text-align:center;width:24px;height:24px;line-height:22px;font-family:var(--font-display);color:var(--accent);border-radius:50%;font-size:11px;font-style:italic;display:inline-block}.section-label:after{content:"";background:var(--border);flex:1;height:1px}.project-row{border-bottom:1px solid var(--border);cursor:none;grid-template-columns:60px 1fr 220px;align-items:start;gap:2.5rem;padding:2.5rem 0;display:grid;position:relative}.project-row:first-of-type{border-top:1px solid var(--border)}.project-row:before{content:"";background:var(--bg2);opacity:0;margin:0 -4rem;transition:opacity .3s;position:absolute;inset:0}.project-row:hover:before{opacity:0}.project-row:hover{cursor:pointer}.project-row:hover .proj-title{color:var(--accent)}.proj-index{font-family:var(--font-display);color:var(--muted);z-index:1;padding-top:.2rem;font-size:1rem;font-style:italic;position:relative}.proj-body{z-index:1;position:relative}.proj-title{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.6rem;font-weight:700;line-height:1.2;transition:color .3s}.proj-desc{color:var(--ink2);max-width:520px;margin-bottom:1rem;font-weight:300;line-height:1.7}.proj-tags{flex-wrap:wrap;gap:.4rem;display:flex}.proj-tag{border:1px solid var(--border);color:var(--muted);letter-spacing:.04em;border-radius:99px;padding:.2rem .7rem;font-size:11px}.proj-side{z-index:1;text-align:right;padding-top:.2rem;position:relative}.proj-year{font-family:var(--font-display);color:var(--muted);margin-bottom:1rem;font-size:.85rem;font-style:italic;display:block}.proj-link{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid;align-items:center;gap:.4rem;padding-bottom:1px;font-size:11px;text-decoration:none;transition:gap .2s;display:inline-flex}.proj-link:hover{gap:.8rem}.proj-featured-banner{letter-spacing:.15em;text-transform:uppercase;color:var(--accent2);align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:10px;display:inline-flex}.proj-featured-banner:before{content:"★";font-size:9px}.skills-columns{grid-template-columns:repeat(3,1fr);gap:4rem;display:grid}.skill-group h3{font-family:var(--font-display);color:var(--ink);margin-bottom:1.25rem;font-size:1.25rem;font-style:italic}.skill-list{flex-direction:column;gap:.4rem;list-style:none;display:flex}.skill-list li{color:var(--ink2);align-items:center;gap:.75rem;font-size:13px;font-weight:300;transition:color .2s;display:flex}.skill-list li:before{content:"—";color:var(--border);flex-shrink:0;transition:color .2s}.skill-list li:hover:before{color:var(--accent)}.skill-list li:hover{color:var(--ink)}.exp-entry{border-bottom:1px solid var(--border);grid-template-columns:200px 1fr;gap:3rem;padding:2.5rem 0;display:grid}.exp-entry:first-of-type{border-top:1px solid var(--border)}.exp-date{font-family:var(--font-display);color:var(--muted);margin-bottom:.5rem;font-size:.9rem;font-style:italic;display:block}.exp-company{color:var(--ink);font-size:.9rem;font-weight:500}.exp-role{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:.6rem;font-size:1.3rem;font-weight:700}.exp-desc{color:var(--ink2);font-weight:300;line-height:1.8}.exp-highlights{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.exp-highlight{color:var(--accent2);letter-spacing:.06em;background:#3a6b5c14;border-radius:3px;padding:.2rem .65rem;font-size:11px}#contact{padding:7rem 4rem;position:relative;overflow:hidden}#contact .section-label{color:#ffffff4d}#contact .section-label:after{background:#ffffff1a}.contact-grid{grid-template-columns:1fr 1fr;align-items:center;gap:6rem;display:grid}.contact-headline{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(2.5rem,5vw,5.5rem);font-weight:700;line-height:.95}.contact-headline em{color:var(--accent3);font-style:italic;display:block}.contact-sub{color:#faf8f380;max-width:320px;margin-top:1.5rem;font-weight:300;line-height:1.8}.contact-links{flex-direction:column;display:flex}.contact-link{color:var(--bg);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1.4rem 0;text-decoration:none;transition:padding-left .3s;display:flex}.contact-link:first-child{border-top:1px solid #ffffff14}.contact-link:hover{padding-left:.5rem}.contact-link:hover .cl-label{color:var(--accent3)}.cl-label{font-family:var(--font-display);font-size:1.15rem;font-weight:700;transition:color .2s}.cl-handle{color:#faf8f359;letter-spacing:.06em;font-size:12px}.cl-arrow{color:#faf8f333;font-size:1.1rem;transition:transform .2s,color .2s}.contact-link:hover .cl-arrow{color:var(--accent3);transform:translate(4px,-4px)}.contact-deco{pointer-events:none;border:1px solid #ffffff0a;border-radius:50%;width:400px;height:400px;position:absolute;bottom:-80px;right:-80px}.contact-deco:before{content:"";border:1px solid #ffffff0a;border-radius:50%;position:absolute;inset:40px}footer{color:#faf8f34d;letter-spacing:.1em;border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:1.5rem 4rem;font-size:11px;display:flex}footer a{color:inherit;text-decoration:none;transition:color .2s}footer a:hover{color:var(--accent3)}@keyframes slideRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInAnim{0%{opacity:0}to{opacity:1}}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(28px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}@media (width<=900px){nav{padding:1.5rem 2rem}.nav-links{display:none}#hero,section{padding-left:2rem;padding-right:2rem}#hero{padding-bottom:4rem}.about-strip{flex-direction:column;gap:2rem;padding:2.5rem 2rem}.skills-columns{grid-template-columns:1fr 1fr;gap:2.5rem}.project-row{grid-template-columns:40px 1fr}.proj-side{display:none}.exp-entry{grid-template-columns:1fr;gap:.5rem}.contact-grid{grid-template-columns:1fr;gap:3rem}footer{text-align:center;flex-direction:column;gap:.5rem}}
