:root{color-scheme:light;--bg:#fff;--ink:#292b2e;--muted:#62656a;--line:#e6e6e6;--surface:#f7f7f7;--accent:#bd4e43;--accent-fill:#eb887b;--focus:#2157b3}
:root[data-theme=dark]{color-scheme:dark;--bg:#181b20;--ink:#f4f3ef;--muted:#b8bcc2;--line:#373d45;--surface:#22272e;--accent:#ffac9f;--accent-fill:#eb887b;--focus:#a1c0ff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:6px}button{background:transparent;border:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}p+p{margin-top:1rem}.site-shell{max-width:1180px;margin:auto;padding:0 48px}.site-header{display:flex;align-items:center;gap:28px;padding:32px 0}.monogram{font-size:1.5rem;letter-spacing:-.08em;font-weight:800;white-space:nowrap}.monogram span{color:var(--accent);padding:0 3px}.header-name{font-size:.875rem;color:var(--muted)}nav{display:flex;gap:30px;margin-left:auto}nav a{font-size:.9375rem;padding:8px 0}nav a:hover,footer a:hover{color:var(--accent)}.theme-toggle{width:44px;height:44px;font-size:1.6rem;border:1px solid var(--line);border-radius:50%}.theme-toggle:hover{background:var(--surface)}.js-control{display:none}.js-ready .js-control{display:block}.menu-toggle{display:none!important}.hero{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:40px;min-height:625px;padding:45px 44px 75px}.hello{display:inline-block;background:var(--ink);color:var(--bg);font-size:.875rem;padding:6px 12px;position:relative;margin-bottom:27px}.hello:after{content:"";position:absolute;bottom:-6px;right:12px;border:6px solid transparent;border-top-color:var(--ink);border-bottom:0}h1{font-size:clamp(3rem,5.7vw,4.8rem);font-weight:800;letter-spacing:-.06em}.name-dot{color:var(--accent)}.eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.065em;text-transform:uppercase}.hero .eyebrow{margin-top:22px}.intro{color:var(--muted);margin-top:24px;font-size:1.0625rem;line-height:1.6}.work-link{display:flex;justify-content:center;align-items:center;gap:12px;width:116px;height:116px;border-radius:50%;background:var(--accent-fill);color:#292326;margin-top:28px;line-height:1.15;font-size:.9375rem;box-shadow:inset 0 0 0 8px #ffffff25;transition:transform .2s,box-shadow .2s}.work-link:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 12px #ffffff25}.work-link>span:last-child{font-size:1.4rem}.portrait{width:100%;position:relative}.portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;image-rendering:pixelated;background:#fff}.portrait figcaption{display:flex;align-items:center;justify-content:center;gap:9px;font-family:Consolas,monospace;font-size:.875rem;color:var(--muted);margin-top:16px}.pixel-dot{width:7px;height:7px;background:var(--accent)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.section-heading .eyebrow,.about-section .eyebrow{margin-bottom:12px;color:var(--accent)}h2{font-size:clamp(2rem,3.2vw,2.7rem);font-weight:700}.section-note{font-size:.9375rem;color:var(--muted)}.work-section{padding:40px 44px 72px}.project{display:grid;grid-template-columns:60px 1fr;gap:24px;padding:32px;background:var(--surface);border-top:2px solid var(--ink)}.project-number{font-family:Consolas,monospace;font-size:.9375rem;color:var(--muted);padding-top:2px}.project-type{font-size:.875rem;color:var(--muted);margin-bottom:12px}h3{font-size:clamp(1.4rem,2.6vw,2rem);overflow-wrap:anywhere}.project-content>p:not(.project-type){margin-top:16px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:22px 0}.tags li{font-size:.875rem;border:1px solid var(--line);padding:3px 10px}details{border-top:1px solid var(--line);margin-top:24px}summary{cursor:pointer;list-style:none;padding:18px 0 0;font-size:.9375rem;font-weight:600;display:flex;justify-content:space-between;align-items:center}summary::-webkit-details-marker{display:none}summary span{font-size:1.4rem;line-height:1}details[open] summary span[aria-hidden="true"]{transform:rotate(45deg)}.detail-body{padding-top:20px;color:var(--muted)}.about-section{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;border-top:1px solid var(--line);padding:60px 44px 80px}.about-copy>p:first-child{font-size:1.25rem;color:var(--ink)}.about-copy{color:var(--muted)}.name-note{font-size:.875rem}footer{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:25px 0 35px;font-size:.875rem;color:var(--muted)}.skip{position:absolute;left:12px;top:-100px;padding:8px 14px;background:var(--ink);color:var(--bg);z-index:10}.skip:focus{top:12px}
@media(min-width:1500px){.hero{min-height:680px}}
@media(max-width:850px){.site-shell{padding:0 28px}.hero{gap:24px;padding:40px 0 65px;min-height:580px}.work-section{padding:20px 0 55px}.about-section{padding:45px 0 60px;gap:30px}.header-name{display:none}}
@media(max-width:580px){.site-shell{padding:0 22px}.site-header{padding:18px 0;gap:18px;flex-wrap:wrap}.monogram{margin-right:auto}.theme-toggle{width:40px;height:40px}.js-ready .menu-toggle{display:block!important;padding:8px 0}nav{gap:20px;margin-left:0}.js-ready nav{display:none;order:5;flex-basis:100%;padding:12px 0;border-top:1px solid var(--line)}.js-ready nav.is-open{display:flex}.hero{grid-template-columns:1fr;gap:28px;padding:36px 0 52px;min-height:0}.hero-copy{position:relative}.hello{margin-bottom:22px}h1{font-size:3.6rem}.hero .eyebrow{margin-top:20px}.intro{max-width:65%;font-size:1rem}.work-link{position:absolute;right:0;bottom:0;width:96px;height:96px;font-size:.875rem;gap:4px;margin:0}.portrait{max-width:340px;margin:0 auto}.portrait figcaption{margin-top:6px}.section-note{display:none}.section-heading{margin-bottom:24px}.project{grid-template-columns:1fr;gap:14px;padding:24px}.project-number{display:none}.about-section{grid-template-columns:1fr;gap:26px}.about-section h2 br{display:none}footer{font-size:.875rem;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Soft corners preserve the existing layout and palette. */
.portrait img{border-radius:28px}.project{border-radius:18px}.hello{border-radius:5px}.tags li{border-radius:6px}
/* Clip at the artwork edges inside the PNG's white margin. */
.portrait img{clip-path:inset(0 3.8% 2.6% round 28px)}
.hero-about{margin-top:26px;max-width:42ch;color:var(--muted);font-size:1rem;line-height:1.7}.hero-about p+p{margin-top:16px}
.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-shell>main{flex:1}.inner-page{padding-top:55px}.inner-page h1{font-size:clamp(2rem,3.2vw,2.7rem);letter-spacing:-.045em}.inner-page .about-section{border-top:0}.project{grid-template-columns:1fr}nav a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:7px}@media(max-width:580px){.inner-page{padding-top:24px}}
.hero-about a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}.hero-about a:hover{color:var(--accent);text-decoration-thickness:2px}
/* Flexible sizing for narrow screens, landscape, and enlarged text. */
.site-shell{width:100%;min-height:100svh;padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}.site-header{flex-wrap:wrap}.monogram,nav a{display:inline-flex;align-items:center;min-height:44px}.monogram{min-width:44px}.theme-toggle,.menu-toggle{min-width:44px;min-height:44px;flex-shrink:0}nav{flex-wrap:wrap}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}.hero-copy,.portrait,.project-content,.about-copy{min-width:0}.hero-about,.detail-body,.about-copy{overflow-wrap:anywhere}summary{min-height:44px;gap:16px}summary span{flex-shrink:0}footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}
@media(min-width:851px){.site-shell{padding-left:48px;padding-right:48px}}
@media(max-width:700px){.hero{grid-template-columns:minmax(0,1fr);min-height:0;padding:28px 0 36px;gap:28px}.portrait{max-width:340px;margin:0 auto}.hero h1{font-size:clamp(2.5rem,10vw,3.6rem);overflow-wrap:anywhere}.hero-about{max-width:100%}.about-section{grid-template-columns:minmax(0,1fr);gap:26px}.inner-page h1{overflow-wrap:anywhere}.section-heading{flex-wrap:wrap}}
@media(max-width:360px){.site-shell{padding-left:16px;padding-right:16px}.site-header{gap:12px}.project{padding:18px}}
.monogram .name-dot{padding:0;color:var(--accent)}footer{justify-content:center;text-align:center}
.contact-section,.creative-section{padding:40px 44px 72px}.contact-section>.eyebrow,.creative-section .eyebrow{color:var(--accent);margin-bottom:12px}.contact-intro{max-width:48ch;color:var(--muted);margin-top:24px}.contact-links{max-width:680px;margin-top:36px}.contact-links a{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px 0;border-top:1px solid var(--line)}.contact-links a:hover strong{color:var(--accent)}.contact-links strong{font-size:1rem;overflow-wrap:anywhere;font-weight:500}.contact-links a>span{color:var(--muted);font-size:.875rem}.creative-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px}.creative-section h2{font-size:1.25rem;margin-top:36px;letter-spacing:-.02em}.creative-section p:not(.eyebrow){color:var(--muted);margin-top:18px}.creative-section .portrait{max-width:380px}@media(max-width:850px){.contact-section,.creative-section{padding:20px 0 55px}}@media(max-width:700px){.creative-section{grid-template-columns:minmax(0,1fr);gap:28px}}@media(max-width:450px){.contact-links a{grid-template-columns:minmax(0,1fr) auto;gap:8px}.contact-links a>span:first-child{grid-column:1/-1}}
.hero .portrait{max-width:380px;justify-self:center;margin:0 auto}.creative-section{grid-template-columns:minmax(0,1fr)}.creative-section>div{max-width:48ch}
.resume-request{margin:0;border-top:1px solid var(--line)}.resume-request>summary{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:20px;padding:24px 0;font-weight:400}.resume-request>summary>span{color:var(--muted);font-size:.875rem}.resume-request>summary strong{font-size:1rem;font-weight:500}.request-panel{padding:0 0 28px}.request-panel>p{color:var(--muted);margin-bottom:24px}.request-panel label{display:block;margin-bottom:18px;font-size:.9375rem}.request-panel label span{color:var(--muted)}.request-panel input,.request-panel textarea{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit;font-size:1rem;padding:12px;margin-top:6px}.request-panel textarea{resize:vertical}.request-panel input:focus-visible,.request-panel textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-note,#request-status{font-size:.875rem;color:var(--muted);margin:14px 0}.request-submit{min-height:44px;padding:10px 20px;border-radius:8px;background:var(--ink);color:var(--bg)}.request-submit:disabled{opacity:.55;cursor:not-allowed}#request-verification{max-width:100%;overflow:hidden}@media(max-width:580px){.form-grid{grid-template-columns:minmax(0,1fr);gap:0}}@media(max-width:450px){.resume-request>summary{grid-template-columns:minmax(0,1fr) auto;gap:8px}.resume-request>summary>span:first-child{grid-column:1/-1}}

