:root{color-scheme:dark;--bg:#0a131c;--panel:#101f2c;--text:#f4f7fb;--muted:#b5c4d1;--line:#29404f;--accent:#88dcff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.skip{position:absolute;left:1rem;top:-80px;background:var(--text);color:var(--bg);padding:12px;z-index:10}.skip:focus{top:1rem}header,main,footer{max-width:1440px;margin:auto}header{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.identity{font-weight:700;letter-spacing:.08em;font-size:18px}.identity span{display:block;font-size:12px;letter-spacing:.14em;font-weight:400;color:var(--muted)}nav{display:flex;gap:28px;font-size:14px}main{padding:0 5%}.intro{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:5%;padding:70px 0 48px}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--accent);font-weight:700;margin:0 0 20px}h1{font-size:clamp(40px,4.3vw,65px);line-height:1.05;letter-spacing:-.045em;margin:0 0 25px;font-weight:600}h2{font-size:clamp(30px,3vw,44px);line-height:1.13;letter-spacing:-.03em;margin:0 0 20px;font-weight:500}h3{font-size:23px;line-height:1.3;margin:12px 0}p{margin:0 0 20px}.lead{color:var(--muted);max-width:490px;font-size:19px}.location{font-size:14px;margin:26px 0 0}.location span{display:block;color:var(--muted)}figure{margin:0;min-width:0}img{width:100%;height:auto;display:block}figure>a{display:block;overflow:hidden}figure>a img{transition:transform .3s}figure>a:hover img{transform:scale(1.015)}.hero img{aspect-ratio:1.38;object-fit:cover}.hero{background:var(--panel)}figcaption{padding:14px 0;font-size:15px;line-height:1.5}figcaption span{display:block;color:var(--muted);font-size:13px}.hero figcaption{padding:17px 22px;font-size:12px;letter-spacing:.1em}.hero figcaption span{letter-spacing:0}.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-block:1px solid var(--line);padding:26px 0}.credentials p{font-size:14px;color:var(--muted);margin:0}.credentials strong{display:block;font-size:20px;color:var(--text);font-weight:500}.section{padding:70px 0;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:30px}.section-head p:not(.eyebrow){color:var(--muted);max-width:510px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px}.gallery img{aspect-ratio:16/9;object-fit:cover}.ditto{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:center}.ditto p:not(.eyebrow){color:var(--muted)}.ditto img{max-height:580px;object-fit:contain}.text-link{color:var(--accent);text-decoration:underline;text-underline-offset:5px}footer{padding:35px 5%;display:flex;justify-content:space-between;gap:20px;font-size:14px}footer span{display:block;color:var(--muted)}@media(max-width:760px){header{align-items:flex-start;flex-direction:column;padding:22px 6%}nav{gap:20px;flex-wrap:wrap}main{padding:0 6%}.intro{grid-template-columns:1fr;padding-top:40px;gap:30px}.hero img{aspect-ratio:16/10}.credentials{grid-template-columns:1fr;gap:18px}.section{padding:45px 0}.section-head,.ditto{grid-template-columns:1fr;gap:20px}.gallery{grid-template-columns:1fr;gap:22px}footer{flex-direction:column;padding:30px 6%}h1{font-size:44px}.ditto img{max-height:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}figure>a img{transition:none}}

/* Project galleries */
.project-nav{display:flex;flex-wrap:wrap;gap:10px 25px;padding:25px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}.project-nav a:hover{color:var(--accent)}.gallery .wide{grid-column:1/-1}.gallery .wide img{aspect-ratio:2.15;object-fit:cover}.credit{font-size:14px;color:var(--muted);margin:20px 0 0;max-width:900px}.source{display:inline-block;font-size:13px;color:var(--accent);margin-top:6px}.ditto-showcase{display:grid;grid-template-columns:1fr 1fr;gap:30px}.ditto-showcase figure:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.ditto-showcase figure:last-child img{max-height:700px;object-fit:contain;background:#b9bdc0}.ditto-showcase figure:last-child figcaption{font-size:24px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.experience-grid p,.community{color:var(--muted);font-size:16px}.community{border-top:1px solid var(--line);padding-top:25px;margin:20px 0 0}dialog{border:1px solid var(--line);padding:55px 20px 15px;background:#080e15;color:var(--text);width:min(94vw,1600px);max-height:95vh}dialog::backdrop{background:rgba(0,0,0,.9)}dialog img{max-height:76vh;object-fit:contain}dialog p{margin:12px 0 0;font-size:15px}#close-viewer{position:absolute;right:15px;top:12px;border:1px solid var(--line);background:var(--panel);color:white;padding:7px 14px;font:inherit;cursor:pointer}#close-viewer:focus-visible{outline:3px solid var(--accent)}.hero img{aspect-ratio:1.45;object-fit:cover;object-position:40% center}@media(max-width:760px){.gallery .wide img{aspect-ratio:16/9}.ditto-showcase,.experience-grid{grid-template-columns:1fr}.ditto-showcase figure:last-child{display:block;grid-column:auto}.hero img{aspect-ratio:16/10}.project-nav{gap:12px 20px}.ditto-showcase figure:last-child figcaption{font-size:15px}}
