:root{--background:#fff;--ink:#252525;--logo-color:#111;--placeholder:#efeeed;--line:#d1d1cf;--muted:#777}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--background);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:6px}header{height:146px;padding:28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:start}header button{justify-self:start;background:none;border:0;padding:0}.brand{display:block;margin-top:-3px}.logo{display:block;width:76px;height:54px;background:var(--logo-color);mask:url('rg-logo.svg') center/contain no-repeat;-webkit-mask:url('rg-logo.svg') center/contain no-repeat}.instagram{justify-self:end}main{padding:0 28px}.gallery{display:flex;flex-direction:column;gap:16px}.row{display:flex;gap:16px;height:clamp(220px,18vw,340px)}.row.final-row{height:clamp(220px,18vw,340px)}.tile{position:relative;flex:var(--weight);min-width:0;display:block;border:0;padding:0;overflow:hidden;text-align:left;background:var(--placeholder)}.placeholder{background-color:var(--placeholder);background-image:linear-gradient(to top right,transparent calc(50% - .6px),rgba(0,0,0,.025) 50%,transparent calc(50% + .6px))}.tile .caption{position:absolute;left:14px;bottom:12px;font-size:14px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.tile:hover .caption,.tile:focus-visible .caption{opacity:1;transform:translateY(0)}.tile:hover{background-color:#e8e7e5}.project{border-top:1px solid var(--line);margin-top:74px;padding-top:20px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}.project-media{aspect-ratio:16/10}h1,h2,p{margin:0 0 22px}h1{font-size:16px;font-weight:400;display:flex;gap:12px}.muted{color:var(--muted)}footer{margin:70px 28px 0;padding:20px 0 26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:14px}dialog{border:0;padding:60px;max-width:550px;width:calc(100% - 32px);color:var(--ink);background:var(--background)}dialog::backdrop{background:#0006;backdrop-filter:blur(5px)}.close{position:absolute;right:24px;top:20px;background:none;border:0;padding:0}.info-logo{margin-bottom:40px}h2{font-size:26px;font-weight:400;letter-spacing:-.6px}
@media(min-width:1700px){header{height:170px}.gallery{gap:20px}.row{gap:20px}}
@media(max-width:700px){header{height:120px;padding:22px 18px;font-size:14px}.logo{width:60px;height:43px}main{padding:0 18px}.gallery{gap:12px}.row,.row.final-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;gap:12px}.tile{aspect-ratio:4/5}.tile:nth-child(even){aspect-ratio:4/5}.row.final-row .tile:last-child{grid-column:span 2;aspect-ratio:2/1}.project{margin-top:44px;grid-template-columns:1fr 1fr;gap:20px}.project-media{grid-column:1/-1}.project-meta,.project-copy{font-size:14px}footer{margin:45px 18px 0;flex-wrap:wrap}footer span:first-child{width:100%}dialog{padding:55px 28px 30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile .caption{transition:none}}

/* About panel */
#info{max-width:720px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:48px}
#info .info-logo{width:60px;height:43px;margin-bottom:30px}
#info h2{margin-bottom:20px}.about-intro{max-width:55ch;line-height:1.65;margin-bottom:32px}
.about-section{border-top:1px solid var(--line);padding-top:20px;margin-top:26px}
.about-section h3{font-size:14px;font-weight:400;color:#646464;margin:0 0 22px}
.about-list{margin:0}.about-list>div{display:grid;grid-template-columns:145px 1fr;gap:20px;margin-bottom:22px}
.about-list dt{font-size:14px;color:#646464;padding-top:2px}.about-list dd{margin:0}
.about-list dd span,.education-list span{display:block;color:#646464;margin-top:4px}
.education-list{list-style:none;margin:0;padding:0}.education-list li+li{margin-top:22px}
.instagram:hover,header button:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){#info{padding:54px 26px 30px}.about-list>div{grid-template-columns:1fr;gap:5px}.about-intro{font-size:16px}}

[hidden]{display:none!important}
.gallery .project{margin:8px 0 24px;padding-top:14px;position:relative;scroll-margin-top:20px}
.project-navigation{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;font-size:14px}
.project-navigation>div{display:flex;gap:8px}.project-navigation button{background:none;border:0;min-width:44px;min-height:44px;font-size:26px;line-height:1}
.project-navigation button:hover{background:var(--placeholder)}
.tile[aria-expanded="true"]{box-shadow:inset 0 -3px var(--ink)}
.tile[aria-expanded="true"] .caption{opacity:1;transform:none}
@media(max-width:700px){.gallery .project{margin-bottom:14px}}
.tile.has-image{background:#111}.tile.has-image>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 44%;transition:transform .45s ease}.tile.has-image:hover>img{transform:scale(1.025)}
.tile.has-image .caption{color:#fff;text-shadow:0 1px 12px #0008}
.project-stills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;aspect-ratio:auto;background:none;background-image:none}
.project-stills img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--placeholder)}
@media(max-width:700px){.project-stills{gap:12px}.tile.has-image>img{object-position:center}}
@media(prefers-reduced-motion:reduce){.tile.has-image>img{transition:none}}
.primary-nav{display:flex;align-items:center;gap:26px;justify-self:start}.primary-nav button{background:none;border:0;padding:0}
.showreel-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:58px 28px 28px;background:#0a0a0a;color:#fff;overflow:hidden}
.showreel-dialog::backdrop{background:#0a0a0a}.showreel-close{position:absolute;z-index:2;right:28px;top:20px;background:none;border:0;color:#fff;padding:8px 0}
.showreel-frame{width:100%;height:100%;display:grid;place-items:center}.showreel-frame video{display:block;width:min(100%,1500px);max-height:calc(100dvh - 86px);aspect-ratio:16/9;background:#000;object-fit:contain}
.primary-nav button:hover,.showreel-close:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.primary-nav{gap:16px}.showreel-dialog{padding:52px 0 0}.showreel-close{right:18px;top:14px}.showreel-frame video{width:100%;max-height:calc(100dvh - 52px)}}
/* White showreel presentation */
.showreel-dialog{background:var(--background);color:var(--ink)}
.showreel-dialog::backdrop{background:var(--background)}
.showreel-close{color:var(--ink)}
.showreel-frame video{background:var(--background)}
.project-single{aspect-ratio:auto;background:none;background-image:none}
.project-single img{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;object-position:left top;background:var(--placeholder)}

/* Focus the expanded project */
.gallery .tile{transition:filter .32s ease,opacity .32s ease,box-shadow .2s ease}
.gallery.project-open .tile{filter:blur(5px);opacity:.38}
.gallery.project-open .tile:hover,.gallery.project-open .tile:focus-visible{filter:blur(3px);opacity:.62}
.showreel-brand{position:absolute;top:24px;left:50%;transform:translateX(-50%);z-index:2}
.showreel-brand .logo{width:76px;height:54px}
.showreel-frame{padding-top:64px}
.showreel-frame video{width:min(78vw,1080px);max-height:68vh}
@media(max-width:700px){.showreel-brand{top:18px}.showreel-brand .logo{width:60px;height:43px}.showreel-frame{padding-top:58px}.showreel-frame video{width:calc(100vw - 36px);max-height:66vh}.gallery.project-open .tile{filter:blur(4px)}}
@media(prefers-reduced-motion:reduce){.gallery .tile{transition:none}}
.project-extras{grid-column:1/-1;margin-top:24px}
.video-placeholder{aspect-ratio:16/9;background:#e9e9e7;background-image:linear-gradient(to top right,transparent calc(50% - .6px),rgba(0,0,0,.04) 50%,transparent calc(50% + .6px));display:grid;place-items:center;color:var(--muted);font-size:14px}
.spread-slider{position:relative;outline:none}.spread-stage{position:relative;width:100%;aspect-ratio:16/9;background:#080808;overflow:hidden}
.spread-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(1.008);transition:opacity .7s ease,transform 1.1s ease}.spread-stage img.active{opacity:1;transform:scale(1)}
.spread-controls{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-top:10px;font-size:13px}.spread-controls span{text-align:center;color:var(--muted)}.spread-controls button{border:0;background:none;font-size:24px;min-height:42px}.spread-controls button:hover{background:var(--placeholder)}
.gallery .project{min-height:min(680px,78vh);align-content:start;grid-auto-rows:max-content}
@media(max-width:700px){.gallery .project{min-height:0}.project-extras{margin-top:10px}.spread-stage{aspect-ratio:16/10}.video-placeholder{min-height:180px}}
@media(prefers-reduced-motion:reduce){.spread-stage img{transition:none}}
