/* =====================================================================
   Shaadi by ROF redesign layer
   A quieter, photography-first art direction over the existing site.
   ===================================================================== */

:root{
  --ink:#10080a;
  --ink-2:#1b0d0f;
  --plum:#351016;
  --rouge:#4a1719;
  --rose:#9b6256;
  --paper:#f7efe6;
  --muted:#d6c2ad;
  --line:rgba(247,239,230,.14);
  --line-strong:rgba(247,239,230,.28);
  --metal:#b89362;
  --metal-soft:#ead3a2;
  --champagne:#f1ddba;
  --champagne-faint:rgba(241,221,186,.18);
  --green:#263c2d;
  --ease:cubic-bezier(.2,.8,.2,1);
  --ease-slow:cubic-bezier(.16,1,.3,1);
}

html{
  background:var(--ink);
  scroll-padding-top:86px;
  scrollbar-color:rgba(184,147,98,.72) rgba(16,8,10,.92);
}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:rgba(16,8,10,.92)}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(234,211,162,.7),rgba(184,147,98,.85));
  border:2px solid rgba(16,8,10,.92);
  border-radius:999px;
}
::-webkit-scrollbar-corner{background:rgba(16,8,10,.92)}
[hidden],
[data-removed="true"][hidden],
[data-temporarily-hidden="true"][hidden]{
  display:none!important;
}
body{
  background:
    linear-gradient(180deg,#12080a 0%,#1a090d 36%,#10080a 100%);
  color:var(--paper);
  letter-spacing:0;
}
body::after{
  opacity:.025;
  mix-blend-mode:soft-light;
}
body::before{
  display:none;
}

.diya-halo,
.diya-flame,
.petal-fall,
.craft-dust,
.wed-bg,
.wed-petals,
.wed-bokeh,
.wed-diyas,
.hero-petals,
.hero-garlands,
.garland,
.havan,
.havan-glow,
.embers,
.royal-frame,
.arch-frame,
.seal-bg,
.foot-toran,
.foot-sparks{
  display:none!important;
}
.mandap-deco,
.jaimal,
.vidai,
.behindframes,
.gathband,
.edittl,
.heart-draw{
  display:none!important;
}

/* Restore lightweight background motion that the redesign layer had muted. */
body::before{
  content:"";
  position:fixed;
  inset:-18vh -12vw;
  z-index:0;
  pointer-events:none;
  display:block;
  opacity:.38;
  background:
    radial-gradient(36vw 36vw at 12% 18%,rgba(155,98,86,.16),transparent 70%),
    radial-gradient(34vw 34vw at 86% 24%,rgba(234,211,162,.11),transparent 72%),
    radial-gradient(42vw 42vw at 55% 88%,rgba(74,23,25,.24),transparent 72%);
  transform:translate3d(calc(var(--ambient-x,0px) * .35),calc(var(--ambient-y,0px) * .35),0);
  animation:ambientFloat 22s ease-in-out infinite alternate;
}
.wed-bg,
.wed-petals,
.wed-bokeh,
.wed-diyas,
.craft-dust,
.petal-fall,
.hero-petals,
.hero-garlands,
.garland,
.havan-glow,
.embers,
.foot-toran,
.foot-sparks{
  display:block!important;
}
.garland,
.hero-garlands,
.foot-toran{
  opacity:.58;
}
.havan-glow{
  opacity:.28!important;
  filter:blur(14px);
}
.embers{
  opacity:.45;
  mix-blend-mode:screen;
}
.wed-bg{
  opacity:.42;
  mix-blend-mode:screen;
}
.wed-petals i,
.wed-chadar i,
.petal-fall i{
  opacity:0;
  animation-duration:calc(var(--dur,16s) * 1.18);
}
.wed-bokeh i{
  opacity:0;
  filter:blur(5px);
}
.wed-diyas i{
  opacity:0;
  box-shadow:0 0 10px 2px rgba(242,163,60,.26);
}
.craft-dust{
  opacity:.56;
  mix-blend-mode:screen;
}
.hero-petals{
  opacity:.52;
}
.hero-garlands .hg{
  opacity:.76;
}
.foot-sparks{
  opacity:.65;
}
@keyframes ambientFloat{
  0%{transform:translate3d(calc(var(--ambient-x,0px) * .35),calc(var(--ambient-y,0px) * .35),0) scale(1)}
  100%{transform:translate3d(calc(var(--ambient-x,0px) * .35 + 18px),calc(var(--ambient-y,0px) * .35 - 14px),0) scale(1.035)}
}

.wrap{width:min(1180px,calc(100vw - 40px))}

.reel,
.sound,
.press,
.grat,
.portfolio,
.invite,
.quote,
.enquire,
.gallery-host,
footer{
  content-visibility:auto;
  contain-intrinsic-size:720px;
}
.reel-card,
.port-card,
.gallery-card,
.gal-item,
.crew-card,
.grat-card,
.track{
  contain:layout paint style;
  content-visibility:auto;
  contain-intrinsic-size:340px 460px;
}

.spotlight{
  display:block!important;
  opacity:0;
  z-index:70;
  background:
    radial-gradient(420px 420px at var(--mx,50%) var(--my,42%),rgba(230,197,142,.16),rgba(185,67,56,.07) 34%,transparent 70%);
  mix-blend-mode:screen;
  transition:opacity .55s ease;
}
body.cursor-on .spotlight{opacity:.7}
.eyebrow,
.film-meta span,
.tab,
.track .artist,
.track-play,
.mz-tag,
.framecount,
.press .lab,
.field label,
.btn-primary,
.btn-ghost,
.hero-cta,
.enquire-btn{
  letter-spacing:.16em;
}
.eyebrow{color:var(--metal-soft)}

header.nav{
  left:50%;
  top:18px;
  right:auto;
  width:min(1180px,calc(100vw - 36px));
  transform:translateX(-50%);
  padding:.74rem .86rem .74rem 1rem;
  border:1px solid rgba(247,239,230,.12);
  border-radius:999px;
  background:rgba(16,8,10,.52);
  box-shadow:0 18px 60px rgba(0,0,0,.32);
  backdrop-filter:blur(18px) saturate(1.05);
}
header.nav::before{display:none}
header.nav::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:7px;
  height:1px;
  border-radius:999px;
  transform-origin:left center;
  transform:scaleX(var(--scroll-progress,0));
  background:linear-gradient(90deg,transparent,rgba(241,221,186,.72),transparent);
  box-shadow:0 0 18px rgba(241,221,186,.14);
  opacity:.52;
  pointer-events:none;
}
header.nav.shrink{
  background:rgba(16,8,10,.82);
  padding:.62rem .74rem .62rem .9rem;
  border-color:rgba(230,197,142,.24);
}
.brandmark{font-size:.98rem;gap:.62rem;white-space:nowrap}
.brandmark svg{width:28px;height:28px}
.brandmark .by{color:var(--metal-soft)}
nav.links{gap:clamp(.9rem,2.5vw,1.8rem)}
nav.links a{
  color:rgba(247,239,230,.72);
  font-size:.68rem;
  transition:color .25s ease;
}
nav.links a::after{
  left:50%;
  bottom:-12px;
  height:1px;
  width:0;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--champagne),transparent);
  box-shadow:0 0 12px rgba(241,221,186,.32);
}
nav.links a:hover,
nav.links a.active{color:var(--paper)}
nav.links a:hover::after,
nav.links a.active::after{
  width:120%;
}
.enquire-btn,
.btn-primary,
.foot-cta{
  background:var(--paper);
  color:var(--ink);
  border:1px solid transparent;
  box-shadow:none;
}
.enquire-btn:hover,
.btn-primary:hover,
.foot-cta:hover{
  background:var(--metal-soft);
  color:var(--ink);
  transform:translateY(-2px);
}

#loader{
  background:#12080a;
  gap:1.5rem;
}
.loader-seal{animation:none;width:74px;height:74px}
.loader-bar{height:2px;background:rgba(247,239,230,.12)}
.loader-bar span{background:linear-gradient(90deg,var(--rose),var(--metal-soft))}

.hero,
.page-hero{
  min-height:min(900px,100svh);
  justify-content:flex-end;
  align-items:flex-start;
  text-align:left;
  padding:clamp(7rem,13vh,10rem) clamp(20px,5vw,72px) clamp(3.5rem,9vh,6rem);
  background:#12080a;
}
.hero::before,
.hero::after{display:none}
.hero-stage,
.hero-bg{
  inset:0;
  transform:translate3d(0,var(--hero-y,0px),0) scale(var(--hero-scale,1.04))!important;
  transform-origin:center;
  will-change:transform;
}
.hero-bg{
  background-image:
    linear-gradient(90deg,rgba(16,8,10,.94) 0%,rgba(16,8,10,.64) 38%,rgba(16,8,10,.18) 72%),
    linear-gradient(0deg,rgba(16,8,10,.98) 0%,rgba(16,8,10,.24) 44%,rgba(16,8,10,.66) 100%),
    url("../uploads/optimized/1782215936-355681.jpg");
  background-size:cover;
  background-position:center;
  filter:saturate(.95) contrast(1.05);
  animation:heroBreath 16s ease-in-out infinite alternate;
}
.hero-bg::before{
  content:"";
  display:block;
  position:absolute;
  inset:0;
  background:
    radial-gradient(70% 60% at 78% 42%,rgba(230,197,142,.18),transparent 62%),
    linear-gradient(110deg,transparent 0%,rgba(255,255,255,.055) 44%,transparent 58%);
  opacity:calc(.26 + var(--section-progress,0) * .22);
  pointer-events:none;
}
.hero-bg::after{display:none}
.filigree{
  display:block!important;
  opacity:.11!important;
  z-index:1;
  mix-blend-mode:screen;
  transform:translate3d(var(--filigree-x,0px),var(--filigree-y,0px),0)!important;
  transition:opacity .6s ease;
}
.page-hero .filigree{opacity:.16!important}
.filigree svg{filter:drop-shadow(0 0 18px rgba(230,197,142,.18))}
.hero-inner,
.page-hero-inner{
  max-width:min(760px,92vw);
  margin:0;
  text-align:left;
  transform:translateY(18px);
  transition:opacity .9s var(--ease-slow),transform .9s var(--ease-slow);
  will-change:transform,opacity;
}
.hero .hero-inner::before{display:none}
.hero.in .hero-inner,
.page-hero.in .page-hero-inner{
  transform:none;
}
.deva-accent{
  display:inline-block;
  margin:0 0 .9rem;
  color:var(--metal-soft);
  font-size:.86rem;
  letter-spacing:.18em;
  font-family:var(--ff-ui);
  text-transform:uppercase;
}
.deva-accent::before,
.deva-accent::after,
.hero-seal,
.divider-seal{display:none!important}
.hero h1,
.page-hero h1{
  max-width:820px;
  margin:0 0 1.05rem;
  font-size:clamp(3.2rem,8.8vw,8.4rem);
  line-height:.9;
  letter-spacing:0;
  text-wrap:balance;
  filter:none;
  text-shadow:0 12px 55px rgba(0,0,0,.28);
}
.hero h1 em,
.page-hero h1 em,
.sec-head h2 em,
.craft-copy h2 em,
.quote blockquote em,
.enquire h2 em,
.foot-sign h3 em{
  color:var(--metal-soft);
  background:none;
  -webkit-text-fill-color:currentColor;
}
.hero p.lede,
.page-hero p{
  max-width:610px;
  margin:0 0 2rem;
  color:rgba(247,239,230,.78);
  font-family:var(--ff-ui);
  font-size:clamp(1rem,1.8vw,1.22rem);
  font-style:normal;
  line-height:1.72;
  text-shadow:none;
}
.hero-cta,
.btn-ghost{
  border-radius:999px;
  border-color:rgba(247,239,230,.26);
  color:var(--paper);
  background:rgba(247,239,230,.04);
  backdrop-filter:blur(10px);
  overflow:hidden;
  position:relative;
}
.hero-cta::after,
.btn-ghost::after{
  content:"";
  position:absolute;
  inset:-35% auto -35% -55%;
  width:42%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
  animation:buttonGlint 5.5s ease-in-out infinite;
  pointer-events:none;
}
.hero-cta:hover,
.btn-ghost:hover{
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper);
}
.framecount{
  top:auto;
  right:clamp(20px,4vw,52px);
  bottom:clamp(28px,5vw,48px);
  color:rgba(247,239,230,.42);
}
.scrollcue{
  left:auto;
  right:clamp(20px,4vw,52px);
  bottom:clamp(28px,5vw,48px);
  transform:none;
  align-items:flex-end;
}
.scrollcue i{height:34px;animation:cue 2.8s ease-in-out infinite}

.page-hero{
  min-height:58svh;
  background-image:
    linear-gradient(90deg,rgba(16,8,10,.88),rgba(16,8,10,.58) 48%,rgba(16,8,10,.2)),
    linear-gradient(0deg,rgba(16,8,10,.94),rgba(16,8,10,.2)),
    url("../uploads/optimized/1782217786-217004.jpg");
  background-size:cover;
  background-position:center calc(50% + var(--page-hero-y,0px));
  transform:translateZ(0);
}
.page-hero .eyebrow{margin-bottom:1rem}

.sec-head{
  text-align:left;
  padding:clamp(4rem,9vw,7rem) 0 clamp(2rem,4vw,3rem);
}
.sec-head h2{
  max-width:780px;
  font-size:clamp(2.25rem,5.8vw,5.6rem);
  line-height:.94;
  letter-spacing:0;
  text-wrap:balance;
}
.sec-head p{
  margin:1rem 0 0;
  color:rgba(247,239,230,.66);
  max-width:650px;
}

.reveal{
  transform:translateY(26px);
  filter:blur(8px);
  transition:opacity .86s var(--ease-slow),transform .86s var(--ease-slow),filter .86s var(--ease-slow);
}
.reveal.r-left,
.reveal.r-right,
.reveal.r-scale{transform:translateY(26px)}
.reveal.in{transform:none;filter:none}

