:root{color-scheme:dark;--paper:#000;--ink:#fff;--accent:#fff;--card:#242424;--card-inner:#303030;--muted:#fff;--line:#444}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}header{height:100px;max-width:1440px;margin:0 auto;padding:22px 28px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.brand{display:flex;flex-direction:column;gap:5px;text-transform:uppercase;font-size:16px;font-weight:800;letter-spacing:-.35px;line-height:1.15}.brand small{font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted)}nav{display:flex;font-size:12px;text-transform:uppercase;gap:32px;padding-top:3px}nav a[aria-current=page]{font-weight:700}nav a:hover{color:var(--accent)}.small,.eyebrow{font-size:11px;letter-spacing:.65px;text-transform:uppercase}.work{max-width:1440px;margin:0 auto;padding:20px 28px 64px}.section-bar{display:flex;justify-content:space-between;padding:0 0 16px;color:var(--muted)}.section-bar .eyebrow:last-child{color:var(--accent)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-card{padding:14px 14px 22px;background:var(--card);color:var(--ink)}.project-card:is(:first-child,:last-child){grid-column:1/-1}.card-image{display:block;overflow:hidden;background:var(--card-inner)}.card-image img{display:block;width:100%;height:100%;aspect-ratio:1.5;object-fit:cover;transition:transform .4s}.project-card:first-child .card-image img{aspect-ratio:2.25}.card-image:hover img{transform:scale(1.025)}.card-info{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:18px 3px 0;min-height:80px}.card-info h2{font-size:23px;line-height:1.05;font-weight:400;letter-spacing:-.75px;margin:0 0 10px}.card-info p{margin:0;font-size:10px;color:var(--ink);text-transform:uppercase;letter-spacing:.7px}.illustration-collage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr);aspect-ratio:2.7;gap:14px;padding:20px;background:var(--card-inner)}.illustration-collage img,.project-card:last-child .illustration-collage img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:contain}footer{max-width:1440px;margin:0 auto;padding:0 28px 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;padding:22px 0;border-top:1px solid var(--line)}.socials{display:flex;gap:24px;font-size:12px}.socials a:hover{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:9px;letter-spacing:1px;text-transform:uppercase}.project-head{max-width:1440px;margin:0 auto;padding:20px 28px 36px}.project-head>.eyebrow{color:var(--muted)}.project-head h1{font-size:clamp(36px,5.5vw,76px);font-weight:400;line-height:1;letter-spacing:-.05em;margin:30px 0}.project-summary{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);padding-top:20px}.project-summary p{font-size:18px;line-height:1.4;margin:0;max-width:660px}.project-summary .eyebrow{color:var(--accent)}.project-hero{max-width:1440px;margin:0 auto;padding:0 28px 28px}.project-hero img{width:100%;display:block;height:auto;max-height:85vh;object-fit:contain;background:transparent;padding:0}.gallery{max-width:1440px;margin:0 auto;padding:0 28px 48px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.gallery.books{grid-template-columns:repeat(3,1fr)}figure{margin:0;padding:0;background:transparent;color:var(--ink)}.image-button{padding:0;border:0;width:100%;display:block;background:transparent}.gallery img{width:100%;height:auto;display:block}.books .image-button{padding:0}.books img{height:440px;object-fit:contain}.gallery figcaption{font-size:11px;margin-top:14px;line-height:1.5}.gallery h2{grid-column:1/-1;font-size:32px;font-weight:400;letter-spacing:-1px;border-top:1px solid var(--line);padding-top:18px;margin:24px 0 0}.purchase-label{display:block;margin-top:6px;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--accent)}.purchase-cover img{transition:transform .25s}.purchase-cover:hover img{transform:scale(1.025)}.books figcaption a:hover{text-decoration:underline}.next-project{max-width:1384px;margin:0 auto 48px;padding:28px;background:var(--card);color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:24px}.next-project .eyebrow{color:var(--accent)}.next-project strong{font-weight:400;letter-spacing:-1px;font-size:clamp(28px,3.5vw,48px)}.next-project:hover strong{text-decoration:underline;text-underline-offset:6px}
/* Preserve the established About and CV typography. */
.about{max-width:1440px;margin:0 auto;padding:20px 28px 64px}.about>.eyebrow{color:var(--accent)}.about-title{font-size:clamp(42px,7vw,108px);line-height:.95;letter-spacing:-.065em;margin:36px 0}.about-lead{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start}.about-lead p{font-size:20px;line-height:1.5;margin:0 0 30px}.portraits{display:grid;grid-template-columns:1fr;gap:12px;padding:0;background:transparent}.portrait-row{display:flex;gap:12px;align-items:flex-start}.portrait-row img{display:block;flex:var(--photo-ratio) 1 0;min-width:0;width:0;height:auto;object-fit:contain}.cv{margin-top:80px;border-top:1px solid var(--line);padding-top:25px}.cv-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.cv-heading h2{font-size:clamp(36px,5.5vw,76px);letter-spacing:-.06em;margin:0 0 35px}.outline-button{background:transparent;border:1px solid var(--ink);border-radius:0;padding:14px 22px}.outline-button:hover{background:var(--card);color:var(--ink)}.cv-columns{display:grid;grid-template-columns:1fr 1.7fr;gap:10%}.cv h3{font-weight:500;font-size:23px;letter-spacing:-.7px}.cv p,.cv li{font-size:14px;line-height:1.7}.cv ul{padding:0;list-style:none}.job{border-top:1px solid var(--line);padding:20px 0}.job h4{font-size:19px;font-weight:500;margin:0 0 10px}.job p{margin:0}.lightbox{border:0;padding:45px;background:#000;color:white;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.lightbox::backdrop{background:#000}.lightbox img{height:calc(100dvh - 100px);width:100%;object-fit:contain}.lightbox button{position:absolute;right:22px;top:14px;padding:10px 18px;border:1px solid white;background:#000;color:white;border-radius:0}.skip{position:absolute;left:20px;top:-80px;z-index:10;background:#111;color:white;padding:15px}.skip:focus{top:10px}
@media(max-width:700px){header{height:90px;padding:22px 16px}.brand{font-size:14px}nav{gap:18px;font-size:11px}.work{padding:12px 16px 36px}.grid{grid-template-columns:1fr;gap:20px}.project-card{padding:10px 10px 18px}.project-card:is(:first-child,:last-child){grid-column:auto}.card-info{min-height:76px;padding:16px 2px 0}.card-info h2{font-size:21px}.project-card:first-child .card-image img{aspect-ratio:1.5}.illustration-collage{aspect-ratio:2;gap:8px;padding:10px}footer{padding:0 16px 22px}.footer-top{padding:20px 0}.footer-bottom{line-height:1.5;flex-wrap:wrap}.project-head{padding:12px 16px 28px}.project-summary,.about-lead,.cv-columns{grid-template-columns:1fr}.project-summary{gap:18px}.project-summary p{font-size:18px}.project-hero{padding:0 16px 20px}.project-hero img{padding:0}.gallery,.gallery.books{padding:0 16px 32px;gap:16px;grid-template-columns:1fr 1fr}figure{padding:0}.books .image-button{padding:0}.books img{height:240px}.gallery figcaption{font-size:10px}.gallery h2{font-size:30px}.next-project{margin:0 16px 32px;padding:20px;align-items:flex-start;flex-direction:column;gap:14px}.about{padding:12px 16px 36px}.portraits{margin-bottom:30px;gap:10px}.portrait-row{gap:10px}.about-lead p{font-size:17px}.cv-heading{align-items:start}.outline-button{font-size:12px;white-space:nowrap}.lightbox{padding:55px 8px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{:root{color-scheme:light;--paper:#fff;--ink:#000;--accent:#000;--muted:#000}header,footer,.about-title,.about-lead,.eyebrow,.cv-heading button,.skip{display:none}.about{padding:0}.cv{margin:0;border:0}.cv-heading h2{font-size:36px}.cv-columns{display:block}.job{padding:9px 0;break-inside:avoid}body{background:white;color:black}.cv h3{font-size:20px}.cv p,.cv li{font-size:11px;line-height:1.4}.cv ul{columns:2}.cv-heading h2:before{content:'Samuel Louie — '}.cv-heading h2{margin-bottom:10px}.job h4{font-size:15px}}

.gallery.illustrations{display:block;columns:3;column-gap:24px}.gallery.illustrations figure{break-inside:avoid;margin-bottom:24px}@media(max-width:700px){.gallery.illustrations{columns:2;column-gap:12px}.gallery.illustrations figure{margin-bottom:12px}}


.gallery-wide,.gallery-standalone{grid-column:1/-1}.gallery-standalone img{width:auto;height:auto;max-width:100%;max-height:85vh;margin:0 auto}