.contact-links .contact-reveal{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px 0;border:0;border-top:1px solid var(--line);width:100%;text-align:left}.contact-reveal strong{font-size:1rem;font-weight:500;overflow-wrap:anywhere}.contact-reveal>span{font-size:.875rem;color:var(--muted)}.contact-reveal:hover strong{color:var(--accent)}.contact-links [hidden]{display:none!important}.contact-note{font-size:.875rem;color:var(--muted)}@media(max-width:450px){.contact-links .contact-reveal{grid-template-columns:minmax(0,1fr) auto;gap:8px}.contact-reveal>span:first-child{grid-column:1/-1}}

.contact-links .contact-reveal{display:none}.js-ready .contact-links .contact-reveal{display:grid}

.contact-value{display:grid;grid-template-columns:90px minmax(0,1fr);gap:20px;padding:24px 0;border-top:1px solid var(--line)}.contact-value>span{font-size:.875rem;color:var(--muted)}.contact-value strong{font-size:1rem;font-weight:500;overflow-wrap:anywhere}@media(max-width:450px){.contact-value{grid-template-columns:minmax(0,1fr);gap:8px}}

.work-intro{max-width:64ch;color:var(--muted);margin-bottom:32px}.work-section .project+.project{margin-top:24px}.project h2{font-size:clamp(1.4rem,2.6vw,2rem)}.request-panel input,.request-panel textarea{border-color:var(--muted)}.resume-request>summary{min-height:48px}.resume-request[open]>summary>span:last-child{transform:rotate(45deg)}@media(forced-colors:active){a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:Highlight}.request-panel input,.request-panel textarea{border:1px solid CanvasText}}

.work-article{max-width:68ch}.work-article section+section{margin-top:26px}.work-article h3{font-size:1.125rem;line-height:1.35;letter-spacing:-.015em;margin-bottom:10px}.work-article p{font-size:1rem;line-height:1.75}

.project-metrics{list-style:none;padding:0;margin:20px 0;display:flex;flex-wrap:wrap;gap:10px 24px}.project-metrics li{font-weight:600;font-size:1rem;color:var(--accent);max-width:100%;overflow-wrap:anywhere}
nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.request-panel .field-error{display:block;color:var(--accent);font-size:.875rem;margin-top:6px}.request-panel .field-error[hidden]{display:none}