.media-zone,
.strip-frame,
.grat-card,
.track,
.invite .card,
.field input,
.field textarea{
  border-radius:8px;
}
.media-zone{
  background:#1b0d0f;
  border-color:rgba(247,239,230,.12);
  box-shadow:0 22px 70px rgba(0,0,0,.25);
  transform:translate3d(0,var(--parallax-y,0px),0) scale(var(--card-scale,1));
  transition:transform .18s linear,box-shadow .55s var(--ease-slow),border-color .45s var(--ease-slow);
  will-change:transform;
}
.media-zone img,
.media-zone video,
.strip-frame img,
.media-zone .mz-fill,
.strip-frame .mz-fill{
  transition:transform .9s var(--ease-slow),filter .9s var(--ease-slow);
  transform:translate3d(0,calc(var(--media-y,0px) * -1),0) scale(var(--media-scale,1.08));
  will-change:transform;
}
.media-zone:hover img,
.media-zone:hover video,
.reel-card:hover .media-zone img,
.reel-card:hover .media-zone video,
.strip-frame:hover img{
  transform:scale(1.035);
  filter:saturate(1.03) contrast(1.04);
}
.mz-fill{
  background-size:cover!important;
  background-position:center!important;
}
.fill-1{background-image:url("../uploads/optimized/1782215936-355681.jpg")!important}
.fill-2{background-image:url("../uploads/optimized/1782216251-312241.jpg")!important}
.fill-3{background-image:url("../uploads/optimized/1782217786-217004.jpg")!important}
.fill-4{background-image:url("../uploads/optimized/1782217474-985736.jpg")!important}
.fill-5{background-image:url("../uploads/optimized/1782217589-925604.jpg")!important}
.fill-6{background-image:url("../uploads/optimized/1782217327-170453.jpg")!important}
.media-zone .mz-fill::after{display:none}
.media-zone .mz-grad,
.strip-frame .mz-grad{
  background:linear-gradient(180deg,rgba(16,8,10,.08),rgba(16,8,10,.18) 46%,rgba(16,8,10,.82));
}
.media-zone .mz-tag,
.strip-frame .mz-tag{
  background:rgba(16,8,10,.54);
  border-color:rgba(247,239,230,.18);
  color:rgba(247,239,230,.86);
  backdrop-filter:blur(10px);
}
.media-zone .mz-pin{display:none}
.media-zone .mz-play{
  width:56px;
  height:56px;
  border-color:rgba(247,239,230,.42);
  background:rgba(16,8,10,.42);
}
.media-zone:hover .mz-play{background:var(--paper);border-color:var(--paper)}
.media-zone.is-lit{
  border-color:rgba(230,197,142,.28);
  box-shadow:0 26px 85px rgba(0,0,0,.34),0 0 0 1px rgba(230,197,142,.05);
}

.films-feature{
  z-index:2;
  overflow:visible;
  background:var(--ink);
}
.film{
  min-height:86svh;
  border-top:1px solid var(--line);
  align-items:flex-end;
}
.film .film-media{
  inset:0;
  transform:translate3d(0,var(--parallax-y,0px),0) scale(var(--card-scale,1.06))!important;
}
.film .film-media .mz-grad{
  background:
    linear-gradient(90deg,rgba(16,8,10,.92),rgba(16,8,10,.52) 42%,rgba(16,8,10,.14)),
    linear-gradient(0deg,rgba(16,8,10,.98),rgba(16,8,10,.16) 58%,rgba(16,8,10,.5));
}
.film-content{
  padding:clamp(3rem,8vw,7rem) clamp(20px,5vw,72px);
}
.film h3{
  font-family:var(--ff-display);
  font-style:normal;
  font-size:clamp(3rem,7.4vw,7.2rem);
  line-height:.9;
  letter-spacing:0;
}
.film p.line{
  color:rgba(247,239,230,.72);
  max-width:620px;
}
.more-films-control{
  position:relative;
  z-index:5;
  display:flex;
  justify-content:center;
  height:0;
  padding:0 20px;
  border-top:1px solid var(--line);
}
.more-films-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.9rem;
  min-width:190px;
  padding:1rem 1.45rem;
  border:1px solid rgba(216,179,119,.58);
  border-radius:999px;
  color:var(--gold-lite);
  background:var(--ink);
  font-family:var(--ff-ui);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  cursor:pointer;
  transform:translateY(-50%);
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
.more-films-toggle:hover,
.more-films-toggle:focus-visible{
  color:var(--wine);
  background:var(--gold-lite);
  border-color:var(--gold-lite);
  transform:translateY(calc(-50% - 2px));
}
.more-films-toggle:focus-visible{
  outline:2px solid var(--cream);
  outline-offset:4px;
}
.more-films-toggle__icon{
  position:relative;
  width:12px;
  height:12px;
}
.more-films-toggle__icon::before{
  content:"";
  position:absolute;
  left:2px;
  top:1px;
  width:7px;
  height:7px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg);
  transition:transform .25s ease;
}
.more-films-toggle[aria-expanded="true"] .more-films-toggle__icon::before{
  transform:translateY(4px) rotate(225deg);
}
.more-films-panel{
  position:relative;
  z-index:2;
  padding:clamp(4.5rem,7vw,6rem) clamp(20px,5vw,72px) clamp(4rem,8vw,7rem);
}
.more-films-panel[hidden]{display:none}
.more-films-grid{
  --film-flow-gap:clamp(1rem,2.2vw,2rem);
  width:100%;
  overflow:hidden;
  touch-action:pan-y;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
}
.more-films-track{
  display:flex;
  width:max-content;
  will-change:transform;
  animation:moreFilmsFlow var(--film-flow-duration,32s) linear infinite;
}
.more-films-track.is-static{animation:none}
.more-films-group{
  display:flex;
  gap:var(--film-flow-gap);
  padding-right:var(--film-flow-gap);
}
.more-films-grid:hover .more-films-track,
.more-films-grid:focus-within .more-films-track{
  animation-play-state:paused;
}
@keyframes moreFilmsFlow{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
.more-film-card{
  flex:0 0 clamp(300px,36vw,500px);
  overflow:hidden;
  border:1px solid rgba(216,179,119,.2);
  background:rgba(33,8,12,.7);
  box-shadow:0 24px 55px rgba(0,0,0,.28);
}
.more-film-card__media{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#080304;
}
.more-film-card__media video,
.more-film-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.more-film-card__media:hover video,
.more-film-card__media:hover img{transform:scale(1.035)}
.more-film-card__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(16,8,10,.68),rgba(16,8,10,.06) 62%);
}
.more-film-card__play{
  position:absolute;
  inset:50% auto auto 50%;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border:1px solid rgba(247,239,230,.66);
  border-radius:50%;
  color:var(--cream);
  background:rgba(16,8,10,.48);
  backdrop-filter:blur(6px);
  transform:translate(-50%,-50%);
  transition:background .25s ease,transform .25s ease;
}
.more-film-card__media:hover .more-film-card__play,
.more-film-card__media:focus-visible .more-film-card__play{
  color:var(--wine);
  background:var(--gold-lite);
  transform:translate(-50%,-50%) scale(1.08);
}
.more-film-card__play svg{width:18px;height:18px;fill:currentColor;margin-left:3px}
.more-film-card__preview{
  position:absolute;
  left:1rem;
  bottom:1rem;
  padding:.55rem .75rem;
  border:1px solid rgba(247,239,230,.5);
  border-radius:999px;
  color:var(--cream);
  background:rgba(16,8,10,.58);
  backdrop-filter:blur(6px);
  font-family:var(--ff-ui);
  font-size:.52rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.more-film-card__content{padding:1.35rem 1.4rem 1.55rem}
.more-film-card__category{
  display:block;
  margin-bottom:.55rem;
  color:var(--gold);
  font-family:var(--ff-ui);
  font-size:.56rem;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.more-film-card h3{
  font-family:var(--ff-display),Georgia,"Times New Roman",serif;
  font-weight:300;
  font-size:clamp(1.5rem,2.6vw,2.35rem);
  line-height:1;
  letter-spacing:-.025em;
  text-wrap:balance;
}.more-film-card p{
  margin:.7rem 0 0;
  color:rgba(247,239,230,.66);
  font-size:.9rem;
}
.more-films-message{
  grid-column:1/-1;
  margin:0;
  padding:2.2rem;
  border:1px solid rgba(216,179,119,.18);
  color:rgba(247,239,230,.68);
  text-align:center;
}
@media(prefers-reduced-motion:reduce){
  .more-films-grid{
    overflow-x:auto;
    -webkit-mask-image:none;
    mask-image:none;
  }
  .more-films-track{animation:none}
}
.play .disc{
  border-color:rgba(247,239,230,.32);
  background:rgba(247,239,230,.04);
}
.play:hover .disc{background:var(--paper);border-color:var(--paper)}

.invite{
  background:var(--paper);
  color:var(--ink);
  padding-block:clamp(4rem,9vw,7rem);
}
.invite .card{
  max-width:980px;
  text-align:left;
  border:0;
  background:
    linear-gradient(90deg,rgba(247,239,230,.96),rgba(247,239,230,.78)),
    url("../uploads/optimized/1782217786-217004.jpg");
  background-size:cover;
  background-position:center;
  padding:clamp(2rem,5vw,4.5rem);
  box-shadow:0 22px 80px rgba(16,8,10,.16);
}
.invite .card::before,
.invite .card .cor,
.invite .ornament{display:none}
.invite h2{
  font-family:var(--ff-display);
  color:var(--ink);
  font-size:clamp(2.4rem,5.6vw,5rem);
  letter-spacing:0;
}
.invite p{
  margin:0;
  color:rgba(16,8,10,.7);
}

.filmstrip{
  background:#10080a;
  padding:clamp(3.4rem,7vw,5.8rem) 0;
  overflow:hidden;
}
.filmstrip .sec-head{
  padding:clamp(1rem,3vw,2.2rem) 0 clamp(1.2rem,2.6vw,2rem);
}
.filmstrip .sec-head h2{
  font-size:clamp(2.35rem,5vw,4.65rem);
}
.filmstrip .sec-head .eyebrow{
  margin-bottom:.65rem;
}
.strip-stage{
  position:relative;
  width:100%;
  height:clamp(190px,23vw,300px);
  margin-top:clamp(.4rem,1.2vw,1rem);
  overflow:hidden;
  contain:layout paint style;
}
.strip-rot{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  transform:translateY(-50%) rotate(-1.4deg)!important;
  transform-origin:center;
  will-change:transform;
}
.strip-track{
  display:flex!important;
  gap:clamp(12px,1.2vw,18px);
  padding-left:6vw!important;
  transform:translate3d(0,0,0);
  will-change:transform;
}
.strip-frame{
  flex:0 0 auto;
  width:clamp(230px,28vw,390px);
  border-color:rgba(247,239,230,.12);
  box-shadow:0 10px 24px rgba(0,0,0,.24);
  transform:translate3d(0,0,0);
  animation:none;
  transition:border-color .25s var(--ease-slow);
  will-change:auto;
  contain:layout paint style;
  content-visibility:auto;
  contain-intrinsic-size:280px 175px;
}
.strip-stage::before,
.strip-stage::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:12%;
  z-index:3;
  pointer-events:none;
}
.strip-stage::before{
  left:0;
  background:linear-gradient(90deg,#10080a,transparent);
}
.strip-stage::after{
  right:0;
  background:linear-gradient(270deg,#10080a,transparent);
}
.strip-stage + .strip-stage{
  display:block;
  margin-top:clamp(8px,1.2vw,16px);
}
.strip-frame:hover{
  border-color:rgba(241,221,186,.3);
}
.strip-frame:hover img,
.strip-frame:hover video,
.strip-frame:hover .mz-fill{
  transform:translate3d(0,0,0) scale(1.04);
  filter:none;
}
.strip-frame video,
.strip-frame img,
.strip-frame .mz-fill{
  transform:translate3d(0,0,0) scale(1.035);
  animation:none;
  transition:transform .25s var(--ease-slow);
  will-change:auto;
  backface-visibility:hidden;
}
.strip-frame .mz-tag{
  backdrop-filter:none;
}
.strip-frame:nth-child(2n) video,
.strip-frame:nth-child(2n) img,
.strip-frame:nth-child(2n) .mz-fill{
  transform-origin:60% 48%;
}
.strip-frame:nth-child(3n) video,
.strip-frame:nth-child(3n) img,
.strip-frame:nth-child(3n) .mz-fill{
  transform-origin:42% 58%;
}

.reel,
.sound,
.press,
.grat,
.portfolio{
  background:#14090c;
}
.reel-track{
  grid-auto-columns:minmax(260px,27%);
  gap:1rem;
  padding-inline:clamp(20px,5vw,72px);
}
.reel-card{
  transition:transform .45s var(--ease-slow),opacity .45s var(--ease-slow);
}
.reel-card:hover{transform:translateY(-5px)}
.reel-card .info .n,
.track h4,
.crew-card h4{
  font-family:var(--ff-display);
  font-style:normal;
}
.tabs{
  justify-content:flex-start;
  align-items:center;
  gap:.48rem;
  width:max-content;
  max-width:100%;
  padding:.32rem;
  border:1px solid rgba(241,221,186,.11);
  border-radius:999px;
  background:rgba(247,239,230,.025);
  min-width:0;
}
.tab{
  position:relative;
  overflow:hidden;
  border-radius:999px;
  border-color:rgba(241,221,186,.16);
  background:transparent;
  color:rgba(247,239,230,.58);
  box-shadow:inset 0 0 0 1px transparent;
}
.tab::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:6px;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--champagne),transparent);
  opacity:0;
  transform:scaleX(.45);
  transition:opacity .32s var(--ease),transform .32s var(--ease);
  pointer-events:none;
}
.tab:hover{
  color:rgba(247,239,230,.86);
  border-color:rgba(241,221,186,.28);
  background:rgba(241,221,186,.04);
}
.tab.active{
  background:linear-gradient(180deg,rgba(241,221,186,.16),rgba(241,221,186,.055));
  color:var(--champagne);
  border-color:rgba(241,221,186,.42);
  box-shadow:
    inset 0 0 0 1px rgba(241,221,186,.12),
    0 10px 30px rgba(0,0,0,.18);
}
.tab.active::after{
  opacity:.9;
  transform:scaleX(1);
}

