:root{--red:#ff0000;--ink:#111;--paper:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--red);color:var(--paper);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid white;outline-offset:6px}header{height:86px;padding:0 3.2%;display:flex;align-items:center;justify-content:space-between;background:var(--red);position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff24}.brand img{width:128px;display:block}nav{display:flex;gap:32px;font-size:14px}nav a:hover{text-decoration:underline;text-underline-offset:6px}.location{font-size:12px;color:#fff}.hero{padding:52px 3.2% 30px}.hero-line{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px}.hero h1{font-size:clamp(26px,4.5vw,70px);line-height:1.03;letter-spacing:-.055em;font-weight:500;margin:0;max-width:900px}.hero-line p{font-size:14px;line-height:1.5;margin:0 0 4px 30px;max-width:175px}.wordmark{width:100%;height:clamp(105px,20vw,300px);object-fit:contain;display:block;margin:12px 0 45px}.cover{height:clamp(370px,53vw,770px);position:relative;overflow:hidden}.cover>img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}.cover:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.cover-caption{position:absolute;bottom:26px;left:30px;right:30px;z-index:1;display:flex;justify-content:space-between;align-items:end}.cover-caption h2{font-size:clamp(32px,5vw,76px);font-weight:500;letter-spacing:-.05em;margin:0}.small{font-size:12px;text-transform:uppercase;letter-spacing:.07em}.cover-caption .small{margin-bottom:8px}.circle{display:grid;place-items:center;width:55px;height:55px;border:1px solid #fff;border-radius:100%;font-size:25px}.section{padding:84px 3.2%}.section-title{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid #ffffff70;padding-top:18px;margin-bottom:32px}.section-title h2{margin:0;font-weight:400;font-size:clamp(32px,5vw,65px);letter-spacing:-.05em}.section-title span{font-size:13px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 22px}.video-card{padding:0;background:none;border:0;text-align:left;width:100%}.video-card:first-child{grid-column:1/-1}.video-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:#d90000}.video-card:first-child .video-image{aspect-ratio:2.15}.video-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.video-card:hover img{transform:scale(1.025)}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;background:#0004;font-size:20px}.video-meta{display:flex;justify-content:space-between;gap:18px;margin-top:14px;align-items:baseline}.video-meta h3{font-weight:400;font-size:19px;margin:0;line-height:1.3}.video-meta span{font-size:12px;white-space:nowrap;color:#fff}.photography{background:var(--red);color:var(--paper)}.photo-grid{columns:4;column-gap:18px}.photo-card{display:block;break-inside:avoid;width:100%;border:0;background:none;padding:0;margin:0 0 18px;overflow:hidden}.photo-card img{display:block;width:100%;height:auto;transition:transform .5s}.photo-card:hover img{transform:scale(1.025)}.studio{background:var(--red);color:var(--paper)}.studio .section-title{border-color:#ffffff70}.studio-intro{font-size:clamp(27px,4.3vw,64px);letter-spacing:-.045em;line-height:1.08;max-width:1120px;margin:52px 0}.studio-bottom{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.studio-bottom p{font-size:18px;line-height:1.55;max-width:540px}.services{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.services a{padding:11px 15px;border:1px solid #ffffff80;border-radius:25px;font-size:14px}.team{display:grid;grid-template-columns:1fr 1fr;gap:14px}.team img{width:100%;aspect-ratio:3/4;object-fit:cover}.team-caption{font-size:14px;margin:12px 0}.footer{padding:36px 3.2% 22px}.footer-top{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:42px}.footer-top p{font-size:17px;margin:0}.footer img{width:100%;height:18vw;object-fit:contain;margin:10px 0 34px}.footer-end{border-top:1px solid #ffffff70;display:flex;justify-content:space-between;padding-top:18px;font-size:12px;color:#fff}dialog{background:var(--red);color:white;border:1px solid #555;padding:58px 20px 22px;width:min(1100px,94vw);max-height:94dvh}dialog::backdrop{background:#000d;backdrop-filter:blur(7px)}.close{position:absolute;right:18px;top:15px;background:none;border:0;font-size:16px;padding:5px}.modal-media iframe{border:0;width:100%;aspect-ratio:16/9}.modal-media img{max-width:100%;max-height:73dvh;object-fit:contain;display:block;margin:auto}.modal-caption{display:flex;justify-content:space-between;gap:20px;margin-top:18px;font-size:14px}.modal-caption a{text-decoration:underline}.modal-nav{display:flex;gap:20px}.modal-nav button{border:0;background:none;font-size:22px}.no-scroll{overflow:hidden}@media(min-width:1600px){.hero,.section,.footer{padding-left:max(3.2%,calc((100vw - 1800px)/2));padding-right:max(3.2%,calc((100vw - 1800px)/2))}}@media(max-width:750px){header{height:72px;padding:0 5%}.brand img{width:95px}nav{gap:18px;font-size:13px}.location{display:none}.hero{padding:35px 5% 10px}.hero-line{align-items:start;margin-bottom:25px}.hero-line p{max-width:112px;font-size:12px}.wordmark{margin:24px 0}.cover{height:520px;max-height:68vh}.cover-caption{left:20px;right:20px;bottom:20px}.section{padding:58px 5%}.video-grid{grid-template-columns:1fr;gap:30px}.video-card:first-child .video-image{aspect-ratio:16/9}.video-meta h3{font-size:17px}.photo-grid{columns:2;column-gap:10px}.photo-card{margin-bottom:10px}.studio-bottom{grid-template-columns:1fr}.studio-intro{margin:30px 0}.team{margin-top:25px}.footer{padding:30px 5% 20px}.footer-top{align-items:start}.footer-top p{font-size:14px}.footer-end{font-size:12px;gap:15px}.section-title{gap:15px}.section-title span{text-align:right}.modal-caption{flex-wrap:wrap}.hero h1{max-width:70%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.cover-triptych{height:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}.cover-triptych img{height:100%;width:100%;object-fit:cover;object-position:50% 30%}@media(max-width:750px){.cover-triptych{grid-template-columns:1fr 1fr}.cover-triptych img:last-child{display:none}.cover-caption h2{max-width:260px}}

/* Gentle native scroll reveals; content remains visible without JavaScript. */
nav a{transition:opacity .2s}nav a:hover{opacity:.8}.cover-triptych img:first-child{object-position:50% 48%}@media(max-width:750px){.hero-line{flex-wrap:wrap;gap:16px}.hero h1{max-width:100%;font-size:clamp(26px,7vw,48px)}.hero-line p{margin-left:0;max-width:100%}}
/* Open editorial navigation, matching the main headline. */
header{height:auto;min-height:94px;padding-top:20px;padding-bottom:20px;border-bottom:0;gap:30px}nav{gap:36px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(24px,2.5vw,38px);font-weight:500;line-height:1.03;letter-spacing:-.055em}nav a{position:relative}nav a:hover{text-decoration:none;opacity:1}nav a:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}nav a:hover:after{transform:scaleX(1)}.hero-line{margin-bottom:36px}.hero h1{max-width:100%}.photo-caption{display:flex;align-items:baseline;gap:20px}.photo-caption strong{font-size:clamp(24px,3vw,40px);font-weight:500;letter-spacing:-.045em}.photo-caption>span{font-size:14px}.modal-media video{display:block;width:100%;max-height:72dvh;background:#111}.photo-card,.video-card{transform-origin:50% 70%}.hero,.section,.footer{overflow:clip}@media(max-width:750px){header{min-height:76px;padding-top:18px;padding-bottom:18px}nav{width:100%;justify-content:space-between;gap:12px;font-size:clamp(22px,5.9vw,30px)}.hero h1{max-width:100%}.photo-caption{gap:14px}.photo-caption strong{font-size:26px}}
.footer-contact{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:26px 0 40px;border-top:1px solid #ffffff70}.footer-contact a{font-size:clamp(20px,3.2vw,46px);font-weight:500;letter-spacing:-.045em;overflow-wrap:anywhere}.footer-contact a:hover{text-decoration:underline;text-underline-offset:7px}@media(max-width:750px){.footer-contact{flex-direction:column;gap:22px}.footer-contact a{font-size:clamp(20px,5.8vw,30px)}}

.services a{display:inline-block;text-decoration:none;transition:background .25s,color .25s}.services a:hover{background:white;color:var(--red)}.instagram-link{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;color:#fff}.instagram-link svg{display:block;transition:transform .25s}.instagram-link:hover svg{transform:scale(1.1)}.video-details{flex:1;min-width:0}.video-details>span{font-size:20px;font-weight:500}.video-credits{font-size:16px;line-height:1.5;margin:10px 0 0;max-width:740px}.modal-caption>a{flex-shrink:0}

/* One full red viewport before the first photographs. */
.hero{padding-top:0}
.hero-intro{min-height:calc(100vh - 94px);min-height:calc(100dvh - 94px);display:flex;flex-direction:column;justify-content:space-between;gap:36px;padding:52px 0 60px}
.hero-intro .hero-line{margin-bottom:0}
.hero-intro .wordmark{margin:auto 0;height:clamp(105px,20vw,300px);flex-shrink:0}
@media(max-width:750px){.hero-intro{min-height:calc(100vh - 76px);min-height:calc(100dvh - 76px);padding:35px 0 45px;gap:30px}}

/* Separate MVRK photographs into fixed rows with space around every image. */
.photo-grid-added{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:48px;align-items:start;isolation:isolate}
.photo-grid-added .photo-card{margin:0;min-width:0;overflow:hidden}
.photo-grid-added .photo-card img{width:100%;height:auto;display:block}
@media(max-width:750px){.photo-grid-added{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:32px}}

/* Consistent gallery framing: uninterrupted rows, full images in the viewer. */
.photo-grid{columns:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.photo-grid .photo-card{margin:0;min-width:0;aspect-ratio:3/4;overflow:hidden}
.photo-grid .photo-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.cover-triptych .lorna-cover{object-position:center 28%}
@media(max-width:750px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* Continuous depth rotation, isolated from scroll reveals. */
.social-links{display:flex;align-items:center;gap:24px}
.footer-logo{perspective:max(1100px,120vw);opacity:1;isolation:isolate}
.footer-logo img{display:block;transform-origin:center;animation:logo-spin 12s linear infinite;backface-visibility:visible;will-change:transform}
@keyframes logo-spin{from{transform:rotateY(0deg)}to{transform:rotateY(360deg)}}
.video-image-portrait img{object-fit:contain}
@media(prefers-reduced-motion:reduce){.footer-logo img{animation:none;will-change:auto}}

/* Reserve space for the projected 3D logo above the copyright rule. */
.footer-logo{position:relative;top:0;padding:clamp(32px,7svh,72px) 0}
.footer-logo img{height:min(18vw,24svh);margin:0}
.footer-contact{padding-bottom:20px}
.photo-caption{align-items:baseline;flex:1;min-width:0;flex-wrap:wrap;gap:12px 18px}
.photo-caption strong{font-size:clamp(30px,3.6vw,44px)}
.photo-caption .caption-logo{display:block;width:54px;height:15px;object-fit:contain;flex-shrink:0}
@media(max-width:750px){.photo-caption{gap:12px 16px}.photo-caption .caption-logo{width:46px;height:13px}}

[hidden]{display:none!important}
.hero-wordmark{perspective:max(1100px,120vw);width:100%;height:clamp(105px,20vw,300px);flex-shrink:0;margin:auto 0}
.hero-intro .hero-wordmark .wordmark{width:100%;height:100%;margin:0;animation:logo-spin 12s linear infinite;transform-origin:center;backface-visibility:visible;will-change:transform}
.modal-caption:has(>.caption-logo){display:grid;grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);align-items:end;gap:14px}
.modal-caption .photo-caption{display:block;min-width:0}
.modal-caption .artist-name{display:block;font-size:clamp(20px,3vw,36px);line-height:1.05;letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance;text-decoration:none}
.modal-caption .artist-name:hover{text-decoration:underline;text-underline-offset:5px}
.modal-caption>.caption-logo{display:block;width:74px;height:21px;object-fit:contain;align-self:end;margin-bottom:3px}
.modal-caption:has(>.caption-logo) .modal-nav{justify-self:end;align-self:end}
.artist-back{display:inline-block;margin-bottom:32px;font-size:16px;text-decoration:underline;text-underline-offset:5px}
.artist-view h1{font-size:clamp(36px,6vw,80px);font-weight:500;letter-spacing:-.05em;margin:0;overflow-wrap:anywhere}
.artist-view{min-height:calc(100svh - 94px)}
@media(max-width:750px){.modal-caption:has(>.caption-logo){grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);gap:10px}.modal-caption>.caption-logo{width:60px;height:17px}.modal-caption:has(>.caption-logo) .modal-nav{gap:10px}}
@media(prefers-reduced-motion:reduce){.hero-intro .hero-wordmark .wordmark{animation:none;will-change:auto}}

/* A static footer wordmark; the opening wordmark keeps its rotation. */
.footer-logo img{animation:none;transform:none;will-change:auto}
.header-logo-slot{flex:1;display:flex;justify-content:center;min-width:0}
.header-logo{display:block;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s}
.header-logo.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.header-logo img{display:block;width:clamp(95px,11vw,160px);height:40px;object-fit:contain}
header nav,header .location{flex-shrink:0}
.artist-films{margin:0 0 48px;grid-template-columns:minmax(0,1fr)}
.artist-films .video-card:first-child .video-image{aspect-ratio:16/9}
@media(max-width:750px){.header-logo-slot{position:absolute;right:5%;top:calc(100% + 8px);width:90px}.header-logo{background:var(--red);padding:8px}.header-logo img{width:74px;height:22px}}

/* Full red statement following the opening logo. */
.manifesto{min-height:calc(100svh - 94px);display:flex;align-items:center;padding:64px 0;background:var(--red)}
.manifesto .studio-intro{margin:0;max-width:1120px}
@media(max-width:750px){.manifesto{min-height:calc(100svh - 76px);padding:48px 0}}
/* Native pointer-sized cursors, without a mousemove rendering loop. */
@media(hover:hover) and (pointer:fine){
 html,body,body *{cursor:url("assets/cursor-star-white.svg") 10 10,auto}
 .photo-card,.photo-card *,.video-card,.video-card *,.cover,.cover *,.modal-media img{cursor:url("assets/cursor-star-red.svg") 10 10,pointer}
}
/* Three reusable stars follow quadratic arcs; tails follow the tangent. */
.star-overlay{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:30;contain:strict}
.star-overlay i{position:absolute;top:0;left:0;width:18px;height:18px;opacity:0}
.star-overlay i::before{content:"";position:absolute;right:50%;top:calc(50% - 1px);width:78px;height:2px;background:linear-gradient(90deg,transparent,#ffffff20 30%,#ffffffa6 85%,white)}
.star-overlay i::after{content:"";position:absolute;inset:0;background:white;clip-path:polygon(50% 0,60% 39%,100% 50%,60% 61%,50% 100%,40% 61%,0 50%,40% 39%)}
.star-overlay i:nth-child(2){width:20px;height:20px}
.star-overlay i:nth-child(3){width:16px;height:16px}
.star-overlay i:nth-child(2)::before{width:92px}
@media(max-width:750px){.star-overlay i::before{width:56px}.star-overlay i:nth-child(2)::before{width:68px}}
body.no-scroll .star-overlay,body.media-fullscreen .star-overlay{visibility:hidden}
body.no-scroll .star-overlay i,body.media-fullscreen .star-overlay i,body.page-paused .star-overlay i{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.star-overlay{display:none}}

/* Keep only the two footer separators. */
.section-title{border-top:0}
