/* Palette Studios v1.0 — main stylesheet */
:root{--ink:#0a0a0a;--paper:#f2f0ea;--muted:#aaa69c;--accent:#ff4e2f;--line:rgba(10,10,10,.16);--shell:min(92vw,1440px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--ink)}
body{font-family:"DM Sans",sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden}
body.is-loading{overflow:hidden}.shell{width:var(--shell);margin-inline:auto}.section{padding:clamp(90px,11vw,180px) 0}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600}
.loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--ink);color:white;transition:opacity .7s var(--ease),visibility .7s}
.loader.is-finished{opacity:0;visibility:hidden}.loader__inner{width:min(76vw,420px);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end}.loader__brand{position:relative;display:block;width:min(62vw,310px);height:86px;overflow:hidden}.loader__brand img{position:absolute;width:min(62vw,310px);max-width:none;height:auto;left:0;top:-69px}.loader__number{font-size:12px;color:#aaa}.loader__track{grid-column:1/-1;height:1px;background:#333}.loader__bar{display:block;width:0;height:100%;background:white}
.cursor,.cursor-dot{position:fixed;left:0;top:0;pointer-events:none;z-index:10000;border-radius:50%;transform:translate(-50%,-50%);opacity:0}.cursor{width:36px;height:36px;border:1px solid rgba(255,255,255,.65);mix-blend-mode:difference;transition:width .2s,height .2s}.cursor-dot{width:4px;height:4px;background:white;mix-blend-mode:difference}.cursor.is-active{width:58px;height:58px}
.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;height:96px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:white;transition:height .35s,background .35s,color .35s,transform .35s}
.site-header.is-scrolled{height:72px;background:rgba(242,240,234,.9);color:var(--ink);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.08)}.brand{position:relative;display:block;width:190px;height:42px;overflow:hidden}.brand__logo{position:absolute;z-index:2;left:0;top:-42px;width:190px;height:auto;max-width:none}.brand__logo[src="images/logo.png"]+.brand__fallback{position:absolute}.brand__logo:not([src]),.brand__logo[src=""]{display:none}.brand__fallback{font:600 19px/1 "Manrope",sans-serif;letter-spacing:-.06em;top:6px}.brand__fallback span{display:block;font-size:8px;letter-spacing:.27em;margin-top:3px}.site-nav{display:flex;align-items:center;gap:clamp(24px,3vw,52px);font-size:13px}.site-nav>a{position:relative}.site-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:right .3s}.site-nav>a:hover::after{right:0}.nav-cta{border:1px solid currentColor;border-radius:99px;padding:11px 16px}.nav-cta span{margin-left:15px}.menu-toggle{display:none;background:none;border:0;color:inherit;width:38px;height:38px;position:relative;z-index:2}.menu-toggle span{position:absolute;width:24px;height:1px;background:currentColor;left:7px;transition:.35s}.menu-toggle span:first-child{top:15px}.menu-toggle span:last-child{top:23px}
.hero{height:100svh;min-height:700px;position:relative;color:white;background:#171717;overflow:hidden}.hero__media{position:absolute;inset:-5%;background-image:url("../images/hero/hero-bg.jpg"),linear-gradient(135deg,#2d2925,#090909 70%);background-size:cover;background-position:center;transform:scale(1.07);animation:heroIn 1.8s var(--ease) .4s forwards}.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,.05) 35%,rgba(0,0,0,.68))}.hero__content{height:100%;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(70px,9vh,110px)}.hero__content>.eyebrow{margin-bottom:24px}.hero__title{font:400 clamp(58px,9.5vw,152px)/.88 "Manrope",sans-serif;letter-spacing:-.075em}.title-line{display:block;overflow:hidden;padding-bottom:.08em}.title-line>span{display:block;transform:translateY(115%);animation:titleIn 1.1s var(--ease) 1.1s forwards}.title-line:nth-child(2)>span{animation-delay:1.23s}.title-line--offset{padding-left:8vw}.hero__footer{display:flex;align-items:flex-end;justify-content:space-between;margin-top:clamp(30px,6vh,65px)}.hero__footer>p{font-size:12px;letter-spacing:.04em;color:#d0ceca}.hero__footer i{font-style:normal;margin:0 8px;color:var(--accent)}.hero__actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;gap:32px;border-radius:99px;padding:14px 18px;font-size:13px}.button--light{background:white;color:var(--ink)}.button span{transition:transform .3s}.button:hover span{transform:translateY(4px)}.text-link{font-size:13px;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:5px}.text-link span{margin-left:10px}.scroll-cue{position:absolute;left:4vw;top:46%;display:flex;align-items:center;gap:12px;transform:rotate(-90deg);transform-origin:left center;text-transform:uppercase;font-size:9px;letter-spacing:.2em}.scroll-cue i{display:block;width:50px;height:1px;background:rgba(255,255,255,.5);position:relative;overflow:hidden}.scroll-cue i::after{content:"";position:absolute;inset:0;background:white;animation:scrollLine 2s infinite}
.section-index{font-size:10px;text-transform:uppercase;letter-spacing:.19em;color:#817e76;margin-bottom:35px}.statement__grid{display:grid;grid-template-columns:2fr 1fr;gap:8vw;align-items:end}.display-copy{font:400 clamp(48px,7vw,108px)/.95 "Manrope",sans-serif;letter-spacing:-.065em}.display-copy em,.contact h2 em{font-family:Georgia,serif;font-weight:400}.statement__body{max-width:430px;font-size:clamp(17px,1.45vw,22px);line-height:1.5}.arrow-link{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding:24px 0 10px;margin-top:45px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.work{background:var(--ink);color:white}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:clamp(50px,7vw,100px)}.section-heading h2{font:400 clamp(48px,7.2vw,110px)/.95 "Manrope",sans-serif;letter-spacing:-.065em}.section-note{max-width:270px;color:#999;font-size:13px;line-height:1.5;margin-bottom:8px}.work-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(45px,8vw,130px) clamp(24px,4vw,60px)}.project:nth-child(3){grid-column:1;grid-row:2}.project:nth-child(4){grid-column:2;grid-row:2}.project__media{overflow:hidden;background-color:#222;background-size:cover;background-position:center;aspect-ratio:16/10;position:relative;transition:filter .4s}.project--portrait .project__media{aspect-ratio:3/4}.project__media--one{background-image:url("../images/portfolio/project-01.jpg"),linear-gradient(135deg,#6e5040,#1c1715)}.project__media--two{background-image:url("../images/portfolio/project-02.jpg"),linear-gradient(135deg,#273b41,#101719)}.project__media--three{background-image:url("../images/portfolio/project-03.jpg"),linear-gradient(135deg,#565443,#1a1a16)}.project__media--four{background-image:url("../images/portfolio/project-04.jpg"),linear-gradient(135deg,#553c35,#16110f)}.project__placeholder{position:absolute;right:25px;bottom:18px;font:400 70px/1 "Manrope";opacity:.13}.project__meta{display:flex;justify-content:space-between;padding-top:17px}.project__meta h3{font-size:20px;font-weight:500}.project__meta p{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#888;margin-top:7px}.project__meta>span{font-size:24px;transition:transform .3s}.project:hover .project__media{filter:brightness(.82)}.project:hover .project__meta>span{transform:translate(5px,-5px)}
.services .section-heading{border-bottom:1px solid var(--line);padding-bottom:70px}.service{display:grid;grid-template-columns:80px 1.2fr 1fr 30px;align-items:center;gap:35px;border-bottom:1px solid var(--line);padding:37px 0;transition:padding .35s var(--ease),background .35s}.service>span{font-size:10px;color:#888}.service h3{font:400 clamp(24px,3vw,45px)/1 "Manrope";letter-spacing:-.04em}.service p{font-size:13px;line-height:1.5;color:#716f69;max-width:380px}.service i{font-style:normal;font-size:22px}.service:hover{padding-left:20px;padding-right:20px;background:#e7e4dc}
.contact{position:relative;min-height:90vh;background:#e84b31;color:white;overflow:hidden;padding-top:clamp(100px,12vw,190px)}.contact__orb{position:absolute;width:60vw;height:60vw;border-radius:50%;right:-20vw;top:-30vw;background:radial-gradient(circle at 35% 35%,#ff9b65,#bf1f16 55%,transparent 70%);filter:blur(2px);opacity:.75}.contact__inner{position:relative}.contact h2{font:400 clamp(65px,11vw,170px)/.84 "Manrope";letter-spacing:-.08em;margin:35px 0 70px}.contact__email{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.45);padding:25px 0;font-size:clamp(18px,2.3vw,34px)}.contact__email span{transition:transform .3s}.contact__email:hover span{transform:translate(7px,-7px)}.contact__links{display:flex;gap:35px;margin-top:35px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.site-footer{position:relative;display:flex;justify-content:space-between;margin-top:130px;padding:25px 0 35px;border-top:1px solid rgba(255,255,255,.25);font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.reveal{opacity:0;transform:translateY(42px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
@keyframes titleIn{to{transform:translateY(0)}}@keyframes heroIn{to{transform:scale(1)}}@keyframes scrollLine{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
@media(max-width:820px){.site-header{height:76px;padding:0 6vw}.menu-toggle{display:block}.site-nav{position:fixed;inset:0;background:var(--ink);color:white;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:12vw;gap:28px;transform:translateX(100%);transition:transform .55s var(--ease)}.site-nav a{font:400 42px/1 "Manrope"}.site-nav .nav-cta{font-size:15px;margin-top:20px}.menu-open .site-nav{transform:none}.menu-open .menu-toggle span:first-child{top:19px;transform:rotate(45deg)}.menu-open .menu-toggle span:last-child{top:19px;transform:rotate(-45deg)}.menu-open.site-header{color:white}.hero{min-height:650px}.hero__content{padding-bottom:78px}.hero__title{font-size:clamp(52px,15vw,90px)}.title-line--offset{padding-left:0}.hero__footer{align-items:flex-start;flex-direction:column;gap:28px}.hero__footer>p{max-width:310px;line-height:1.7}.hero__actions{flex-wrap:wrap}.scroll-cue{display:none}.statement__grid{grid-template-columns:1fr;gap:50px}.statement__body{margin-left:auto}.section-heading{align-items:flex-start;flex-direction:column;gap:30px}.work-grid{grid-template-columns:1fr;gap:70px}.project:nth-child(3),.project:nth-child(4){grid-column:auto;grid-row:auto}.project--portrait{width:80%}.project:nth-child(even){margin-left:auto}.service{grid-template-columns:35px 1fr 25px;gap:15px}.service p{grid-column:2;margin-top:10px}.service i{grid-column:3;grid-row:1}.contact__links{flex-wrap:wrap}.site-footer{gap:20px;flex-wrap:wrap}}
@media(max-width:520px){:root{--shell:88vw}.section{padding:85px 0}.hero__title{font-size:14.2vw}.hero__content>.eyebrow{font-size:9px}.hero__actions{gap:18px}.text-link{width:100%;margin-top:4px}.display-copy{font-size:13.5vw}.section-heading h2{font-size:13.5vw}.project--portrait{width:92%}.service{padding:29px 0}.service h3{font-size:24px}.contact h2{font-size:18vw}.contact__links{flex-direction:column;gap:18px}.site-footer{margin-top:85px;flex-direction:column}.site-footer p:nth-child(2){order:3}}
@media(pointer:fine){.cursor,.cursor-dot{opacity:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Active service thumbnails — keep last so no legacy rule can override them. */
.service-card__image--1{background-image:url("../images/services/01-product-photography.jpg");background-position:center}
.service-card__image--2{background-image:url("../images/services/02-podcast-production.jpg");background-position:center}
.service-card__image--3{background-image:url("../images/services/03-fashion-model-shoots.jpg");background-position:center 35%}
.service-card__image--4{background-image:url("../images/services/04-tvc-commercials.jpg");background-position:center}
.service-card__image--5{background-image:url("../images/services/05-brand-campaign-films.jpg");background-position:center}
.service-card__image--6{background-image:url("../images/services/06-corporate-shoots.jpg");background-position:center 35%}
.service-card__image--7{background-image:url("../images/services/07-social-media-content.jpg");background-position:center}
.service-card__image--8{background-image:url("../images/services/08-creative-direction.jpg");background-position:center}
.service-card__image--9{background-image:url("../images/services/09-post-production.jpg");background-position:center}

/* Final accessibility polish. */
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.intro-skip:focus-visible,.reel-play:focus-visible,.bts-sound:focus-visible{outline-color:#fff}

/* Final dual-logo system. */
.brand{width:190px;height:58px;overflow:visible}
.brand__logo{left:0;top:50%;width:190px;height:auto;max-width:100%;transform:translateY(-50%);transition:opacity .3s ease;object-fit:contain}
.brand__logo--light{opacity:1}
.brand__logo--dark{opacity:0}
.site-header.is-scrolled .brand__logo--light{opacity:0}
.site-header.is-scrolled .brand__logo--dark{opacity:1}
.site-header.menu-open .brand__logo--light{opacity:1}
.site-header.menu-open .brand__logo--dark{opacity:0}
.intro-logo{height:auto;min-height:130px;overflow:visible;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}
.intro-logo img{position:static;width:min(70vw,420px);height:auto;max-width:100%}
.intro-logo span{position:static}
@media(max-width:600px){.brand{width:160px;height:50px}.brand__logo{width:160px}.intro-logo{height:auto;min-height:100px}.intro-logo img{position:static;top:auto}}

/* Quick-connect enquiry form. */
.quick-connect{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(45px,8vw,130px);padding:clamp(55px,7vw,95px) 0;border-bottom:1px solid rgba(255,255,255,.45)}
.quick-connect__intro h3{font:400 clamp(36px,4.3vw,66px)/.95 "Manrope",sans-serif;letter-spacing:-.055em}
.quick-connect__intro>p:last-child{max-width:340px;margin-top:24px;color:rgba(255,255,255,.7);font-size:13px;line-height:1.65}
.quick-connect .section-index{color:rgba(255,255,255,.58)}
.enquiry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.enquiry-form label{display:flex;flex-direction:column;gap:10px}
.enquiry-form label>span{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.68)}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.42);border-radius:0;background:transparent;color:white;padding:8px 0 14px;font:400 15px/1.5 "DM Sans",sans-serif;outline:none;transition:border-color .3s}
.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:rgba(255,255,255,.47)}
.enquiry-form select{color:rgba(255,255,255,.75)}
.enquiry-form select option{color:#111;background:white}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:white}
.enquiry-form textarea{resize:vertical;min-height:83px}
.enquiry-form__message{grid-column:1/-1}
.enquiry-form button{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:50px;margin-top:8px;border:1px solid rgba(255,255,255,.7);border-radius:99px;background:white;color:#111;padding:14px 19px;cursor:pointer;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.enquiry-form button span{transition:transform .3s}.enquiry-form button:hover span{transform:translate(5px,-5px)}
.enquiry-form__note{grid-column:1/-1;color:rgba(255,255,255,.55);font-size:10px;line-height:1.5}
@media(max-width:800px){.quick-connect{grid-template-columns:1fr}.quick-connect__intro>p:last-child{max-width:480px}}
@media(max-width:560px){.enquiry-form{grid-template-columns:1fr}.enquiry-form__message,.enquiry-form button,.enquiry-form__note{grid-column:1}.quick-connect{padding:55px 0}.enquiry-form button{width:100%;justify-content:space-between}}

/* Final cinematic split hero inspired by the approved visual direction. */
.hero{min-height:680px;background:#050505}
.hero__media{inset:-3%;background-position:center center;transform:scale(1.045)}
.hero__shade{background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.84) 31%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.26) 100%),linear-gradient(180deg,rgba(0,0,0,.25),transparent 45%,rgba(0,0,0,.58))}
.hero__content{justify-content:center;align-items:flex-start;padding-top:clamp(115px,14vh,165px);padding-bottom:70px}
.hero__content>.eyebrow{margin-bottom:25px;font-size:9px;letter-spacing:.2em}
.hero__title{width:min(58vw,920px);font-size:clamp(58px,6.6vw,112px);line-height:.91;letter-spacing:-.065em}
.title-line--offset{padding-left:0}
.hero__title em{font-family:Georgia,serif;font-weight:400;font-style:italic;color:var(--accent);letter-spacing:-.045em}
.hero__footer{display:block;margin-top:27px}
.hero__footer>p{font-size:11px;color:rgba(255,255,255,.76)}
.hero__actions{position:absolute;right:0;bottom:70px;gap:36px}
.hero .button--light{background:var(--accent);color:white;padding:14px 19px}
.hero .text-link{border-bottom-color:rgba(255,255,255,.65)}
.hero .scroll-cue{display:none}
@media(max-width:900px){
  .hero__shade{background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.65) 52%,rgba(0,0,0,.2)),linear-gradient(180deg,rgba(0,0,0,.2),transparent 35%,rgba(0,0,0,.8))}
  .hero__title{width:min(76vw,760px);font-size:clamp(55px,10vw,88px)}
  .hero__actions{position:static;margin-top:34px}
}
@media(max-width:600px){
  .hero{height:100svh;min-height:680px}
  .hero__media{inset:-2%;background-position:61% center}
  .hero__shade{background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,.22) 32%,rgba(0,0,0,.85) 61%,#050505 100%)}
  .hero__content{justify-content:flex-end;padding-top:100px;padding-bottom:54px}
  .hero__content>.eyebrow{margin-bottom:17px}
  .hero__title{width:100%;font-size:clamp(47px,13.2vw,68px);line-height:.92}
  .hero__footer{margin-top:21px}
  .hero__footer>p{font-size:9px;line-height:1.65}
  .hero__actions{margin-top:25px;gap:18px}
  .hero .button--light{padding:13px 16px}
}

/* Compact full-screen mobile navigation. Removing the transformed header keeps
   the fixed menu attached to the viewport instead of the short header bar. */
@media(max-width:820px){
  .site-header.menu-open{transform:none!important;height:76px;background:transparent;border:0;backdrop-filter:none}
  .site-nav{z-index:1;inset:0;width:100vw;height:100dvh;min-height:100vh;padding:110px 9vw 55px;justify-content:center;gap:20px;overflow-y:auto;background:#080808}
  .site-nav a{font-size:clamp(27px,8vw,36px);line-height:1.08}
  .site-nav .nav-cta{width:auto;margin-top:15px;padding:13px 17px;font:500 12px/1 "DM Sans",sans-serif}
  .site-header.menu-open .brand,.site-header.menu-open .menu-toggle{z-index:3}
}

/* Refined scroll reveals: cinematic but lightweight. */
.reveal{opacity:0;transform:translateY(52px);filter:blur(5px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease)}
.reveal.is-visible{opacity:1;transform:none;filter:none}
.service-cards .service-card:nth-child(4n+2){transition-delay:.08s}
.service-cards .service-card:nth-child(4n+3){transition-delay:.16s}
.service-cards .service-card:nth-child(4n+4){transition-delay:.24s}
.enquiry-form>.reveal:nth-child(2){transition-delay:.08s}
.enquiry-form>.reveal:nth-child(3){transition-delay:.16s}
.enquiry-form>.reveal:nth-child(4){transition-delay:.24s}
.enquiry-form>.reveal:nth-child(5){transition-delay:.32s}
.enquiry-form>.reveal:nth-child(6){transition-delay:.4s}
.contact__links a{display:inline-block;transition:transform .3s ease,opacity .3s ease}
.contact__links a:hover{transform:translateY(-4px);opacity:.72}
@media(max-width:620px){.service-cards .service-card:nth-child(n),.enquiry-form>.reveal:nth-child(n){transition-delay:0s}}
@media(prefers-reduced-motion:reduce){.reveal{filter:none}}

/* Service cards use a softer dedicated landing instead of the generic reveal. */
.service-cards .service-card.reveal{--card-delay:0s;filter:none;transform:translate3d(0,64px,0);opacity:0;transition:none;will-change:transform,opacity}
.service-cards .service-card.reveal.is-visible{animation:serviceCardLand 1.25s cubic-bezier(.16,.72,.2,1) var(--card-delay) both}
.service-cards .service-card:nth-child(4n+2){--card-delay:.1s}
.service-cards .service-card:nth-child(4n+3){--card-delay:.2s}
.service-cards .service-card:nth-child(4n+4){--card-delay:.3s}
@keyframes serviceCardLand{
  0%{opacity:0;transform:translate3d(0,64px,0)}
  65%{opacity:1;transform:translate3d(0,5px,0)}
  84%{opacity:1;transform:translate3d(0,-1.5px,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}
@media(max-width:620px){.service-cards .service-card:nth-child(n){--card-delay:0s}}
@media(prefers-reduced-motion:reduce){.service-cards .service-card.reveal,.service-cards .service-card.reveal.is-visible{animation:none;opacity:1;transform:none;will-change:auto}}

/* Approach steps reveal in layers: line, number, then copy. */
.process-steps li.reveal{position:relative;overflow:hidden;border-bottom-color:transparent;filter:none;opacity:0;transform:translate3d(34px,22px,0);transition:none;will-change:transform,opacity}
.process-steps li.reveal::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#353535;transform:scaleX(0);transform-origin:left center}
.process-steps li.reveal>span,.process-steps li.reveal>div{opacity:0;transform:translate3d(0,18px,0)}
.process-steps li.reveal.is-visible{animation:approachRowLand 1.05s cubic-bezier(.18,.74,.22,1) both}
.process-steps li.reveal.is-visible::after{animation:approachLine 1s cubic-bezier(.2,.7,.2,1) .08s both}
.process-steps li.reveal.is-visible>span{animation:approachContent .8s cubic-bezier(.18,.74,.22,1) .14s both}
.process-steps li.reveal.is-visible>div{animation:approachContent .9s cubic-bezier(.18,.74,.22,1) .22s both}
@keyframes approachRowLand{0%{opacity:0;transform:translate3d(34px,22px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@keyframes approachLine{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes approachContent{0%{opacity:0;transform:translate3d(0,18px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){.process-steps li.reveal,.process-steps li.reveal.is-visible,.process-steps li.reveal.is-visible>span,.process-steps li.reveal.is-visible>div{animation:none;opacity:1;transform:none;will-change:auto}.process-steps li.reveal::after{animation:none;transform:scaleX(1)}}

/* v1.2 — premium editorial Selected Work layout.
   The asymmetry is deliberate, while shared grid lines keep every edge aligned. */
.work-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:330px 330px 500px;
  gap:clamp(55px,6vw,90px) clamp(22px,3vw,48px);
  align-items:stretch;
}
.work-grid .project{
  width:100%;
  margin:0;
  display:flex;
  min-width:0;
  flex-direction:column;
}
.work-grid .project:nth-child(1){grid-column:1/9;grid-row:1/3}
.work-grid .project:nth-child(2){grid-column:9/13;grid-row:1}
.work-grid .project:nth-child(3){grid-column:9/13;grid-row:2}
.work-grid .project:nth-child(4){grid-column:1/6;grid-row:3}
.work-grid .project:nth-child(5){grid-column:6/13;grid-row:3}
.work-grid .project__media,
.work-grid .project--portrait .project__media{
  flex:1 1 auto;
  width:100%;
  min-height:0;
  aspect-ratio:auto;
  background-position:center;
  transition:filter .5s var(--ease),transform .8s var(--ease);
}
.project__media--five{background-image:url("../images/hero/hero-bg.jpg"),linear-gradient(135deg,#332d28,#0c0b0a)}
.work-grid .project__meta{flex:0 0 64px;padding-top:17px}
.work-grid .project:hover .project__media{filter:brightness(.72) saturate(1.15)}
.work-grid .project__placeholder{font-size:clamp(54px,6vw,92px)}
@media(max-width:900px){
  .work-grid{grid-template-rows:280px 280px 400px;gap:50px 24px}
  .work-grid .project:nth-child(1){grid-column:1/8}
  .work-grid .project:nth-child(2),.work-grid .project:nth-child(3){grid-column:8/13}
}
@media(max-width:700px){
  .work-grid{grid-template-columns:1fr;grid-template-rows:none;gap:65px}
  .work-grid .project:nth-child(n){grid-column:1;grid-row:auto;width:100%;margin:0}
  .work-grid .project__media,
  .work-grid .project--portrait .project__media{flex:none;aspect-ratio:4/3}
  .work-grid .project:first-child .project__media{aspect-ratio:4/5}
}

/* v1.9 — immersive local-video showreel and vertical BTS reel. */
.showreel{position:relative;height:100svh;min-height:720px;background:#090909;color:white;overflow:hidden}
.showreel__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) brightness(.65)}
.showreel__shade{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 0,rgba(0,0,0,.18) 48%,rgba(0,0,0,.72) 100%),linear-gradient(180deg,rgba(0,0,0,.35),transparent 25%,rgba(0,0,0,.5))}
.showreel__top,.showreel__foot{position:absolute;z-index:2;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;align-items:center}.showreel__top{top:55px}.showreel__top .section-index{color:white;margin:0}.showreel__top>p:last-child,.showreel__foot{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:#b9b6af}.showreel__center{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.showreel__center h2{font:400 clamp(65px,9vw,145px)/.82 "Manrope",sans-serif;letter-spacing:-.075em;margin-top:40px}.showreel__center h2 em{font-family:Georgia,serif;font-weight:400}.reel-play{display:flex;align-items:center;gap:15px;background:none;border:0;cursor:pointer;text-transform:uppercase;font-size:9px;letter-spacing:.17em}.reel-play i{display:grid;place-items:center;width:72px;height:72px;border:1px solid rgba(255,255,255,.65);border-radius:50%;font-style:normal;padding-left:4px;transition:.35s}.reel-play:hover i{background:var(--accent);border-color:var(--accent);transform:scale(1.08)}.showreel__foot{bottom:35px}
.bts{background:#e9e5dd;color:var(--ink);overflow:hidden}.bts-layout{display:grid;grid-template-columns:1fr minmax(300px,430px) .32fr;gap:clamp(35px,6vw,95px);align-items:center}.bts-copy h2{font:400 clamp(55px,6vw,92px)/.9 "Manrope",sans-serif;letter-spacing:-.07em}.bts-copy h2 em{font-family:Georgia,serif;font-weight:400}.bts-copy>p:not(.section-index){color:#6e6b65;max-width:510px;margin:35px 0;line-height:1.7}.bts-meta{display:flex;flex-wrap:wrap;gap:9px}.bts-meta span{border:1px solid rgba(10,10,10,.22);border-radius:99px;padding:8px 13px;text-transform:uppercase;font-size:8px;letter-spacing:.14em}.bts-reel{position:relative;aspect-ratio:9/16;background:#111;overflow:hidden;border-radius:3px;box-shadow:0 35px 90px rgba(20,15,10,.25)}.bts-reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.72)}.bts-reel__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.46),transparent 30%,transparent 62%,rgba(0,0,0,.72))}.bts-reel__top{position:absolute;top:20px;left:19px;right:19px;display:flex;justify-content:space-between;color:white;text-transform:uppercase;font-size:8px;letter-spacing:.14em}.bts-sound{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:13px;background:none;border:0;color:white;white-space:nowrap;text-transform:uppercase;font-size:8px;letter-spacing:.13em;cursor:pointer}.bts-sound i{display:grid;place-items:center;width:65px;height:65px;border:1px solid rgba(255,255,255,.75);border-radius:50%;font-style:normal;padding-left:3px;transition:.3s}.bts-sound:hover i{background:var(--accent);border-color:var(--accent);transform:scale(1.06)}.bts-reel__progress{position:absolute;left:20px;right:20px;bottom:20px;height:1px;background:rgba(255,255,255,.3);overflow:hidden}.bts-reel__progress i{display:block;width:35%;height:100%;background:white;animation:btsProgress 5s linear infinite}.bts-side{align-self:stretch;border-left:1px solid rgba(10,10,10,.2);padding-left:25px;display:flex;flex-direction:column;justify-content:space-between}.bts-side>span{color:var(--accent);font:400 31px Georgia,serif}.bts-side p{font:400 clamp(17px,1.6vw,24px)/1.45 Georgia,serif}.bts-side i{font-style:normal;color:var(--accent);font-size:28px}@keyframes btsProgress{from{transform:translateX(-100%)}to{transform:translateX(300%)}}
@media(max-width:900px){.bts-layout{grid-template-columns:1fr minmax(280px,390px)}.bts-side{display:none}}
@media(max-width:650px){.showreel{min-height:650px}.showreel__top{top:30px}.showreel__top>p:last-child{display:none}.showreel__center h2{font-size:17vw}.showreel__foot{align-items:flex-start;gap:10px;flex-direction:column}.bts-layout{grid-template-columns:1fr}.bts-copy{padding-bottom:15px}.bts-reel{width:min(100%,390px);margin:auto}.bts-copy h2{font-size:15vw}}

/* v2.0 — first-visit Camera / Lights / Action signature intro. */
.cinema-intro{display:block;background:#050505;color:white;overflow:hidden;isolation:isolate}.cinema-intro:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,#151515,transparent 55%);opacity:.8}.intro-grain{position:absolute;inset:-50%;opacity:.06;background-image:repeating-radial-gradient(circle at 20% 30%,#fff 0 1px,transparent 1px 4px);background-size:7px 7px;animation:introGrain .3s steps(2) infinite}.intro-skip{position:absolute;z-index:20;right:4vw;top:35px;border:0;border-bottom:1px solid #555;background:none;color:#aaa;padding:5px 0;text-transform:uppercase;font-size:8px;letter-spacing:.18em;cursor:pointer}.intro-skip span{color:var(--accent);margin-left:9px}.intro-stage{position:absolute;inset:0}.intro-caption{position:absolute;z-index:4;left:50%;bottom:35px;transform:translateX(-50%);width:min(80vw,430px);display:flex;justify-content:space-between;color:#555;text-transform:uppercase;font-size:8px;letter-spacing:.3em}.intro-caption span{transition:color .3s}.intro-camera,.intro-light,.intro-clapper,.intro-action,.intro-logo{position:absolute;opacity:0}
.intro-camera{left:50%;top:50%;width:260px;height:220px;transform:translate(-150%,-48%)}.camera-body{position:absolute;left:25px;top:68px;width:155px;height:88px;border:2px solid #d7d4ce;border-radius:8px;background:#101010;box-shadow:inset 0 0 0 8px #171717}.camera-handle{position:absolute;left:58px;top:46px;width:92px;height:25px;border:2px solid #d7d4ce;border-bottom:0;border-radius:8px 8px 0 0}.camera-lens{position:absolute;left:178px;top:79px;width:72px;height:67px;border:2px solid #d7d4ce;border-radius:8px 38px 38px 8px;background:repeating-radial-gradient(circle at 70%,#090909 0 10px,#3b2a24 11px 13px,#090909 14px 22px);box-shadow:10px 0 35px rgba(255,78,47,.12)}.camera-reel{position:absolute;top:10px;width:72px;height:72px;border:2px solid #d7d4ce;border-radius:50%;background:radial-gradient(circle,#050505 0 8px,transparent 9px),conic-gradient(from 25deg,#202020 0 12%,#070707 13% 32%,#202020 33% 46%,#070707 47% 65%,#202020 66% 79%,#070707 80%)}.camera-reel--one{left:35px}.camera-reel--two{left:112px}.camera-tripod{position:absolute;left:93px;top:156px;width:5px;height:63px;background:#aaa;box-shadow:-31px 58px 0 -1px #aaa,31px 58px 0 -1px #aaa;clip-path:polygon(0 0,100% 0,100% 45%,900% 100%,760% 100%,50% 58%,-660% 100%,-800% 100%,0 45%)}
.intro-light{left:50%;top:50%;width:360px;height:400px;transform:translate(-50%,-45%)}.light-head{position:absolute;z-index:2;left:140px;top:15px;width:88px;height:70px;border:2px solid #d7d4ce;background:#111;clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)}.light-head:after{content:"";position:absolute;left:19px;top:14px;width:46px;height:38px;border-radius:50%;background:#312e28}.light-stand{position:absolute;left:181px;top:84px;width:4px;height:290px;background:#999}.light-stand:after{content:"";position:absolute;left:-58px;bottom:0;width:120px;height:4px;background:#999;clip-path:polygon(0 100%,48% 0,52% 0,100% 100%,96% 100%,50% 15%,4% 100%)}.light-beam{position:absolute;z-index:1;left:-70px;top:58px;width:500px;height:310px;background:radial-gradient(ellipse at 50% 0,rgba(255,218,162,.62),rgba(255,150,80,.13) 42%,transparent 72%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);filter:blur(6px);opacity:0}
.intro-clapper{left:50%;top:50%;width:260px;height:190px;transform:translate(-50%,-42%)}.clapper-body{position:absolute;left:0;top:58px;width:260px;height:130px;border:2px solid #e6e2da;background:#111;display:flex;flex-direction:column;justify-content:center;padding:25px;color:white;font-style:normal}.clapper-body span:first-child{font:500 25px Manrope,sans-serif;letter-spacing:.2em}.clapper-body span:last-child{color:#888;font-size:8px;letter-spacing:.18em;margin-top:10px}.clapper-top{position:absolute;z-index:2;left:0;top:28px;width:260px;height:35px;border:2px solid #e6e2da;transform-origin:left bottom;background:repeating-linear-gradient(135deg,#e8e4dc 0 25px,#111 26px 48px)}.intro-action{left:50%;top:50%;transform:translate(-50%,-50%);font:500 clamp(75px,13vw,210px)/1 Manrope,sans-serif;letter-spacing:-.075em;color:white;text-shadow:0 0 55px rgba(255,78,47,.25)}.intro-action:after{content:".";color:var(--accent)}.intro-logo{left:50%;top:50%;transform:translate(-50%,-50%);width:min(70vw,420px);height:155px;overflow:hidden;text-align:center}.intro-logo img{position:absolute;left:0;top:-94px;width:min(70vw,420px);max-width:none;height:auto}.intro-logo span{position:absolute;left:0;right:0;bottom:0;text-transform:uppercase;letter-spacing:.35em;font-size:8px;color:#a8a59f}
.cinema-intro.is-first-visit .intro-camera{animation:cameraEnter .8s var(--ease) .15s both,cameraExit .55s var(--ease) 1.05s forwards}.cinema-intro.is-first-visit .camera-reel{animation:reelSpin .65s linear .3s 2}.cinema-intro.is-first-visit .intro-light{animation:lightEnter .55s var(--ease) .85s both,lightExit .45s var(--ease) 1.75s forwards}.cinema-intro.is-first-visit .light-beam{animation:lightOn .65s var(--ease) 1.25s both}.cinema-intro.is-first-visit .intro-clapper{animation:clapperEnter .55s var(--ease) 1.8s both,clapperExit .35s var(--ease) 2.75s forwards}.cinema-intro.is-first-visit .clapper-top{animation:clap .32s var(--ease) 2.38s both}.cinema-intro.is-first-visit .intro-action{animation:actionFlash .75s var(--ease) 2.72s both}.cinema-intro.is-first-visit .intro-logo{animation:logoReveal 1.15s var(--ease) 3.42s both}.cinema-intro.is-first-visit .intro-caption span:nth-child(1){animation:captionOn .8s .2s both}.cinema-intro.is-first-visit .intro-caption span:nth-child(2){animation:captionOn .8s 1.2s both}.cinema-intro.is-first-visit .intro-caption span:nth-child(3){animation:captionOn .8s 2.5s both}.cinema-intro.is-returning .intro-skip,.cinema-intro.is-returning .intro-caption{display:none}.cinema-intro.is-returning .intro-logo{animation:quickLogo .7s var(--ease) both}
@keyframes cameraEnter{from{opacity:0;transform:translate(-150%,-48%)}to{opacity:1;transform:translate(-50%,-48%)}}@keyframes cameraExit{to{opacity:0;transform:translate(35%,-48%) scale(.9)}}@keyframes reelSpin{to{transform:rotate(360deg)}}@keyframes lightEnter{from{opacity:0;transform:translate(-50%,-25%) scale(.85)}to{opacity:1;transform:translate(-50%,-45%) scale(1)}}@keyframes lightOn{0%{opacity:0}25%{opacity:1}35%{opacity:.4}50%,100%{opacity:1}}@keyframes lightExit{to{opacity:0;transform:translate(-50%,-60%)}}@keyframes clapperEnter{from{opacity:0;transform:translate(-50%,20%) rotate(-7deg)}to{opacity:1;transform:translate(-50%,-42%) rotate(0)}}@keyframes clap{0%{transform:rotate(-24deg)}65%{transform:rotate(3deg)}100%{transform:rotate(0)}}@keyframes clapperExit{to{opacity:0;transform:translate(-50%,-58%) scale(1.08)}}@keyframes actionFlash{0%{opacity:0;filter:blur(15px);transform:translate(-50%,-50%) scale(.88)}30%,70%{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.06)}}@keyframes logoReveal{from{opacity:0;filter:blur(10px);transform:translate(-50%,-45%) scale(.96)}to{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}}@keyframes quickLogo{0%{opacity:0;filter:blur(8px)}45%,85%{opacity:1;filter:blur(0)}100%{opacity:0}}@keyframes captionOn{0%,100%{color:#555}30%,75%{color:var(--accent)}}@keyframes introGrain{0%{transform:translate(0)}25%{transform:translate(1%,-1%)}50%{transform:translate(-1%,1%)}75%{transform:translate(1%,1%)}}
@media(max-width:600px){.intro-camera{transform:translate(-150%,-48%) scale(.76)}.intro-light{transform:translate(-50%,-45%) scale(.75)}.intro-clapper{transform:translate(-50%,-42%) scale(.8)}.intro-logo{height:115px}.intro-logo img{top:-69px}.intro-caption{bottom:22px}.intro-skip{right:6vw;top:22px}.cinema-intro.is-first-visit .intro-camera{animation:cameraEnterMobile .8s var(--ease) .15s both,cameraExitMobile .55s var(--ease) 1.05s forwards}@keyframes cameraEnterMobile{from{opacity:0;transform:translate(-150%,-48%) scale(.76)}to{opacity:1;transform:translate(-50%,-48%) scale(.76)}}@keyframes cameraExitMobile{to{opacity:0;transform:translate(30%,-48%) scale(.68)}}}
@media(prefers-reduced-motion:reduce){.cinema-intro .intro-logo{opacity:1;animation:none!important}.cinema-intro .intro-skip,.cinema-intro .intro-caption{display:none}}

/* v2.2 — side-facing Fresnel cinema light with lens, barn doors and C-stand. */
.intro-light{width:650px;height:390px}
.light-head{left:68px;top:78px;width:138px;height:78px;border:2px solid #cbc8c1;border-radius:14px 38px 38px 14px;background:linear-gradient(90deg,#111,#242424 60%,#0b0b0b);clip-path:none;box-shadow:inset 15px 0 0 #181818,0 12px 32px rgba(0,0,0,.5)}
.light-head:before{content:"";position:absolute;z-index:3;right:7px;top:8px;width:58px;height:58px;border:3px solid #a9a69f;border-radius:50%;background:repeating-radial-gradient(circle,#f2b96c 0 5px,#6c4f32 6px 8px,#211a14 9px 14px);box-shadow:0 0 24px rgba(255,167,79,.28)}
.light-head:after{content:"";position:absolute;z-index:2;right:-39px;top:-30px;width:76px;height:138px;background:#151515;border:1px solid #aaa;clip-path:polygon(45% 28%,100% 0,73% 43%,100% 100%,45% 72%,0 100%,27% 57%,0 0)}
.light-stand{left:127px;top:154px;height:210px;background:#aaa}
.light-stand:before{content:"";position:absolute;left:-30px;top:-5px;width:65px;height:18px;border:2px solid #aaa;border-radius:50%;border-top:0}
.light-stand:after{left:-69px;width:142px;clip-path:polygon(0 100%,48% 0,52% 0,100% 100%,96% 100%,50% 15%,4% 100%)}
.light-beam{left:180px;top:39px;width:500px;height:205px;background:radial-gradient(ellipse at 0 50%,rgba(255,229,183,.78),rgba(255,164,86,.18) 42%,transparent 73%);clip-path:polygon(0 35%,100% 0,100% 100%,0 65%);filter:blur(5px)}
@media(max-width:600px){.intro-light{left:42%;width:540px;height:360px}.light-head{left:52px}.light-stand{left:111px}.light-beam{left:164px;width:420px}}

/* v2.3 — nine-service 3×3 grid with podcast and corporate production. */
.service-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-card__image--2{background-image:url("../images/portfolio/project-03.jpg");background-position:center 45%}
.service-card__image--9{background-image:url("../images/portfolio/project-02.jpg");background-position:center 28%}
@media(max-width:1050px){.service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.service-cards{grid-template-columns:1fr}}

/* v2.6 — dedicated, web-optimized thumbnails for every service. */
.service-card__image--1{background-image:url("../images/services/01-product-photography.jpg");background-position:center}
.service-card__image--2{background-image:url("../images/services/02-podcast-production.jpg");background-position:center}
.service-card__image--3{background-image:url("../images/services/03-fashion-model-shoots.jpg");background-position:center 35%}
.service-card__image--4{background-image:url("../images/services/04-tvc-commercials.jpg");background-position:center}
.service-card__image--5{background-image:url("../images/services/05-brand-campaign-films.jpg");background-position:center}
.service-card__image--6{background-image:url("../images/services/06-corporate-shoots.jpg");background-position:center 35%}
.service-card__image--7{background-image:url("../images/services/07-social-media-content.jpg");background-position:center}
.service-card__image--8{background-image:url("../images/services/08-creative-direction.jpg");background-position:center}
.service-card__image--9{background-image:url("../images/services/09-post-production.jpg");background-position:center}

/* v1.3 — image-led services grid, adapted to Palette's warm editorial theme. */
.services{background:#111;color:#f2f0ea;padding-inline:0}
.services-heading{text-align:center;margin-bottom:clamp(45px,6vw,80px)}
.services-heading .section-index{color:var(--accent);margin-bottom:22px}
.services-heading h2{font:400 clamp(48px,6.5vw,100px)/.92 "Manrope",sans-serif;letter-spacing:-.065em}
.services-heading h2 em{font-family:Georgia,serif;font-weight:400}
.services-heading>p:last-child{color:#8f8d87;font-size:13px;margin-top:25px}
.service-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.service-card{display:flex;min-width:0;flex-direction:column;background:#171717;border:1px solid #2f2f2f;overflow:hidden;transition:transform .45s var(--ease),border-color .45s,box-shadow .45s}
.service-card:hover{transform:translateY(-8px);border-color:rgba(255,78,47,.7);box-shadow:0 24px 70px rgba(0,0,0,.35)}
.service-card__image{height:clamp(155px,14vw,225px);background-size:cover;background-position:center;filter:saturate(.78) brightness(.78);transition:transform .8s var(--ease),filter .5s}
.service-card:hover .service-card__image{transform:scale(1.045);filter:saturate(1) brightness(.9)}
.service-card__image--1{background-image:url("../images/portfolio/project-01.jpg")}
.service-card__image--2{background-image:url("../images/portfolio/project-02.jpg");background-position:center 40%}
.service-card__image--3{background-image:url("../images/portfolio/project-03.jpg");background-position:center 32%}
.service-card__image--4{background-image:url("../images/hero/hero-bg.jpg")}
.service-card__image--5{background-image:url("../images/portfolio/project-04.jpg");background-position:center 40%}
.service-card__image--6{background-image:url("../images/portfolio/project-02.jpg");background-position:70% center}
.service-card__image--7{background-image:url("../images/portfolio/project-01.jpg");background-position:25% center}
.service-card__image--8{background-image:url("../images/portfolio/project-04.jpg");background-position:70% center}
.service-card__body{position:relative;display:flex;flex:1;min-height:250px;flex-direction:column;padding:25px 24px 22px;overflow:hidden}
.service-card__body:before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;left:-50px;top:-60px;background:rgba(255,78,47,.09);filter:blur(4px)}
.service-card__icon{position:relative;color:var(--accent);font:400 27px/1 Georgia,serif;margin-bottom:17px}
.service-card h3{font:500 clamp(18px,1.45vw,23px)/1.13 "Manrope",sans-serif;letter-spacing:-.025em;text-transform:uppercase}
.service-card p{color:#94918b;font-size:12px;line-height:1.6;margin:15px 0 22px}
.service-card i{color:var(--accent);font-size:20px;font-style:normal;margin-top:auto;align-self:flex-end;transition:transform .3s}
.service-card:hover i{transform:translate(5px,-5px)}
.services-action{display:flex;justify-content:center;margin-top:40px}
.services-button{display:flex;min-width:245px;justify-content:space-between;align-items:center;border:1px solid var(--accent);padding:15px 20px;border-radius:99px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;transition:.3s}
.services-button:hover{background:var(--accent);color:white}.services-button span{font-size:19px}
@media(max-width:1050px){.service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card__image{height:250px}}
@media(max-width:620px){.service-cards{grid-template-columns:1fr;gap:22px}.service-card__image{height:230px}.service-card__body{min-height:225px}.services-heading h2{font-size:13.5vw}}

/* v1.4 — statistics and production process */
.studio-stats{position:relative;background:#e9e5dd;color:var(--ink);padding:clamp(60px,7vw,105px) 0;overflow:hidden}
.studio-stats:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,78,47,.14),transparent 28%);pointer-events:none}
.stats-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr) 1.35fr;align-items:stretch}
.stat{padding:8px clamp(18px,2.5vw,38px);border-right:1px solid rgba(10,10,10,.17)}
.stat:first-child{padding-left:0}.stat strong{display:flex;align-items:flex-start;font:400 clamp(48px,5vw,78px)/.9 "Manrope",sans-serif;letter-spacing:-.07em}.stat strong i{font:400 clamp(25px,2.6vw,40px)/1 Georgia,serif;color:var(--accent);margin:0 0 0 3px}.stat p{text-transform:uppercase;font-size:9px;letter-spacing:.15em;margin-top:25px}.stats-note{padding:5px 0 0 clamp(25px,3vw,50px);display:flex;flex-direction:column;justify-content:space-between}.stats-note>p{font-size:14px;line-height:1.55;max-width:300px}.stats-note a{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding-bottom:8px;text-transform:uppercase;font-size:9px;letter-spacing:.13em}.stats-note a span{color:var(--accent);font-size:17px}
.process{background:var(--ink);color:white}.process-layout{display:grid;grid-template-columns:.9fr 1.25fr;gap:clamp(60px,9vw,145px)}.process-intro{position:sticky;top:125px;align-self:start}.process-intro h2{font:400 clamp(48px,5.5vw,84px)/.95 "Manrope",sans-serif;letter-spacing:-.065em}.process-intro h2 em{font-family:Georgia,serif;font-weight:400}.process-intro>p:not(.section-index){color:#8e8b84;max-width:490px;margin:35px 0;line-height:1.65}.process-link{display:flex;width:min(100%,290px);align-items:center;justify-content:space-between;border:1px solid #4b4944;border-radius:99px;padding:14px 18px;text-transform:uppercase;font-size:10px;letter-spacing:.12em;transition:.3s}.process-link span{color:var(--accent);font-size:18px}.process-link:hover{border-color:var(--accent);background:var(--accent);color:white}.process-link:hover span{color:white}.process-steps{list-style:none;border-top:1px solid #353535}.process-steps li{display:grid;grid-template-columns:95px 1fr;gap:30px;padding:42px 0;border-bottom:1px solid #353535;transition:padding .4s var(--ease),background .4s}.process-steps li:hover{padding-left:22px;padding-right:22px;background:#121212}.process-steps>li>span{font:400 34px/1 Georgia,serif;color:var(--accent)}.process-steps h3{font:400 clamp(27px,3vw,43px)/1 "Manrope",sans-serif;letter-spacing:-.045em}.process-steps p{color:#8e8b84;max-width:480px;margin-top:13px;font-size:13px;line-height:1.6}
@media(max-width:950px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:50px 0}.stat:nth-child(2){border:0}.stats-note{grid-column:1/-1;padding:0;gap:30px}.stats-note>p{max-width:500px}.process-layout{grid-template-columns:1fr}.process-intro{position:static}.process-intro>p:not(.section-index){max-width:600px}}
@media(max-width:540px){.studio-stats{padding:70px 0}.stats-grid{gap:45px 0}.stat{padding:0 12px}.stat:nth-child(odd){padding-left:0}.stat strong{font-size:13vw}.stat p{line-height:1.5;margin-top:17px}.process-steps li{grid-template-columns:58px 1fr;gap:15px}.process-steps>li>span{font-size:27px}.process-steps h3{font-size:29px}}

/* v1.6 — founder experience and prior brand work */
.experience{position:relative;background:#0d0d0d;color:white;border-top:1px solid #292929;border-bottom:1px solid #292929;overflow:hidden}
.experience:before{content:"";position:absolute;width:650px;height:650px;right:-300px;top:-350px;border-radius:50%;background:radial-gradient(circle,rgba(255,78,47,.11),transparent 68%);pointer-events:none}
.experience-grid{position:relative;display:grid;grid-template-columns:.9fr 1.35fr;gap:clamp(50px,7vw,110px);align-items:stretch}
.experience-story{padding-right:clamp(25px,4vw,65px);border-right:1px solid #363636}.experience-story h2{font:400 clamp(40px,4.5vw,70px)/.98 "Manrope",sans-serif;letter-spacing:-.06em}.experience-story h2 em{font-family:Georgia,serif;font-weight:400}.experience-story>p:not(.section-index){color:#96938d;font-size:13px;line-height:1.7;max-width:570px;margin-top:26px}.brand-experience{display:flex;flex-direction:column}.brand-experience__head{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:1px solid #363636;color:var(--accent);text-transform:uppercase;font-size:9px;letter-spacing:.13em}.brand-experience__head span{color:#64615c}.brand-wall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:20px clamp(15px,2.5vw,38px);padding:45px 0 38px}.brand-wall span{color:#dedbd4;font:600 clamp(15px,1.35vw,22px)/1 "Manrope",sans-serif;letter-spacing:-.04em;white-space:nowrap;text-align:center;opacity:.86;transition:color .3s,opacity .3s,transform .3s}.brand-wall span:hover{color:var(--accent);opacity:1;transform:translateY(-3px)}.brand-wall .brand-serif{font-family:Georgia,serif;font-weight:400}.brand-wall .brand-script{font-family:Georgia,serif;font-style:italic}.brand-wall .brand-round{letter-spacing:-.08em}.brand-wall .brand-wide{letter-spacing:.1em}.brand-disclaimer{margin-top:auto;padding-top:23px;border-top:1px solid #292929;color:#686660;font-size:9px;line-height:1.55;max-width:760px}
@media(max-width:950px){.experience-grid{grid-template-columns:1fr}.experience-story{padding:0 0 55px;border-right:0;border-bottom:1px solid #363636}.brand-wall{grid-template-columns:repeat(5,1fr)}}
@media(max-width:650px){.brand-experience__head{align-items:flex-start;gap:15px;flex-direction:column}.brand-wall{grid-template-columns:repeat(2,1fr);gap:35px 20px}.brand-wall span{font-size:18px}.brand-wall span:last-child{grid-column:1/-1}.experience-story h2{font-size:12vw}}

/* v1.7 — denser trust layout with the founder's confirmed brand experience. */
.experience.section{padding:clamp(72px,7vw,105px) 0}
.experience-grid{grid-template-columns:.82fr 1.45fr;gap:clamp(38px,5vw,75px)}
.experience-story{padding-right:clamp(22px,3vw,48px)}
.experience-story h2{font-size:clamp(38px,4vw,62px)}
.experience-story>p:not(.section-index){margin-top:19px;line-height:1.6}
.brand-wall{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:28px 0 25px}
.brand-wall span{display:grid;place-items:center;min-height:72px;padding:12px 8px;border:1px solid #2b2b2b;background:rgba(255,255,255,.018);font-size:clamp(13px,1.15vw,18px);line-height:1.15;white-space:normal;transition:color .3s,background .3s,border-color .3s,transform .3s}
.brand-wall span:hover{background:rgba(255,78,47,.06);border-color:rgba(255,78,47,.45)}
.brand-wall .brand-more{color:var(--accent);font-family:Georgia,serif;font-style:italic;font-weight:400}
.brand-disclaimer{padding-top:18px}
@media(max-width:950px){.experience-grid{grid-template-columns:1fr}.brand-wall{grid-template-columns:repeat(4,1fr)}}
@media(max-width:650px){.brand-wall{grid-template-columns:repeat(2,1fr);gap:10px}.brand-wall span{min-height:65px;font-size:14px}.brand-wall span:last-child{grid-column:auto}}

/* v1.8 — final Selected Work: one cinematic feature plus two balanced projects. */
.work-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:auto;
  gap:clamp(55px,6vw,90px) clamp(24px,4vw,60px);
}
.work-grid .project:nth-child(n){grid-column:auto;grid-row:auto;width:100%;margin:0}
.work-grid .project--hero{grid-column:1/-1}
.work-grid .project__media,
.work-grid .project--portrait .project__media{flex:none;width:100%;aspect-ratio:4/3}
.work-grid .project--hero .project__media{aspect-ratio:21/9;background-position:center 42%}
.work-grid .project__meta{min-height:66px;flex-basis:66px}
.work-grid .project--hero .project__meta h3{font-size:clamp(23px,2.5vw,38px)}
.work-grid .project--hero .project__meta p{font-size:11px}
.work-grid .project--hero .project__placeholder{font-size:clamp(70px,9vw,135px)}
@media(max-width:700px){
  .work-grid{grid-template-columns:1fr;gap:60px}
  .work-grid .project--hero{grid-column:1}
  .work-grid .project__media,
  .work-grid .project--portrait .project__media,
  .work-grid .project--hero .project__media{aspect-ratio:4/3}
}

/* FINAL active service thumbnails — intentionally last in the stylesheet. */
.service-card__image--1{background-image:url("../images/services/01-product-photography.jpg");background-position:center}
.service-card__image--2{background-image:url("../images/services/02-podcast-production.jpg");background-position:center}
.service-card__image--3{background-image:url("../images/services/03-fashion-model-shoots.jpg");background-position:center 35%}
.service-card__image--4{background-image:url("../images/services/04-tvc-commercials.jpg");background-position:center}
.service-card__image--5{background-image:url("../images/services/05-brand-campaign-films.jpg");background-position:center}
.service-card__image--6{background-image:url("../images/services/06-corporate-shoots.jpg");background-position:center 35%}
.service-card__image--7{background-image:url("../images/services/07-social-media-content.jpg");background-position:center}
.service-card__image--8{background-image:url("../images/services/08-creative-direction.jpg");background-position:center}
.service-card__image--9{background-image:url("../images/services/09-post-production.jpg");background-position:center}

/* FINAL dual-logo rules — intentionally last so legacy logo crops cannot override them. */
.brand{width:190px;height:58px;overflow:visible}
.brand__logo{left:0;top:50%;width:190px;height:auto;max-width:100%;transform:translateY(-50%);transition:opacity .3s ease;object-fit:contain}
.brand__logo--light{opacity:1}
.brand__logo--dark{opacity:0}
.site-header.is-scrolled .brand__logo--light{opacity:0}
.site-header.is-scrolled .brand__logo--dark{opacity:1}
.site-header.menu-open .brand__logo--light{opacity:1}
.site-header.menu-open .brand__logo--dark{opacity:0}
.intro-logo{height:auto;min-height:130px;overflow:visible;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}
.intro-logo img{position:static;width:min(70vw,420px);height:auto;max-width:100%}
.intro-logo span{position:static}
@media(max-width:600px){.brand{width:160px;height:50px}.brand__logo{width:160px}.intro-logo{height:auto;min-height:100px}.intro-logo img{position:static;top:auto}}