.craft{
  background:
    linear-gradient(180deg,#14090c,#1d0c10 52%,#10080a);
}
.craft-grid{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  align-items:start;
}
.craft-copy{position:sticky;top:130px}
.craft-copy h2{
  font-size:clamp(2.4rem,5.5vw,5.4rem);
  letter-spacing:0;
}
.craft-copy p{color:rgba(247,239,230,.68)}
.craft-stats .num{color:var(--metal-soft)}
.mosaic{
  gap:.9rem;
  grid-template-columns:1.1fr .9fr;
}
.mosaic .media-zone:first-child{grid-row:span 2}

.tracks{
  gap:1rem;
  background:transparent;
  border:0;
  border-radius:0;
}
.track{
  border:1px solid rgba(247,239,230,.12);
  background:rgba(247,239,230,.045);
}
.track:hover{background:rgba(247,239,230,.075)}
.track-art{
  background-image:url("../uploads/optimized/1782217786-217004.jpg")!important;
  background-size:cover!important;
}
.track-art.b{background-image:url("../uploads/optimized/1782216251-312241.jpg")!important}
.track-art.c{background-image:url("../uploads/optimized/1782217474-985736.jpg")!important}
.track .bars i{animation-duration:1.7s;background:var(--metal-soft)}

.quote{
  background:
    linear-gradient(90deg,rgba(16,8,10,.96),rgba(16,8,10,.72)),
    url("../uploads/optimized/1782217786-217004.jpg");
  background-size:cover;
  background-position:center calc(42% + var(--page-hero-y,0px));
  text-align:left;
}
.quote blockquote{
  margin:0;
  max-width:980px;
  font-size:clamp(2.3rem,5.6vw,5.4rem);
  letter-spacing:0;
}

.press{
  border-block:1px solid var(--line);
}
.press .lab{text-align:left}
.press-row{justify-content:flex-start}
.press-row span{opacity:.62}

.grat-grid{gap:1rem}
.grat-card{
  background:rgba(247,239,230,.045);
  border-color:rgba(247,239,230,.12);
  transition:transform .45s var(--ease-slow),background .45s var(--ease-slow),border-color .45s var(--ease-slow);
}
.grat-card:hover{
  transform:translateY(-4px);
  background:rgba(247,239,230,.07);
  border-color:rgba(230,197,142,.28);
}
.grat-card p{
  font-family:var(--ff-display);
  font-style:normal;
  font-size:clamp(1.15rem,2vw,1.45rem);
}

.enquire,
#form.enquire{
  background:
    linear-gradient(90deg,rgba(16,8,10,.96),rgba(16,8,10,.74) 55%,rgba(16,8,10,.44)),
    url("../uploads/optimized/1782215936-355681.jpg")!important;
  background-size:cover!important;
  background-position:center calc(50% + var(--page-hero-y,0px))!important;
}
.enquire h2{
  font-size:clamp(2.6rem,6.4vw,6.4rem);
  letter-spacing:0;
}
.form{
  max-width:840px;
  margin-left:0;
}
.field input,
.field textarea{
  background:rgba(16,8,10,.58);
  border-color:rgba(247,239,230,.18);
}
.field input:focus,
.field textarea:focus{
  border-color:var(--metal-soft);
  background:rgba(16,8,10,.78);
}

footer{
  background:#0d0608;
  border-top:1px solid var(--line);
}

@keyframes heroBreath{
  0%{filter:saturate(.92) contrast(1.03) brightness(.94)}
  100%{filter:saturate(1.06) contrast(1.08) brightness(1)}
}
@keyframes buttonGlint{
  0%,62%{transform:translateX(0) skewX(-20deg);opacity:0}
  72%{opacity:.85}
  86%,100%{transform:translateX(410%) skewX(-20deg);opacity:0}
}
.foot-sign{
  text-align:left;
  padding-top:clamp(3.5rem,7vw,6rem);
}
.foot-sign h3{
  max-width:900px;
  font-size:clamp(2.2rem,5.4vw,5.2rem);
  letter-spacing:0;
}
.foot-sign .sub{color:rgba(247,239,230,.66)}

.portfolio .port-grid,
.gallery-grid{
  gap:1rem;
}
.port-card,
.gallery-card,
.crew-card{
  transition:transform .45s var(--ease-slow);
}
.port-card:hover,
.gallery-card:hover,
.crew-card:hover{transform:translateY(-4px)}

/* Page identities: same brand system, different editorial rhythm per page. */
body.page-films{
  --page-accent:#9fb06c;
  background:
    radial-gradient(44vw 34vw at 84% 18%,rgba(159,176,108,.14),transparent 72%),
    linear-gradient(180deg,#090b0a,#16100c 44%,#0d0908);
}
body.page-films .page-hero{
  min-height:72svh;
  justify-content:flex-start;
  text-align:left;
  background-image:
    linear-gradient(90deg,rgba(8,10,9,.92),rgba(8,10,9,.48) 48%,rgba(8,10,9,.1)),
    linear-gradient(0deg,rgba(8,10,9,.96),rgba(8,10,9,.2)),
    url("../uploads/optimized/1782217327-170453.jpg");
  background-position:42% center;
  background-size:cover;
}
body.page-films .page-hero .garland{
  display:none!important;
}
body.page-films .page-hero h1{
  max-width:880px;
  font-size:clamp(3.2rem,7.4vw,7.2rem);
}
body.page-films .page-hero-inner{
  width:min(880px,calc(100vw - 96px));
  max-width:none;
  margin-left:clamp(2.8rem,11vw,13.5rem);
  margin-right:auto;
  padding-left:clamp(1rem,2vw,1.8rem);
  border-left:1px solid rgba(159,176,108,.48);
}
body.page-films header.nav{
  top:24px;
  width:min(1120px,calc(100vw - 48px));
  background:linear-gradient(90deg,rgba(8,10,9,.36),rgba(8,10,9,.18));
  border-color:rgba(159,176,108,.22);
  box-shadow:0 14px 44px rgba(0,0,0,.24);
  backdrop-filter:blur(12px) saturate(1.02);
}
body.page-films header.nav::after{
  display:none;
}
body.page-films header.nav.shrink{
  background:rgba(8,10,9,.66);
  border-color:rgba(159,176,108,.26);
}
body.page-films .portfolio{
  background:#0d0f0d!important;
  padding-top:clamp(3rem,6vw,4.8rem);
}
body.page-films .portfolio .tabs{
  width:min(1120px,calc(100vw - 48px));
  max-width:100%;
  min-height:auto;
  justify-content:flex-start;
  align-items:center;
  align-content:center;
  flex-wrap:wrap;
  gap:.6rem;
  padding:.72rem;
  border:1px solid rgba(247,239,230,.12);
  border-radius:22px;
  overflow:visible;
  margin-bottom:clamp(2rem,5vw,3.2rem);
}
body.page-films .portfolio .tab{
  flex:0 0 auto;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.72rem clamp(1rem,2vw,1.45rem);
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  text-align:center;
}
body.page-films .portfolio .tab.active{
  background:var(--page-accent);
  border-color:var(--page-accent);
  color:#0d0f0d;
}
body.page-films .port-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:start;
}
body.page-films .portfolio-empty{
  grid-column:1/-1;
  min-height:clamp(220px,32vh,360px);
  display:grid;
  place-items:center;
  text-align:center;
  color:rgba(247,239,230,.82);
  font-size:clamp(1rem,1.6vw,1.2rem);
  line-height:1.55;
  padding:clamp(2rem,5vw,4rem);
}
body.page-films .port-item{
  grid-column:span 4;
}
body.page-films .port-item:nth-child(5n+1){
  grid-column:span 7;
}
body.page-films .port-item:nth-child(5n+2){
  grid-column:span 5;
  margin-top:clamp(1.4rem,4vw,3.4rem);
}
body.page-films .port-item .media-zone{
  aspect-ratio:16/10;
  border-radius:2px;
  border-color:rgba(159,176,108,.28);
}
body.page-films .port-item:nth-child(5n+1) .media-zone{
  aspect-ratio:21/9;
}

body.page-gallery{
  --page-accent:#f3d99f;
  background:
    radial-gradient(42vw 38vw at 10% 14%,rgba(243,217,159,.13),transparent 70%),
    linear-gradient(180deg,#13080b,#251014 48%,#0f0709);
}
body.page-gallery .page-hero{
  min-height:50svh;
  align-items:center;
  justify-content:center;
  text-align:center;
  background-image:
    radial-gradient(58% 90% at 50% 32%,rgba(243,217,159,.18),transparent 62%),
    linear-gradient(0deg,rgba(19,8,11,.92),rgba(19,8,11,.34)),
    url("../uploads/optimized/1782216251-312241.jpg");
}
body.page-gallery .page-hero-inner{
  margin-inline:auto;
  text-align:center;
}
body.page-gallery .page-hero p{
  margin-inline:auto;
}
body.page-gallery .gallery-host{
  background:#f2e3ca;
  color:#1a0d0f;
  padding-top:clamp(1rem,3vw,2rem);
}
body.page-gallery .gallery-host .tabs{
  justify-content:center;
}
body.page-gallery .gallery-host .tab{
  color:#5d3032;
  border-color:rgba(93,48,50,.28);
}
body.page-gallery .gallery-host .tab.active{
  color:#f8ead3;
  background:#4f171d;
  border-color:#4f171d;
}
body.page-gallery .gal-grid{
  gap:clamp(.65rem,1.6vw,1.2rem);
}
body.page-gallery .gal-item{
  border-radius:2px;
  box-shadow:0 16px 34px rgba(65,24,22,.18);
}
body.page-gallery .gal-item:nth-child(3n+2){
  transform:translateY(clamp(0px,2.4vw,28px));
}

body.page-craft{
  --page-accent:#d7c08e;
  background:
    radial-gradient(35vw 42vw at 12% 52%,rgba(93,120,78,.16),transparent 70%),
    linear-gradient(180deg,#150708,#2a0d10 50%,#110607);
}
body.page-craft .page-hero{
  min-height:70svh;
  background-image:
    linear-gradient(90deg,rgba(17,6,7,.95),rgba(17,6,7,.54) 46%,rgba(17,6,7,.18)),
    linear-gradient(0deg,rgba(17,6,7,.96),rgba(17,6,7,.2)),
    url("../uploads/optimized/1782217474-985736.jpg");
}
body.page-craft .craft-grid{
  grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr);
}
body.page-craft .craft-copy{
  position:relative;
  top:auto;
  align-self:start;
}
body.page-craft .mosaic{
  grid-template-columns:1.15fr .85fr;
  transform:rotate(-1deg);
}
body.page-craft .mosaic .media-zone{
  border-radius:0 18px 0 18px;
}
body.page-craft .process-grid{
  grid-template-columns:1fr;
  max-width:860px;
  margin-inline:auto;
}
body.page-craft .process-grid::before{
  left:34px;
  right:auto;
  top:0;
  bottom:0;
  width:1px;
  height:auto;
  background:linear-gradient(transparent,rgba(216,179,119,.48),transparent);
}
body.page-craft .process-grid .step{
  display:grid;
  grid-template-columns:68px 1fr;
  gap:1.5rem;
  text-align:left;
}
body.page-craft .process-grid .step-no{
  margin:0;
}

body.page-frames{
  --page-accent:#82b7b1;
  background:
    radial-gradient(42vw 36vw at 86% 22%,rgba(130,183,177,.13),transparent 72%),
    linear-gradient(180deg,#08090b,#151013 48%,#08090b);
}
body.page-frames .page-hero{
  min-height:68svh;
  background-image:
    linear-gradient(90deg,rgba(8,9,11,.95),rgba(8,9,11,.6) 45%,rgba(8,9,11,.16)),
    linear-gradient(0deg,rgba(8,9,11,.98),rgba(8,9,11,.2)),
    url("placeholders/ai-crew-hero.webp");
}
body.page-frames .founder-head{
  background:
    linear-gradient(90deg,rgba(8,9,11,.94),rgba(25,17,19,.86)),
    radial-gradient(40vw 36vw at 80% 28%,rgba(130,183,177,.1),transparent 72%)!important;
}
body.page-frames .founder-head .craft-grid{
  grid-template-columns:1.08fr .92fr;
}
body.page-frames .founder-head .mosaic{
  grid-template-columns:1fr 1fr;
  align-items:end;
}
body.page-frames .founder-head .mosaic .media-zone:first-child{
  transform:translateY(-28px);
}
body.page-frames .value-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(130,183,177,.18);
  background:rgba(130,183,177,.18);
}
body.page-frames .value-card{
  background:rgba(8,9,11,.68);
  border:0;
  border-radius:0;
}

body.page-contact{
  --page-accent:#ee9f78;
  background:
    radial-gradient(38vw 34vw at 88% 16%,rgba(238,159,120,.14),transparent 72%),
    linear-gradient(180deg,#170709,#2a0d0f 48%,#120607);
}
body.page-contact .page-hero{
  min-height:54svh;
  align-items:flex-end;
  background-image:
    radial-gradient(40% 70% at 72% 48%,rgba(238,159,120,.2),transparent 68%),
    linear-gradient(90deg,rgba(18,6,7,.94),rgba(18,6,7,.58) 48%,rgba(18,6,7,.12)),
    url("../uploads/optimized/1782215936-355681.jpg");
}
body.page-contact #form.enquire{
  text-align:left;
  background:#f3dfc1!important;
  color:#2a0d0f;
}
body.page-contact #form.enquire .wrap{
  width:min(880px,calc(100vw - 40px));
  margin-left:clamp(20px,8vw,120px);
  margin-right:auto;
}
body.page-contact #form.enquire .eyebrow,
body.page-contact #form.enquire h2 em{
  color:#8b421f;
}
body.page-contact #form.enquire p{
  color:rgba(42,13,15,.72);
  margin-left:0;
}
body.page-contact #form.enquire .actions{
  justify-content:flex-start;
}
body.page-contact #form.enquire .btn-primary{
  background:#2a0d0f;
  color:#f3dfc1;
}
body.page-contact .foot-col h5{
  color:var(--page-accent);
}

