body{overflow-x:hidden}.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .22s steps(2) infinite}.page-wipe{position:fixed;z-index:100;inset:0;background:var(--gold);transform-origin:top;animation:wipe 1.3s cubic-bezier(.77,0,.18,1) forwards}.cursor-dot,.cursor-ring{position:fixed;z-index:110;pointer-events:none;border-radius:50%;left:0;top:0;transform:translate(-50%,-50%)}.cursor-dot{width:5px;height:5px;background:var(--paper)}.cursor-ring{width:38px;height:38px;border:1px solid rgba(241,238,231,.55);transition:width .25s,height .25s,background .25s}.cursor-ring.is-hover{width:66px;height:66px;background:rgba(199,163,106,.14);border-color:var(--gold)}
.hero{will-change:background-position}.hero-title span{display:block;transform:translateY(115%);animation:title-in 1.15s .95s cubic-bezier(.16,1,.3,1) forwards}.hero-title>span,.hero-title em{overflow:hidden}.hero-title em span{animation-delay:1.08s}.reveal{opacity:0;transform:translateY(46px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:none}.image-reveal{overflow:hidden;clip-path:inset(0 0 100% 0);transition:clip-path 1.25s cubic-bezier(.16,1,.3,1)}.image-reveal.is-visible{clip-path:inset(0)}.image-reveal img{will-change:transform}.service{position:relative;transition:background .4s,padding .4s}.service:hover{background:#141310;padding-left:24px}.service-arrow{position:absolute;right:22px;top:30px;color:var(--gold);font-size:1.2rem;opacity:0;transform:translate(-12px,12px);transition:.35s}.service:hover .service-arrow{opacity:1;transform:none}.quote blockquote{background:linear-gradient(90deg,var(--paper),var(--gold),var(--paper));background-size:200% auto;color:transparent;background-clip:text;-webkit-background-clip:text;animation:shimmer 9s linear infinite}
@keyframes wipe{0%{transform:scaleY(1)}55%{transform:scaleY(1)}100%{transform:scaleY(0)}}@keyframes title-in{to{transform:translateY(0)}}@keyframes shimmer{to{background-position:200% center}}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(3%,-2%)}50%{transform:translate(-2%,3%)}75%{transform:translate(4%,2%)}100%{transform:translate(-3%,-4%)}}
@media(max-width:850px){.cursor-dot,.cursor-ring{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.image-reveal{clip-path:none}}
.opening-title{position:fixed;z-index:140;inset:0;background:#080807;display:flex;align-items:center;justify-content:center;gap:20px;font:500 clamp(1.6rem,4vw,3.8rem) var(--display);letter-spacing:.16em;animation:intro-out 2.6s cubic-bezier(.77,0,.18,1) forwards}.opening-title span{opacity:0;animation:intro-word .7s .25s forwards}.opening-title span:last-child{animation-delay:.48s}.opening-title i{display:block;width:0;height:1px;background:var(--gold);animation:intro-line .75s .7s forwards}.scroll-progress{position:fixed;z-index:95;left:0;top:0;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}.ambient-light{position:fixed;z-index:0;width:520px;height:520px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(199,163,106,.09),transparent 68%);transform:translate(-50%,-50%);filter:blur(20px)}
.film-sequence{height:340vh;position:relative;background:#080807}.sequence-stage{position:sticky;top:0;height:100vh;overflow:hidden;border-bottom:1px solid var(--line)}.sequence-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 45%,rgba(199,163,106,.12),transparent 32%),linear-gradient(115deg,#080807,#11100e)}.sequence-frame{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(.94);transition:opacity .6s,transform .9s cubic-bezier(.16,1,.3,1)}.sequence-frame.is-active{opacity:1;transform:scale(1)}.sequence-copy{position:relative;z-index:2;width:min(1120px,calc(100% - 48px));margin:auto}.sequence-copy>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.25em;color:var(--gold)}.sequence-copy h2{font:400 clamp(4.8rem,10vw,10rem)/.78 var(--display);letter-spacing:-.055em;margin:28px 0}.sequence-copy p{max-width:440px;color:var(--muted);font-size:1rem}.sequence-ghost{position:absolute;right:-3vw;top:50%;transform:translateY(-50%);font:600 clamp(13rem,31vw,34rem)/1 var(--sans);letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(241,238,231,.06)}.sequence-count{position:absolute;z-index:3;right:42px;top:110px;color:var(--muted);font-size:.66rem;letter-spacing:.2em}.sequence-count span{color:var(--paper)}.sequence-line{position:absolute;z-index:4;right:42px;bottom:54px;width:180px;height:1px;background:var(--line)}.sequence-line i{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
@keyframes intro-word{to{opacity:1}}@keyframes intro-line{to{width:62px}}@keyframes intro-out{0%,67%{clip-path:inset(0)}100%{clip-path:inset(0 0 100% 0);visibility:hidden}}@media(max-width:850px){.film-sequence{height:280vh}.sequence-copy h2{font-size:clamp(4rem,18vw,7rem)}.sequence-ghost{font-size:50vw}.sequence-count{right:18px}.sequence-line{right:18px;width:100px}.ambient-light{display:none}}
.portfolio-filter{display:flex;gap:22px;flex-wrap:wrap;margin:-25px 0 50px;border-bottom:1px solid var(--line);padding-bottom:20px}.portfolio-filter button{appearance:none;border:0;background:none;color:var(--muted);padding:0 0 7px;font:600 .66rem var(--sans);text-transform:uppercase;letter-spacing:.14em;cursor:pointer;position:relative}.portfolio-filter button:after{content:"";position:absolute;left:0;bottom:-21px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .35s}.portfolio-filter button.is-active{color:var(--paper)}.portfolio-filter button.is-active:after{transform:scaleX(1)}.portfolio-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.portfolio-shot{grid-column:span 4;margin:0;position:relative;overflow:hidden;min-height:390px;background:#151412;transition:opacity .45s,transform .6s}.portfolio-shot.wide{grid-column:span 8}.portfolio-shot img{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.16,1,.3,1),filter .5s}.portfolio-shot:hover img{transform:scale(1.035);filter:brightness(.72)}.portfolio-shot figcaption{position:absolute;z-index:2;left:22px;bottom:18px;font:400 1.45rem var(--display);opacity:0;transform:translateY(18px);transition:.4s}.portfolio-shot figcaption span{display:block;font:600 .58rem var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--gold);margin-bottom:5px}.portfolio-shot:hover figcaption{opacity:1;transform:none}.portfolio-shot.is-hidden{display:none}
@media(max-width:850px){.portfolio-filter{gap:16px}.portfolio-gallery{grid-template-columns:1fr 1fr}.portfolio-shot,.portfolio-shot.wide{grid-column:span 1;min-height:280px}.portfolio-shot:nth-child(3n){grid-column:span 2}.portfolio-shot figcaption{opacity:1;transform:none;text-shadow:0 1px 12px #000}}
@media(max-width:600px){
  .site-header{padding:20px 0}.brand{font-size:1.28rem}.nav-links{gap:0}.nav-cta{padding:10px 13px;font-size:.62rem}.wrap{width:calc(100% - 30px)}
  .hero{min-height:100svh;background-position:66% center!important}.hero-content{padding:145px 0 55px;max-width:none}.hero h1{font-size:clamp(3.75rem,18vw,5.3rem);line-height:.86;margin:22px 0 28px}.hero-copy{font-size:.92rem;line-height:1.65;max-width:92%}.hero-actions{display:grid;grid-template-columns:1fr;max-width:250px;gap:10px;margin-top:30px}.hero-actions .button{width:100%}
  .ticker{padding:14px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.ticker-track{display:flex;width:max-content;will-change:transform;animation:campic-conveyor 20s linear infinite}.ticker-line,.ticker-line+.ticker-line{display:flex;width:max-content;flex:0 0 auto;margin:0;padding:0;justify-content:flex-start;gap:0}.ticker-line span{display:block!important;padding:0 26px}.ticker-line b{display:block!important;margin:0;color:var(--gold)}
  .film-sequence{height:280vh}.sequence-copy{width:calc(100% - 30px);padding-right:6px}.sequence-copy h2{font-size:clamp(3.7rem,17vw,5.3rem);line-height:.84;margin:23px 0}.sequence-copy p{font-size:.9rem;max-width:88%}.sequence-ghost{right:-8vw;top:34%;font-size:45vw;max-width:100%;overflow:hidden}.sequence-count{right:15px;top:88px}.sequence-line{right:15px;bottom:38px;width:86px}
  .section{padding:78px 0}.section-head{gap:24px;margin-bottom:42px}.section h2{font-size:clamp(3.1rem,15vw,4.6rem);line-height:.92}.section-lead{font-size:1rem}.service{padding:28px 0}.service:hover{padding-left:0;background:transparent}.service h3{margin:24px 0 8px}.service-arrow{display:none}
  .story-grid{gap:46px}.story-image img{height:440px}.story-image:after{right:0;bottom:20px;padding:11px 15px}.story-copy h2{margin:16px 0 24px}.stats{gap:12px;margin-top:30px}.stat strong{font-size:2.35rem}.stat span{font-size:.62rem}
  .portfolio-filter{display:flex;flex-wrap:nowrap;overflow-x:auto;margin:-10px -15px 34px;padding:0 15px 17px;gap:22px;scrollbar-width:none}.portfolio-filter::-webkit-scrollbar{display:none}.portfolio-filter button{flex:0 0 auto}.portfolio-filter button:after{bottom:-18px}.portfolio-gallery{display:block}.portfolio-shot,.portfolio-shot.wide,.portfolio-shot:nth-child(3n){width:100%;min-height:0;aspect-ratio:4/5;margin:0 0 12px}.portfolio-shot:nth-child(3n+1){aspect-ratio:4/3}.portfolio-shot figcaption{left:16px;bottom:14px;font-size:1.25rem}
  .instagram .section-head{margin-bottom:32px}.insta-grid{gap:5px}.insta-cell{padding:12px;font-size:.58rem}.quote{padding:80px 0}.quote blockquote{font-size:clamp(2.35rem,12vw,3.5rem)}.contact-panel{margin:0 15px 75px;padding:28px 22px;gap:28px}.contact-panel h2{font-size:2.8rem}.contact-actions .button{width:100%}.footer-row{font-size:.68rem}.footer-links{gap:16px}
  .opening-title{gap:10px;font-size:1.45rem}.opening-title i{max-width:35px}.cursor-dot,.cursor-ring,.ambient-light{display:none}
}
@keyframes campic-conveyor{to{transform:translate3d(-50%,0,0)}}
@media(max-width:600px) and (prefers-reduced-motion:reduce){.ticker{mask-image:none;-webkit-mask-image:none;overflow-x:auto}.ticker-track{animation:none!important;transform:none}.ticker-line+.ticker-line{display:none}.ticker-line span{padding:0 18px}}

