/* Local fonts and assets; no build tools or runtime dependencies. */
@font-face{font-family:'Bricolage Grotesque';src:url('./assets/fonts/bricolage-grotesque.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('./assets/fonts/inter-variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--paper:#efeee7;--ink:#1b1b1b;--muted:#595951;--white:#fcfbf8;--pink:#ffc5f0;--yellow:#ffe78a;--blue:#9edfff;--green-text:#4c601e;--green-bg:#eaf0c8;--focus:#702880;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--title-card:1.75rem;--radius-card:12px;--radius-control:6px;--radius-label:4px;font-family:'Inter',Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-optical-sizing:auto}
h1,h2,h3,h4,h5,h6{font-family:'Bricolage Grotesque',Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;font-size:var(--text-base);line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:5px}a:hover{text-decoration:underline;text-underline-offset:4px}.container{width:min(70rem,calc(100% - 6rem));margin-inline:auto}.header{background:var(--white)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:var(--text-sm)}.identity{display:grid;gap:0;line-height:1.5}.identity strong{font-size:var(--text-base);font-weight:700}.identity span{color:var(--muted)}nav{display:flex;align-items:center;gap:1.75rem;color:var(--muted)}nav a{display:inline-flex;align-items:center;min-height:44px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:var(--radius-control);background:#272727;color:#fff;padding:.65rem 1rem;font-size:var(--text-sm);font-weight:600;line-height:1.4;text-align:center}.button:hover{background:#474747;text-decoration:none}.hero{padding-top:100px}.portrait-line{display:flex;align-items:center;min-height:137px;gap:16px}.portrait-line img{width:145px;max-width:28%;height:auto;object-fit:contain}.doodle{width:70px;max-width:16%;height:auto}.handwritten{font-family:inherit;font-size:var(--text-lg);font-weight:500;line-height:1.5;display:inline-block}.name-label{background:var(--pink);padding:5px 16px;transform:rotate(-5deg);box-shadow:0 2px 1px #00000012;border-radius:var(--radius-label)}h1{font-family:'Bricolage Grotesque',Arial,sans-serif;font-size:clamp(2.25rem,4.5vw,4rem);line-height:1.08;letter-spacing:-.045em;margin:24px 0 16px;font-weight:750;overflow-wrap:break-word}.subtitle{font-size:var(--text-lg);line-height:1.6;color:var(--muted);margin:0;max-width:60rem}.services-label{margin:56px 0 56px 7px;position:relative}.pink-label{background:var(--pink);padding:4px 15px;transform:rotate(-1deg);border-radius:var(--radius-label)}.curly-arrow{position:absolute;left:0;top:24px;font-size:30px;font-weight:700;-webkit-text-stroke:.6px currentColor;color:var(--muted);transform:rotate(25deg)}.services{display:grid;grid-template-columns:repeat(3,minmax(0,300px));justify-content:space-between;gap:40px;padding:0 10px}.note{min-width:0;min-height:300px;display:flex;align-items:flex-end;padding:22px;border:2px solid;box-shadow:2px 4px 7px #0000000d;border-radius:var(--radius-card);transition:transform .2s}.note:hover{transform:rotate(0deg) translateY(-5px)}.yellow{background:var(--yellow);border-color:#f5cf43;transform:rotate(-4deg)}.blue{background:var(--blue);border-color:#48c0f0;transform:rotate(5deg)}.pink{background:var(--pink);border-color:#ff76db;transform:rotate(-5deg)}.note-content{width:100%}.note-icon{font-size:34px;line-height:1.2;display:block;margin-bottom:10px}.eye{color:#e965d6;text-shadow:1px 1px #171717,-1px -1px #171717;background:#48dae6;border:2px solid #1b1b1b;border-radius:70% 20%;width:1em;height:.8em;transform:rotate(45deg);font-size:30px;line-height:.6;margin:0 0 18px 6px}.sparkle{color:#ef98f5;-webkit-text-stroke:1px #1b1b1b;font-size:44px;line-height:1}.note h2{font-size:1.5rem;line-height:1.15;letter-spacing:-.035em;margin:0 0 12px;font-weight:700;overflow-wrap:break-word}.note p{font-size:var(--text-base);line-height:1.45;margin:0 0 16px}.work{margin-top:160px;margin-bottom:100px}.eyebrow{font-family:inherit;font-size:var(--text-sm);font-weight:600;color:var(--muted);letter-spacing:.08em;margin:0 0 12px;line-height:1.5}.section-title,.about h2{font-size:clamp(2rem,3vw,2.75rem);letter-spacing:-.04em;margin:0 0 24px;line-height:1.15;font-weight:700}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project{min-width:0;background:var(--white);border:1px solid #deddd7;border-radius:var(--radius-card);overflow:hidden;box-shadow:0 3px 7px #00000008;scroll-margin-top:30px}.featured{grid-column:1/-1}.project-open{padding:0;border:0;background:none;width:100%;text-align:left;display:block;height:100%}.project:focus-within{outline:3px solid var(--focus);outline-offset:5px}.project-open:focus-visible{outline:3px solid var(--focus);outline-offset:-5px}.project-open:hover img{filter:brightness(1.04)}.project img{width:100%;height:auto;aspect-ratio:1.61;object-fit:cover;display:block}.featured img{aspect-ratio:2.61;object-position:center}.project-info{padding:26px;min-height:190px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tags span{font-family:inherit;font-size:var(--text-sm);font-weight:500;line-height:1.5;background:#e8e7e3;color:var(--muted);padding:3px 7px;border-radius:var(--radius-label)}h3{font-size:var(--title-card);line-height:1.2;letter-spacing:-.035em;margin:14px 0;font-weight:700}.project-info p{font-size:var(--text-base);line-height:1.6;color:var(--muted);margin:0}.about{border-top:1px solid #deddd7;padding:100px 0}.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10%}.about h2{margin:20px 0}.bio{font-size:var(--text-base);color:var(--muted);line-height:1.7;margin:0}.principles{padding-top:42px}.yellow-label{background:var(--yellow);padding:6px 16px}.principles ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}.principles li{padding:16px;background:var(--green-bg);border:1px solid #d5dfa9;border-radius:var(--radius-card);font-size:var(--text-base);color:var(--green-text);line-height:1.5;display:flex;gap:12px}.principles li:before{content:'☑';flex-shrink:0}.principles li:last-child{background:transparent;border-color:#d4d3ca;color:var(--muted)}
/* Footer uses three explicit columns: navigation stays centered independently. */
footer{background:var(--white);border-top:1px solid #deddd7;padding:24px 0;font-size:var(--text-sm);color:var(--muted)}.footer-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;min-height:48px}.footer-inner nav{grid-column:2;justify-content:center;gap:28px}.footer-inner>span{grid-column:3;justify-self:end;white-space:nowrap}.footer-inner nav button{border:0;min-height:44px;min-width:44px;padding:0;background:none;color:inherit;font-size:inherit}.footer-inner nav button:hover{text-decoration:underline;text-underline-offset:4px}.skip{position:fixed;left:10px;top:-100px;background:var(--white);color:var(--ink);padding:12px;z-index:10}.skip:focus{top:10px}dialog{border:1px solid #d7d4ca;border-radius:var(--radius-card);padding:40px;max-width:520px;width:calc(100% - 40px);max-height:calc(100dvh - 40px);overflow:auto;background:var(--white);color:var(--ink);font-size:var(--text-base)}dialog::backdrop{background:#1b1b1b70}dialog h2{font-size:2rem;line-height:1.2;letter-spacing:-.035em}dialog p{line-height:1.65}.close{position:absolute;right:10px;top:5px;min-height:44px;min-width:44px;border:0;background:none;font-size:28px}.pending{color:var(--muted);border-top:1px solid #ddd;padding-top:18px;font-size:var(--text-sm)}
@media(max-width:1000px){.container{width:calc(100% - 64px)}.hero{padding-top:70px}.services{gap:28px}.note{padding:24px 18px}.about-grid{gap:6%}.note h2{font-size:1.5rem}.footer-inner{grid-template-columns:1fr auto}.footer-inner nav{grid-column:1;justify-content:flex-start}.footer-inner>span{grid-column:2}}
@media(max-width:740px){.container{width:calc(100% - 40px)}.header-inner{padding-block:16px;min-height:88px;flex-wrap:wrap;gap:12px 20px}.header nav{gap:18px}.header .talk{margin-left:auto}.hero{padding-top:48px}.portrait-line{min-height:100px}.portrait-line img{width:110px}h1{font-size:clamp(2.25rem,7.5vw,3.25rem)}.subtitle{font-size:1.125rem}.services-label{margin:36px 0 44px}.services{grid-template-columns:minmax(0,420px);justify-content:center;gap:32px;padding:0 10px}.note{min-height:0;padding:24px;transform:rotate(-2deg)}.blue{transform:rotate(2deg)}.note h2{font-size:1.5rem}.note p{max-width:34rem}.work{margin-top:90px;margin-bottom:60px}.projects{grid-template-columns:1fr}.featured{grid-column:auto}.featured img{aspect-ratio:1.61}.project-info{min-height:180px;padding:24px}.about{padding:60px 0}.about-grid{grid-template-columns:1fr;gap:32px}.principles{padding:0}.footer-inner{display:flex;flex-direction:column;justify-content:center;gap:12px}.footer-inner nav{justify-content:center;flex-wrap:wrap;gap:28px}.footer-inner>span{white-space:normal;text-align:center}footer{padding:24px 0}dialog{padding:40px 24px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