/* Page background motion */
body.page-home::before,
body.page-films::before,
body.page-gallery::before,
body.page-craft::before,
body.page-frames::before,
body.page-contact::before{
  opacity:.5;
  background-size:120% 120%,110% 110%,100% 100%;
  animation:pageAmbientDrift 28s ease-in-out infinite alternate;
}
body.page-home::before{
  background:
    radial-gradient(32vw 32vw at 15% 18%,rgba(241,221,186,.16),transparent 72%),
    radial-gradient(38vw 34vw at 82% 38%,rgba(155,98,86,.18),transparent 72%),
    linear-gradient(115deg,transparent 0 42%,rgba(241,221,186,.055) 48%,transparent 55% 100%);
}
body.page-films::before{
  background:
    repeating-linear-gradient(90deg,rgba(159,176,108,.055) 0 1px,transparent 1px 84px),
    radial-gradient(34vw 36vw at 82% 18%,rgba(159,176,108,.17),transparent 72%),
    linear-gradient(115deg,transparent 0 44%,rgba(247,239,230,.04) 49%,transparent 56% 100%);
  animation-name:filmAmbientDrift;
}
body.page-gallery::before{
  background:
    radial-gradient(20vw 18vw at 24% 24%,rgba(243,217,159,.16),transparent 72%),
    radial-gradient(24vw 20vw at 76% 62%,rgba(79,23,29,.14),transparent 72%),
    repeating-linear-gradient(-8deg,rgba(255,255,255,.045) 0 1px,transparent 1px 70px);
  animation-name:galleryAmbientDrift;
}
body.page-craft::before{
  background:
    radial-gradient(28vw 36vw at 12% 62%,rgba(93,120,78,.2),transparent 70%),
    radial-gradient(36vw 30vw at 78% 18%,rgba(215,192,142,.14),transparent 72%),
    linear-gradient(140deg,transparent 0 46%,rgba(215,192,142,.045) 50%,transparent 56% 100%);
  animation-name:craftAmbientDrift;
}
body.page-frames::before{
  background:
    radial-gradient(34vw 28vw at 82% 22%,rgba(130,183,177,.17),transparent 72%),
    repeating-linear-gradient(0deg,rgba(130,183,177,.045) 0 1px,transparent 1px 64px),
    linear-gradient(125deg,transparent 0 44%,rgba(247,239,230,.035) 48%,transparent 54% 100%);
  animation-name:framesAmbientDrift;
}
body.page-contact::before{
  background:
    radial-gradient(32vw 34vw at 84% 18%,rgba(238,159,120,.18),transparent 72%),
    radial-gradient(34vw 28vw at 18% 76%,rgba(241,221,186,.11),transparent 72%),
    linear-gradient(115deg,transparent 0 42%,rgba(238,159,120,.05) 48%,transparent 55% 100%);
  animation-name:contactAmbientDrift;
}

body.page-home .hero::before,
body.page-films .page-hero::before,
body.page-gallery .page-hero::before,
body.page-craft .page-hero::before,
body.page-frames .page-hero::before,
body.page-contact .page-hero::before{
  content:"";
  position:absolute;
  inset:-18%;
  height:auto;
  display:block!important;
  z-index:2;
  pointer-events:none;
  opacity:.48;
  mix-blend-mode:screen;
  transform:translate3d(0,0,0);
  background:
    radial-gradient(42% 34% at 28% 28%,rgba(241,221,186,.2),transparent 70%),
    linear-gradient(112deg,transparent 0 44%,rgba(255,255,255,.11) 49%,transparent 56% 100%);
  animation:heroLightDrift 18s ease-in-out infinite alternate;
}
body.page-home .hero::before{
  background:
    radial-gradient(38% 34% at 22% 22%,rgba(241,221,186,.22),transparent 72%),
    radial-gradient(28% 24% at 78% 42%,rgba(155,98,86,.2),transparent 74%),
    linear-gradient(110deg,transparent 0 42%,rgba(255,255,255,.12) 48%,transparent 55% 100%);
}
body.page-films .page-hero::before{
  opacity:.34;
  background:
    repeating-linear-gradient(90deg,transparent 0 86px,rgba(159,176,108,.14) 88px,transparent 90px),
    linear-gradient(110deg,transparent 0 42%,rgba(159,176,108,.16) 47%,transparent 53% 100%);
  animation-name:filmGateSweep;
}
body.page-gallery .page-hero::before{
  background:
    radial-gradient(18% 18% at 28% 34%,rgba(243,217,159,.24),transparent 70%),
    radial-gradient(20% 18% at 70% 42%,rgba(255,255,255,.13),transparent 72%),
    linear-gradient(95deg,transparent 0 46%,rgba(243,217,159,.12) 50%,transparent 56% 100%);
  animation-name:galleryLightFloat;
}
body.page-craft .page-hero::before{
  background:
    radial-gradient(32% 38% at 18% 58%,rgba(93,120,78,.22),transparent 72%),
    linear-gradient(128deg,transparent 0 44%,rgba(215,192,142,.13) 49%,transparent 55% 100%);
  animation-name:craftLanternSweep;
}
body.page-frames .page-hero::before{
  opacity:.38;
  background:
    repeating-linear-gradient(0deg,transparent 0 58px,rgba(130,183,177,.12) 59px,transparent 61px),
    radial-gradient(34% 26% at 78% 30%,rgba(130,183,177,.18),transparent 72%);
  animation-name:framesGridDrift;
}
body.page-contact .page-hero::before{
  background:
    radial-gradient(34% 32% at 76% 38%,rgba(238,159,120,.22),transparent 72%),
    linear-gradient(112deg,transparent 0 42%,rgba(238,159,120,.12) 48%,transparent 56% 100%);
  animation-name:contactWarmSweep;
}

body.page-films .portfolio,
body.page-gallery .gallery-host,
body.page-craft .craft,
body.page-frames .founder-head,
body.page-contact #form.enquire{
  position:relative;
  overflow:hidden;
}
body.page-films .portfolio::before,
body.page-gallery .gallery-host::before,
body.page-craft .craft::before,
body.page-frames .founder-head::before,
body.page-contact #form.enquire::before{
  content:"";
  position:absolute;
  inset:-20%;
  z-index:0;
  pointer-events:none;
  opacity:.28;
  mix-blend-mode:screen;
  transform:translate3d(0,0,0);
  animation:sectionCurrent 24s ease-in-out infinite alternate;
}
body.page-films .portfolio::before{
  background:repeating-linear-gradient(90deg,transparent 0 110px,rgba(159,176,108,.12) 111px,transparent 113px);
}
body.page-gallery .gallery-host::before{
  opacity:.2;
  mix-blend-mode:multiply;
  background:
    radial-gradient(22vw 18vw at 18% 28%,rgba(79,23,29,.14),transparent 70%),
    radial-gradient(26vw 22vw at 82% 70%,rgba(184,147,98,.18),transparent 72%);
}
body.page-craft .craft::before{
  background:
    radial-gradient(30vw 34vw at 16% 40%,rgba(93,120,78,.16),transparent 72%),
    repeating-linear-gradient(135deg,transparent 0 86px,rgba(215,192,142,.1) 88px,transparent 90px);
}
body.page-frames .founder-head::before{
  background:
    radial-gradient(30vw 24vw at 82% 28%,rgba(130,183,177,.16),transparent 72%),
    repeating-linear-gradient(0deg,transparent 0 78px,rgba(130,183,177,.08) 80px,transparent 82px);
}
body.page-contact #form.enquire::before{
  opacity:.16;
  mix-blend-mode:multiply;
  background:
    radial-gradient(34vw 28vw at 12% 28%,rgba(238,159,120,.26),transparent 72%),
    radial-gradient(26vw 24vw at 84% 74%,rgba(42,13,15,.2),transparent 72%);
}
body.page-films .portfolio > *,
body.page-gallery .gallery-host > *,
body.page-craft .craft > *,
body.page-frames .founder-head > *,
body.page-contact #form.enquire > *{
  position:relative;
  z-index:1;
}

@keyframes pageAmbientDrift{
  0%{transform:translate3d(calc(var(--ambient-x,0px) * .25),calc(var(--ambient-y,0px) * .25),0) scale(1);background-position:0% 0%,100% 40%,50% 50%}
  100%{transform:translate3d(calc(var(--ambient-x,0px) * .25 + 22px),calc(var(--ambient-y,0px) * .25 - 18px),0) scale(1.04);background-position:28% 18%,72% 62%,58% 46%}
}
@keyframes filmAmbientDrift{
  0%{transform:translate3d(0,0,0);background-position:0 0,100% 20%,50% 50%}
  100%{transform:translate3d(20px,-12px,0);background-position:90px 0,78% 38%,64% 50%}
}
@keyframes galleryAmbientDrift{
  0%{transform:translate3d(-8px,0,0) rotate(.001deg);background-position:0% 0%,100% 72%,0 0}
  100%{transform:translate3d(18px,-18px,0) rotate(.001deg);background-position:22% 18%,80% 58%,70px 14px}
}
@keyframes craftAmbientDrift{
  0%{transform:translate3d(0,10px,0);background-position:8% 54%,84% 18%,50% 50%}
  100%{transform:translate3d(18px,-16px,0);background-position:18% 46%,72% 30%,58% 44%}
}
@keyframes framesAmbientDrift{
  0%{transform:translate3d(0,0,0);background-position:84% 18%,0 0,50% 50%}
  100%{transform:translate3d(-18px,16px,0);background-position:72% 30%,0 84px,42% 54%}
}
@keyframes contactAmbientDrift{
  0%{transform:translate3d(0,0,0);background-position:84% 18%,18% 76%,50% 50%}
  100%{transform:translate3d(16px,-14px,0);background-position:76% 30%,28% 66%,60% 44%}
}
@keyframes heroLightDrift{
  0%{transform:translate3d(-3%,2%,0) scale(1.02);opacity:.3}
  100%{transform:translate3d(4%,-3%,0) scale(1.08);opacity:.55}
}
@keyframes filmGateSweep{
  0%{transform:translate3d(-4%,0,0);background-position:0 0,0 0}
  100%{transform:translate3d(4%,-2%,0);background-position:110px 0,80px 0}
}
@keyframes galleryLightFloat{
  0%{transform:translate3d(-2%,3%,0) scale(1.02);opacity:.36}
  100%{transform:translate3d(3%,-2%,0) scale(1.06);opacity:.58}
}
@keyframes craftLanternSweep{
  0%{transform:translate3d(-3%,2%,0) scale(1.02);opacity:.34}
  100%{transform:translate3d(4%,-2%,0) scale(1.07);opacity:.54}
}
@keyframes framesGridDrift{
  0%{transform:translate3d(0,0,0);background-position:0 0,80% 28%}
  100%{transform:translate3d(-2%,2%,0);background-position:0 84px,70% 36%}
}
@keyframes contactWarmSweep{
  0%{transform:translate3d(-2%,2%,0) scale(1.02);opacity:.34}
  100%{transform:translate3d(4%,-3%,0) scale(1.07);opacity:.56}
}
@keyframes sectionCurrent{
  0%{transform:translate3d(-2%,1%,0) scale(1);background-position:0 0,100% 50%}
  100%{transform:translate3d(3%,-2%,0) scale(1.04);background-position:120px 0,78% 62%}
}

@media(max-width:980px){
  body.page-films .port-item,
  body.page-films .port-item:nth-child(n){
    grid-column:1/-1;
    margin-top:0;
  }
  body.page-craft .craft-grid,
  body.page-frames .founder-head .craft-grid{
    grid-template-columns:1fr;
  }
  body.page-frames .value-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  body.page-films header.nav{
    top:10px;
    width:calc(100vw - 20px);
    background:rgba(8,10,9,.74);
  }
  body.page-films .portfolio .tabs{
    width:calc(100vw - 28px);
    border-radius:18px;
    padding:.55rem;
  }
  body.page-films .portfolio .tab{
    min-height:38px;
    padding:.66rem .9rem;
    font-size:.64rem;
  }
  body.page-gallery .page-hero,
  body.page-contact .page-hero{
    min-height:76svh;
    text-align:left;
    align-items:flex-end;
  }
  body.page-gallery .page-hero-inner{
    text-align:left;
    margin-inline:0;
  }
  body.page-gallery .gal-item:nth-child(3n+2){
    transform:none;
  }
  body.page-craft .mosaic{
    transform:none;
  }
  body.page-craft .process-grid .step{
    grid-template-columns:1fr;
  }
  body.page-craft .process-grid::before{
    display:none;
  }
  body.page-contact #form.enquire .wrap{
    margin-inline:auto;
  }
}

@media(max-width:980px){
  header.nav{
    border-radius:24px;
    align-items:center;
  }
  nav.links{
    background:rgba(16,8,10,.96);
    backdrop-filter:blur(18px);
  }
  .craft-grid{grid-template-columns:1fr}
  .craft-copy{position:static}
  .reel-track{grid-auto-columns:minmax(240px,66vw)}
}

