:root{--bg:#fff;--ink:#171b18;--muted:#59605c;--line:#d9dedb;--green:#19392e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #ce7647;outline-offset:5px}figure,p,dl{margin:0}p+p{margin-top:1rem}h1,h2,h3{margin:0;font-weight:500;line-height:1.07;letter-spacing:-.045em}h1{font-size:clamp(3.7rem,7.5vw,7.6rem)}h2{font-size:clamp(2.7rem,5vw,5rem)}h3{font-size:1.6rem;letter-spacing:-.02em}img{max-width:100%;display:block}.header,main,footer{max-width:1440px;margin:auto}.header{padding:2.3rem 4vw;display:flex;align-items:center;justify-content:space-between;gap:2rem}.name{font-size:1.28rem;font-weight:600;line-height:1.25;text-decoration:none;letter-spacing:-.02em}.name span{display:block;color:var(--muted);font-size:.875rem;font-weight:400;margin-top:.4rem;letter-spacing:0}nav{display:flex;gap:2rem}nav a{font-size:1rem;text-decoration:none}.intro{padding:3rem 4vw 0}.intro-top{display:grid;grid-template-columns:1fr .6fr;gap:4rem;align-items:end;margin-bottom:3rem}.intro-top p{max-width:26rem;font-size:1.125rem;padding-bottom:.6rem}.hero img{width:100%;height:auto}.hero figcaption{display:flex;justify-content:space-between;gap:1rem;padding-top:.9rem;font-size:.9rem;color:var(--muted)}.project,.about{padding:6.8rem 4vw 0}.section-label{text-transform:uppercase;font-size:.875rem;letter-spacing:.08em;color:var(--muted);margin-bottom:2.3rem}.project-intro,.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.project-intro p,.about-grid p{max-width:38rem}.facts{margin:3rem 0 3.5rem;padding:1.2rem 0;border-block:1px solid var(--line);display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem}.facts dt{font-size:.875rem;color:var(--muted)}.facts dd{margin:.2rem 0 0}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:3rem 2rem;align-items:start}.gallery figure.landscape{grid-column:1/-1}.gallery figure.landscape img{max-height:850px;object-fit:contain}.photo{display:block;border:0;padding:0;width:100%;background:#f3f4f3;cursor:zoom-in}.photo img{width:100%;height:auto}.gallery figcaption{padding-top:.7rem;color:var(--muted);font-size:.9rem}.approach{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:4rem 0;border-bottom:1px solid var(--line)}.skills{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:2rem}.skills span{border:1px solid var(--line);padding:.3rem .85rem;font-size:.875rem;border-radius:20px}.contact{margin-top:6rem;padding:4.5rem 4vw;background:var(--green);color:white}.contact .section-label{color:#c4d2ca}.contact p{max-width:38rem;margin-top:1.8rem}.contact .contact-pending{font-size:.9rem;color:#c4d2ca}footer{padding:2rem 4vw;display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.875rem}.skip{position:fixed;left:1rem;top:-100px;background:white;color:black;padding:1rem;z-index:20}.skip:focus{top:1rem}dialog{border:0;padding:1rem 2rem;background:#111;color:#fff;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}dialog::backdrop{background:#111}#large{margin:1rem auto 0;max-height:calc(100dvh - 10rem);max-width:100%;object-fit:contain;width:auto}#caption{margin:.6rem auto;text-align:center;font-size:.9rem}.viewer-tools{display:flex;gap:.8rem;align-items:center;justify-content:center;flex-wrap:wrap}.viewer-tools button{background:transparent;color:white;border:1px solid #777;padding:.35rem .9rem;cursor:pointer;min-height:44px}#close{margin-left:auto}#counter{min-width:3.5rem;text-align:center}@media(max-width:700px){.header{padding:1.5rem 5vw;gap:1rem}.name{font-size:1.05rem}nav{gap:1rem}.intro{padding:2.6rem 5vw 0}.intro-top,.project-intro,.about-grid,.approach{grid-template-columns:1fr;gap:1.8rem}.intro-top{margin-bottom:2rem}.intro-top p{font-size:1rem;max-width:29rem}.hero figcaption{font-size:.875rem;flex-wrap:wrap}.project,.about{padding:4rem 5vw 0}.section-label{margin-bottom:1.5rem}.facts{grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}.facts>div:first-child{grid-column:1/-1}.gallery{gap:2rem 1rem}.gallery figcaption{font-size:.875rem}.approach{padding:3rem 0}.contact{padding:3rem 5vw;margin-top:4rem}footer{padding:1.5rem 5vw;flex-wrap:wrap}dialog{padding:1rem}.viewer-tools{gap:.5rem}.viewer-tools button{font-size:.875rem;padding:.3rem .6rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Multi-project portfolio */
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.2rem 2rem;margin-top:3rem}.project-card{min-width:0}.project-card>a{text-decoration:none;display:block}.project-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:var(--focus-x,50%) var(--focus-y,50%);background:#f3f4f3}.card-title{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem}.card-title h3{font-size:clamp(1.3rem,2.2vw,2rem)}.project-card p{color:var(--muted);font-size:.9rem;margin-top:.3rem}.back{display:inline-block;margin-bottom:2.5rem}.case-intro .section-label{margin-bottom:1.4rem}.case-title{font-size:clamp(3rem,5.5vw,6rem)}.email{font-size:clamp(1.15rem,3.2vw,2rem);overflow-wrap:anywhere}.credit{margin-top:2rem;color:var(--muted);font-size:.9rem}.project-card img{transition:filter .2s}.project-card a:hover img{filter:brightness(.94)}
@media(min-width:701px) and (max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.project-grid{grid-template-columns:1fr;gap:2.5rem}.case-intro .facts{grid-template-columns:1fr}.case-intro .facts>div:first-child{grid-column:auto}.gallery{grid-template-columns:1fr}.gallery figure.landscape{grid-column:auto}.case-title{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){.project-card img{transition:none}}

/* OBA video */
.video-section{padding:5rem 4vw;margin-top:6rem;border-top:1px solid var(--line,#d9dfdb)}.video-section .section-label{margin-bottom:1.8rem}.video-section video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#111;margin-top:2rem}.video-note,.video-link{font-size:.9rem;color:var(--muted);margin-top:1rem}.video-section h2{font-size:clamp(2.3rem,4.4vw,4.5rem)}@media(max-width:700px){.video-section{padding:3rem 5vw;margin-top:4rem}.video-section .project-intro{grid-template-columns:1fr}}

.video-section+.contact{margin-top:0}video:focus-visible{outline:3px solid #ce7647;outline-offset:5px}
