@charset "UTF-8";
@font-face{font-family:"Nexform Text";src:url("assets/fonts/Outfit-Variable.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
:root{--font-studio:"Nexform Text",Arial,Helvetica,sans-serif;--ink:#111110;--paper:#f5f5f2;--line:#181817;--muted:#a4a49d;font-family:var(--font-studio);color:var(--ink);background:var(--ink);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:70px}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #a8c8ef;outline-offset:5px}button:disabled{cursor:default}::selection{background:#d1e0f6;color:#111}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;color:black;padding:16px}.skip:focus{top:16px}
.header{height:68px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper);position:relative;z-index:10;border-bottom:1px solid var(--line)}.brand{font-size:22px;font-weight:700;letter-spacing:-1.2px;white-space:nowrap}.brand span{font-weight:400;font-size:13px;letter-spacing:.02em;margin-left:5px}.header-note{font-size:12px;letter-spacing:.08em}.header nav{display:flex;gap:26px;font-size:13px;letter-spacing:.05em}.header nav a{padding:12px 0;border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--ink)}
.hero{position:relative;height:calc(100svh - 68px);min-height:570px;max-height:900px;overflow:hidden;color:white;background:#161713}.hero video{position:absolute;width:100%;height:100%;object-fit:contain;object-position:50% 45%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.24),transparent 35%,rgba(0,0,0,.1) 58%,rgba(0,0,0,.5))}.hero-top{position:absolute;top:26px;left:28px;right:28px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.11em}.hero-copy{position:absolute;inset:auto 24px 34px}.hero h1{font-weight:500;font-size:clamp(5rem,16.15vw,16rem);line-height:.76;letter-spacing:-.07em;margin:0 0 24px -.012em}.hero-baseline{display:flex;justify-content:space-between;align-items:center;padding:18px 4px 0;border-top:1px solid #ffffff70;font-size:12px;letter-spacing:.1em}.hero-baseline a{font-size:14px;letter-spacing:.05em}.hero-baseline a span{font-size:18px;padding-left:12px}.film-toggle{position:absolute;right:28px;top:64px;border:1px solid #ffffff85;background:#00000038;padding:10px 13px;font-size:12px;letter-spacing:.08em;color:white;backdrop-filter:blur(8px)}.film-toggle:hover{background:#00000070}
.section-label{display:flex;align-items:center;gap:32px;justify-content:space-between;padding:22px 28px;background:var(--paper);font-size:12px;letter-spacing:.08em;border-block:1px solid var(--line)}.section-label h2{font-size:14px;font-weight:400;margin:0;letter-spacing:.04em}.section-label>span:nth-child(2){margin-left:auto;color:#686862}.section-label .work-count{font-variant-numeric:tabular-nums}
.portfolio{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(12,minmax(65px,7.25vw));gap:3px;padding:3px;background:var(--ink)}.tile{border:0;padding:0;position:relative;overflow:hidden;background:#30332e;display:block;text-align:left;min-width:0;min-height:0;color:white}.tile img,.tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;transition:transform .7s cubic-bezier(.2,.65,.2,1)}.tile::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#00000070);pointer-events:none}.tile-meta{position:absolute;inset:auto 18px 18px;display:flex;gap:10px;align-items:flex-end;justify-content:space-between;z-index:2;text-shadow:0 1px 8px #0008}.tile-meta strong{display:block;font-size:16px;font-weight:400;letter-spacing:-.02em}.tile-meta small{font-size:12px;letter-spacing:.08em;text-transform:uppercase;display:block;margin-top:5px;opacity:.85}.tile-index{position:absolute;top:16px;left:18px;z-index:2;font-size:12px;letter-spacing:.08em;text-shadow:0 1px 8px #0008}.tile-meta .view-mark{font-size:24px;line-height:1;font-weight:300}.tile:focus-visible{outline:3px solid #d8e9ff;outline-offset:-5px;z-index:3}.tile .play-label{position:absolute;inset:0;display:grid;place-items:center;z-index:2;font-size:13px;letter-spacing:.1em}.play-label span{border:1px solid #ffffffb3;padding:16px 20px;background:#0004;backdrop-filter:blur(8px)}
.tile.city{grid-column:1/6;grid-row:1/6}.tile.leopard{grid-column:6/10;grid-row:1/5}.tile.sofa{grid-column:10/13;grid-row:1/5}.manifesto{grid-column:6/13;grid-row:5/7;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper);padding:32px;color:var(--ink)}.manifesto p{font-size:clamp(1.5rem,2.8vw,2.75rem);line-height:1.04;letter-spacing:-.06em;max-width:620px;margin:0}.manifesto>span{font-size:12px;letter-spacing:.1em;writing-mode:vertical-rl;white-space:nowrap}.tile.coastal{grid-column:1/3;grid-row:6/10}.tile.desert{grid-column:3/6;grid-row:6/10}.tile.film{grid-column:6/13;grid-row:7/10}.tile.golden{grid-column:1/4;grid-row:10/13}.tile.night{grid-column:4/8;grid-row:10/13}.tile.black{grid-column:8/11;grid-row:10/13}.tile.shore{grid-column:11/13;grid-row:10/13}
.crop-stage{position:absolute;inset:0;overflow:hidden}.crop-inner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.crop-inner img{max-width:none;object-fit:fill;transition:none}.crop-stage+.tile-meta{z-index:3}
.studio{background:var(--paper);padding:90px 40px 98px;display:grid;grid-template-columns:1fr 1fr;gap:64px;border-top:1px solid var(--line)}.eyebrow{font-size:12px;letter-spacing:.09em}.studio h2{font-size:clamp(2.5rem,4.35vw,4.75rem);font-weight:400;letter-spacing:-.06em;line-height:1.03;margin:28px 0 0}.studio-details p{max-width:550px;font-size:20px;line-height:1.5;margin:0 0 36px;letter-spacing:-.025em}.studio dl{margin:0;max-width:550px}.studio dl div{display:flex;gap:32px;padding:16px 0;border-top:1px solid #bbbcb7}.studio dt{font-size:12px;padding-top:3px;color:#66665f}.studio dd{font-size:16px;margin:0}
footer{padding:30px 40px 26px;color:var(--paper);background:var(--ink)}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.07em}.footer-top>a{font-size:13px}.footer-top>a span{padding-left:8px}footer>p{font-size:clamp(2rem,4.75vw,5rem);font-weight:400;letter-spacing:-.06em;line-height:1.07;margin:64px 0 74px}.footer-bottom{border-top:1px solid #42423e;padding-top:22px;color:#b9b9b1}
dialog{border:0;position:fixed;inset:0;margin:0;max-width:none;max-height:none;width:100%;height:100dvh;background:#111110;color:#fafaf5;padding:0;overflow:hidden}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#000d}.viewer-bar{min-height:70px;display:flex;align-items:center;gap:28px;padding:16px 26px;border-bottom:1px solid #333}.viewer-bar h2{font-size:16px;font-weight:400;margin:0}.viewer-bar>span{font-size:12px;color:#adada4;font-variant-numeric:tabular-nums}.viewer-bar button{margin-left:auto;display:flex;align-items:center;gap:14px}.viewer-bar button span{font-size:28px;line-height:1}.viewer-bar button,.viewer-bottom button{background:transparent;border:0;color:white;font-size:13px;padding:8px 0}.viewer-stage{min-height:0;flex:1;position:relative;padding:24px;display:grid;place-items:center}.viewer-stage>img,.viewer-stage>video{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.viewer-crop{position:relative;overflow:hidden;max-width:100%;max-height:100%}.viewer-crop img{position:absolute;max-width:none;object-fit:fill}.viewer-bottom{min-height:60px;padding:10px 26px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.viewer-bottom>span{font-size:12px;letter-spacing:.06em;color:#adada4;text-transform:uppercase}.no-script-gallery{display:grid;grid-template-columns:1fr 1fr;color:white}.no-script-gallery img{width:100%}.no-script-gallery p{padding:20px}
@media(min-width:1800px){.portfolio{grid-template-rows:repeat(12,130px)}}
@media(max-width:1000px){.header-note{display:none}.portfolio{grid-template-rows:repeat(12,8.5vw)}.tile-meta{inset:auto 12px 14px}.tile-meta strong{font-size:14px}.tile-meta small{display:none}.tile-index{top:12px;left:12px}.manifesto{padding:24px}.studio{padding:64px 28px;gap:40px}.studio-details p{font-size:18px}}
@media(max-width:640px){:root{scroll-padding-top:20px}.header{height:62px;padding:0 17px;gap:12px}.brand{font-size:21px}.brand span{font-size:12px;margin-left:3px}.header nav{font-size:12px;gap:18px}.hero{height:78svh;min-height:530px;max-height:790px}.hero video{object-position:48% 50%}.hero-top{left:17px;right:17px;top:21px;font-size:12px;letter-spacing:.05em}.hero-top span:last-child{display:none}.hero-copy{left:15px;right:15px;bottom:28px}.hero h1{font-size:15.6vw;line-height:.8;margin-bottom:22px}.hero-baseline{padding:13px 0 0;gap:15px;font-size:12px;letter-spacing:.03em}.hero-baseline a{font-size:12px;letter-spacing:0}.hero-baseline a span{font-size:15px;padding-left:5px}.film-toggle{right:17px;top:17px;padding:9px 10px;font-size:12px}.section-label{padding:19px 17px;gap:16px}.section-label h2{font-size:12px}.section-label>span:nth-child(2){display:none}.section-label .work-count{font-size:12px}.portfolio{grid-template-columns:1fr 1fr;grid-template-rows:none;gap:2px;padding:2px}.tile.city{grid-column:1/-1;grid-row:auto;aspect-ratio:4/5}.tile.leopard,.tile.sofa{grid-column:auto;grid-row:auto;aspect-ratio:3/4}.manifesto{grid-column:1/-1;grid-row:auto;min-height:180px;padding:25px 20px;gap:20px}.manifesto p{font-size:31px}.manifesto>span{font-size:12px}.tile.film{grid-column:1/-1;grid-row:auto;aspect-ratio:16/10}.tile.coastal,.tile.desert,.tile.golden,.tile.night,.tile.black,.tile.shore{grid-column:auto;grid-row:auto;aspect-ratio:3/4}.tile-meta{inset:auto 12px 14px}.tile-meta strong{font-size:14px}.tile-meta .view-mark{font-size:20px}.tile-index{font-size:12px}.tile.city .tile-meta strong{font-size:19px}.tile.city .tile-meta small{display:block;font-size:12px}.studio{padding:48px 22px 52px;display:block}.studio h2{font-size:42px;margin-top:23px}.studio-details{margin-top:34px}.studio-details p{font-size:17px;line-height:1.55}.studio dd{font-size:15px}.studio dl div{gap:20px}footer{padding:25px 22px}.footer-top,.footer-bottom{font-size:12px}.footer-top a{font-size:12px}footer>p{font-size:34px;margin:58px 0 62px}.viewer-bar{gap:14px;padding:14px 17px;min-height:64px}.viewer-bar h2{font-size:14px}.viewer-bar>span{font-size:12px}.viewer-bar button{font-size:12px;gap:8px}.viewer-stage{padding:12px}.viewer-bottom{padding:12px 17px 22px;min-height:76px}.viewer-bottom button{font-size:12px}.viewer-bottom>span{font-size:12px;text-align:center;max-width:105px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.tile.extra{grid-column:span 4;aspect-ratio:3/4}
@media(max-width:640px){.hero-baseline,.footer-bottom{flex-wrap:wrap}.tile.extra{grid-column:auto;grid-row:auto;aspect-ratio:3/4}}

/* Product concepts use original generated cutouts with layered page motion. */
.portfolio{grid-template-rows:repeat(16,minmax(65px,7.25vw))}
.tile.product-bag{grid-column:1/5;grid-row:10/14}
.tile.product-fragrance{grid-column:5/9;grid-row:10/14}
.tile.product-shoe{grid-column:9/13;grid-row:10/14}
.tile.golden,.tile.night,.tile.black,.tile.shore{grid-row:14/17}
.motion-toggle{background:none;border:0;border-bottom:1px solid currentColor;padding:5px 0;font-size:12px;letter-spacing:.04em;white-space:nowrap;margin-left:6px}
.product-scene{position:absolute;inset:0;overflow:hidden;isolation:isolate;perspective:900px}
.scene-bag{background:radial-gradient(ellipse at 50% 30%,#ece8e3 0%,#c3bcb4 58%,#8b8b8a 100%)}
.scene-fragrance{background:radial-gradient(ellipse at 48% 38%,#335e49 0%,#122e24 47%,#071411 100%)}
.scene-shoe{background:radial-gradient(ellipse at 47% 40%,#365b86 0%,#17324f 52%,#0a182b 100%)}
.product-glow{position:absolute;inset:-30%;z-index:0;background:radial-gradient(ellipse at 50% 50%,#fff5,transparent 53%);opacity:.65;animation:product-light-drift 11s ease-in-out infinite}
.scene-fragrance .product-glow{background:radial-gradient(ellipse at 50% 50%,#c3f28b55,transparent 55%);animation-duration:13s}
.scene-shoe .product-glow{background:radial-gradient(ellipse at 50% 50%,#adceff66,transparent 56%);animation-delay:-3s}
.product-object{position:absolute;inset:8% 10% 13%;z-index:2;transform-origin:50% 60%;animation:product-float 8s ease-in-out infinite;will-change:transform}
.product-object img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important;transition:none!important;filter:drop-shadow(0 12px 12px #0003)}
.product-sheen{position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,#ffffff00 42%,#ffffff40 49%,#ffffff00 56%,transparent 80%);background-size:280% 100%;mask-image:var(--product-image);mask-size:contain;mask-position:center;mask-repeat:no-repeat;-webkit-mask-image:var(--product-image);-webkit-mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;mix-blend-mode:screen;animation:product-shimmer 9s ease-in-out infinite;pointer-events:none}
.scene-fragrance .product-object{inset:5% 13% 13%;animation-name:bottle-float;animation-duration:9s;animation-delay:-2s}
.scene-fragrance .product-sheen{animation-duration:8s;animation-delay:-3s}
.scene-shoe .product-object{inset:7% 8% 12%;animation-name:shoe-float;animation-duration:10s;animation-delay:-1s}
.product-shadow{position:absolute;left:24%;right:24%;height:5%;bottom:15%;z-index:1;border-radius:50%;background:#03050970;filter:blur(14px);animation:shadow-breathe 8s ease-in-out infinite}
.scene-fragrance .product-shadow{left:34%;right:34%;bottom:13%;animation-duration:9s;animation-delay:-2s}
.scene-shoe .product-shadow{left:18%;right:18%;bottom:22%;animation-duration:10s;animation-delay:-1s}
.concept-label{position:absolute;right:15px;top:16px;z-index:3;font-size:12px;letter-spacing:.035em}
.tile.product-bag{color:#211c1b}.tile.product-bag .tile-index,.tile.product-bag .tile-meta{text-shadow:none}
.tile.product-bag::after{background:linear-gradient(transparent,#f2ece366)}
.tile.product-bag .tile-meta small,.tile.product-fragrance .tile-meta small,.tile.product-shoe .tile-meta small{display:block;font-size:12px;letter-spacing:.01em}
.product-full{position:relative;inset:auto;width:min(100%,900px);height:100%;max-height:100%;aspect-ratio:1;min-height:0;border:1px solid #ffffff20}
.viewer-description{display:grid;justify-items:center;gap:4px;text-align:center;max-width:280px}.viewer-description>span{font-size:12px;letter-spacing:.04em;color:#adada4;text-transform:uppercase}.viewer-description #viewer-motion{font-size:12px;padding:5px 0;border-bottom:1px solid #ffffff70}.viewer-description #viewer-motion[hidden]{display:none}
body[data-motion="paused"] .product-scene *, .product-scene[data-visible="false"] *{animation-play-state:paused!important}
.hero h1{font-weight:500;letter-spacing:-.065em}.brand{letter-spacing:-.8px}.studio h2,footer>p{letter-spacing:-.045em}.manifesto p{letter-spacing:-.045em}
@keyframes product-float{0%,100%{transform:translate3d(0,8px,0) rotate(-3deg)}50%{transform:translate3d(0,-12px,0) rotate(2deg)}}
@keyframes bottle-float{0%,100%{transform:translate3d(0,5px,0) rotate(-1.5deg) scale(.97)}50%{transform:translate3d(0,-10px,0) rotate(1.5deg) scale(1)}}
@keyframes shoe-float{0%,100%{transform:translate3d(-4px,6px,0) rotate(-5deg)}50%{transform:translate3d(5px,-11px,0) rotate(3deg)}}
@keyframes product-shimmer{0%,15%{background-position:160% 50%;opacity:0}35%,65%{opacity:.75}85%,100%{background-position:-70% 50%;opacity:0}}
@keyframes product-light-drift{0%,100%{transform:translate(-5%,-3%) scale(.95);opacity:.45}50%{transform:translate(8%,5%) scale(1.1);opacity:.8}}
@keyframes shadow-breathe{0%,100%{transform:scaleX(1);opacity:.6}50%{transform:scaleX(.8);opacity:.3}}
@media(min-width:1800px){.portfolio{grid-template-rows:repeat(16,130px)}}
@media(max-width:1000px) and (min-width:641px){.portfolio{grid-template-rows:repeat(16,8.5vw)}.concept-label{font-size:12px;right:12px;top:32px}.tile.product-bag .tile-meta small,.tile.product-fragrance .tile-meta small,.tile.product-shoe .tile-meta small{display:none}.header nav{font-size:14px}}
@media(max-width:640px){.portfolio{grid-template-rows:none}.tile.product-bag,.tile.product-fragrance,.tile.product-shoe{grid-column:1/-1;grid-row:auto;aspect-ratio:1.08}.tile.golden,.tile.night,.tile.black,.tile.shore{grid-row:auto}.section-label{gap:12px;flex-wrap:wrap}.motion-toggle{margin-left:auto;font-size:12px}.concept-label{right:16px;top:16px}.product-full{height:100%;max-height:75svh}.brand{font-size:20px}.brand span{font-size:12px}.header nav{gap:13px}.hero h1{font-size:15.5vw}.hero-baseline{font-size:12px;line-height:1.4}.product-object{inset:8% 10% 15%}}

/* Continuous editorial chapters, curated by mood and colour. */
.portfolio{display:block;padding:3px}
.work-chapter+.work-chapter{margin-top:3px}
.chapter-heading{display:flex;align-items:center;gap:20px;min-height:54px;padding:16px 25px;background:var(--paper);border-bottom:3px solid var(--ink)}
.chapter-heading>span{font-size:12px;color:#77766f;font-variant-numeric:tabular-nums}
.chapter-heading h3{font-size:14px;font-weight:400;letter-spacing:.065em;text-transform:uppercase;margin:0}
.chapter-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(55px,7.1vw,130px);gap:3px}
.chapter-grid>.tile{grid-column:var(--column,span 4);grid-row:var(--row,span 5);aspect-ratio:auto}
.chapter-grid>.manifesto{grid-column:6/13;grid-row:5/7}
.film-marker{position:absolute;top:16px;right:16px;z-index:3;border:1px solid #ffffff75;background:#0003;padding:7px 9px;font-size:12px;letter-spacing:.045em;pointer-events:none}
.tile .tile-video{pointer-events:none}

.still-motion:nth-child(even)>img{animation-delay:-7s}
body[data-motion="paused"] .still-motion>img,.still-motion[data-visible="false"]>img,body[data-viewer="open"] .portfolio .still-motion>img,body[data-viewer="open"] .portfolio .product-scene *{animation-play-state:paused!important}
@keyframes still-drift{0%,100%{transform:scale(1)}50%{transform:scale(1.045) translate3d(0,-.35%,0)}}
.process{background:var(--paper);padding:78px 40px 82px;border-top:1px solid var(--line)}
.process-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:48px}
.process h2{font-size:clamp(2.5rem,4.35vw,4.75rem);font-weight:400;line-height:1.03;letter-spacing:-.045em;margin:26px 0 0}
.process-intro>p{font-size:20px;line-height:1.5;letter-spacing:-.025em;max-width:520px;margin:0}
.process-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0;padding:0}
.process-steps>li{border-top:1px solid #b5b5ae;padding-top:18px}
.step-number{font-size:12px;color:#72726c;font-variant-numeric:tabular-nums}
.process-steps h3{font-size:22px;font-weight:400;letter-spacing:-.03em;margin:26px 0 13px}
.process-steps p{font-size:16px;line-height:1.55;color:#55554f;margin:0;max-width:320px}
.header nav{flex-shrink:0}
@media(max-width:1000px) and (min-width:641px){.chapter-grid{grid-auto-rows:8.5vw}.film-marker{top:12px;right:12px;font-size:12px;padding:5px 6px}.process{padding:60px 28px}.process-intro{gap:40px}.process-steps{gap:20px}.process-steps h3{font-size:20px}}
@media(max-width:640px){.header{height:auto;min-height:62px;flex-wrap:wrap;padding-block:14px;gap:10px 14px}.header nav{margin-left:auto}.header nav a{padding:5px 0}.portfolio{padding:2px}.work-chapter+.work-chapter{margin-top:2px}.chapter-heading{min-height:48px;padding:14px 15px;border-bottom-width:2px;gap:14px}.chapter-heading h3{font-size:14px}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:2px}.chapter-grid>.tile{grid-column:auto;grid-row:auto;aspect-ratio:3/4}.chapter-grid>.tile.is-lead{grid-column:1/-1;aspect-ratio:4/5}.chapter-grid>.tile.is-film{grid-column:1/-1;aspect-ratio:16/9}.chapter-grid>.manifesto{grid-column:1/-1;grid-row:auto;min-height:180px}.chapter-grid>.tile.product-bag,.chapter-grid>.tile.product-fragrance,.chapter-grid>.tile.product-shoe{aspect-ratio:3/4}.concept-label{font-size:12px;top:32px;left:12px;right:10px}.tile.product-bag .tile-meta small,.tile.product-fragrance .tile-meta small,.tile.product-shoe .tile-meta small{display:none}.film-marker{top:12px;right:12px;padding:5px 7px}.process{padding:48px 22px 52px}.process-intro{display:block;margin-bottom:32px}.process h2{font-size:42px;margin-top:23px}.process-intro>p{font-size:17px;margin-top:24px;line-height:1.55}.process-steps{grid-template-columns:1fr 1fr;gap:30px 20px}.process-steps h3{font-size:20px;margin-top:20px}.process-steps p{font-size:16px}.viewer-description{max-width:180px}}

@media(max-width:640px){.chapter-grid>.tile.mobile-wide{grid-column:1/-1;aspect-ratio:4/5}.chapter-grid>.tile.is-film.compact-film{grid-column:auto;aspect-ratio:3/4}}

/* Landscape opening film: preserve the full composition on every screen. */
.hero{height:auto;min-height:0;max-height:none;aspect-ratio:16/9;background:#0a1518}
.hero video{object-fit:contain;object-position:center}
@media(max-width:640px){.hero{aspect-ratio:auto;height:auto;min-height:0;max-height:none}.hero video{position:relative;display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.hero-shade{display:none}.hero-top{display:none}.hero-copy{position:relative;inset:auto;padding:28px 17px 24px}.hero h1{margin-bottom:24px}.film-toggle{top:12px;right:12px}}

/* Dedicated shoots, with black/red moving editorial separators. */
.shoot-chapter{background:#101010}
.shoot-chapter .chapter-heading{background:#101010;color:#fff;border:0;min-height:105px;padding:26px 28px;gap:24px}
.shoot-chapter .chapter-heading>span{color:#fa3939}
.shoot-chapter .chapter-heading h3{font-size:clamp(26px,4vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1.05}
.shoot-ribbon{overflow:hidden;background:#101010;color:#ff3939;padding:10px 0 14px;position:relative}
.shoot-ribbon::after{content:"";position:absolute;bottom:0;left:0;width:200%;height:5px;background:repeating-linear-gradient(110deg,#ec252b 0 70px,#101010 70px 90px);animation:shoot-line 9s linear infinite}
.ribbon-track{display:flex;width:max-content;animation:shoot-ticker 38s linear infinite}
.ribbon-track>span{white-space:nowrap;flex-shrink:0;font-size:14px;letter-spacing:.12em;line-height:1.5}
@keyframes shoot-ticker{to{transform:translateX(-50%)}}
@keyframes shoot-line{to{transform:translateX(-180px)}}
body[data-motion="paused"] .ribbon-track,body[data-motion="paused"] .shoot-ribbon::after,body[data-viewer="open"] .ribbon-track,body[data-viewer="open"] .shoot-ribbon::after{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.ribbon-track,.shoot-ribbon::after{animation:none}}
@media(max-width:640px){.shoot-chapter .chapter-heading{padding:24px 18px;min-height:86px;gap:16px}.shoot-chapter .chapter-heading h3{font-size:34px}.chapter-grid>.tile.mobile-wide{grid-column:1/-1;aspect-ratio:4/5}.chapter-grid>.tile.is-film{grid-column:1/-1;aspect-ratio:16/9}}

.tile{transition:opacity .6s ease,transform .7s cubic-bezier(.2,.65,.2,1)}
.tile.reveal-pending{opacity:0;transform:translateY(18px)}
body[data-motion="paused"] .tile.reveal-pending{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.tile{transition:none}.tile.reveal-pending{opacity:1;transform:none}}

@media(max-width:640px){.chapter-fragrance-shoot .tile.product-fragrance{grid-column:1/-1;aspect-ratio:1.4}}

/* Coastal project: one hero portrait, paired details and a full-frame film. */
.chapter-coastal-sweats{margin-top:5px}
.chapter-coastal-sweats .chapter-heading{flex-wrap:wrap}
.chapter-coastal-sweats .chapter-heading h4{font-size:clamp(26px,4vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1.05;margin:0}
.chapter-coastal-sweats .chapter-grid{gap:5px;background:#101010}
.chapter-coastal-sweats .tile-video{object-fit:contain;background:#101010}
.chapter-coastal-sweats .tile:hover>video{transform:none}
@media(max-width:640px){.chapter-coastal-sweats .chapter-grid{gap:3px}.chapter-coastal-sweats .chapter-heading h4{font-size:34px}.chapter-coastal-sweats .chapter-grid>.tile{aspect-ratio:1373/2048}.chapter-coastal-sweats .chapter-grid>.tile.is-film{aspect-ratio:16/9}}

/* Selected collages and compact night palette. */
.tile.media-contain>video{object-fit:contain;background:#101010}
.tile.media-contain:hover>video{transform:none}
.chapter-tonal .collage-panel{border-top:8px solid #101010}
.compact-chapter .chapter-grid{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:auto;gap:5px;padding:22px clamp(16px,4vw,64px) 30px}
.compact-chapter .chapter-grid>.tile{aspect-ratio:2/3}
@media(max-width:640px){.chapter-grid>.tile.portrait-film{aspect-ratio:4/5}.chapter-tonal .collage-panel{border-top:3px solid #101010}.compact-chapter .chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:12px 8px 18px}.compact-chapter .chapter-grid>.tile{grid-column:auto;grid-row:auto;aspect-ratio:2/3}.compact-chapter .tile-meta{inset:auto 7px 10px}.compact-chapter .tile-meta strong{font-size:14px}.compact-chapter .tile-meta small,.compact-chapter .view-mark{display:none}.compact-chapter .tile-index{top:9px;left:8px}}

/* Editorial collage presentation; source frames remain uncropped. */
.portfolio .tile{display:block;background:var(--paper);color:#fff;min-width:0;min-height:0}
.portfolio .tile::after{display:none}
.tile-media{display:block;position:absolute;inset:0;min-width:0;min-height:0;overflow:hidden;background:transparent}
.shoot-chapter .tile,.chapter-nocturne .tile,.portfolio .tile.is-film{background:#101010}
.portfolio .tile .tile-media>img,.portfolio .tile .tile-media>video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;animation:none;transition:none}
.portfolio .tile-index{position:absolute;inset:12px auto auto 12px;color:white;background:#101010bb;padding:4px 6px;font-size:12px;line-height:1.2;text-shadow:none;z-index:2}
.portfolio .tile-meta{position:absolute;inset:auto 0 0;display:flex;gap:12px;padding:24px 16px 15px;min-width:0;background:linear-gradient(transparent,#000b);color:#fff;text-shadow:0 1px 5px #0008;opacity:0;transition:opacity .22s ease;pointer-events:none}
.portfolio .tile-meta strong{line-height:1.25}
.portfolio .tile:is(:hover,:focus-visible) .tile-meta{opacity:1}
.portfolio .tile .film-marker,.portfolio .tile .concept-label{display:block;position:absolute;inset:12px 12px auto auto;background:#101010a8;padding:5px 7px;color:white;font-size:12px;max-width:calc(100% - 65px)}
.portfolio .product-object{inset:12% 12% 15%}
.chapter-tonal .collage-panel{border:0}
/* Denim & roses uses equal columns with a vertically centered film. */
.chapter-tonal>.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:auto;align-items:center}
.portfolio .chapter-tonal>.chapter-grid>.tile{grid-column:auto;grid-row:auto;aspect-ratio:var(--media-ratio);width:100%;align-self:center;margin:0}
.portfolio .chapter-tonal>.chapter-grid>.tile.is-lead{grid-column:auto;grid-row:auto}
.portfolio .chapter-tonal>.chapter-grid>.tile.is-film{grid-column:auto;grid-row:auto;width:80%;justify-self:center;align-self:center}
.compact-chapter .chapter-grid{grid-template-columns:3fr 2fr 2fr 3fr 2.6fr;align-items:center;gap:8px;padding:24px clamp(16px,4vw,64px) 34px}
.compact-chapter .chapter-grid>.tile{aspect-ratio:var(--media-ratio);align-self:center}
.compact-chapter .chapter-grid>.tile:nth-child(2){align-self:start;margin-top:16px}
.compact-chapter .chapter-grid>.tile:nth-child(3){align-self:end;margin-bottom:16px}
.viewer-stage>img,.viewer-stage>video{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}
@media(max-width:640px){
 .portfolio .chapter-grid>.tile{aspect-ratio:var(--media-ratio);align-self:center}
 .portfolio .chapter-grid>.tile.is-lead{grid-column:1/-1;aspect-ratio:var(--media-ratio)}
 .portfolio .chapter-grid>.tile.is-film{grid-column:1/-1;aspect-ratio:var(--media-ratio)}
 .portfolio .tile-index{inset:8px auto auto 8px;padding:4px 5px}
 .portfolio .tile-meta{padding:20px 10px 12px}
 .portfolio .tile .film-marker{inset:8px 8px auto auto}
 .portfolio .tile .concept-label{display:none}
 .compact-chapter .chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:14px 8px 22px}
 .compact-chapter .chapter-grid>.tile{grid-column:auto;grid-row:auto}
}
@media(prefers-reduced-motion:reduce){.portfolio .tile-meta{transition:none}}

/* Three complete, equally tall images immediately after the intro film. */
.portfolio.featured-work{display:grid;grid-template-rows:auto;grid-auto-rows:auto;gap:3px;padding:3px;background:var(--ink);align-items:stretch}
.portfolio.featured-work>.tile{grid-column:auto;grid-row:auto;aspect-ratio:var(--media-ratio);width:100%;height:auto;align-self:stretch;margin:0}
.portfolio.featured-work .tile-media>img{object-fit:contain;object-position:center;transform:none}
@media(max-width:640px){.portfolio.featured-work{gap:2px;padding:2px}.portfolio.featured-work .tile-meta small,.portfolio.featured-work .view-mark{display:none}.portfolio.featured-work .tile-meta strong{font-size:14px}}

/* Midnight instinct: three equal frames with aligned top and bottom edges. */
.chapter-violet-shoot>.chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;align-items:start;row-gap:16px}
.portfolio .chapter-violet-shoot>.chapter-grid>.tile{grid-column:var(--column);grid-row:1/2;width:100%;aspect-ratio:1792/2400;align-self:start;margin:0;background:#111110}
.xo-panel{position:relative;grid-column:2/3;grid-row:2/3;min-width:0;min-height:190px;overflow:hidden;background:transparent}
.xo-panel svg{position:absolute;left:50%;top:50%;width:calc(100% - 28px);height:calc(100% - 28px);max-width:260px;max-height:260px;transform:translate(-50%,-50%) rotate(-6deg);fill:none;stroke:#fff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.xo-panel path{stroke-dasharray:1;stroke-dashoffset:0}
.xo-panel .xo-win{stroke-width:4}
@media(max-width:640px){
 .chapter-violet-shoot>.chapter-grid{row-gap:8px}
 .xo-panel{grid-column:1/-1;min-height:170px}
}
