/* Jewel lighting: decorative layers never intercept a control. */
:root{--glow-pink:255 20 151;--glow-violet:111 55 238;--glow-gold:245 207 51;--motion-ease:cubic-bezier(.16,1,.3,1)}
.menu-lines{position:relative;height:18px;border:0}.menu-lines::before,.menu-lines::after{content:'';position:absolute;left:0;width:18px;height:1px;background:currentColor;transition:translate .25s var(--motion-ease),rotate .25s var(--motion-ease)}.menu-lines::before{top:5px}.menu-lines::after{top:12px}.menu-toggle[aria-expanded=true] .menu-lines::before{translate:0 3.5px;rotate:45deg}.menu-toggle[aria-expanded=true] .menu-lines::after{translate:0 -3.5px;rotate:-45deg}.mobile-nav{border-bottom:1px solid rgb(33 28 40/.25);box-shadow:0 18px 28px -20px rgb(33 28 40/.5)}.gallery-page .mobile-nav{border-bottom-color:rgb(243 240 235/.4)}
.header-tools{display:flex;align-items:center;gap:20px;flex-shrink:0}.effects-control{width:44px;height:44px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;position:relative;padding:11px;transition:background .25s,color .25s,rotate .6s var(--motion-ease)}.effects-control svg{width:22px;height:22px;fill:currentColor}.effects-control[aria-pressed=true]{background:var(--ink);color:var(--acid);border-color:var(--ink)}.gallery-page .effects-control[aria-pressed=true]{background:var(--acid);color:var(--violet);border-color:var(--acid)}.effects-control[aria-pressed=false]::after{content:'';position:absolute;width:24px;height:1px;background:currentColor;rotate:-45deg}.effects-control:hover{rotate:45deg}
.atmosphere{position:relative;isolation:isolate}.light-field{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .6s;contain:strict}.effects-on .light-field{opacity:1}.light-field::before,.light-field::after{content:'';position:absolute;width:760px;height:760px;left:0;top:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgb(var(--glow-pink)/.2),rgb(var(--glow-violet)/.11) 30%,transparent 66%);transform:translate3d(calc(var(--light-x,70vw) - 50%),calc(var(--light-y,220px) - 50%),0);transition:opacity .6s;opacity:.7}.light-field::after{left:10%;top:8%;width:650px;height:650px;background:radial-gradient(ellipse,rgb(var(--glow-violet)/.15),transparent 66%);transform:none;animation:light-drift 15s ease-in-out infinite alternate;animation-play-state:paused}.atmosphere.is-lit>.light-field::before{opacity:1}.hero>.light-field::before,.site-footer>.light-field::before{background:radial-gradient(circle,rgb(var(--glow-pink)/.23),rgb(var(--glow-gold)/.16) 32%,transparent 67%)}.studio>.light-field::before,.contact>.light-field::before,.gallery-intro>.light-field::before,.shop-section>.light-field::before{background:radial-gradient(circle,rgb(var(--glow-pink)/.43),rgb(var(--glow-violet)/.3) 35%,transparent 68%)}.studio>.light-field::after,.contact>.light-field::after,.gallery-intro>.light-field::after{background:radial-gradient(ellipse,rgb(232 244 118/.13),transparent 68%)}
.motion-on .in-view>.light-field::after{animation-play-state:running}.motion-on .hero.in-view .hero-art:not(.is-remixing){animation:jewel-float 6s ease-in-out infinite}.motion-on .hero.in-view .art-centre:not(.is-remixing){animation-delay:-2s;animation-duration:7s}.motion-on .hero.in-view .art-right:not(.is-remixing){animation-delay:-4s;animation-duration:8s}.motion-on .hero-art.is-hovered{animation-play-state:paused!important}.motion-on .reactive-tile{rotate:var(--tilt,0deg);transition:rotate .5s var(--motion-ease),box-shadow .4s,filter .4s}.motion-on :is(.work-image,.object>button,.shop-image).reactive-tile{translate:0 var(--lift,0px);transition:translate .5s var(--motion-ease),rotate .5s var(--motion-ease),box-shadow .4s}
.hero-art,.work-image,.object>button,.shop-image{isolation:isolate}.hero-art::after,.work-image::after,.object>button::after,.shop-image::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;background:radial-gradient(ellipse at var(--shine-x,50%) var(--shine-y,35%),rgb(255 255 255/.54),transparent 48%),linear-gradient(115deg,transparent 20%,rgb(255 255 255/.64) 44%,transparent 60%);background-size:100% 100%,230% 100%;background-position:0 0,160% 0;opacity:0;transition:opacity .3s,background-position .9s var(--motion-ease);mix-blend-mode:soft-light}.effects-on :is(.hero-art,.work-image,.object>button,.shop-image):is(:hover,:focus-visible)::after{opacity:1;background-position:0 0,-40% 0}.effects-on :is(.hero-art,.work-image,.object>button,.shop-image):is(:hover,:focus-visible){box-shadow:0 18px 45px -15px rgb(var(--glow-violet)/.55),0 8px 30px -8px rgb(var(--glow-pink)/.3)}.effects-on .shop-image:hover{box-shadow:0 18px 60px -10px rgb(var(--glow-pink)/.6),0 4px 35px -8px rgb(var(--glow-gold)/.25)}
.hero-brand h1{position:relative;isolation:isolate}.hero-brand h1::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse,rgb(var(--glow-pink)/.3),transparent 69%);filter:blur(18px);opacity:0;scale:.85;transition:opacity .5s,scale .7s var(--motion-ease)}.effects-on .hero-brand:hover h1::before{opacity:1;scale:1.15}.hero-brand img,.brand img,.footer-logo img{transition:filter .5s,translate .5s var(--motion-ease)}.effects-on :is(.hero-brand,.brand,.footer-logo):hover img{filter:drop-shadow(0 5px 13px rgb(var(--glow-pink)/.45))}.motion-on .hero-brand:hover img{translate:0 -5px}.motion-on .brand:hover img,.motion-on .footer-logo:hover img{translate:0 -3px}
.site-header nav a,.mobile-nav a,.text-link,.footer-main nav a,.footer-contact>a,.gallery-info-links a{position:relative;transition:color .25s,text-shadow .35s}.site-header nav a::after,.mobile-nav a::after,.footer-main nav a::after,.footer-contact>a::after,.gallery-info-links a::after{content:'';position:absolute;left:0;bottom:5px;width:100%;height:2px;background:currentColor;scale:0 1;transform-origin:left;transition:scale .35s var(--motion-ease);pointer-events:none}.effects-on :is(.site-header nav a,.mobile-nav a,.footer-main nav a,.footer-contact>a,.gallery-info-links a):is(:hover,:focus-visible)::after{scale:1 1;box-shadow:0 3px 12px rgb(var(--glow-pink)/.6)}.effects-on :is(.text-link,.gallery-ribbon,.contact-bottom a):is(:hover,:focus-visible){text-shadow:0 3px 16px rgb(var(--glow-pink)/.25)}.motion-on .text-link:hover .icon,.motion-on .gallery-ribbon:hover .icon{translate:3px -3px;transition:translate .35s var(--motion-ease)}
.shop-button{position:relative;overflow:hidden;transition:background .3s,box-shadow .3s,translate .3s}.shop-button::before{content:'';position:absolute;inset:-50%;pointer-events:none;background:linear-gradient(110deg,transparent 38%,rgb(255 255 255/.75) 49%,transparent 60%);translate:-110% 0;transition:translate .65s var(--motion-ease)}.effects-on .shop-button:is(:hover,:focus-visible){background:var(--acid);box-shadow:0 10px 36px -9px rgb(232 244 118/.6)}.effects-on .shop-button:is(:hover,:focus-visible)::before{translate:110% 0}.motion-on .shop-button:hover{translate:0 -3px}.round-arrow,.contact-circle,.enlarge,.lightbox-nav button,.lightbox-close,.filters button,.layout-toggle{transition:background .3s,color .3s,box-shadow .4s,rotate .5s var(--motion-ease),translate .4s var(--motion-ease)}.effects-on :is(.round-link:hover .round-arrow,.contact-circle:hover,.contact-circle:focus-visible,.enlarge:hover,.lightbox-nav button:hover,.lightbox-close:hover,.filters button:hover,.layout-toggle:hover){box-shadow:0 9px 28px -8px rgb(var(--glow-pink)/.55)}.motion-on :is(.round-link:hover .round-arrow,.contact-circle:hover){rotate:8deg}.motion-on .filters button:hover,.motion-on .layout-toggle:hover{translate:0 -2px}
.price-group dl>div{position:relative;isolation:isolate;transition:color .3s}.price-group dl>div::before{content:'';position:absolute;inset:0 -12px;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgb(var(--glow-violet)/.1),rgb(var(--glow-pink)/.15));opacity:0;scale:.95 1;transition:opacity .25s,scale .4s var(--motion-ease)}.effects-on .price-group dl>div:hover::before{opacity:1;scale:1 1}.price-group dt,.price-group dd{transition:translate .3s var(--motion-ease),color .3s}.motion-on .price-group dl>div:hover dt{translate:5px 0}.effects-on .price-group dl>div:hover dd{color:var(--violet)}.custom-steps li{position:relative;isolation:isolate}.custom-steps li::before{content:'';position:absolute;inset:0 -12px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 15%,rgb(255 255 255/.5),transparent 72%);opacity:0;transition:opacity .4s}.effects-on .custom-steps li:hover::before{opacity:1}.step-number,.custom-steps h3,.work-label h3,.object-info h2{transition:translate .4s var(--motion-ease),color .35s,text-shadow .35s}.motion-on .custom-steps li:hover .step-number{translate:0 -4px}.effects-on .custom-steps li:hover h3,.effects-on .work:hover h3,.effects-on .object:hover h2{color:var(--violet);text-shadow:0 6px 22px rgb(var(--glow-pink)/.2)}
.studio-image::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 20%,rgb(255 255 255/.48) 48%,transparent 72%);mix-blend-mode:soft-light;translate:-120% 0;opacity:0;transition:translate 1s var(--motion-ease),opacity .3s}.effects-on .studio-image:hover::after{translate:110% 0;opacity:1}.studio-copy .burst{transition:rotate 1s var(--motion-ease),filter .5s}.motion-on .studio-copy:hover .burst{rotate:100deg}.effects-on .studio-copy:hover .burst{filter:drop-shadow(0 5px 15px rgb(232 244 118/.55))}
.film-orbit{transition:border-color .5s,box-shadow .5s}.motion-on .in-view .film-orbit{animation:orbit-light 12s ease-in-out infinite alternate}.motion-on .in-view .film-orbit.two{animation-duration:16s;animation-direction:alternate-reverse}.motion-on .in-view .film-orbit.three{animation-duration:19s;animation-delay:-6s}.motion-on .in-view .film-graphic>svg{animation:facet-turn 22s linear infinite}.effects-on :is(.film-stage:hover,.films-art:hover) .film-orbit{border-color:rgb(244 0 148);box-shadow:0 0 18px -5px rgb(var(--glow-pink)/.6)}.effects-on .film-graphic>svg{filter:drop-shadow(0 6px 18px rgb(var(--glow-violet)/.27))}.motion-on .gallery-intro.in-view .title-burst{animation:facet-turn 28s linear infinite}.effects-on .gallery-tabs button:hover{color:var(--acid);text-shadow:0 4px 22px rgb(232 244 118/.35)}
.effects-on .lightbox{box-shadow:0 24px 100px -28px rgb(var(--glow-pink)/.5)}.effects-on .lightbox::backdrop{background:radial-gradient(ellipse at 50% 45%,rgb(76 36 187/.8),rgb(26 14 44/.96))}.motion-on .lightbox[open]{animation:lightbox-enter .28s var(--motion-ease)}.motion-on .object{animation:object-enter .35s var(--motion-ease)}
.page-hidden *,.page-hidden *::before,.page-hidden *::after,body:has(.lightbox[open]) .atmosphere *,body:has(.lightbox[open]) .atmosphere *::after{animation-play-state:paused!important}.effects-paused *,.effects-paused *::before,.effects-paused *::after{animation:none!important}.effects-paused .reactive-tile{rotate:0deg;translate:0 0}.effects-paused .light-field{opacity:0}
@keyframes light-drift{from{translate:-7% -6%;scale:.95;opacity:.55}to{translate:16% 14%;scale:1.14;opacity:.9}}
@keyframes jewel-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes orbit-light{from{rotate:-7deg;scale:.98}to{rotate:12deg;scale:1.03}}
@keyframes facet-turn{to{rotate:360deg}}
@keyframes lightbox-enter{from{opacity:0;scale:.97}to{opacity:1;scale:1}}
@keyframes object-enter{from{opacity:.4;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:1050px){.site-header nav{gap:20px}.header-tools{gap:12px}.site-header{gap:18px}}
@media(max-width:900px){.site-header nav{gap:15px}.site-header nav a{gap:6px}.effects-control{width:44px;height:44px;border:0}.light-field::before{width:600px;height:600px}.light-field::after{width:460px;height:460px}}
@media(max-width:560px){.header-tools{gap:18px}.light-field::before{width:440px;height:440px}.light-field::after{width:360px;height:360px}.hero>.light-field::before{transform:translate3d(-10%,0,0)}.motion-on .hero.in-view .hero-art:not(.is-remixing){animation-duration:8s}.motion-on .hero.in-view .art-centre:not(.is-remixing){animation-duration:9s}.motion-on .hero.in-view .art-right:not(.is-remixing){animation-duration:10s}.price-group dl>div::before{inset:0 -6px}}
@media(hover:none){.reactive-tile{rotate:0deg!important}.effects-on .hero-brand h1::before{opacity:.45;scale:1}.motion-on .hero-art.is-hovered{animation-play-state:running!important}}
@media(prefers-reduced-motion:reduce){.effects-on .light-field::after{animation:none}.reactive-tile{rotate:0deg!important;translate:0 0!important}.light-field::before{transition:none}.hero-brand img,.brand img,.footer-logo img,.price-group dt,.filters button,.layout-toggle,.shop-button{translate:0 0!important}.effects-on :is(.hero-art,.work-image,.object>button,.shop-image)::after{background:radial-gradient(ellipse at 50% 40%,rgb(255 255 255/.35),transparent 60%)}.effects-control:hover{rotate:0deg}.film-graphic>svg,.film-orbit,.title-burst{animation:none!important}}

/* Logo-free navigation; mobile links remain behind their toggle. */
.site-header{justify-content:space-between}
@media(max-width:700px){.site-header{justify-content:flex-end}.site-header>nav{display:none}.menu-toggle{display:flex}.mobile-nav[hidden]{display:none}}

/* Client website studio credit. */
.footer-copyright{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.site-credit{display:inline-flex;align-items:center;gap:.3em;min-height:44px;margin-block:-12px;font:inherit;font-size:12px;color:var(--ink);text-decoration:none;transition:color .2s,background .2s}
.site-credit .credit-prefix{color:#5c5944;transition:color .2s}
.site-credit:hover,.site-credit:focus-visible{color:var(--violet);text-decoration:none}
.site-credit:hover .credit-prefix,.site-credit:focus-visible .credit-prefix{color:var(--violet)}
.site-credit:focus-visible{outline:2px solid var(--violet);outline-offset:4px}
@media(max-width:700px){.footer-bottom{display:grid;grid-template-columns:1fr 1fr;align-items:center}.footer-copyright{display:contents}.footer-copyright>span{grid-column:1;grid-row:1}.footer-bottom>span:last-child{grid-column:2;grid-row:1;text-align:right;margin-left:0}.footer-bottom>span:nth-child(2){grid-column:1/-1;grid-row:2;width:auto}.footer-copyright>.site-credit{grid-column:1/-1;grid-row:3;justify-self:center;margin:0;min-height:44px}}

/* Featured original Instagram reel. */
.reel-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,430px);align-items:center;gap:50px;background:var(--pink);padding:38px}.reel-player{width:100%;max-width:430px;justify-self:center;background:white;min-width:0}.reel-player iframe{display:block;border:0;width:100%;height:740px}.reel-intro{max-width:480px}.reel-intro h3{font-family:var(--display);font-size:clamp(36px,4vw,64px);line-height:1.05;letter-spacing:-.025em;margin-bottom:22px}.reel-intro p{line-height:1.7;margin-bottom:24px}.films-panel>.reel-player{margin:38px auto}.films-panel{align-items:center}@media(max-width:700px){.reel-feature{grid-template-columns:1fr;padding:24px 16px;gap:24px}.reel-player iframe{height:690px}.films-panel>.reel-player{width:calc(100% - 32px);margin:24px auto}}

/* First-party portrait video; the file plays in place on both pages. */
.reel-player{background:var(--ink);aspect-ratio:9/16;overflow:hidden}.reel-player .featured-video{display:block;width:100%;height:100%;aspect-ratio:9/16;object-fit:cover;background:var(--ink)}

/* The original mark is a compact home link in both headers. */
.header-home img{transition:filter .5s,translate .5s var(--motion-ease)}.effects-on .header-home:is(:hover,:focus-visible) img{filter:drop-shadow(0 5px 13px rgb(var(--glow-pink)/.45))}.motion-on .header-home:hover img{translate:0 -3px}@media(max-width:700px){.site-header{justify-content:space-between}}@media(prefers-reduced-motion:reduce){.header-home img{translate:0 0!important}}

/* Follow scroll direction at every width; keep anchor targets below the header. */
:root{--site-header-height:94px}
html{scroll-padding-top:calc(var(--site-header-height) + 12px)}
.site-header{position:sticky;top:0;z-index:50;translate:0 calc(-1 * var(--header-slide,0px));transition:translate .24s ease-out}
@media(max-width:760px){:root{--site-header-height:78px}}
@media(max-width:700px){
  .mobile-nav{position:fixed;top:var(--site-header-height);z-index:49;max-height:calc(100dvh - var(--site-header-height));overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:560px){:root{--site-header-height:72px}}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}
