/* OURINVITE — light, depth and measured movement. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1);--motion-gold:#b4a789}
html{overflow-x:clip}body{isolation:isolate;overflow-x:clip}.reading-line{position:fixed;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#c3b99e,#5e6852);transform:scaleX(0);transform-origin:left center;z-index:200;pointer-events:none}.page-grain{position:fixed;inset:0;z-index:65;opacity:.024;pointer-events:none;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='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.65' filter='url(%23n)'/%3E%3C/svg%3E")}
.header{transition:height .65s var(--motion-ease),background .65s,box-shadow .65s;box-shadow:0 15px 40px -30px #1a211810}.desktop-nav a,.header-contact,.studio-link,.text-link,.email-link{position:relative}.desktop-nav a:after,.email-link:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .65s var(--motion-ease)}.desktop-nav a:hover:after,.email-link:hover:after{transform:scaleX(1);transform-origin:left}.header-contact>span:last-child,.text-link>span:last-child,.studio-link>span:last-child{transition:transform .65s var(--motion-ease)}.header-contact:hover>span:last-child,.text-link:hover>span:last-child,.studio-link:hover>span:last-child{transform:translate(4px,-4px)}
.hero{isolation:isolate;perspective:1400px}.hero:before{content:"";position:absolute;width:70%;height:130%;right:-24%;top:-40%;background:linear-gradient(130deg,transparent 20%,#cdbf9f29 40%,#ffffff80 50%,transparent 70%);filter:blur(45px);transform:rotate(-20deg);animation:ambient-light 18s ease-in-out infinite alternate;pointer-events:none;z-index:-1}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at var(--light-x,72%) var(--light-y,40%),#ffffff61,transparent 48%);pointer-events:none;z-index:-1}.hero-content{position:relative;z-index:2;translate:0 var(--hero-copy-y,0px)}.hero h1 .line{padding-bottom:.06em;margin-bottom:-.06em;perspective:700px}.hero h1 .line>span{animation:headline-rise 1.5s var(--motion-ease) both;transform-origin:left bottom}.hero h1 .line:nth-child(2)>span{animation-delay:.13s}.hero h1 .line:nth-child(3)>span{animation-delay:.26s}.hero-lead{animation-delay:.42s!important}.hero .button{animation-delay:.52s!important}.hero-author{animation-delay:.64s!important}
.hero-visual{perspective:1600px;isolation:isolate}.hero-visual:after{content:"";position:absolute;bottom:20px;left:16%;right:4%;height:45px;border-radius:50%;background:#3b413233;filter:blur(23px);transform:scaleX(var(--shadow-scale,1));z-index:-1}.light-field{background:radial-gradient(ellipse at 50% 50%,#e3d6b3a6,transparent 67%)!important;filter:blur(25px);animation:halo-orbit 15s ease-in-out infinite alternate!important}.device-composition{animation:none!important;transform-style:preserve-3d;transform:perspective(1600px) rotateX(var(--hero-rx,0deg)) rotateY(var(--hero-ry,0deg)) translate3d(0,var(--hero-y,0px),0);will-change:transform}.hero .device{backface-visibility:hidden}.hero .device-front{animation:phone-front-enter 1.9s .18s var(--motion-ease) both,phone-front-drift 10s 2.08s ease-in-out infinite}.hero .device-left{animation:phone-left-enter 2.15s .3s var(--motion-ease) both,phone-left-drift 12s 2.45s ease-in-out infinite}.hero .device-right{animation:phone-right-enter 2.15s .4s var(--motion-ease) both,phone-right-drift 13s 2.55s ease-in-out infinite}.hero .device-glass:after{animation-duration:12s}.hero-word{translate:0 var(--hero-word-y,0px);opacity:.048!important;letter-spacing:.035em}
.button{position:relative;isolation:isolate;overflow:hidden;transition:background .5s,color .5s,border-color .5s,box-shadow .7s,translate .55s var(--motion-ease);translate:var(--magnetic-x,0px) var(--magnetic-y,0px)}.button:before{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(115deg,transparent 20%,#ffffff20 46%,#ffffff08 54%,transparent 78%);transform:translateX(-120%);transition:transform 1s var(--motion-ease)}.button:hover:before{transform:translateX(120%)}.button.solid:hover{box-shadow:0 14px 30px -18px #26322280}.button>span:last-child{transition:transform .65s var(--motion-ease)}.button:hover>span:last-child{transform:translate(3px,-3px)}
.motion-line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em;perspective:800px}.motion-line-content{display:block;transform-origin:left bottom}.motion-ready .motion-heading:not(.motion-in) .motion-line-content{transform:translate3d(0,112%,0) rotate(2deg);opacity:.1;filter:blur(4px)}.motion-ready .motion-heading .motion-line-content{transition:transform 1.35s var(--motion-ease),opacity 1.1s,filter 1.1s;transition-delay:calc(var(--line-index,0)*.13s)}.motion-ready .motion-heading.motion-in .motion-line-content{transform:none;filter:blur(0);opacity:1}.motion-ready .motion-heading.reveal{transform:none;opacity:1}.motion-ready .motion-heading.reveal.visible{transform:none}
.manifesto{isolation:isolate;background:linear-gradient(125deg,#efeee7,#e9e7de 58%,#f3f1e9)}.manifesto:before{content:"";position:absolute;inset:-40%;background:linear-gradient(116deg,transparent 35%,#fff9e96e 48%,transparent 61%);transform:translate3d(var(--manifesto-light,-12%),0,0) rotate(-8deg);pointer-events:none;z-index:-1}.manifesto h2{position:relative}.manifesto-bottom{position:relative;border-top:0;padding-top:36px}.manifesto-bottom:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,#7f866d88,#ac9c7666,#aeb39f55);transform:scaleX(0);transform-origin:left;transition:transform 1.8s var(--motion-ease)}.manifesto-bottom.motion-in:before{transform:scaleX(1)}.manifesto-position img{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s .4s var(--motion-ease)}.manifesto-bottom.motion-in .manifesto-position img{clip-path:inset(0)}.manifesto-principle{position:relative;padding-left:20px}.manifesto-principle:before{content:"";position:absolute;top:.7em;left:0;width:5px;height:5px;border-radius:50%;background:#a29a80;box-shadow:0 0 12px #a29a8025}
.portfolio{position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 3%,#29302745,transparent 28%),#10130f}.portfolio:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#d8d2b563,transparent)}.portfolio-heading{position:relative}.portfolio-heading:after{content:"";position:absolute;top:-90px;right:-5%;width:65%;height:450px;z-index:-1;background:radial-gradient(ellipse,#c8b8860b,transparent 65%);filter:blur(20px)}.film-card{perspective:1200px}.film-stage{box-shadow:0 30px 50px -40px #0009;transform-style:preserve-3d;transform:perspective(1400px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));transition:transform .7s var(--motion-ease),box-shadow .8s;outline:1px solid #ffffff0b;outline-offset:-1px}.film-stage:before{background:radial-gradient(ellipse at var(--card-x,30%) var(--card-y,15%),#ffffff24,transparent 68%);z-index:0;transition:opacity 1s}.film-stage:after{content:"";position:absolute;inset:-40%;z-index:8;pointer-events:none;background:linear-gradient(115deg,transparent 39%,#ffffff16 48%,#ffffff05 52%,transparent 61%);transform:translateX(-70%);opacity:0;transition:transform 1.3s var(--motion-ease),opacity .8s}.film-stage:hover:after{transform:translateX(50%);opacity:1}.film-stage:hover{box-shadow:0 40px 65px -35px #000c}.film-stage .gallery-device{translate:0 var(--phone-drift,0px);box-shadow:0 32px 45px -14px #0007;transition:opacity .7s,translate 1.3s var(--motion-ease)}.film-open-label{transition:background .5s,transform .65s var(--motion-ease),border-color .5s}.film-open:hover .film-open-label{transform:translateY(-4px);border-color:#ffffff70}.film-caption h3{transition:color .6s}.film-card:hover .film-caption h3{color:#e4d7b5}.motion-ready .motion-card:not(.motion-in){opacity:0;transform:translateY(65px)}.motion-ready .motion-card{transition:opacity 1s var(--motion-ease),transform 1.2s var(--motion-ease);transition-delay:var(--card-delay,0ms)}.motion-ready .motion-card.motion-in{opacity:1;transform:none}.motion-ready .motion-card:not(.motion-in) .film-stage{clip-path:inset(12% 0 8% 0)}.motion-ready .motion-card .film-stage{transition:clip-path 1.4s var(--motion-ease),transform .7s var(--motion-ease),box-shadow .8s}.motion-ready .motion-card.motion-in .film-stage{clip-path:inset(0)}
.process-line{transform-origin:left;scale:0 1;transition:scale 1.2s .15s var(--motion-ease)}.process article.visible .process-line{scale:1 1}.pricing{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(120deg,#e9ebdf,#e4e8d7)}.pricing:before{content:"";position:absolute;width:70%;height:180%;right:-28%;top:-50%;background:linear-gradient(110deg,transparent 20%,#fff9e780 55%,transparent 80%);transform:rotate(-20deg) translateX(var(--price-light,0%));filter:blur(20px);z-index:-1;pointer-events:none}.price-details.reveal{transition:opacity 1.2s,transform 1.4s var(--motion-ease),filter 1.3s}.price-details.reveal:not(.visible){filter:blur(7px)}.author-photo{clip-path:inset(8% 5% 8% 5%);transition:clip-path 1.5s var(--motion-ease),opacity 1.4s,transform 1.5s var(--motion-ease)}.author-photo.visible{clip-path:inset(0)}.author-photo img{transform:scale(1.1);transform-origin:center top;transition:transform 2s var(--motion-ease)}.author-photo.visible img{transform:scale(1)}.studio-link{transition:letter-spacing .8s var(--motion-ease)}.studio-link:hover{letter-spacing:.035em}.contact{position:relative}.contact h2{max-width:1000px}.contact:before{content:"";width:180px;height:180px;border:1px solid #b2b69c30;border-radius:50%;position:absolute;right:2%;top:25%;transform:scale(var(--contact-orbit,1));pointer-events:none}.contact:after{content:"";width:110px;height:110px;border:1px solid #b2b69c20;border-radius:50%;position:absolute;right:5%;top:31%;transform:scale(var(--contact-orbit,1));pointer-events:none}
.film-dialog[open]{animation:cinema-arrive .8s var(--motion-ease)}.film-dialog::backdrop{backdrop-filter:blur(10px);background:#10130fba}.film-dialog[open] .viewer-device{animation:viewer-arrive 1.25s .05s var(--motion-ease) both}.film-dialog[open] .film-dialog-copy{animation:copy-arrive 1.05s .15s var(--motion-ease) both}.viewer-controls button{transition:background .4s,color .4s,transform .5s var(--motion-ease)}.viewer-controls button:hover{background:#d3d8bf;color:#172011;transform:translateY(-2px)}
@keyframes headline-rise{from{transform:translateY(120%) rotate(2deg);opacity:0;filter:blur(5px)}to{transform:none;opacity:1;filter:blur(0)}}
@keyframes phone-front-enter{from{opacity:0;transform:translate3d(10px,110px,0) rotateY(-24deg) rotate(8deg) scale(.86)}to{opacity:1;transform:translate3d(0,0,0) rotateY(0) rotate(2deg) scale(1)}}
@keyframes phone-left-enter{from{opacity:0;transform:translate3d(90px,90px,0) rotateY(30deg) rotate(-5deg) scale(.85)}to{opacity:1;transform:translate3d(0,12px,0) rotateY(0) rotate(-13deg) scale(1)}}
@keyframes phone-right-enter{from{opacity:0;transform:translate3d(-90px,80px,0) rotateY(-30deg) rotate(3deg) scale(.85)}to{opacity:1;transform:translate3d(0,-10px,0) rotateY(0) rotate(14deg) scale(1)}}
@keyframes phone-front-drift{0%,100%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-13px) rotate(-1deg)}}
@keyframes phone-left-drift{0%,100%{transform:translateY(12px) rotate(-13deg)}50%{transform:translateY(-5px) rotate(-10deg)}}
@keyframes phone-right-drift{0%,100%{transform:translateY(-10px) rotate(14deg)}50%{transform:translateY(9px) rotate(11deg)}}
@keyframes ambient-light{from{transform:translateX(-5%) rotate(-24deg);opacity:.5}to{transform:translateX(12%) rotate(-12deg);opacity:1}}
@keyframes halo-orbit{from{translate:-10px 12px;scale:.94;opacity:.65}to{translate:25px -14px;scale:1.08;opacity:1}}
@keyframes cinema-arrive{from{opacity:0;transform:translateY(40px) scale(.97);clip-path:inset(7% 0 7% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes viewer-arrive{from{opacity:0;transform:perspective(1000px) translateY(35px) rotateY(-9deg) scale(.95)}to{opacity:1;transform:none}}
@keyframes copy-arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
.motion-paused:before,.motion-paused .light-field,.motion-paused .device{animation-play-state:paused!important}.motion-paused .device-composition{transform:none!important}
@media(max-width:800px){.hero-content{translate:none}.hero:before{width:130%;right:-50%;height:110%;top:0}.hero-word{translate:none}.film-stage{transform:none}.motion-ready .motion-card{transition-delay:0ms!important}.manifesto-last{padding-left:0}.contact:before,.contact:after{opacity:.5;right:0;scale:.7}.page-grain{opacity:.018}.motion-line{padding-bottom:.12em;margin-bottom:-.12em}}
@media(prefers-reduced-motion:reduce){.reading-line,.page-grain{display:none}.hero:before,.hero .device,.light-field{animation:none!important}.hero-content,.hero-word,.gallery-device{translate:none!important}.device-composition,.film-stage{transform:none!important}.motion-ready .motion-heading .motion-line-content,.motion-ready .motion-card{transform:none!important;opacity:1!important;filter:none!important}.motion-ready .motion-card .film-stage,.author-photo,.manifesto-position img{clip-path:none!important}.manifesto-bottom:before{transform:none}.author-photo img{transform:none}.process-line{scale:1 1}.film-dialog[open],.film-dialog[open] .viewer-device,.film-dialog[open] .film-dialog-copy{animation:none!important}}
.hero.scene-offscreen:before,.hero.scene-offscreen .device,.hero.scene-offscreen .device-glass:after,.hero.scene-offscreen .light-field{animation-play-state:paused!important}

/* Stable controls and bounded rendering work. */
.button,.button:hover,.button:active,.button>span,.button:hover>span,.text-link>span,.text-link:hover>span,.header-contact>span,.header-contact:hover>span,.studio-link>span,.studio-link:hover>span,.viewer-controls button:hover,.film-open:hover .film-open-label{translate:none!important;transform:none!important}
.button{transition:background .22s ease,color .22s ease,border-color .22s ease!important}.button:before{content:none}.button:hover{box-shadow:none!important}
.page-grain{display:none}.header{backdrop-filter:none!important}.hero:before,.hero-visual:before,.pricing:before,.manifesto:before,.portfolio-heading:after{content:none!important}
.light-field{animation:none!important;filter:none!important}.device-composition{transform:none!important;will-change:auto}.hero-content,.gallery-device{translate:none!important}
.film-stage,.film-stage:hover{transform:none!important}.film-stage:after{display:none}.film-stage .gallery-device{animation:none!important}
.reveal,.price-details.reveal,.studio-browser{filter:none!important;transition:opacity .55s ease,transform .55s ease!important}
.reveal:not(.visible){transform:translateY(14px)}.reveal.visible{transform:none}
.hero h1 .line>span{animation:headline-rise .65s ease both}.hero .device-glass:after{animation:none}
.header-contact:hover>span:last-child,.text-link:hover>span:last-child{transform:none!important}
.studio-link:hover{letter-spacing:inherit}
@keyframes headline-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.mobile-nav:not([hidden]),.mobile-nav:not([hidden])>a{animation:none!important}.mobile-nav>a,.mobile-nav>a:hover{transition:color .2s;padding-left:0}