@media(max-width:760px){
  .wrap{width:min(100% - 28px,1180px)}
  header.nav{
    top:10px;
    width:calc(100vw - 20px);
    padding:.62rem .72rem;
  }
  header.nav::after{
    left:16px;
    right:16px;
    bottom:5px;
    opacity:.52;
  }
  .brandmark b{max-width:130px;overflow:hidden;text-overflow:ellipsis}
  .hero,
  .page-hero{
    min-height:88svh;
    padding:7.2rem 18px 3rem;
  }
  .hero-bg{
    background-image:
      linear-gradient(0deg,rgba(16,8,10,.98),rgba(16,8,10,.28) 52%,rgba(16,8,10,.72)),
      url("../uploads/optimized/1782216251-312241.jpg");
    background-position:center;
  }
  .hero h1,
  .page-hero h1{
    font-size:clamp(3rem,16vw,5.2rem);
  }
  .hero p.lede,
  .page-hero p{
    font-size:1rem;
  }
  .framecount{display:none}
  .scrollcue{display:none}
  .sec-head{text-align:left;padding-top:4rem}
  .film{min-height:76svh}
  .filmstrip{padding-block:3.5rem}
  .strip-stage{height:clamp(170px,42vw,240px)}
  .strip-rot{transform:translateY(-50%) rotate(-.8deg)!important}
  .strip-track{gap:10px}
  .strip-frame{
    width:clamp(220px,68vw,330px);
    border-radius:7px;
    box-shadow:0 10px 28px rgba(0,0,0,.26);
  }
  .strip-frame .mz-tag{
    left:10px;
    bottom:9px;
    font-size:.52rem;
    letter-spacing:.16em;
  }
  .film .film-media .mz-grad{
    background:linear-gradient(0deg,rgba(16,8,10,.98),rgba(16,8,10,.3) 58%,rgba(16,8,10,.6));
  }
  .film-content{padding:2rem 18px 3rem}
  .film-meta{flex-wrap:wrap;gap:.7rem}
  .film-meta span+span{padding-left:.7rem}
  .more-film-card{flex-basis:min(82vw,360px)}
  .more-films-control{padding:0 18px}
  .more-films-panel{padding:4.25rem 18px 3.5rem}
  .tabs{overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap;padding-bottom:.4rem}
  .tab{white-space:nowrap}
  .form{grid-template-columns:1fr}
  .actions{justify-content:flex-start}
  .foot-top,
  .foot-bottom{align-items:flex-start}
}

.curtains .curtain{
  transition-duration:.36s!important;
}
.curtains .valance,
.curtains .curtain-deco{
  transition-duration:.32s!important;
}
.curtains .curtain-crest{
  transition-duration:.24s!important;
  transition-delay:.04s!important;
}
#loader{
  transition:opacity .18s var(--ease),visibility .18s var(--ease)!important;
}

/* Device tuning */
html{
  scroll-padding-top:calc(88px + env(safe-area-inset-top));
}

@media(hover:none),(pointer:coarse){
  body::before,
  .spotlight,
  .petal-fall,
  .wed-bg,
  .craft-dust,
  .hero-petals,
  .hero-garlands,
  .foot-sparks{
    display:none!important;
  }
  body.page-home .hero::before,
  body.page-films .page-hero::before,
  body.page-gallery .page-hero::before,
  body.page-craft .page-hero::before,
  body.page-frames .page-hero::before,
  body.page-contact .page-hero::before,
  body.page-films .portfolio::before,
  body.page-gallery .gallery-host::before,
  body.page-craft .craft::before,
  body.page-frames .founder-head::before,
  body.page-contact #form.enquire::before{
    animation:none!important;
    opacity:.16;
  }
  .reveal{
    transition-duration:.42s;
  }
  .port-card:hover,
  .gallery-card:hover,
  .crew-card:hover,
  .port-item:hover,
  .reel-card:hover,
  .grat-card:hover{
    transform:none!important;
  }
  .media-zone:hover img,
  .media-zone:hover video,
  .reel-card:hover .media-zone img,
  .reel-card:hover .media-zone video{
    transform:none!important;
  }
  .btn-primary,
  .btn-ghost,
  .enquire-btn,
  .foot-cta,
  .tab,
  .lb-nav,
  .lb-x,
  .burger{
    min-height:44px;
  }
}

@media(max-width:1024px){
  header.nav{
    width:calc(100vw - 28px);
  }
  nav.links{
    gap:1.4rem;
  }
  .hero,
  .page-hero{
    min-height:86svh;
  }
  .hero h1,
  .page-hero h1{
    font-size:clamp(3.4rem,9.2vw,6.2rem);
    max-width:12ch;
  }
  .page-hero p,
  .hero p.lede{
    max-width:min(620px,88vw);
  }
  .portfolio .port-grid{
    gap:1.2rem;
  }
  .tabs{
    max-width:100%;
  }
}

@media(max-width:640px){
  html{
    scroll-padding-top:calc(76px + env(safe-area-inset-top));
  }
  body{
    overflow-x:hidden;
  }
  .wrap{
    width:min(100% - 24px,1180px);
  }
  header.nav{
    top:max(8px,env(safe-area-inset-top));
    width:calc(100vw - 16px);
    min-height:64px;
    padding:.55rem .62rem;
    border-radius:18px;
  }
  .brandmark{
    min-width:0;
    gap:.52rem;
  }
  .brandmark img{
    width:34px;
    height:34px;
  }
  .brandmark b{
    max-width:106px;
    font-size:.95rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .enquire-btn{
    min-width:0;
    padding:.72rem 1.08rem;
    letter-spacing:.18em;
  }
  nav.links{
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:calc(5rem + env(safe-area-inset-top)) 24px calc(2rem + env(safe-area-inset-bottom));
  }
  nav.links a{
    font-size:.92rem;
    line-height:1.4;
    text-align:center;
  }
  .hero,
  .page-hero{
    min-height:min(760px,100svh);
    padding:6.6rem 16px 2.6rem;
  }
  .hero h1,
  .page-hero h1{
    font-size:clamp(2.65rem,13.5vw,4.6rem);
    line-height:.96;
    max-width:10.5ch;
    overflow-wrap:anywhere;
  }
  body.page-films .page-hero h1{
    font-size:clamp(2.55rem,13vw,4.4rem);
    max-width:11ch;
  }
  .hero p.lede,
  .page-hero p{
    font-size:.98rem;
    line-height:1.65;
  }
  .sec-head h2{
    font-size:clamp(2.15rem,11vw,3.6rem);
  }
  .tabs{
    width:100%;
    max-width:calc(100vw - 24px);
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    overscroll-behavior-x:contain;
    flex-wrap:nowrap;
    justify-content:flex-start;
    align-items:center;
    scroll-snap-type:x proximity;
    gap:.58rem;
    min-height:52px;
    padding:.32rem;
    mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);
  }
  .tabs::-webkit-scrollbar{
    display:none;
    width:0;
    height:0;
  }
  .tab{
    flex:0 0 auto;
    scroll-snap-align:start;
    padding:.72rem 1rem;
    max-width:calc(100vw - 48px);
    line-height:1;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body.page-films .portfolio .tabs{
    flex-wrap:wrap;
    overflow:visible;
    justify-content:flex-start;
  }
  body.page-films .portfolio .tab{
    flex:1 1 9rem;
  }
  .portfolio{
    padding-block:4rem;
  }
  .port-item,
  .port-item:nth-child(n){
    grid-column:1/-1;
    margin-top:0;
  }
  .gallery-filter{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    justify-content:flex-start;
  }
  .lightbox{
    padding:14px;
  }
  .lb-stage{
    width:min(100%,calc(100vw - 28px));
    max-height:78svh;
  }
  .lb-x{
    top:12px;
    right:12px;
  }
  .lb-nav{
    top:auto;
    bottom:16px;
    width:44px;
    height:44px;
    transform:none;
  }
  .lb-prev{
    left:18px;
  }
  .lb-next{
    right:18px;
  }
  .lb-cap{
    padding:64px 16px 18px;
  }
  body.page-contact section.wed-host > .wrap[style*="grid-template-columns"]{
    grid-template-columns:1fr!important;
    gap:1.4rem!important;
  }
  body.page-contact .form,
  body.page-contact .form .split{
    grid-template-columns:1fr;
  }
  .actions{
    width:100%;
  }
  .actions a,
  .btn-primary,
  .btn-ghost,
  .foot-cta{
    justify-content:center;
    text-align:center;
  }
}

@media(max-width:420px){
  header.nav{
    width:calc(100vw - 12px);
    padding:.5rem;
  }
  .brandmark b{
    max-width:92px;
  }
  .enquire-btn{
    padding-inline:.86rem;
    font-size:.68rem;
  }
  .hero h1,
  .page-hero h1{
    font-size:clamp(2.35rem,13vw,3.75rem);
  }
  .actions a,
  .btn-primary,
  .btn-ghost,
  .foot-cta{
    width:100%;
    padding-inline:1rem;
  }
  .craft-stats{
    gap:1rem;
  }
  .craft-stats .num{
    font-size:2rem;
  }
}

@media(max-height:560px) and (orientation:landscape){
  .hero,
  .page-hero{
    min-height:620px;
    padding-top:6rem;
  }
  nav.links{
    padding-top:5rem;
  }
}

@media(prefers-reduced-motion:reduce){
  body::before{display:none}
  header.nav::after{display:none}
  body.page-home .hero::before,
  body.page-films .page-hero::before,
  body.page-gallery .page-hero::before,
  body.page-craft .page-hero::before,
  body.page-frames .page-hero::before,
  body.page-contact .page-hero::before,
  body.page-films .portfolio::before,
  body.page-gallery .gallery-host::before,
  body.page-craft .craft::before,
  body.page-frames .founder-head::before,
  body.page-contact #form.enquire::before{
    animation:none!important;
  }
  .strip-frame,
  .strip-frame video,
  .strip-frame img,
  .strip-frame .mz-fill{animation:none!important}
  .media-zone img,
  .media-zone video,
  .strip-frame img{transition:none}
}

