*{box-sizing:border-box}html{color:#161616;background:#fff;font-family:Arial,Helvetica,sans-serif}body{margin:0}a{color:inherit;text-decoration:none}header{height:150px;padding:10px 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;width:195px;flex-shrink:0}.brand img{width:100%;height:auto;display:block}nav{display:flex;gap:38px;font-size:14px}nav a{padding:12px 0;position:relative}nav a:after{content:"";position:absolute;bottom:5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}nav a:hover:after,nav a[aria-current]:after{transform:scaleX(1)}a:focus-visible{outline:2px solid #6a46c2;outline-offset:6px}.home{padding:0 22px}.hero{margin:0;background:#fff}.hero img{display:block;width:100%;height:min(75vw,760px);object-fit:cover;object-position:center}.gallery{columns:2;column-gap:18px;margin-top:18px}.gallery figure{break-inside:avoid;margin:0 0 18px;background:#fff}.gallery img{display:block;width:100%;height:auto}.about{max-width:1380px;margin:0 auto;padding:105px 7vw 150px;display:grid;grid-template-columns:1fr 3fr;gap:40px;min-height:calc(100vh - 230px)}.page-label{font-size:14px;padding-top:15px}h1{font-weight:400;letter-spacing:-.045em;font-size:clamp(42px,5.8vw,80px);line-height:1.08;margin:0 0 55px}.biography{max-width:720px;font-size:clamp(18px,1.55vw,23px);line-height:1.65;color:#444}.biography p{margin:0 0 26px}.contact{min-height:calc(100svh - 230px);display:flex;align-items:center;justify-content:center;padding:60px 6vw 110px}.email{font-size:clamp(11.5px,2.6vw,39px);letter-spacing:-.045em;border-bottom:1px solid #aaa;padding-bottom:10px;transition:border-color .2s}.email:hover{border-color:#111}footer{padding:35px 5vw;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#666}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:10px;top:-60px;padding:12px;background:white;z-index:10}.skip:focus{top:10px}@media(max-width:600px){header{height:118px;padding:10px 20px;gap:12px}.brand{width:136px}nav{gap:18px;font-size:14px}.home{padding:0 10px}.hero img{height:65svh;min-height:360px;object-fit:cover}.gallery{columns:1;margin-top:10px;column-gap:10px}.gallery figure{margin-bottom:10px}.about{padding:55px 25px 75px;display:block;min-height:calc(100svh - 198px)}.page-label{margin-bottom:30px;padding:0}h1{margin-bottom:35px}.biography{font-size:18px}.contact{min-height:calc(100svh - 198px);padding:45px 20px 100px}footer{padding:30px 20px;font-size:12px}.email{letter-spacing:-.035em}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Continuous, uncropped photographic wall. */
.home{padding:0;background:#fff}.slideshow{position:relative;height:calc(100svh - 150px);min-height:420px;overflow:hidden;background:#fff}.slides{position:absolute;inset:0;overflow:hidden}.photo-row{position:absolute;left:0;width:100%;overflow:hidden}.wall-photo{position:absolute;left:0;top:0;height:100%;max-width:none;display:block;filter:saturate(.8);will-change:transform}.slideshow noscript img{width:100%;height:100%;object-fit:contain;filter:saturate(.8)}.slide-controls{position:absolute;right:24px;bottom:24px;z-index:3}.slide-controls[hidden]{display:none}.slide-controls button{border:1px solid #ffffff80;border-radius:24px;padding:11px 17px;background:#000b;color:white;font:14px Arial,sans-serif;cursor:pointer}.slide-controls button:focus-visible{outline:2px solid white;outline-offset:4px}@media(max-width:600px){.slideshow{height:calc(100svh - 118px);min-height:400px}.slide-controls{right:16px;bottom:16px}}

/* Information floats over the moving portfolio. */
.info-panel{position:fixed;inset:0;margin:auto;width:min(680px,calc(100% - 36px));max-height:calc(100svh - 48px);padding:60px;border:1px solid #fff;border-radius:28px;background:rgba(255,255,255,.97);color:#161616;box-shadow:0 24px 100px #0004;overflow:auto;outline:none}
.info-panel[open]{animation:panel-in 360ms cubic-bezier(.2,.75,.25,1) both}.info-panel::backdrop{background:#0003;animation:veil-in 360ms ease both}.info-panel.is-closing{animation:panel-out 220ms ease both}.info-panel.is-closing::backdrop{animation:veil-out 220ms ease both}.info-panel h2{font-size:clamp(32px,4vw,48px);font-weight:400;letter-spacing:-.045em;line-height:1.1;margin:0 0 28px}.panel-biography{font-size:18px;line-height:1.7;color:#444}.panel-biography p{margin:0 0 20px}.panel-biography p:last-child{margin-bottom:0}.panel-close{position:absolute;right:18px;top:16px;width:36px;height:36px;border:0;border-radius:50%;background:#eee;color:#333;font:28px Arial;cursor:pointer}.panel-close:hover{background:#ddd}.panel-close:focus-visible{outline:2px solid #6a46c2;outline-offset:3px}.panel-email{display:inline-block;font-size:clamp(20px,3vw,32px);letter-spacing:-.035em;border-bottom:1px solid #aaa;padding-bottom:8px;overflow-wrap:anywhere;max-width:100%}
@keyframes panel-in{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes panel-out{to{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes veil-in{from{background:#0000}to{background:#0003}}@keyframes veil-out{to{background:#0000}}
@media(max-width:600px){.info-panel{padding:52px 28px 36px;border-radius:22px}.panel-biography{font-size:16px;line-height:1.65}}
@media(prefers-reduced-motion:reduce){.info-panel[open],.info-panel::backdrop,.info-panel.is-closing{animation:none}}
