:root{--black:#080909;--panel:#101212;--panel-2:#151818;--line:#282d2d;--white:#f3f5f2;--muted:#9ba6a3;--teal:#21cfc0;--pink:#bd175a;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1120px,calc(100% - 56px));margin-inline:auto}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.brand{font-size:1.25rem;font-weight:800;letter-spacing:-.1em}.brand span{color:var(--teal)}.nav-links{display:flex;gap:30px;color:var(--muted);font-size:.76rem}.nav-links a{padding:7px 0;border-bottom:1px solid transparent}.nav-links a:hover,.nav-links a.active{color:var(--white);border-color:var(--teal)}.header-email{border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--white);padding:9px 13px;font:11px var(--mono)}.header-email span,.button span,.quiet-link span,.email-link span{color:var(--teal)}.owner-button{cursor:pointer}.hero{min-height:610px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.55fr);gap:100px;align-items:center;padding:98px 0 112px}.eyebrow,.project-kicker,.section-label,.project-count,.note-index,.label-hint{font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}.eyebrow{color:var(--teal);display:flex;align-items:center;gap:10px}.eyebrow-line{width:27px;height:1px;background:var(--teal);display:inline-block}.hero h1,.projects-hero h1{font-size:clamp(2.9rem,5.2vw,5rem);line-height:1.05;letter-spacing:-.07em;max-width:780px;margin:22px 0}.hero h1 span,.projects-hero h1 span{color:var(--teal)}.hero-lede{color:var(--muted);max-width:590px;font-size:1rem}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:33px}.button{border:0;border-radius:2px;padding:13px 17px;font-weight:700;font-size:.73rem;display:inline-flex;gap:14px;align-items:center}.button-primary{background:var(--teal);color:var(--black)}.button-primary:hover{background:var(--white)}.quiet-link{font-size:.74rem;color:var(--white);border-bottom:1px solid var(--line);padding-bottom:4px}.quiet-link:hover{border-color:var(--teal)}.hero-note{border-left:1px solid var(--line);padding:14px 0 14px 31px}.note-index{color:var(--pink)}.note-rule{height:1px;background:var(--line);margin:22px 0 34px}.quote{font:italic 1.6rem var(--serif);margin:0 0 5px}.quote-translation{font:italic .85rem var(--serif);color:var(--muted);margin:0}.note-small{color:var(--muted);font-size:.8rem;margin:55px 0 0;max-width:250px}.section{border-top:1px solid var(--line);padding:82px 0}.two-column{display:grid;grid-template-columns:155px 1fr;gap:65px}.section-label{color:var(--teal);padding-top:7px}.section-main h2,.featured-card h2,.email-panel h2{font-size:clamp(1.8rem,3.3vw,3.35rem);line-height:1.08;letter-spacing:-.065em;margin:0;max-width:700px}.copy-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px;max-width:780px;margin-top:32px}.copy-columns p{color:var(--muted);font-size:.87rem;margin:0}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:35px}.skill-grid article{background:var(--black);min-height:188px;padding:22px}.skill-grid h3{font-size:.82rem;margin:0 0 20px;color:var(--white)}.skill-grid p{font:12px/2 var(--mono);color:var(--muted);margin:0}.skill-muted{color:var(--pink)}.featured{padding-top:0;border-top:0}.featured>.section-label{display:block;border-top:1px solid var(--line);padding-top:30px}.featured-card{background:var(--panel);border:1px solid var(--line);padding:43px 47px;display:flex;justify-content:space-between;gap:40px;margin-top:20px}.featured-card h2{margin:8px 0 12px}.featured-card>div:first-child>p:not(.project-kicker){color:var(--muted);max-width:600px;font-size:.86rem}.light-link{display:inline-block;margin-top:20px}.featured-mark{font:3rem var(--mono);color:var(--pink);align-self:flex-end;white-space:nowrap}.featured-mark span{color:var(--teal);font-size:1.4rem}.email-section{padding-top:0;border-top:0}.email-panel{border-top:1px solid var(--line);padding-top:30px;display:grid;grid-template-columns:155px 1fr;gap:65px}.email-panel h2{font-size:clamp(1.8rem,3vw,3rem)}.email-link{display:inline-block;color:var(--teal);font:14px var(--mono);margin-top:28px;border-bottom:1px solid var(--teal);padding-bottom:5px}.site-footer{border-top:1px solid var(--line);padding:25px 0 40px;display:flex;justify-content:space-between;color:var(--muted);font:10px var(--mono)}.site-footer a:hover{color:var(--teal)}.projects-hero{padding:105px 0 70px}.projects-hero h1{margin:20px 0 16px;max-width:700px}.projects-hero .hero-lede{max-width:420px;margin:0}.projects-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;display:flex;align-items:center}.project-count{color:var(--muted);margin-right:auto}.small-button{padding:10px 14px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border-left:1px solid var(--line);border-right:1px solid var(--line);margin-top:38px}.project-card{background:var(--black);min-height:290px;padding:28px;display:flex;flex-direction:column}.project-card:hover{background:var(--panel)}.project-card-top{display:flex;justify-content:space-between;gap:12px}.project-kicker{color:var(--pink)}.project-card h2{font-size:1.55rem;letter-spacing:-.05em;margin:18px 0 8px}.project-card p{color:var(--muted);font-size:.84rem;max-width:500px}.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:24px}.project-tags span{border:1px solid var(--line);color:var(--muted);font:10px var(--mono);padding:5px 7px}.project-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.project-link,.delete-project{font:10px var(--mono)}.project-link{color:var(--teal);border-bottom:1px solid var(--teal)}.delete-project{background:none;border:0;color:var(--muted);padding:0}.delete-project:hover{color:var(--pink)}.project-note{display:flex;gap:18px;border-top:1px solid var(--line);padding:34px 0 85px;color:var(--muted);max-width:800px}.project-note strong{color:var(--white);font-size:.83rem}.project-note p{font-size:.8rem;margin:5px 0 12px}.text-button{background:none;border:0;color:var(--teal);font:10px var(--mono);padding:0 18px 0 0}.project-dialog{border:1px solid var(--line);border-radius:2px;padding:0;max-width:560px;width:calc(100% - 32px);background:var(--panel);color:var(--white)}.project-dialog::backdrop{background:#000b}.project-dialog form{padding:32px}.dialog-head{display:flex;justify-content:space-between;margin-bottom:22px}.dialog-head h2{margin:4px 0;font-size:1.8rem;letter-spacing:-.05em}.icon-button{background:none;border:0;color:var(--muted);font-size:1.7rem}.project-dialog label{display:block;font-size:.72rem;margin-top:15px}.project-dialog input,.project-dialog textarea{display:block;width:100%;border:1px solid var(--line);background:var(--black);color:var(--white);border-radius:2px;padding:10px 11px;margin-top:6px;font-size:.8rem;outline-color:var(--teal)}.project-dialog textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.button-ghost{background:transparent;color:var(--white);border:1px solid var(--line)}@media(max-width:760px){.wrap{width:min(100% - 34px,1120px)}.site-header{height:75px}.nav-links{gap:14px;font-size:.68rem}.header-email{display:none}.hero{display:block;padding:70px 0 80px}.hero-note{margin-top:75px;max-width:370px}.two-column,.email-panel{grid-template-columns:1fr;gap:25px}.section{padding:60px 0}.copy-columns,.skill-grid{grid-template-columns:1fr}.skill-grid{gap:1px}.skill-grid article{min-height:auto}.featured-card{display:block;padding:30px}.featured-mark{margin-top:45px}.project-grid{grid-template-columns:1fr}.projects-hero{padding:70px 0 55px}.form-row{grid-template-columns:1fr}.site-footer{display:grid;gap:12px}}