/* Contact proportion correction */
body.page-contact .page-hero{
  min-height:clamp(430px,52svh,620px)!important;
  padding-top:clamp(7rem,10vw,9rem)!important;
  padding-bottom:clamp(2.6rem,5vw,4rem)!important;
}
body.page-contact .gathband{
  display:none!important;
}
body.page-contact #form.enquire{
  min-height:0!important;
  padding-block:clamp(3.2rem,6vw,5rem)!important;
  display:block!important;
}
body.page-contact #form.enquire .wrap{
  margin-left:clamp(20px,8vw,120px)!important;
  margin-right:auto!important;
  transform:none!important;
}
body.page-contact #form.enquire h2{
  font-size:clamp(2.35rem,5vw,4.8rem)!important;
  max-width:11ch;
}
body.page-contact #form.enquire p{
  max-width:620px;
}
@media(max-width:760px){
  body.page-contact .page-hero{
    min-height:clamp(420px,64svh,560px)!important;
    padding-bottom:2.4rem!important;
  }
  body.page-contact #form.enquire{
    padding-block:3rem!important;
  }
  body.page-contact #form.enquire .wrap{
    margin-inline:auto!important;
  }
}
/* Landing performance mode */
html.perf-lite body::before{
  animation:none!important;
  transform:none!important;
  opacity:.22!important;
}
html.perf-lite .wed-bg,
html.perf-lite .wed-petals,
html.perf-lite .wed-bokeh,
html.perf-lite .wed-diyas,
html.perf-lite .petal-fall,
html.perf-lite .craft-dust,
html.perf-lite .hero-petals,
html.perf-lite .havan-glow,
html.perf-lite .embers,
html.perf-lite .foot-sparks{
  display:block!important;
  animation:none!important;
}
html.perf-lite .hero-bg,
html.perf-lite .media-zone img,
html.perf-lite .media-zone video,
html.perf-lite .media-zone .mz-fill,
html.perf-lite .strip-frame img,
html.perf-lite .strip-frame video,
html.perf-lite .strip-frame .mz-fill{
  animation:none!important;
  filter:none!important;
  will-change:auto!important;
}
html.perf-lite body.page-home .hero::before,
html.perf-lite body.page-films .page-hero::before,
html.perf-lite body.page-gallery .page-hero::before,
html.perf-lite body.page-craft .page-hero::before,
html.perf-lite body.page-frames .page-hero::before,
html.perf-lite body.page-contact .page-hero::before,
html.perf-lite body.page-films .portfolio::before,
html.perf-lite body.page-gallery .gallery-host::before,
html.perf-lite body.page-craft .craft::before,
html.perf-lite body.page-frames .founder-head::before,
html.perf-lite body.page-contact #form.enquire::before{
  animation:none!important;
  transform:none!important;
}
html.perf-lite .btn-primary::after,
html.perf-lite .hero-cta::after,
html.perf-lite .scrollcue i{
  animation:none!important;
}
html.perf-lite header.nav,
html.perf-lite nav.links,
html.perf-lite .mz-tag{
  backdrop-filter:none!important;
}
html.perf-lite .reveal{
  transition:opacity .32s var(--ease),transform .32s var(--ease)!important;
}
/* Films hero mobile reset: keep the desktop text shift from crowding small screens. */
@media (max-width: 760px) {
  body.page-films .page-hero {
    justify-content: center;
    text-align: center;
  }

  body.page-films .page-hero-inner {
    width: min(100%, calc(100vw - 32px));
    margin-inline: auto;
    padding-left: 0;
    border-left: 0;
  }
}
/* Hero composition: keep copy left and visual subjects to the right. */
body.page-home .hero{
  align-items:flex-start!important;
  text-align:left!important;
}
body.page-home .hero-bg{
  background-position:38% center;
}
body.page-home .hero-inner{
  width:min(760px,calc(100vw - 64px))!important;
  max-width:none!important;
  margin-left:clamp(1.5rem,5vw,6rem)!important;
  margin-right:auto!important;
  text-align:left!important;
}
body.page-home .hero .hero-inner::before{
  left:0!important;
  transform:translate(-7%,-50%)!important;
  background:radial-gradient(ellipse 72% 58% at 22% 50%,rgba(20,4,7,.72),rgba(20,4,7,.42) 48%,rgba(20,4,7,0) 78%)!important;
}
body.page-home .deva-accent{
  justify-content:flex-start!important;
}
body.page-home .deva-accent::before{
  display:none!important;
}
body.page-films .page-hero,
body.page-gallery .page-hero,
body.page-craft .page-hero,
body.page-contact .page-hero{
  justify-content:flex-start!important;
  text-align:left!important;
}
body.page-films .page-hero{
  background-position:40% center;
}
body.page-gallery .page-hero,
body.page-craft .page-hero,
body.page-contact .page-hero{
  align-items:center!important;
  background-position:38% center;
}
body.page-films .page-hero-inner,
body.page-gallery .page-hero-inner,
body.page-craft .page-hero-inner,
body.page-contact .page-hero-inner{
  width:min(820px,calc(100vw - 64px))!important;
  max-width:none!important;
  margin-left:clamp(1.5rem,5vw,6rem)!important;
  margin-right:auto!important;
  text-align:left!important;
}
body.page-films .page-hero p,
body.page-gallery .page-hero p,
body.page-craft .page-hero p,
body.page-contact .page-hero p{
  margin-left:0!important;
  margin-right:auto!important;
}
body.page-films .page-hero .deva-accent,
body.page-gallery .page-hero .deva-accent,
body.page-craft .page-hero .deva-accent,
body.page-contact .page-hero .deva-accent{
  justify-content:flex-start!important;
}
body.page-films .page-hero .deva-accent::before,
body.page-gallery .page-hero .deva-accent::before,
body.page-craft .page-hero .deva-accent::before,
body.page-contact .page-hero .deva-accent::before{
  display:none!important;
}
@media (max-width: 760px){
  body.page-home .hero-inner,
  body.page-films .page-hero-inner,
  body.page-gallery .page-hero-inner,
  body.page-craft .page-hero-inner,
  body.page-contact .page-hero-inner{
    width:min(100%,calc(100vw - 32px))!important;
    margin-inline:auto!important;
    padding-left:0!important;
    border-left:0!important;
  }
}
/* Contact page proportion reset: less compressed hero, cleaner enquiry transition. */
body.page-contact .page-hero{
  min-height:max(760px,100svh)!important;
  padding-top:clamp(9rem,12vh,11.5rem)!important;
  padding-bottom:clamp(5.5rem,10vh,8rem)!important;
  align-items:center!important;
  background-position:34% center;
}
body.page-contact .page-hero-inner{
  width:min(620px,calc(100vw - 64px))!important;
  margin-left:clamp(1.5rem,5vw,6rem)!important;
  padding-top:clamp(1rem,2vh,1.8rem);
}
body.page-contact .page-hero h1{
  max-width:7.6ch!important;
  font-size:clamp(4.2rem,8vw,8rem)!important;
  line-height:.92!important;
  margin-bottom:clamp(1.2rem,2.6vh,1.9rem)!important;
}
body.page-contact .page-hero p{
  max-width:560px!important;
  font-size:clamp(1rem,1.55vw,1.22rem)!important;
  line-height:1.55!important;
}
body.page-contact .page-hero .garland{
  opacity:.5!important;
}
body.page-contact #form.enquire{
  padding-top:clamp(9rem,12vw,13rem)!important;
  padding-bottom:clamp(5rem,8vw,7rem)!important;
}
body.page-contact #form.enquire .wrap{
  width:min(760px,calc(100vw - 56px))!important;
}
body.page-contact #form.enquire h2{
  font-size:clamp(2.8rem,5.6vw,5.6rem)!important;
  line-height:.98!important;
}
@media(max-width:760px){
  body.page-contact .page-hero{
    min-height:100svh!important;
    padding-top:7.5rem!important;
    padding-bottom:3.5rem!important;
    background-position:42% center;
  }
  body.page-contact .page-hero h1{
    font-size:clamp(3.4rem,15vw,5rem)!important;
  }
  body.page-contact #form.enquire{
    padding-top:5rem!important;
  }
}
/* Uploaded featured film playback modal */
body.video-modal-open{
  overflow:hidden;
}
.play.plays-video{
  cursor:pointer;
}
.video-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:clamp(18px,4vw,56px);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}
.video-modal.open{
  opacity:1;
  pointer-events:auto;
}
.video-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,3,5,.86);
  backdrop-filter:blur(10px);
}
.video-modal__stage{
  position:relative;
  z-index:1;
  width:min(1180px,100%);
  background:#070303;
  border:1px solid rgba(241,221,186,.28);
  box-shadow:0 32px 110px rgba(0,0,0,.7);
}
.video-modal__video{
  display:block;
  width:100%;
  max-height:min(72svh,720px);
  aspect-ratio:16/9;
  background:#000;
}
.video-modal__close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  width:44px;
  height:44px;
  border:1px solid rgba(241,221,186,.4);
  border-radius:50%;
  background:rgba(7,3,3,.7);
  color:var(--paper);
  font:400 1.55rem/1 var(--ff-ui);
  cursor:pointer;
}
.video-modal__caption{
  padding:.85rem 1rem 1rem;
  color:rgba(247,239,230,.82);
  font-family:var(--ff-ui);
  font-size:.75rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
@media(max-width:760px){
  .video-modal{
    padding:12px;
  }
  .video-modal__video{
    max-height:70svh;
  }
}
/* Behind the Frames hero text placement: keep faces clear. */
body.page-frames .page-hero{
  min-height:clamp(720px,82svh,900px)!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  text-align:left!important;
  padding-top:clamp(8rem,12vh,11rem)!important;
  padding-bottom:clamp(6.2rem,12vh,9rem)!important;
  background-position:54% center;
}
body.page-frames .page-hero-inner{
  width:min(720px,calc(100vw - 64px))!important;
  max-width:none!important;
  margin-left:clamp(1.5rem,6vw,7rem)!important;
  margin-right:auto!important;
  text-align:left!important;
  padding:clamp(1.2rem,2vw,1.8rem) 0 0 clamp(1rem,2vw,1.65rem);
  border-left:1px solid rgba(130,183,177,.46);
}
body.page-frames .page-hero h1{
  max-width:8.2ch!important;
  font-size:clamp(3.5rem,7.2vw,7.3rem)!important;
  line-height:.92!important;
  margin-bottom:clamp(1rem,2vh,1.55rem)!important;
}
body.page-frames .page-hero p{
  max-width:620px!important;
  margin-left:0!important;
  margin-right:auto!important;
  line-height:1.55!important;
}
body.page-frames .page-hero .deva-accent{
  justify-content:flex-start!important;
}
body.page-frames .page-hero .deva-accent::before{
  display:none!important;
}
body.page-frames .page-hero-inner::before{
  content:"";
  position:absolute;
  left:-8%;
  top:52%;
  width:118%;
  height:112%;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(ellipse 64% 56% at 24% 50%,rgba(4,7,8,.68),rgba(4,7,8,.36) 54%,transparent 78%);
  filter:blur(8px);
}
@media(max-width:760px){
  body.page-frames .page-hero{
    min-height:clamp(620px,88svh,760px)!important;
    padding-bottom:3.5rem!important;
    background-position:50% center;
  }
  body.page-frames .page-hero-inner{
    width:min(100%,calc(100vw - 32px))!important;
    margin-inline:auto!important;
    padding-left:0!important;
    border-left:0!important;
  }
  body.page-frames .page-hero h1{
    font-size:clamp(3rem,14vw,4.8rem)!important;
  }
}
/* Gallery mobile polish: keep the filter rail inside the viewport and remove
   expensive decorative layers from the scroll path. */
body.page-gallery .gallery-host{
  overflow:hidden !important;
  content-visibility:visible !important;
  contain-intrinsic-size:auto !important;
}
body.page-gallery .gallery-host .tabs{
  box-sizing:border-box !important;
  width:calc(100% - 28px) !important;
  max-width:calc(100vw - 28px) !important;
  margin-inline:auto !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

@media(max-width:760px){
  body.page-gallery .gallery-host{
    padding-top:0 !important;
  }
  body.page-gallery .gallery-host .tabs{
    display:flex !important;
    justify-content:flex-start !important;
    gap:.65rem !important;
    padding:1rem 0 .7rem !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-padding-inline:0 !important;
    scroll-snap-type:x proximity;
    transform:none !important;
    -webkit-overflow-scrolling:touch;
  }
  body.page-gallery .gallery-host .tab{
    flex:0 0 auto !important;
    min-height:42px !important;
    padding:.7rem 1rem !important;
    box-shadow:none !important;
    scroll-snap-align:start;
  }
  body.page-gallery .gallery-host .tab:first-child{
    margin-left:0 !important;
  }
  body.page-gallery .gallery-host .wed-bokeh,
  body.page-gallery .gallery-host::before,
  body.page-gallery .gallery-host::after{
    display:none !important;
    animation:none !important;
  }
  body.page-gallery .gal-grid{
    margin-top:1.2rem !important;
  }
  body.page-gallery .gal-item{
    margin-bottom:18px !important;
    box-shadow:none !important;
    border-color:rgba(79,23,29,.18) !important;
    contain:layout paint style !important;
    content-visibility:auto !important;
    contain-intrinsic-size:520px 680px !important;
  }
  body.page-gallery .gal-grad,
  body.page-gallery .gal-cap,
  body.page-gallery .gal-zoom,
  body.page-gallery .gal-fill{
    transition:none !important;
  }
  body.page-gallery .gal-fill{
    transform:none !important;
    filter:none !important;
  }
}

/* Films page filter alignment: keep the category rail visually centered. */
body.page-films .portfolio .tabs{
  width:min(940px,calc(100vw - 48px)) !important;
  max-width:calc(100vw - 48px) !important;
  margin-inline:auto !important;
  justify-content:center !important;
  align-items:center !important;
  padding:.7rem !important;
  gap:.62rem !important;
  border-radius:28px !important;
}
body.page-films .portfolio .tab{
  flex:0 0 auto !important;
}
@media(max-width:760px){
  body.page-films .portfolio .tabs{
    width:calc(100vw - 28px) !important;
    max-width:calc(100vw - 28px) !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:.55rem !important;
    border-radius:18px !important;
    -webkit-overflow-scrolling:touch;
  }
  body.page-films .portfolio .tab{
    flex:0 0 auto !important;
  }
}

/* Branded notification wrapper replacing native browser alerts. */
.rof-notify-stack{
  position:fixed;
  z-index:5000;
  top:calc(84px + env(safe-area-inset-top));
  right:clamp(14px,3vw,34px);
  display:grid;
  gap:12px;
  width:min(420px,calc(100vw - 28px));
  pointer-events:none;
}
.rof-notify{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:14px 14px 14px 16px;
  border:1px solid rgba(241,221,186,.24);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(18,10,10,.94),rgba(43,16,19,.94));
  color:#f8eee2;
  box-shadow:0 22px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px) saturate(1.18);
  pointer-events:auto;
  opacity:0;
  transform:translate3d(18px,-8px,0) scale(.98);
  transition:opacity .24s var(--ease),transform .24s var(--ease);
}
.rof-notify.is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}
.rof-notify__mark{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:radial-gradient(circle at 40% 25%,#a6242b,#6d1218 64%,#31070a);
  border:1px solid rgba(240,217,168,.52);
  color:#f7e6cf;
  font:800 .52rem/1 var(--ff-ui);
  letter-spacing:.12em;
  box-shadow:0 0 0 4px rgba(201,163,106,.08);
}
.rof-notify__copy{
  min-width:0;
}
.rof-notify__title{
  font:700 .74rem/1.1 var(--ff-ui);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#f0d9a8;
}
.rof-notify__message{
  margin-top:5px;
  font:500 .92rem/1.45 var(--ff-ui);
  color:rgba(248,238,226,.88);
}
.rof-notify__close{
  min-width:58px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(240,217,168,.5);
  background:#f4eadf;
  color:#21080b;
  font:800 .72rem/1 var(--ff-ui);
  letter-spacing:.12em;
  cursor:pointer;
}
.rof-notify__close:hover,
.rof-notify__close:focus-visible{
  background:#f0d9a8;
  outline:none;
  box-shadow:0 0 0 3px rgba(240,217,168,.18);
}
.rof-notify--success .rof-notify__mark{
  background:radial-gradient(circle at 40% 25%,#9fb06c,#50692d 66%,#16200d);
}
.rof-notify--error .rof-notify__mark,
.rof-notify--warning .rof-notify__mark{
  background:radial-gradient(circle at 40% 25%,#b84b3f,#7b1f21 64%,#32080b);
}
@media(max-width:640px){
  .rof-notify-stack{
    top:calc(78px + env(safe-area-inset-top));
    left:14px;
    right:14px;
    width:auto;
  }
  .rof-notify{
    grid-template-columns:auto minmax(0,1fr);
    gap:12px;
    padding:13px;
    border-radius:15px;
  }
  .rof-notify__close{
    grid-column:2;
    justify-self:start;
    height:34px;
    margin-top:2px;
  }
}
@media(prefers-reduced-motion:reduce){
  .rof-notify{
    transition:none;
    transform:none;
  }
}

/* Performance preservation: keep visuals intact, pause work only away from view. */
.perf-observed:not(.is-near-view) .wed-bg,
.perf-observed:not(.is-near-view) .wed-petals,
.perf-observed:not(.is-near-view) .wed-bokeh,
.perf-observed:not(.is-near-view) .wed-diyas,
.perf-observed:not(.is-near-view) .petal-fall,
.perf-observed:not(.is-near-view) .craft-dust,
.perf-observed:not(.is-near-view) .hero-petals,
.perf-observed:not(.is-near-view) .hero-garlands,
.perf-observed:not(.is-near-view) .garland,
.perf-observed:not(.is-near-view) .havan-glow,
.perf-observed:not(.is-near-view) .embers,
.perf-observed:not(.is-near-view) .foot-sparks,
.perf-observed:not(.is-near-view)::before,
.perf-observed:not(.is-near-view)::after,
html.page-hidden *,
html.page-hidden *::before,
html.page-hidden *::after{
  animation-play-state:paused!important;
}
/* Scroll stability mode: retain the look, stop continuous paint work. */
html.perf-lite .wed-bg,
html.perf-lite .wed-petals,
html.perf-lite .wed-bokeh,
html.perf-lite .wed-diyas,
html.perf-lite .petal-fall,
html.perf-lite .craft-dust,
html.perf-lite .hero-petals,
html.perf-lite .hero-garlands,
html.perf-lite .garland,
html.perf-lite .havan-glow,
html.perf-lite .foot-sparks,
html.perf-lite .hero-bg,
html.perf-lite .page-hero::before,
html.perf-lite .hero::before,
html.perf-lite .portfolio::before,
html.perf-lite .gallery-host::before,
html.perf-lite .craft::before,
html.perf-lite .founder-head::before,
html.perf-lite #form.enquire::before{
  animation:none!important;
  transform:none!important;
}
html.perf-lite .wed-bg,
html.perf-lite .wed-petals,
html.perf-lite .wed-bokeh,
html.perf-lite .wed-diyas,
html.perf-lite .petal-fall,
html.perf-lite .craft-dust,
html.perf-lite .hero-petals,
html.perf-lite .hero-garlands,
html.perf-lite .garland,
html.perf-lite .havan-glow,
html.perf-lite .foot-sparks{
  visibility:visible!important;
}
html.perf-lite .hero-bg,
html.perf-lite .media-zone img,
html.perf-lite .media-zone video,
html.perf-lite .media-zone .mz-fill,
html.perf-lite .strip-frame img,
html.perf-lite .strip-frame video,
html.perf-lite .strip-frame .mz-fill{
  will-change:auto!important;
}
/* Themed contact wrapper for external app links. */
body.rof-contact-open{
  overflow:hidden;
}
.rof-contact-sheet{
  position:fixed;
  inset:0;
  z-index:10020;
  display:grid;
  place-items:center;
  padding:clamp(16px,4vw,34px);
  pointer-events:none;
  opacity:0;
  transition:opacity .24s var(--ease-slow);
}
.rof-contact-sheet.is-open{
  pointer-events:auto;
  opacity:1;
}
.rof-contact-sheet__veil{
  position:absolute;
  inset:0;
  background:rgba(7,2,4,.76);
}
.rof-contact-sheet__card{
  position:relative;
  width:min(520px,100%);
  padding:clamp(1.25rem,4vw,2.2rem);
  border:1px solid rgba(240,217,168,.34);
  border-radius:24px;
  background:
    radial-gradient(70% 52% at 88% 8%,rgba(240,217,168,.16),transparent 66%),
    linear-gradient(145deg,rgba(30,10,14,.98),rgba(10,4,7,.98));
  box-shadow:0 30px 90px rgba(0,0,0,.58), inset 0 0 0 1px rgba(255,255,255,.04);
  color:var(--paper);
  transform:translate3d(0,18px,0) scale(.98);
  transition:transform .28s var(--ease-slow);
  overflow:hidden;
}
.rof-contact-sheet.is-open .rof-contact-sheet__card{
  transform:translate3d(0,0,0) scale(1);
}
.rof-contact-sheet__card::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(240,217,168,.12);
  border-radius:18px;
  pointer-events:none;
}
.rof-contact-sheet__x{
  position:absolute;
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  border:1px solid rgba(240,217,168,.22);
  border-radius:50%;
  background:rgba(255,245,232,.06);
  color:var(--paper);
  font:500 1.35rem/1 var(--ff-ui);
  cursor:pointer;
}
.rof-contact-sheet__seal{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin-bottom:1rem;
  border-radius:50%;
  background:radial-gradient(circle at 40% 25%,#b84b3f,#7b1f21 64%,#32080b);
  border:1px solid rgba(240,217,168,.36);
  color:#f6d998;
  font:800 .56rem/1 var(--ff-ui);
  letter-spacing:.08em;
}
.rof-contact-sheet__eyebrow{
  margin:0 0 .55rem;
  color:var(--gold-lite);
  font:700 .72rem/1 var(--ff-ui);
  letter-spacing:.22em;
  text-transform:uppercase;
}
.rof-contact-sheet h2{
  margin:0;
  max-width:9ch;
  color:var(--paper);
  font-family:var(--ff-display);
  font-size:clamp(2.55rem,7vw,4.4rem);
  line-height:.92;
  letter-spacing:0;
}
.rof-contact-sheet__note{
  margin:1rem 0 1.25rem;
  color:rgba(248,238,226,.74);
  font:500 1rem/1.55 var(--ff-body);
}
.rof-contact-sheet__value{
  padding:.95rem 1rem;
  border:1px solid rgba(240,217,168,.22);
  border-radius:16px;
  background:rgba(255,245,232,.055);
  color:#f5dfac;
  font:700 .92rem/1.35 var(--ff-ui);
  letter-spacing:.04em;
  overflow-wrap:anywhere;
}
.rof-contact-sheet__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.1rem;
}
.rof-contact-sheet__actions button{
  min-height:48px;
  padding:0 1.15rem;
  border-radius:999px;
  border:1px solid rgba(240,217,168,.3);
  font:800 .72rem/1 var(--ff-ui);
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
}
.rof-contact-sheet__copy{
  background:#f0dfc8;
  color:#22090d;
}
.rof-contact-sheet__open{
  background:rgba(255,245,232,.06);
  color:var(--paper);
}
.rof-contact-sheet__actions button:focus-visible,
.rof-contact-sheet__x:focus-visible{
  outline:2px solid rgba(240,217,168,.72);
  outline-offset:3px;
}
@media(max-width:560px){
  .rof-contact-sheet{
    align-items:end;
    padding:12px;
  }
  .rof-contact-sheet__card{
    border-radius:22px;
  }
  .rof-contact-sheet__actions button{
    flex:1 1 100%;
  }
}
@media(prefers-reduced-motion:reduce){
  .rof-contact-sheet,
  .rof-contact-sheet__card{
    transition:none;
    transform:none;
  }
}

/* Whole-site accessibility and data-saving layer */
.skip-link{
  position:fixed;
  z-index:12000;
  top:max(10px,env(safe-area-inset-top));
  left:12px;
  padding:.8rem 1rem;
  border:1px solid var(--metal-soft);
  border-radius:999px;
  color:var(--ink);
  background:var(--paper);
  font:700 .72rem/1 var(--ff-ui);
  letter-spacing:.12em;
  text-transform:uppercase;
  transform:translateY(-160%);
  transition:transform .2s ease;
}
.skip-link:focus{transform:translateY(0)}
main:focus{outline:none}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:2px solid var(--metal-soft);
  outline-offset:4px;
}
html.save-data .more-films-track,
html.save-data .marquee-track{
  animation:none!important;
  transform:none!important;
}
html.save-data .more-films-grid{
  overflow-x:auto;
  -webkit-mask-image:none;
  mask-image:none;
}
html.save-data .wed-bg,
html.save-data .petal-fall,
html.save-data .hero-petals,
html.save-data .hero-garlands,
html.save-data .foot-sparks,
html.save-data .embers{
  display:none!important;
}
/* Phone-first finishing layer */
@media(max-width:640px){
  html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }
  body{
    min-width:320px;
  }
  header.nav{
    max-width:calc(100% - 16px);
  }
  .burger{
    flex:0 0 44px;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  nav.links{
    height:100vh;
    height:100dvh;
    overscroll-behavior:contain;
    gap:0;
  }
  nav.links a:not([hidden]){
    display:flex;
    align-items:center;
    justify-content:center;
    width:min(100%,360px);
    min-height:52px;
    padding:.75rem 1rem;
    border-bottom:1px solid rgba(241,221,186,.11);
    touch-action:manipulation;
  }
  nav.links a:not([hidden]):first-of-type{
    border-top:1px solid rgba(241,221,186,.11);
  }
  .hero,
  .page-hero{
    min-height:100svh;
    min-height:100dvh;
    padding-bottom:calc(2.6rem + env(safe-area-inset-bottom));
  }
  .hero-inner,
  .page-hero-inner{
    width:100%;
    max-width:100%;
  }
  .hero h1,
  .page-hero h1,
  .sec-head h2,
  .film h3,
  .enquire h2,
  .quote blockquote{
    text-wrap:balance;
  }
  .hero p,
  .page-hero p,
  .film p,
  .sec-head p,
  .enquire p{
    text-wrap:pretty;
  }
  .film{
    min-height:min(760px,88svh);
  }
  .film .film-media{
    inset:0;
  }
  .film-content{
    padding:1.8rem 16px calc(2.4rem + env(safe-area-inset-bottom));
  }
  .film h3{
    font-size:clamp(2.55rem,13vw,4rem);
  }
  .film p.line{
    max-width:34rem;
    font-size:.94rem;
    line-height:1.62;
  }
  .play{
    min-height:48px;
    touch-action:manipulation;
  }
  .more-films-control{
    padding-inline:12px;
  }
  .more-films-toggle{
    min-width:min(210px,72vw);
    min-height:52px;
    touch-action:manipulation;
  }
  .more-films-panel.wrap{
    width:100%;
    padding-inline:12px;
  }
  .more-films-grid{
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 12px),transparent);
    mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 12px),transparent);
  }
  .more-film-card{
    flex-basis:min(86vw,340px);
  }
  .more-film-card__content{
    padding:1.05rem 1rem 1.25rem;
  }
  .more-film-card h3{
    font-size:clamp(1.45rem,7.5vw,2rem);
  }
  .invite .card{
    width:100%;
    padding:2.7rem 1.25rem;
  }
  .invite .card::before{
    inset:7px;
  }
  .craft-grid,
  .mosaic,
  .person-grid,
  .value-grid,
  .process-grid,
  .grat-grid,
  .port-grid,
  .gal-grid{
    min-width:0;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .mosaic .media-zone,
  .mosaic .media-zone:first-child{
    grid-column:auto;
    grid-row:auto;
  }
  .process-grid::before{
    display:none;
  }
  .field input,
  .field textarea,
  .field select,
  input,
  textarea,
  select{
    font-size:16px!important;
  }
  .foot-cols{
    width:100%;
    gap:1.8rem 2.2rem;
  }
  .foot-col{
    flex:1 1 130px;
  }
  .family{
    justify-content:flex-start;
    gap:1rem 1.25rem;
  }
  .video-modal{
    padding:8px;
    padding-bottom:max(8px,env(safe-area-inset-bottom));
  }
  .video-modal__stage{
    max-height:calc(100dvh - 16px - env(safe-area-inset-bottom));
    overflow:auto;
  }
}

@media(max-width:380px){
  .brandmark b{
    max-width:78px;
  }
  .brandmark .by{
    display:none;
  }
  .film-meta{
    align-items:flex-start;
    flex-direction:column;
  }
  .film-meta span+span{
    padding-left:0;
    border-left:0;
  }
  .more-film-card{
    flex-basis:calc(100vw - 32px);
  }
}

/* AI-generated page placeholders; admin slot media can replace these at runtime. */
body.page-frames .founder-head .mosaic .media-zone:first-child .mz-fill{
  background-image:url("placeholders/ai-founder-camera.webp")!important;
}
body.page-frames .founder-head .mosaic .media-zone:nth-child(2) .mz-fill{
  background-image:url("placeholders/ai-founder-editor.webp")!important;
}
body.page-contact .media-zone.r-4x5 .mz-fill{
  background-image:url("placeholders/ai-studio.webp")!important;
}
/* Stable gallery masonry: do not defer card sizing inside CSS columns. */
body.page-gallery .gal-item{
  content-visibility:visible!important;
  contain:layout paint style!important;
  contain-intrinsic-size:auto!important;
}
body.page-gallery .gal-media,
body.page-gallery .gal-media img,
body.page-gallery .gal-media video{
  backface-visibility:hidden;
  will-change:auto!important;
}
html.perf-lite body.page-gallery .gallery-host .wed-bokeh{
  display:none!important;
}
/* Contact enquiry card: complete the desktop split and collapse cleanly on phones. */
body.page-contact #form.enquire{
  color:#321015;
  background:radial-gradient(circle at 88% 12%,rgba(188,124,63,.13),transparent 30%),linear-gradient(135deg,#f5dfbd 0%,#f1d5a9 58%,#ecd0a3 100%)!important;
}
body.page-contact #form.enquire .enquiry-layout{
  width:min(1620px,calc(100vw - 64px))!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,.95fr) minmax(480px,1.05fr);
  gap:clamp(3.5rem,7vw,8.5rem);
  align-items:center;
}
body.page-contact #form.enquire .enquiry-copy{max-width:720px}
body.page-contact #form.enquire .enquiry-copy>p{color:rgba(50,16,21,.62);font-weight:400}
body.page-contact #form.enquire .enquiry-card{
  position:relative;
  padding:clamp(1.5rem,2.8vw,2.6rem);
  border:1px solid rgba(89,13,19,.19);
  border-radius:28px;
  background:rgba(255,247,233,.55);
  box-shadow:0 30px 90px rgba(86,42,21,.12),inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter:blur(12px);
  overflow:hidden;
}
body.page-contact #form.enquire .enquiry-card::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(89,13,19,.07);
  border-radius:21px;
  pointer-events:none;
}
.enquiry-card__head{
  position:relative;
  display:flex;
  align-items:center;
  gap:1rem;
  padding-bottom:1.35rem;
  margin-bottom:1.15rem;
  border-bottom:1px solid rgba(89,13,19,.13);
}
.enquiry-card__number{
  width:48px;height:48px;display:grid;place-items:center;flex:none;
  border:1px solid rgba(89,13,19,.22);border-radius:50%;color:#7b252c;
  font:600 .72rem/1 var(--ff-ui);letter-spacing:.12em;
}
.enquiry-card__head .eyebrow{display:block;margin-bottom:.28rem;color:#9a522d!important}
.enquiry-card__head h3{color:#351014;font:400 clamp(1.55rem,2.4vw,2.15rem)/1.05 var(--ff-display)}
.enquiry-fields{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.enquiry-field{
  display:flex;flex-direction:column;gap:.52rem;color:#6c3133;
  font:600 .66rem/1 var(--ff-ui);letter-spacing:.15em;text-transform:uppercase;
}
.enquiry-field--wide{grid-column:1/-1}
.enquiry-field input,.enquiry-field textarea{
  width:100%;min-height:52px;padding:.8rem .95rem;border:1px solid rgba(89,13,19,.18);
  border-radius:12px;outline:0;background:rgba(255,250,241,.65);color:#351014;
  font:500 .95rem/1.4 var(--ff-ui);letter-spacing:0;text-transform:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.enquiry-field textarea{min-height:96px;resize:vertical}
.enquiry-field input::placeholder,.enquiry-field textarea::placeholder{color:rgba(53,16,20,.4)}
.enquiry-field input:focus,.enquiry-field textarea:focus{
  border-color:rgba(123,37,44,.56);background:rgba(255,250,241,.92);
  box-shadow:0 0 0 3px rgba(123,37,44,.08);
}
.enquiry-submit{
  position:relative;width:100%;min-height:56px;margin-top:1.15rem;padding:0 1.2rem;
  display:flex;align-items:center;justify-content:space-between;border:0;border-radius:999px;
  background:#3b0b10;color:#f6e3c6;font:700 .72rem/1 var(--ff-ui);
  letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
  transition:transform .2s ease,background .2s ease;
}
.enquiry-submit:hover{transform:translateY(-2px);background:#590d13}
.enquiry-submit span:last-child{font-size:1.15rem}
.enquiry-privacy{
  position:relative;margin:.85rem 0 0!important;color:rgba(53,16,20,.5)!important;
  font:500 .72rem/1.45 var(--ff-ui)!important;text-align:center;
}
@media(max-width:980px){
  body.page-contact #form.enquire .enquiry-layout{
    width:min(760px,calc(100vw - 40px))!important;grid-template-columns:1fr;gap:2.5rem;
  }
}
@media(max-width:560px){
  body.page-contact #form.enquire .enquiry-layout{width:calc(100vw - 28px)!important}
  body.page-contact #form.enquire .enquiry-card{padding:1.2rem;border-radius:22px}
  .enquiry-fields{grid-template-columns:1fr}
  .enquiry-field--wide{grid-column:auto}
  .enquiry-card__head h3{font-size:1.45rem}
  .enquiry-submit{font-size:.66rem;letter-spacing:.12em}
}
/* Contact studio introduction. */
body.page-contact .studio-intro{
  max-width:46ch;
  margin-bottom:clamp(2.2rem,4vw,3.5rem);
  padding-left:1.35rem;
  border-left:1px solid rgba(240,217,168,.38);
}
body.page-contact .studio-intro p{
  margin:0;
  color:rgba(240,230,223,.78);
  font:400 clamp(1.22rem,1.8vw,1.55rem)/1.48 var(--ff-romance);
}
body.page-contact .studio-intro span{
  display:block;
  margin-top:1.1rem;
  color:var(--gold-lite);
  font:600 .65rem/1.4 var(--ff-ui);
  letter-spacing:.18em;
  text-transform:uppercase;
}
@media(max-width:760px){
  body.page-contact .studio-intro{margin-bottom:2.3rem;padding-left:1rem}
  body.page-contact .studio-intro p{font-size:1.2rem}
}
/* Visible contact email button. */
body.page-contact #form.enquire .btn-email{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:.9rem 2.1rem;
  border:1px solid #4a1016;
  border-radius:999px;
  background:transparent;
  color:#3b0b10;
  font:700 .74rem/1 var(--ff-ui);
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
body.page-contact #form.enquire .btn-email:hover{
  background:#3b0b10;
  color:#f6e3c6;
  transform:translateY(-2px);
}
/* Larger expanded film cards on desktop. */
@media(min-width:981px){
  body.page-home .more-film-card{
    flex-basis:clamp(520px,42vw,700px);
  }
  body.page-home .more-film-card__content{
    padding:1.65rem 1.8rem 1.9rem;
  }
  body.page-home .more-film-card h3{
    font-size:clamp(2.25rem,3vw,3rem);
  }
}
/* Editorial Craft collage: one lead frame with two supporting moments. */
body.page-home .craft .mosaic{
  min-height:clamp(560px,50vw,760px);
  grid-template-columns:minmax(0,1.25fr) minmax(210px,.75fr);
  grid-template-rows:1fr 1fr;
  gap:14px;
}
body.page-home .craft .mosaic .media-zone{
  min-width:0;
  min-height:0;
  aspect-ratio:auto;
  border-radius:18px;
}
body.page-home .craft .mosaic .media-zone:first-child{
  grid-column:1;
  grid-row:1/3;
}
body.page-home .craft .mosaic .media-zone:nth-child(2){grid-column:2;grid-row:1}
body.page-home .craft .mosaic .media-zone:nth-child(3){grid-column:2;grid-row:2}
@media(max-width:860px){
  body.page-home .craft-grid{gap:clamp(2.75rem,8vw,4.5rem)}
  body.page-home .craft .mosaic{
    width:100%;
    min-height:0;
    height:clamp(360px,90vw,560px);
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)!important;
    grid-template-rows:1fr 1fr!important;
    gap:9px;
  }
  body.page-home .craft .mosaic .media-zone{border-radius:12px}
  body.page-home .craft .mosaic .media-zone:first-child{
    grid-column:1!important;
    grid-row:1/3!important;
  }
  body.page-home .craft .mosaic .media-zone:nth-child(2){grid-column:2!important;grid-row:1!important}
  body.page-home .craft .mosaic .media-zone:nth-child(3){grid-column:2!important;grid-row:2!important}
  body.page-home .craft .mosaic .mz-tag{font-size:.48rem;letter-spacing:.16em}
}
/* Our Kahani uses the same compact editorial image rhythm. */
body.page-craft .craft .mosaic{
  min-height:clamp(560px,50vw,760px);
  grid-template-columns:minmax(0,1.25fr) minmax(210px,.75fr);
  grid-template-rows:1fr 1fr;
  gap:14px;
}
body.page-craft .craft .mosaic .media-zone{
  min-width:0;
  min-height:0;
  aspect-ratio:auto;
  border-radius:18px;
}
body.page-craft .craft .mosaic .media-zone:first-child{grid-column:1;grid-row:1/3}
body.page-craft .craft .mosaic .media-zone:nth-child(2){grid-column:2;grid-row:1}
body.page-craft .craft .mosaic .media-zone:nth-child(3){grid-column:2;grid-row:2}
@media(max-width:860px){
  body.page-craft .craft-grid{gap:clamp(2.75rem,8vw,4.5rem)}
  body.page-craft .craft .mosaic{
    width:100%;
    min-height:0;
    height:clamp(360px,90vw,560px);
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)!important;
    grid-template-rows:1fr 1fr!important;
    gap:9px;
  }
  body.page-craft .craft .mosaic .media-zone{border-radius:12px}
  body.page-craft .craft .mosaic .media-zone:first-child{grid-column:1!important;grid-row:1/3!important}
  body.page-craft .craft .mosaic .media-zone:nth-child(2){grid-column:2!important;grid-row:1!important}
  body.page-craft .craft .mosaic .media-zone:nth-child(3){grid-column:2!important;grid-row:2!important}
  body.page-craft .craft .mosaic .mz-tag{font-size:.48rem;letter-spacing:.16em}
}
/* Give the Craft showreel equal visual weight on phones. */
@media(max-width:860px){
  body.page-craft .craft-showreel{
    padding-block:clamp(2.4rem,7vw,3.5rem)!important;
  }
  body.page-craft .craft-showreel .wrap{
    width:calc(100% - 16px);
  }
  body.page-craft .showreel-frame{
    min-height:clamp(320px,68vw,480px);
    aspect-ratio:16/10;
    border-radius:14px;
  }
  body.page-craft .showreel-frame .mz-play{
    width:72px;
    height:72px;
  }
  body.page-craft .showreel-frame .mz-play svg{
    width:20px;
    height:20px;
  }
}
/* Hide the decorative page scrollbar on touch layouts without disabling scrolling. */
@media(max-width:860px){
  html,
  body{
    scrollbar-width:none!important;
    -ms-overflow-style:none;
  }
  ::-webkit-scrollbar{
    display:none!important;
    width:0!important;
    height:0!important;
  }
}
/* Polished full-screen navigation for phones and tablets. */
@media(max-width:1100px){
  nav.links{
    counter-reset:mobile-nav;
    position:fixed;
    inset:0;
    display:flex;
    flex-direction:column;
    width:100vw;
    height:100vh;
    height:100dvh;
    z-index:119;
    padding:calc(96px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));
    align-items:center;
    justify-content:flex-start;
    gap:0;
    overflow-y:auto;
    background:
      radial-gradient(circle at 82% 12%,rgba(184,147,98,.16),transparent 28%),
      radial-gradient(circle at 8% 78%,rgba(155,98,86,.12),transparent 32%),
      linear-gradient(145deg,#16090c 0%,#0d0608 58%,#13070a 100%);
    backdrop-filter:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(0,-12px,0) scale(.985);
    transition:opacity .28s ease,transform .34s var(--ease),visibility .28s;
  }
  .burger{display:flex}
  .nav .enquire-btn{display:none}
  header.nav .brandmark,
  header.nav .burger{position:relative;z-index:121}
  nav.links.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  nav.links::before{
    content:"Explore";
    display:block;
    width:min(100%,430px);
    margin:clamp(1rem,5svh,3.25rem) auto .7rem;
    color:var(--metal-soft);
    font:700 .65rem/1 var(--ff-ui);
    letter-spacing:.28em;
    text-transform:uppercase;
  }
  nav.links a:not([hidden]){
    counter-increment:mobile-nav;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    width:min(100%,430px);
    min-height:clamp(58px,8svh,72px);
    padding:.85rem 3.2rem .85rem 3.5rem;
    border-top:1px solid rgba(241,221,186,.1);
    border-bottom:0;
    color:rgba(247,239,230,.78);
    font:400 clamp(1.25rem,5.4vw,1.65rem)/1.1 var(--ff-display);
    letter-spacing:.01em;
    text-align:left;
    text-transform:none;
    opacity:0;
    transform:translateY(12px);
    transition:color .2s ease,background .2s ease,opacity .3s ease,transform .3s ease;
  }
  nav.links a:not([hidden]):last-of-type{border-bottom:1px solid rgba(241,221,186,.1)}
  nav.links.open a:not([hidden]){opacity:1;transform:none}
  nav.links.open a:nth-of-type(1){transition-delay:.05s}
  nav.links.open a:nth-of-type(2){transition-delay:.09s}
  nav.links.open a:nth-of-type(3){transition-delay:.13s}
  nav.links.open a:nth-of-type(4){transition-delay:.17s}
  nav.links.open a:nth-of-type(5){transition-delay:.21s}
  nav.links.open a:nth-of-type(6){transition-delay:.25s}
  nav.links a:not([hidden])::before{
    content:"0" counter(mobile-nav);
    position:absolute;
    left:1rem;
    top:50%;
    transform:translateY(-50%);
    color:rgba(215,192,142,.66);
    font:700 .58rem/1 var(--ff-ui);
    letter-spacing:.12em;
  }
  nav.links a:not([hidden])::after{
    content:"";
    position:absolute;
    left:auto;
    right:1.1rem;
    bottom:auto;
    width:7px;
    height:7px;
    border:1px solid rgba(215,192,142,.55);
    border-radius:50%;
    background:transparent;
    box-shadow:none;
    opacity:.58;
    transform:none;
  }
  nav.links a:not([hidden]):hover,
  nav.links a:not([hidden]):focus-visible,
  nav.links a:not([hidden]).active{
    color:var(--paper);
    background:linear-gradient(90deg,rgba(241,221,186,.08),transparent);
  }
  nav.links a:not([hidden]).active::after{
    width:7px;
    background:var(--metal-soft);
    border-color:var(--metal-soft);
    opacity:1;
  }
  nav.links::after{
    content:"Lucknow · India  /  Wedding films";
    display:block;
    width:min(100%,430px);
    margin:1.35rem auto 0;
    color:rgba(247,239,230,.38);
    font:600 .58rem/1.5 var(--ff-ui);
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  body.menu-open header.nav{
    z-index:120;
    background:rgba(15,7,9,.92)!important;
    border-color:rgba(215,192,142,.24)!important;
    box-shadow:0 14px 44px rgba(0,0,0,.3)!important;
    backdrop-filter:blur(18px);
  }
  body.menu-open header.nav .brandmark{opacity:1;color:var(--paper)}
  body.menu-open header.nav::after{display:none}
  .burger.open{
    border:1px solid rgba(241,221,186,.18);
    background:rgba(241,221,186,.06);
  }
  .burger.open span{width:22px;background:var(--paper)}
}
@media(max-width:1100px) and (max-height:620px){
  nav.links{padding-top:calc(82px + env(safe-area-inset-top))}
  nav.links::before{margin:.45rem auto .35rem}
  nav.links a:not([hidden]){min-height:48px;font-size:1.15rem}
  nav.links::after{margin-top:.75rem}
}
@media(max-width:1100px) and (prefers-reduced-motion:reduce){
  nav.links,
  nav.links a:not([hidden]){transition:none;transform:none}
}