:root{--ink:#08090d;--panel:#11121a;--panel2:#171923;--text:#f4f4f8;--muted:#9e9dab;--accent:#bea3ff;--violet:#8763ff;--cyan:#79e6ff;--line:rgba(231,227,255,.14);--max:1480px;--side:clamp(22px,6.3vw,112px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:var(--ink);color:var(--text);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:#8a65ef;color:#fff}:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}.skip-to-content{position:fixed;z-index:9999;top:-100px;left:15px;color:#fff;background:#602eeb;padding:13px 20px}.skip-to-content:focus{top:15px}.site-progress{height:2px;position:fixed;z-index:150;top:0;left:0;right:0;background:rgba(255,255,255,.12)}.site-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--violet));transform-origin:left}.site-header{position:absolute;z-index:120;top:2px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:38px;padding:22px var(--side);transition:background .4s,border-color .4s,padding .4s;background:transparent;border-bottom:1px solid transparent}.site-header.scrolled{background:rgba(7,8,13,.87);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-color:var(--line);padding-top:14px;padding-bottom:14px}.brand{display:inline-flex;align-items:center;gap:11px;position:relative;z-index:2}.brand-symbol{width:41px;height:41px;color:#dbceff;display:grid;place-items:center;border:1px solid rgba(205,188,255,.32);border-radius:10px;background:linear-gradient(145deg,rgba(188,164,255,.18),rgba(25,20,50,.24))}.brand-symbol svg{width:27px}.brand-type{font-family:Manrope,sans-serif;font-size:18px;font-weight:800;letter-spacing:-.055em;line-height:.92;white-space:nowrap}.brand-type>span{color:var(--accent);margin-left:3px}.brand-type small{display:block;font-size:9px;font-weight:700;letter-spacing:.41em;margin-top:5px;color:#c7c7d2}.desktop-nav{display:flex;align-items:center;gap:37px;margin-left:auto}.desktop-nav a{color:#d9d9e2;font-size:13px;font-weight:600;transition:color .2s}.desktop-nav a:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:12px}.header-cta{display:inline-flex;justify-content:center;align-items:center;gap:25px;border:1px solid rgba(255,255,255,.32);border-radius:100px;padding:14px 20px;font-size:11px;font-weight:700;letter-spacing:.08em;transition:background .2s,color .2s}.header-cta:hover{background:#f1ebff;color:#161027}.header-cta span{font-size:18px}.mobile-menu-button{display:none;border:1px solid var(--line);background:#1b1922;border-radius:50%;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.mobile-menu-button span{width:18px;height:2px;background:white;transition:transform .2s}.mobile-menu-button[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.mobile-menu-button[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{display:none}
/* Cinematic stage */
.cinema-stage{height:385svh;position:relative;background:#020408}.cinema-sticky{height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden;isolation:isolate;background:#05060b}.hero-media,.hero-poster,.hero-media video,.hero-media canvas,.hero-shade,.grain-layer{position:absolute;inset:0;width:100%;height:100%}.hero-media{z-index:-1;overflow:hidden}.hero-poster{background-image:url('assets/images/hero-poster.jpg');background-size:cover;background-position:center;filter:saturate(1.1) brightness(.6);transform:scale(1.05)}.hero-media video{object-fit:cover;opacity:1;transition:opacity .25s;pointer-events:none}.hero-media canvas{opacity:0;transition:opacity .18s;object-fit:cover;pointer-events:none}.hero-media canvas.visible{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(4,5,10,.81) 0%,rgba(5,7,13,.46) 45%,rgba(3,6,12,.16) 75%,rgba(1,2,5,.4) 100%),linear-gradient(0deg,rgba(3,4,9,.77),transparent 31%,rgba(0,0,0,.28));pointer-events:none}.grain-layer{opacity:.13;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='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.hero-top-meta{position:absolute;top:117px;left:var(--side);display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.17em;font-weight:700;color:#d4d5e0}.pulse-dot{position:relative;display:inline-block;flex:none;background:#91f2d1;border-radius:50%;width:7px;height:7px;box-shadow:0 0 14px rgba(145,242,209,.8)}.pulse-dot:after{position:absolute;inset:-4px;content:"";border:1px solid rgba(145,242,209,.4);border-radius:50%;animation:pulse 2.4s infinite}.meta-divider{width:22px;height:1px;background:rgba(255,255,255,.4)}.hero-content{position:absolute;left:var(--side);top:47%;width:min(850px,82vw);transform:translateY(-45%);opacity:1;transition:opacity .12s linear;will-change:opacity}.hero-kicker,.eyebrow{display:flex;align-items:center;gap:13px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.18em}.kicker-line{width:28px;height:1px;background:var(--accent)}.hero-content h1{margin:26px 0 22px;font-family:Manrope,sans-serif;font-size:clamp(62px,8.4vw,155px);line-height:.87;letter-spacing:-.075em;font-weight:800;text-transform:uppercase}.hero-outline{color:transparent;-webkit-text-stroke:1.65px #e7e5f1;text-shadow:0 0 25px rgba(164,134,255,.1)}.hero-glow{background:linear-gradient(110deg,#fff 10%,#c0b2ff 62%,#8be2fc);background-clip:text;-webkit-background-clip:text;color:transparent}.period{color:var(--accent);-webkit-text-fill-color:var(--accent)}.hero-content p{font-size:clamp(14px,1.3vw,18px);line-height:1.8;color:#dddde7;max-width:510px;margin:0 0 29px}.hero-buttons{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:17px 23px;border:1px solid transparent;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.09em;white-space:nowrap;transition:background .25s,transform .25s,color .25s,border-color .25s}.btn:hover{transform:translateY(-3px)}.btn span{font-size:20px;font-weight:400;line-height:0}.btn-primary{background:#baa2ff;color:#130e24}.btn-primary:hover{background:#d2c0ff}.btn-ghost{border-color:rgba(255,255,255,.48);color:white;background:rgba(8,8,13,.25);backdrop-filter:blur(12px)}.btn-ghost:hover{background:rgba(255,255,255,.13)}.hero-side-label{position:absolute;right:32px;top:47%;transform:translate(50%,-50%) rotate(90deg);white-space:nowrap;letter-spacing:.25em;font-size:9px;color:#e7e6ef;opacity:.75;font-weight:700}.hero-bottom{position:absolute;bottom:39px;left:var(--side);right:var(--side);display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.scroll-cue{display:flex;align-items:center;gap:14px;color:#e7e7ed;font-size:10px;letter-spacing:.14em;font-weight:700;line-height:1.9}.scroll-cue small{font-size:9px;color:#aba9bc;letter-spacing:.16em}.scroll-mouse{width:22px;height:33px;border-radius:14px;border:1px solid rgba(255,255,255,.66);display:grid;justify-content:center;padding-top:7px}.scroll-mouse span{width:3px;height:7px;background:var(--accent);border-radius:2px;animation:mouseDown 2s infinite}.scene-counter{text-align:right;display:flex;align-items:center;gap:17px}.scene-index{font-size:11px;color:var(--accent);font-weight:700;letter-spacing:.15em}.scene-name{min-width:125px;font-size:11px;letter-spacing:.16em;font-weight:700}.hero-scroll-meter{position:absolute;bottom:-39px;left:calc(-1 * var(--side));width:100vw;height:3px;background:rgba(255,255,255,.09)}.hero-scroll-meter span{height:100%;display:block;background:linear-gradient(90deg,var(--cyan),var(--accent));width:0}.hero-endcard{position:absolute;top:48%;left:var(--side);transform:translateY(-50%);opacity:0;pointer-events:none;will-change:opacity}.hero-endcard h2{font:800 clamp(58px,7vw,115px)/.99 Manrope,sans-serif;letter-spacing:-.07em;margin:18px 0 28px}.hero-endcard h2 em{font-style:normal;color:var(--accent)}.motion-button{position:absolute;bottom:116px;right:var(--side);display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.3);background:rgba(10,10,20,.44);color:#f1f0fc;font-size:9px;font-weight:700;letter-spacing:.13em;border-radius:30px;padding:11px 13px;backdrop-filter:blur(12px)}.motion-icon{display:flex;align-items:center;justify-content:center;font-size:12px;width:14px}.motion-button:hover{border-color:var(--accent)}
/* Shared sections */
.section{padding:clamp(92px,12vw,180px) var(--side);max-width:1800px;margin:0 auto;position:relative}.marquee-band{padding:19px 0;overflow:hidden;border-block:1px solid var(--line);background:#12121c;color:#a8a5be}.marquee-inner{width:max-content;animation:marquee 35s linear infinite}.marquee-inner>span{white-space:nowrap;font-size:12px;letter-spacing:.19em;font-weight:800}.marquee-inner b{padding:0 30px;color:var(--accent);font-size:22px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:58px}.section-heading h2,.about-copy h2,.contact-top h2{font:800 clamp(49px,6.1vw,100px)/1.02 Manrope,sans-serif;letter-spacing:-.075em;margin:24px 0 0}.section-heading h2 em,.about-copy h2 em,.contact-top h2 em{font-style:normal;color:var(--accent)}.section-heading>p{color:#a8a8b8;line-height:1.9;max-width:360px;font-size:15px;margin:0 0 7px}.little-star{font-size:15px;color:var(--accent)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,1,.36,1)}.reveal.in-view{opacity:1;transform:translateY(0)}
/* Work cards */
.work-section{padding-bottom:clamp(90px,10vw,155px)}.work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.work-card{position:relative;display:block;grid-column:span 5;aspect-ratio:1.2/1;overflow:hidden;border:1px solid rgba(255,255,255,.06);background:#191b27;padding:0;color:#fff;text-align:left}.work-card.large-card{grid-column:span 7;aspect-ratio:1.76/1}.work-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.22,1,.36,1),filter .6s}.work-card:hover img{transform:scale(1.09);filter:saturate(1.25)}.card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 34%,rgba(0,0,0,.78) 100%);pointer-events:none}.work-number{position:absolute;left:28px;top:26px;letter-spacing:.14em;font-size:10px;font-weight:800;color:#f7f3ff}.work-play{position:absolute;top:21px;right:24px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.72);font-size:21px;background:rgba(0,0,0,.24);transition:background .2s,transform .2s}.work-card:hover .work-play{background:var(--accent);color:#151122;transform:rotate(45deg)}.work-title{position:absolute;bottom:30px;left:28px;right:30px;font:800 clamp(26px,2.85vw,48px)/1 Manrope,sans-serif;letter-spacing:-.05em}.work-title small{display:block;margin-top:13px;font:700 10px/1.4 'DM Sans',sans-serif;letter-spacing:.17em;color:#d1cce0}.work-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:34px}.work-footer>span{font-size:10px;letter-spacing:.14em;color:#828292;font-weight:700}.text-button{display:inline-flex;gap:25px;align-items:center;border:0;background:transparent;color:var(--accent);padding:12px 0;font-weight:800;font-size:11px;letter-spacing:.12em}.text-button span{font-size:21px}.text-button:hover{color:#f6f0ff}
/* Services */
.services-section{background:linear-gradient(135deg,#15121e 0%,#101016 75%);max-width:none}.services-section>.section-heading,.services-list{max-width:calc(var(--max) - 0px);margin-left:auto;margin-right:auto}.services-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:85px 1fr auto;gap:20px;align-items:center;padding:38px 7px;border-bottom:1px solid var(--line)}.service-number{color:var(--accent);font-size:13px;font-weight:800}.service-row h3{margin:0 0 9px;font:800 clamp(24px,3.2vw,50px)/1.1 Manrope,sans-serif;letter-spacing:-.06em}.service-row h3 span{font-size:23px;color:var(--accent);display:inline-block;margin-left:9px;font-weight:400;transition:transform .25s}.service-row:hover h3 span{transform:translate(6px,-5px)}.service-row p{margin:0;color:#aaa6b6;font-size:14px}.service-label{color:#898495;font-size:10px;letter-spacing:.13em;font-weight:700;white-space:nowrap}
/* Studio */
.about-section{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(35px,8vw,130px);align-items:center;min-height:730px}.about-art{position:relative;height:min(37vw,560px);min-height:360px;background:radial-gradient(ellipse at center,rgba(112,89,214,.27),rgba(24,20,42,.08) 42%,transparent 72%);display:grid;place-items:center}.about-monogram{position:relative;z-index:2;font:800 clamp(170px,28vw,380px)/1 Manrope,sans-serif;letter-spacing:-.1em;background:linear-gradient(132deg,#f3f1ff,#6f5bbb 55%,#181124);color:transparent;background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 15px 45px rgba(167,142,255,.2))}.about-monogram span{position:absolute;font:normal clamp(40px,5vw,82px)/1 'DM Sans',sans-serif;top:8%;right:-15%;color:var(--accent)}.about-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(184,157,255,.25);border-radius:50%;transform:translate(-50%,-50%) rotate(-24deg)}.about-orbit-one{width:84%;aspect-ratio:1}.about-orbit-two{width:112%;aspect-ratio:1}.about-copy h2{font-size:clamp(44px,5vw,79px);margin-bottom:28px}.about-copy p{font-size:16px;color:#aaa9b7;line-height:1.95;max-width:550px}.about-copy .text-button{margin-top:17px}
/* Contact */
.contact-section{background:radial-gradient(ellipse at 78% 0%,rgba(100,69,174,.2),transparent 43%),#121019;max-width:none}.contact-top,.contact-layout{max-width:var(--max);margin-left:auto;margin-right:auto}.contact-top h2{font-size:clamp(65px,9vw,150px);margin-bottom:18px}.contact-top>p{max-width:475px;color:#aaa7bb;line-height:1.9;margin:0;font-size:16px}.contact-layout{margin-top:75px;display:grid;grid-template-columns:.93fr 1.07fr;gap:clamp(40px,8vw,120px)}.overline{display:block;color:#8e889f;letter-spacing:.16em;font-size:11px;font-weight:700;margin-bottom:21px}.email-link{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;font:700 clamp(17px,2.3vw,29px)/1.4 Manrope,sans-serif;letter-spacing:-.04em;border-bottom:1px solid var(--accent);padding-bottom:10px;overflow-wrap:anywhere}.email-link:hover{color:var(--accent)}.email-link span{color:var(--accent)}.copy-email{display:flex;align-items:center;gap:12px;padding:0;background:transparent;border:0;color:var(--accent);font-size:11px;letter-spacing:.15em;font-weight:800;margin-top:26px}.copy-email span{font-size:21px}.availability{display:flex;align-items:center;gap:14px;margin-top:100px;letter-spacing:.15em;font-size:10px;color:#a9aab4;font-weight:700}.project-form{display:flex;flex-direction:column;gap:28px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-form label{display:flex;flex-direction:column;gap:13px;color:#c6c1d5;font-size:10px;font-weight:800;letter-spacing:.15em}.project-form input,.project-form select,.project-form textarea{width:100%;color:#fff;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.22);border-radius:2px;padding:17px 16px;font:400 14px 'DM Sans',sans-serif;outline:none;transition:border-color .2s}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:var(--accent)}.project-form input::placeholder,.project-form textarea::placeholder{color:#888594}.project-form select option{background:#11111b}.project-form textarea{resize:vertical;min-height:135px}.form-submit{width:max-content;min-width:250px}.form-note{color:#898597;max-width:480px;font-size:12px;line-height:1.7;margin:-11px 0 0}
/* Footer and modal */
.site-footer{padding:27px var(--side) 33px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);background:#0b0b11}.footer-brand{font:800 17px Manrope,sans-serif;letter-spacing:-.045em}.footer-brand>span:first-child,.footer-spark{color:var(--accent)}.footer-spark{margin-left:9px;font-size:20px}.site-footer>span,.back-top{color:#a9a8b3;font-size:10px;font-weight:800;letter-spacing:.12em}.back-top:hover{color:var(--accent)}.reel-dialog{position:fixed;inset:0;max-width:min(1100px,90vw);max-height:92vh;background:#11111b;color:#f4f2ff;padding:14px 15px 18px;border:1px solid rgba(194,161,255,.4);box-shadow:0 30px 120px #000;border-radius:8px}.reel-dialog::backdrop{background:rgba(0,0,0,.85);backdrop-filter:blur(11px)}.reel-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 5px 13px;font-size:11px;letter-spacing:.14em;color:#e0d7ff;font-weight:700}.close-modal{width:33px;height:33px;border:1px solid #554967;background:none;color:white;font-size:26px;line-height:1}.reel-dialog video{width:100%;max-height:72vh;display:block;background:#000}.reel-dialog p{font-size:12px;color:#aaa7b8;margin:12px 4px 0}.toast{position:fixed;right:22px;bottom:24px;padding:13px 19px;background:#d0bcff;color:#181226;font-weight:700;border-radius:4px;z-index:200;font-size:13px;opacity:0;transform:translateY(15px);pointer-events:none;transition:opacity .25s,transform .25s}.toast.show{opacity:1;transform:translateY(0)}
@keyframes pulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.8);opacity:0}}@keyframes mouseDown{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(7px);opacity:1}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:1050px){.desktop-nav{gap:24px}.hero-content h1{font-size:clamp(65px,10vw,111px)}.hero-side-label{display:none}.work-card.large-card,.work-card{grid-column:span 6;aspect-ratio:1.22/1}.contact-layout{gap:45px}}
@media(max-width:760px){:root{--side:21px}html{scroll-padding-top:69px}.site-header{padding-top:15px;padding-bottom:15px}.desktop-nav,.header-cta{display:none}.mobile-menu-button{display:flex}.brand-symbol{width:37px;height:37px}.mobile-nav{position:absolute;display:none;left:0;right:0;top:100%;background:rgba(10,9,17,.96);border-bottom:1px solid var(--line);padding:14px var(--side) 24px;backdrop-filter:blur(25px)}.mobile-nav.open{display:flex;flex-direction:column;gap:0}.mobile-nav a{display:flex;justify-content:space-between;align-items:center;padding:16px 5px;border-bottom:1px solid var(--line);font:700 19px Manrope,sans-serif}.mobile-nav a span{color:var(--accent)}.cinema-stage{height:112svh}.cinema-sticky{min-height:0;height:100svh}.hero-media canvas{display:none}.hero-top-meta{top:99px;font-size:9px;max-width:80vw;letter-spacing:.1em;gap:7px}.hero-top-meta span:last-child,.hero-top-meta .meta-divider{display:none}.hero-content{width:calc(100% - 42px);top:43%;transform:translateY(-38%)}.hero-content h1{font-size:clamp(53px,13vw,95px);margin:24px 0}.hero-content p{font-size:14px;line-height:1.7;max-width:340px}.hero-kicker{font-size:9px;letter-spacing:.1em}.hero-buttons{gap:10px}.btn{min-height:49px;padding:14px 15px;gap:14px;font-size:10px}.hero-bottom{bottom:32px}.scroll-cue{font-size:9px;letter-spacing:.07em}.scroll-cue small{font-size:8px}.scene-counter{display:none}.hero-scroll-meter{bottom:-32px}.motion-button{right:var(--side);bottom:113px}.hero-endcard{left:var(--side);right:var(--side)}.hero-endcard h2{font-size:clamp(49px,9vw,77px)}.section{padding:90px var(--side)}.section-heading{display:block;margin-bottom:36px}.section-heading h2{font-size:clamp(45px,10vw,80px)}.section-heading>p{margin-top:20px;font-size:14px}.work-grid{gap:12px}.work-card.large-card,.work-card{grid-column:span 6;aspect-ratio:1/1}.work-title{left:16px;right:12px;bottom:19px;font-size:clamp(19px,4.2vw,28px)}.work-title small{font-size:8px;margin-top:7px}.work-number{font-size:8px;top:14px;left:15px}.work-play{width:29px;height:29px;top:11px;right:12px;font-size:16px}.work-footer{align-items:start;flex-direction:column;gap:12px}.service-row{grid-template-columns:36px 1fr;gap:15px;padding:29px 0}.service-row h3{font-size:clamp(22px,5vw,35px)}.service-label{display:none}.service-row p{font-size:13px;line-height:1.6}.about-section{grid-template-columns:1fr;gap:10px}.about-art{height:320px;min-height:320px;order:2}.about-copy{order:1}.about-copy h2{font-size:clamp(45px,9vw,72px)}.about-copy p{font-size:14px}.contact-top h2{font-size:clamp(70px,12vw,100px)}.contact-layout{grid-template-columns:1fr;gap:45px;margin-top:55px}.availability{margin-top:34px}.site-footer{flex-wrap:wrap}.site-footer>span{order:3;width:100%}}
@media(max-width:440px){.hero-content h1{font-size:clamp(47px,13vw,60px)}.hero-buttons .btn{font-size:9px;padding:13px 11px}.hero-kicker{max-width:320px}.work-card.large-card,.work-card{grid-column:span 12;aspect-ratio:1.55/1}.work-title{font-size:29px}.field-row{grid-template-columns:1fr;gap:24px}.contact-top h2{font-size:66px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cinema-stage{height:100svh}.cinema-sticky{position:relative}.hero-media video,.hero-media canvas{display:none}.hero-poster{filter:brightness(.56)}.reveal{opacity:1;transform:none}.hero-endcard{display:none}}
/* Contain decorative orbital artwork so it cannot stretch mobile viewport. */
.about-section{overflow:hidden}

/* V2: fullscreen continuously looping video; scrolling only navigates page content. */
.cinema-stage{height:100svh;min-height:0;position:relative}
.cinema-sticky{position:relative;top:auto;height:100%;min-height:0}
.hero-media video{display:block!important;opacity:1;object-fit:cover}
.hero-media video.is-paused{opacity:0}
.hero-content{opacity:1!important;pointer-events:auto!important;transition:none}
.hero-endcard,.hero-scroll-meter,.scene-counter,.site-progress,.hero-media canvas{display:none!important}
.site-header{top:0;background:rgba(7,8,13,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.reveal,.reveal.in-view{opacity:1!important;transform:none!important;transition:none!important}
@media(max-width:760px){.cinema-stage{height:100svh}.cinema-sticky{position:relative;height:100%;min-height:0}}
@media(prefers-reduced-motion:reduce){.hero-media video{display:block!important}.cinema-stage{height:100svh}.cinema-sticky{position:relative;height:100%}}

/* V3 / Immersive Cinema: video-forward hero with deliberate negative space. */
:root{--accent:#80efca;--violet:#35bba0;--cyan:#b6ffeb;--line:rgba(215,250,239,.12)}
body{background:#080c0f}
.site-header{top:0;padding:20px var(--side);background:linear-gradient(180deg,rgba(2,7,10,.58),rgba(2,7,10,0))!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:0!important}
.site-header.scrolled{padding:14px var(--side);background:rgba(5,13,16,.92)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border-bottom:1px solid rgba(255,255,255,.09)!important}
.brand-symbol{width:39px;height:39px;color:#dbfff3;border-color:rgba(147,245,213,.35);background:rgba(14,49,41,.43)}
.brand-type>span{color:#80efca}.brand-type small{color:#d5e2df}
.header-cta{border-color:rgba(255,255,255,.5);padding:13px 22px;background:rgba(2,8,11,.2)}
.header-cta:hover{background:#f2fff9;color:#071310}
.cinema-stage{height:100svh;min-height:590px;background:#0b1618}
.cinema-sticky{height:100%;min-height:590px;position:relative;overflow:hidden;background:#0a1518}
.hero-media video{width:100%;height:100%;display:block!important;object-fit:cover;opacity:1!important;filter:saturate(1.07) contrast(1.055)}
.hero-media video.is-paused{opacity:0!important}
.hero-poster{filter:none;transform:none;background-position:60% 50%}
.hero-shade{background:linear-gradient(90deg,rgba(3,10,14,.56) 0%,rgba(3,10,14,.28) 40%,rgba(3,10,14,.04) 79%),linear-gradient(0deg,rgba(1,8,11,.88) 0%,rgba(1,8,11,.3) 42%,transparent 72%),linear-gradient(180deg,rgba(2,6,8,.18) 0%,transparent 20%)}
.grain-layer{opacity:.065}
.hero-top-meta,.hero-side-label,.hero-bottom,.hero-endcard{display:none!important}
.hero-content{left:var(--side);top:auto;bottom:clamp(95px,12vh,155px);transform:none!important;width:min(920px,calc(100% - 2*var(--side)));opacity:1!important;max-width:100%;transition:none;z-index:2}
.hero-kicker{color:#a5f8dc;letter-spacing:.22em;font-size:10px;font-weight:700;gap:13px}
.kicker-line{width:30px;background:#a5f8dc}.kicker-separator{color:rgba(255,255,255,.52)}
.hero-content h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(49px,6.15vw,105px);line-height:.995;letter-spacing:-.067em;margin:24px 0 21px;font-weight:800;text-shadow:0 3px 25px rgba(0,0,0,.2)}
.hero-glow{background:linear-gradient(100deg,#fff 5%,#d2fdf0 48%,#7defc4);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-content p{max-width:540px;font-size:clamp(14px,1.14vw,17px);line-height:1.7;margin:0 0 30px;color:#e0e9e8;text-wrap:pretty}
.hero-buttons{gap:12px}
.hero-buttons .btn{border-radius:100px;min-height:51px;padding:16px 23px;font-size:10px;letter-spacing:.1em;gap:23px}
.hero-buttons .btn-primary{background:#e7fff4;color:#081310;box-shadow:0 8px 25px rgba(0,0,0,.12)}
.hero-buttons .btn-primary:hover{background:#a6f4d4}
.hero-buttons .btn-ghost{background:rgba(7,15,18,.20);border-color:rgba(234,255,249,.65);color:#fff;backdrop-filter:blur(7px)}
.hero-buttons .btn-ghost:hover{background:rgba(255,255,255,.12)}
.hero-status{position:absolute;bottom:35px;left:var(--side);display:flex;align-items:center;gap:10px;color:rgba(241,255,251,.85);font-size:9px;font-weight:700;letter-spacing:.18em}
.status-line{display:inline-block;width:22px;height:1px;background:#a4f8d8}
.motion-button{bottom:24px;right:var(--side);z-index:3;border-color:rgba(225,255,247,.37);background:rgba(7,21,23,.42);color:#eefdf7;padding:11px 15px;font-size:9px}
.marquee-band{background:#101d1d;border-color:rgba(214,253,240,.11)}
.section-heading h2 em,.about-copy h2 em,.contact-top h2 em{color:#8feacc}
.work-play,.copy-email,.text-button,.footer-brand .footer-spark{color:#9df0d3}
.work-grid .work-card img{filter:saturate(.94)}
@media(max-width:1000px){.hero-content h1{font-size:clamp(52px,7.3vw,85px)}.desktop-nav{gap:24px}}
@media(max-width:760px){
  .site-header{padding:15px 22px!important}.site-header.scrolled{padding:13px 22px!important}
  .header-cta{display:none}.hero-media video{object-position:53% 50%}
  .hero-shade{background:linear-gradient(0deg,rgba(1,8,10,.9) 0%,rgba(1,8,10,.52) 46%,rgba(1,8,10,.03) 75%),linear-gradient(90deg,rgba(1,7,9,.18),transparent 70%)}
  .hero-content{left:22px;right:22px;bottom:115px;width:auto;transform:none!important}
  .hero-kicker{font-size:8px;letter-spacing:.1em;gap:8px}.kicker-line{width:18px}
  .hero-content h1{font-size:clamp(42px,9.2vw,69px);line-height:1.025;letter-spacing:-.067em;margin:16px 0 17px}
  .hero-content p{font-size:13px;max-width:350px;line-height:1.7;margin-bottom:23px}
  .hero-buttons{gap:10px}.hero-buttons .btn{font-size:9px;padding:12px 17px;min-height:46px;gap:12px}
  .hero-status{left:22px;bottom:29px;font-size:8px}
  .motion-button{right:22px;bottom:20px;padding:9px;font-size:8px}.motion-button #videoLabel{display:none}
}
@media(max-width:380px){.hero-content h1{font-size:clamp(37px,9vw,46px)}.hero-kicker{font-size:7px}.hero-buttons .btn{padding:11px 13px;gap:8px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.hero-content{transition:none}.cinema-stage,.cinema-sticky{position:relative;height:100svh;min-height:590px}}

/* Services gallery — all six user-approved thumbnails */
.services-section{max-width:none;padding:clamp(92px,9vw,146px) var(--side) clamp(98px,9vw,135px);background:radial-gradient(ellipse 65% 35% at 5% 5%,rgba(66,122,114,.18),transparent 75%),linear-gradient(180deg,#0b1215,#091014 65%,#080d10);border-block:1px solid rgba(174,252,222,.09)}
.services-section .services-heading,.services-section .service-gallery,.services-section .services-preview-note,.services-section .services-bottom-line{max-width:1390px;margin-left:auto;margin-right:auto}
.services-eyebrow{display:flex;align-items:center;gap:10px;color:#9af4d6;letter-spacing:.22em;font-weight:750;font-size:10px}
.services-eyebrow-dot,.preview-live-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#8af4ca;box-shadow:0 0 13px rgba(87,240,184,.55)}
.services-eyebrow-line{height:1px;width:28px;background:rgba(160,233,212,.42);margin-inline:6px}
.services-heading-grid{margin-top:20px;display:flex;align-items:end;justify-content:space-between;gap:50px}
.services-heading-grid h2{font:800 clamp(55px,6.8vw,111px)/.99 Manrope,'Arial',sans-serif;letter-spacing:-.075em;margin:0;text-wrap:balance}
.services-heading-grid h2 em{font-style:normal;color:#98efce}
.services-heading-copy{max-width:375px;padding-bottom:6px;flex:0 1 375px}
.services-heading-copy p{font-size:15px;color:#afbebb;line-height:1.85;margin:0 0 22px}
.services-explore-link{display:inline-flex;gap:28px;align-items:center;font-size:10px;letter-spacing:.145em;color:#dffef4;font-weight:800;padding-bottom:9px;border-bottom:1px solid rgba(209,254,239,.5)}
.services-explore-link span{font-size:19px;transition:transform .22s}
.services-explore-link:hover span{transform:translate(3px,-3px)}
.services-preview-note{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(192,237,225,.17);padding-top:25px;margin-top:57px;margin-bottom:16px;font-size:10px;font-weight:800;color:#a5cdc2;letter-spacing:.14em}
.services-preview-count{margin-left:auto;font-size:17px;letter-spacing:.02em;color:#d8fff2}
.services-preview-count span{font-size:10px;letter-spacing:.1em;color:#7f9a93;margin-left:3px}
.service-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.service-tile{position:relative;aspect-ratio:1.64/1;min-height:345px;isolation:isolate;overflow:hidden;border-radius:12px;border:1px solid rgba(236,255,247,.12);background:#1b2529;box-shadow:0 15px 46px rgba(0,0,0,.15);transition:border-color .28s,transform .35s cubic-bezier(.2,.75,.25,1),box-shadow .35s}
.service-tile:hover{border-color:rgba(134,248,203,.43);transform:translateY(-3px);box-shadow:0 24px 75px rgba(0,0,0,.33)}
.service-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.005);transition:transform .9s cubic-bezier(.18,.65,.28,1),filter .9s}
.service-tile:hover>img{transform:scale(1.055);filter:saturate(1.06)}
.service-tile-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,7,10,.93) 0%,rgba(2,8,11,.56) 36%,rgba(2,9,13,.02) 78%),linear-gradient(180deg,rgba(0,0,0,.23),transparent 38%);z-index:1;pointer-events:none}
.service-tile--ready:nth-child(1) .service-tile-shade{background:linear-gradient(0deg,rgba(8,12,14,.94) 0%,rgba(11,15,18,.57) 33%,rgba(11,15,18,.03) 72%),linear-gradient(180deg,rgba(0,0,0,.19),transparent 30%)}
.service-tile-top{position:absolute;z-index:3;left:28px;right:27px;top:23px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800;letter-spacing:.15em;font-size:10px;color:#f7fffa;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.service-tile-top i{font-style:normal;opacity:.6;margin:0 6px}
.service-arrow{width:35px;height:35px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:400;backdrop-filter:blur(8px);transition:transform .25s,background .25s}
.service-tile:hover .service-arrow{transform:rotate(45deg);background:rgba(255,255,255,.16)}
.service-tile-bottom{position:absolute;z-index:3;bottom:24px;left:28px;right:28px}
.service-tile-category{font-size:9px;letter-spacing:.19em;font-weight:750;color:#a5f3d9;display:block;margin-bottom:9px}
.service-tile h3{font:800 clamp(27px,2.7vw,42px)/1.15 Manrope,Arial,sans-serif;letter-spacing:-.045em;margin:0 0 7px;color:#fff;max-width:480px}
.service-tile p{font-size:12px;line-height:1.6;color:#e1e9e7;max-width:390px;margin:0 0 12px}
.service-tile-action{display:inline-flex;align-items:center;gap:24px;color:#e5fff3;font-weight:850;font-size:9px;letter-spacing:.15em;border-bottom:1px solid rgba(184,252,224,.7);padding-bottom:6px;transition:color .2s}
.service-tile-action:hover{color:#7bffca}
.service-tile-action span{font-size:15px;line-height:.7}
.service-tile--placeholder{background:linear-gradient(145deg,#202c32 0%,#121c21 58%,#0a1116 100%);}
.service-tile--placeholder:before{content:"";position:absolute;inset:-30% -15%;opacity:.46;z-index:0;background:radial-gradient(ellipse at 65% 42%,var(--glow,rgba(141,193,187,.23)),transparent 42%),radial-gradient(ellipse at 20% 120%,rgba(20,75,69,.23),transparent 50%);filter:blur(18px)}
.placeholder-property{--glow:rgba(150,184,172,.22)}.placeholder-commercial{--glow:rgba(196,159,127,.18)}.placeholder-animation{--glow:rgba(120,167,193,.16)}.placeholder-drama{--glow:rgba(185,125,142,.15)}
.placeholder-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;z-index:1;color:rgba(201,244,231,.31);font-size:9px;letter-spacing:.24em;font-weight:800;transform:translateY(-15px)}
.placeholder-motif{font:200 clamp(90px,11vw,154px)/1 sans-serif;color:rgba(217,255,244,.11);filter:drop-shadow(0 0 35px rgba(183,255,238,.14))}
.service-tile--placeholder .service-tile-bottom{z-index:3}
.service-tile--placeholder .service-tile-category{color:#9ac8b9}
.services-bottom-line{margin-top:25px;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:10px;letter-spacing:.13em;font-weight:800;color:#9bbdb2}
.services-bottom-line>span{display:flex;gap:11px;align-items:center}
.services-bottom-line>a{color:#dafff0;display:inline-flex;align-items:center;gap:18px}
.services-bottom-line>a span{font-size:17px}
@media(max-width:1100px){.services-heading-grid h2{font-size:clamp(49px,6vw,82px)}.service-tile{min-height:300px}.service-tile h3{font-size:clamp(23px,2.9vw,37px)}.service-tile-bottom{left:23px;right:20px;bottom:20px}.service-tile-top{left:23px;right:20px;top:19px}}
@media(max-width:760px){.services-section{padding:85px 20px 95px}.services-heading-grid{display:block}.services-heading-grid h2{font-size:clamp(48px,10vw,75px)}.services-heading-copy{margin-top:22px;max-width:500px}.services-heading-copy p{font-size:13px}.services-preview-note{font-size:8px;margin-top:42px;gap:8px}.services-preview-count{font-size:14px}.services-preview-count span{font-size:8px}.service-gallery{grid-template-columns:1fr;gap:14px}.service-tile{min-height:325px;aspect-ratio:1.38/1}.service-tile h3{font-size:clamp(25px,6.6vw,37px)}.services-bottom-line{font-size:8px;flex-wrap:wrap;line-height:1.8}.services-eyebrow{font-size:9px;letter-spacing:.13em}}
@media(max-width:400px){.service-tile{min-height:315px}.service-tile h3{font-size:27px}.service-tile p{font-size:11px}.service-tile-bottom{left:20px;right:16px;bottom:18px}.service-tile-top{left:20px;right:16px}.services-heading-grid h2{font-size:46px}.services-preview-note{letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){.service-tile,.service-tile>img,.service-arrow{transition:none!important}}

/* V5 readability and responsive photo positioning */
.service-tile p{font-size:13px;line-height:1.58;max-width:510px;margin-bottom:13px;text-wrap:pretty}
.service-tile-category{font-size:10px;letter-spacing:.14em}
.service-tile>img{object-position:60% 46%}
.service-tile:nth-child(1)>img{object-position:65% 45%}
.service-tile:nth-child(2)>img{object-position:63% 42%}
.service-tile:nth-child(3)>img{object-position:59% 42%}
.service-tile:nth-child(4)>img{object-position:61% 45%}
.service-tile:nth-child(5)>img{object-position:63% 43%}
.service-tile:nth-child(6)>img{object-position:63% 45%}
.service-tile-shade,.service-tile--ready:nth-child(1) .service-tile-shade{background:linear-gradient(0deg,rgba(2,7,10,.97) 0%,rgba(2,8,11,.79) 24%,rgba(2,9,13,.27) 55%,rgba(2,9,13,.02) 85%),linear-gradient(180deg,rgba(0,0,0,.2),transparent 28%)}
@media(max-width:760px){
 .service-tile{min-height:365px;aspect-ratio:auto}
 .service-tile h3{font-size:clamp(24px,6.3vw,35px);line-height:1.16}
 .service-tile p{font-size:12.5px;line-height:1.58}
 .service-tile-category{font-size:9px}
}
@media(max-width:400px){
 .service-tile{min-height:370px}
 .service-tile h3{font-size:clamp(23px,6.6vw,28px)}
 .service-tile p{font-size:12px}
}

/* V6: Honest, filterable original-project gallery */
.work-section { max-width:1800px; padding-top:clamp(86px,10vw,145px); padding-bottom:clamp(98px,11vw,165px); background:radial-gradient(circle at 93% 0%,rgba(55,147,122,.12),transparent 40%); }
.portfolio-head { display:flex; justify-content:space-between; gap:64px; align-items:end; margin-bottom:54px; }
.portfolio-head>div { min-width:0; }
.portfolio-kicker, .portfolio-empty-kicker { color:#91eed0; font-size:10px; font-weight:800; letter-spacing:.19em; display:flex; align-items:center; gap:12px; }
.portfolio-glint { width:7px; height:7px; border-radius:50%; background:#7fefd0; box-shadow:0 0 18px rgba(96,255,205,.65); display:inline-block; flex:none; }
.portfolio-kicker-sep { color:#658379; }
.portfolio-head h2 { margin:25px 0 0; font:800 clamp(64px,7.5vw,125px)/.97 Manrope,Arial,sans-serif; letter-spacing:-.086em; }
.portfolio-head h2 em { font-style:normal; color:#96f1d0; }
.portfolio-head>p { width:345px; max-width:34%; flex:none; color:#a7b8b5; font-size:15px; line-height:1.95; margin:0 0 10px; }
.portfolio-filter-region { padding:13px 0; border-block:1px solid rgba(165,242,214,.17); }
.portfolio-filters { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.portfolio-filter { white-space:nowrap; flex:none; border:1px solid rgba(178,238,217,.24); border-radius:100px; color:#b5cdc6; background:rgba(255,255,255,.018); padding:12px 18px; font-weight:700; font-size:12px; transition:background .2s,border-color .2s,color .2s,transform .2s; }
.portfolio-filter span { margin-left:12px; }
.portfolio-filter:is(:hover,:focus-visible) { color:#e5fff5; border-color:#8beacb; transform:translateY(-1px); }
.portfolio-filter.is-active { color:#0a1815; background:#a4f4d6; border-color:#a4f4d6; }
.portfolio-meta { display:flex; justify-content:space-between; gap:20px; padding:27px 2px 23px; color:#94b8ad; font-size:10px; letter-spacing:.15em; font-weight:800; }
.portfolio-meta span:first-child { color:#9af2d4; }
.portfolio-grid { display:grid; gap:20px; }
.portfolio-grid[hidden], .portfolio-empty[hidden] {display:none!important}
.portfolio-project { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr); min-height:490px; background:linear-gradient(130deg,#151f20,#101819); border:1px solid rgba(197,246,227,.12); border-radius:16px; overflow:hidden; box-shadow:0 28px 95px rgba(0,0,0,.19); }
.portfolio-project-cover { position:relative; isolation:isolate; overflow:hidden; min-height:460px; text-align:left; background:#192227; color:white; border:0; padding:0; width:100%; cursor:pointer; }
.portfolio-project-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.75,.2,1); }
.portfolio-project-cover:hover img { transform:scale(1.05); }
.portfolio-project-cover-shade {position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,12,12,.5),transparent 34%,rgba(1,9,11,.42));}
.portfolio-project-stamp { position:absolute; top:26px; left:28px; font-size:10px; color:#e5fff6; letter-spacing:.17em; font-weight:800; }
.portfolio-project-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:88px; height:88px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.69); border-radius:50%; background:rgba(10,30,31,.3); backdrop-filter:blur(9px); font-size:22px; padding-left:5px; transition:background .25s,scale .25s; box-shadow:0 20px 50px rgba(0,0,0,.28); }
.portfolio-project-cover:hover .portfolio-project-play { background:#9ef5d4; color:#081612; scale:1.12; }
.portfolio-project-length { position:absolute; bottom:26px; right:28px; font-size:10px; font-weight:800; letter-spacing:.16em; background:rgba(1,14,16,.66); border:1px solid rgba(255,255,255,.22); border-radius:30px; padding:10px 14px; }
.portfolio-project-info { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(30px,4vw,75px); min-width:0; }
.portfolio-project-category { color:#90e9c8; font-size:10px; font-weight:800; letter-spacing:.19em; line-height:1.6; }
.portfolio-project-kind { font-size:12px; color:#b5c5c0; margin-top:29px; }
.portfolio-project-info h3 { color:#fff; font:800 clamp(40px,4vw,70px)/1.06 Manrope,sans-serif; letter-spacing:-.07em; margin:7px 0 24px; }
.portfolio-project-info p { color:#b5c7c1; font-size:15px; line-height:1.85; margin:0 0 22px; max-width:370px; }
.portfolio-project-provenance { font-size:9px; color:#6fc9aa; font-weight:800; letter-spacing:.13em; line-height:1.6; }
.portfolio-watch-btn { background:#e6fff3; border:1px solid #e6fff3; border-radius:99px; color:#0d1c17; margin-top:30px; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:14px 21px; font:800 10px DM Sans,Arial,sans-serif; letter-spacing:.115em; transition:transform .2s,background .2s; }
.portfolio-watch-btn:hover { background:#a7f7d8; transform:translateY(-2px); }
.portfolio-watch-btn span {font-size:19px;}
.portfolio-empty { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.9fr); border:1px solid rgba(155,231,204,.13); border-radius:16px; overflow:hidden; background:linear-gradient(135deg,#142221,#101719); min-height:400px; }
.portfolio-empty-image { min-height:360px; position:relative; overflow:hidden; background:#121c1a; }
.portfolio-empty-image img { height:100%; width:100%; position:absolute; inset:0; object-fit:cover; filter:saturate(.87); }
.portfolio-empty-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,18,19,.83),rgba(3,18,19,.05) 62%); }
.portfolio-empty-image>span {position:absolute;left:27px;bottom:27px;letter-spacing:.15em;font-size:10px;color:#dafff1;font-weight:800;}
.portfolio-empty-copy {padding:clamp(29px,5vw,69px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;}
.portfolio-empty-copy h3 {font:800 clamp(32px,3.5vw,58px)/1.08 Manrope,sans-serif;letter-spacing:-.065em;margin:24px 0;max-width:470px;}
.portfolio-empty-copy>p {font-size:14px;line-height:1.9;color:#adc7bf;margin:0;max-width:440px;}
.portfolio-empty-link {padding:12px 0;margin-top:26px;display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid #8af0c9;color:#c3ffe6;font-size:10px;font-weight:800;letter-spacing:.12em;}
.portfolio-empty-link span {font-size:17px;}
.portfolio-endnote {margin-top:26px;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:10px;color:#8ca69e;font-weight:800;letter-spacing:.125em;}
.portfolio-note-star {color:#94f0cf;margin-right:10px;font-size:17px;}
.portfolio-endnote>a { color:#abf4d8; white-space:nowrap; border-bottom:1px solid rgba(171,244,216,.4); padding-bottom:8px; }
.portfolio-endnote>a span {font-size:17px;margin-left:10px;}
@media(max-width:1080px){
  .portfolio-head h2 {font-size:clamp(56px,8vw,90px)}
  .portfolio-project {grid-template-columns:1.05fr .95fr;min-height:430px}
  .portfolio-project-cover{min-height:420px}
  .portfolio-project-info {padding:32px}
  .portfolio-project-info h3{font-size:clamp(36px,4.8vw,58px)}
}
@media(max-width:760px){
  .portfolio-head{display:block;margin-bottom:28px}
  .portfolio-head h2{font-size:clamp(49px,11vw,76px);line-height:1.04}
  .portfolio-head>p{max-width:550px;width:auto;font-size:14px;margin:20px 0 0}
  .portfolio-filter-region{margin-inline:calc(-1*var(--side));border-bottom:0;padding:10px var(--side) 17px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(143,236,203,.45) transparent}
  .portfolio-filters{flex-wrap:nowrap;min-width:max-content;gap:8px}
  .portfolio-filter{font-size:11px;padding:10px 14px}
  .portfolio-meta{padding:18px 0;font-size:9px}
  .portfolio-meta span:last-child{display:none}
  .portfolio-project{grid-template-columns:1fr;min-height:0}
  .portfolio-project-cover{min-height:0;aspect-ratio:16/10}
  .portfolio-project-play{width:62px;height:62px;font-size:19px}
  .portfolio-project-stamp{font-size:8px;top:16px;left:17px}
  .portfolio-project-length{right:16px;bottom:14px;font-size:9px}
  .portfolio-project-info{padding:28px 24px 32px}
  .portfolio-project-kind{margin-top:20px}
  .portfolio-project-info h3{font-size:clamp(35px,8vw,55px);margin-bottom:14px}
  .portfolio-project-info p{font-size:13px;line-height:1.8;margin-bottom:17px}
  .portfolio-watch-btn{margin-top:19px}
  .portfolio-empty{grid-template-columns:1fr}
  .portfolio-empty-image{min-height:0;aspect-ratio:16/9}
  .portfolio-empty-copy{padding:27px 24px 34px}
  .portfolio-empty-copy h3{font-size:clamp(32px,8vw,49px);margin:18px 0}
  .portfolio-endnote{flex-direction:column;align-items:flex-start;gap:18px;font-size:9px}
}


/* V9: compact thumbnail cards for UGC and Cinematic AI Films; playback retains source format. */
.portfolio-grid.has-compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}

.portfolio-project--compact{display:flex;flex-direction:column;min-height:0;border-radius:15px;background:linear-gradient(180deg,#182221,#111819)}
.portfolio-project--compact .portfolio-project-cover{min-height:0;aspect-ratio:3/4;display:block}
.portfolio-project--compact .portfolio-project-cover img{object-fit:cover;object-position:center 33%;}
.portfolio-project--compact .portfolio-project-stamp{left:16px;top:18px;font-size:8px;letter-spacing:.10em}
.portfolio-project--compact .portfolio-project-play{width:65px;height:65px;font-size:20px}
.portfolio-project--compact .portfolio-project-length{right:14px;bottom:14px;font-size:9px;padding:8px 12px}
.portfolio-project--compact .portfolio-project-info{padding:22px 21px 25px;justify-content:flex-start;flex:1}
.portfolio-project--compact .portfolio-project-category{font-size:9px;letter-spacing:.10em}
.portfolio-project--compact .portfolio-project-kind{font-size:11px;margin-top:12px;color:#b3cac2}
.portfolio-project--compact .portfolio-project-info h3{font-size:clamp(21px,2vw,29px);letter-spacing:-.045em;line-height:1.16;margin:7px 0 11px}
.portfolio-project--compact .portfolio-project-info p{font-size:12px;line-height:1.65;margin:0 0 14px;color:#b1c3be}
.portfolio-project--compact .portfolio-project-provenance{font-size:8px;letter-spacing:.08em}
.portfolio-project--compact .portfolio-watch-btn{font-size:9px;margin-top:auto;padding:12px 16px;align-self:stretch}
@media(max-width:1150px){.portfolio-grid.has-compact{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:830px){.portfolio-grid.has-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portfolio-project--compact .portfolio-project-info{padding:18px}}
@media(max-width:550px){.portfolio-grid.has-compact{grid-template-columns:1fr;gap:18px}.portfolio-project--compact .portfolio-project-cover{aspect-ratio:4/4.5}.portfolio-project--compact .portfolio-project-info{padding:20px}.portfolio-project--compact .portfolio-project-info h3{font-size:28px}.portfolio-project--compact .portfolio-project-info p{font-size:13px}.portfolio-project--compact .portfolio-watch-btn{max-width:none}}

/* V9 film cards: same portrait-style grid as UGC cards, with full widescreen player on click. */
.portfolio-project--film .portfolio-project-cover img {object-position:center 48%;}
.portfolio-project--film .portfolio-project-info p {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;}
.reel-dialog video {object-fit:contain;}
.reel-dialog video.is-film {aspect-ratio:16 / 9; height:auto; width:100%; object-fit:contain;}
@media(max-width:760px){.reel-dialog video.is-film {max-height:70dvh;}}

/* V10: preserve original portrait player ratio for real-estate vertical videos. */
.reel-dialog.portrait-dialog { max-width:min(540px,94vw); width:min(540px,94vw); }
.reel-dialog video.is-portrait { aspect-ratio:9 / 16; width:auto; height:auto; max-width:100%; max-height:min(70dvh,850px); margin-inline:auto; object-fit:contain; }
.portfolio-project--compact .portfolio-project-cover img { object-position:center 40%; }

/* V13 approved brand integration: official transparent logo in the existing header. */
.brand-logo { display:block; width:183px; height:auto; max-height:52px; object-fit:contain; object-position:left center; }
@media (max-width:760px) { .brand-logo { width:157px; max-height:45px; } }
@media (max-width:360px) { .brand-logo { width:137px; max-height:40px; } }


/* V15 — approved Services copy and cinematic founder profile, scoped to these two sections. */
.services-heading-copy p:first-child{margin-bottom:8px}
.services-heading-copy p:nth-child(2){margin-bottom:22px}
.about-section{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(35px,6.5vw,116px);background:radial-gradient(ellipse at 22% 52%,rgba(23,89,72,.13),transparent 44%)}
.about-founder{position:relative;isolation:isolate;width:100%;max-width:455px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:21px}
.about-founder::before{content:"";pointer-events:none;position:absolute;z-index:-1;inset:6% -6% 8%;background:radial-gradient(ellipse at 50% 40%,rgba(56,222,162,.18),rgba(5,45,36,.08) 47%,transparent 72%);filter:blur(35px)}
.about-portrait-frame{width:100%;aspect-ratio:1122 / 1402;border-radius:15px;overflow:hidden;position:relative;background:#041511;border:1px solid rgba(130,239,198,.3);box-shadow:0 26px 75px rgba(0,0,0,.48),0 0 46px rgba(63,179,138,.10)}
.about-portrait-frame::after{content:"";position:absolute;pointer-events:none;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(216,255,238,.06),inset 0 -38px 62px rgba(0,0,0,.20)}
.about-portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.about-founder-label{display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;color:#a4f0d3;letter-spacing:.22em;font-size:11px;font-weight:800;font-family:'DM Sans',sans-serif;white-space:nowrap}
.founder-label-line{width:24px;height:1px;background:#86e9c4;opacity:.83;flex:none}
.founder-label-divider{color:#b0c7be;letter-spacing:0}
.about-copy{min-width:0}
.about-copy h2{font-size:clamp(43px,4.6vw,76px);line-height:1.06;letter-spacing:-.074em;text-wrap:balance}
.about-copy h2 em{color:#8feacc}
.about-copy p{color:#b8c7c1;line-height:1.85;font-size:15px;max-width:595px;margin:0 0 19px}
.about-copy .text-button{margin-top:17px}
@media(max-width:960px) and (min-width:761px){
  .about-section{gap:36px}
  .about-copy h2{font-size:clamp(36px,4.55vw,46px)}
  .about-copy p{font-size:13px;line-height:1.75}
}
@media(max-width:760px){
  .about-section{grid-template-columns:1fr;gap:39px;min-height:0}
  .about-founder{max-width:min(100%,400px);order:0;gap:17px}
  .about-copy{order:1}
  .about-copy h2{font-size:clamp(40px,9.2vw,67px);line-height:1.07}
  .about-copy p{font-size:14px;line-height:1.8}
  .about-founder-label{font-size:10px}
}
@media(max-width:400px){
  .about-copy h2{font-size:clamp(37px,9.25vw,46px)}
  .about-founder-label{letter-spacing:.17em}
}
/* Keep the existing two-column service gallery inside narrow tablet viewports. */
@media(min-width:761px) and (max-width:1100px){
  .service-tile{aspect-ratio:auto;min-width:0;min-height:350px}
}

/* V16: Approved Contact cards, consistent mint accents, footer links and icon-only video control. */
.motion-button, .motion-button:hover {width:43px;height:43px;min-width:43px;min-height:43px;padding:0;display:flex;align-items:center;justify-content:center;gap:0;border-radius:50%;border:1px solid rgba(148,241,212,.5);background:rgba(5,19,20,.62);color:#a6f3d7;backdrop-filter:blur(14px);box-shadow:0 4px 28px rgba(0,0,0,.25);cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.motion-button:hover{border-color:#9af2d6;background:rgba(21,61,53,.83);transform:translateY(-2px)}
.motion-button:focus-visible,.contact-card:focus-visible,.footer-contact a:focus-visible{outline:2px solid #9ef8d8;outline-offset:4px}
.motion-button .motion-icon{width:21px;height:21px;display:block;flex:none}
.motion-button:not(.is-paused) .motion-icon--play,.motion-button.is-paused .motion-icon--pause{display:none}
.motion-button.is-paused .motion-icon--play{margin-left:2px}
.contact-section{background:radial-gradient(ellipse at 85% 0%,rgba(27,99,76,.16),transparent 46%),#0b1111}
.contact-top>p{max-width:620px;color:#b9cac5}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;margin-top:58px;max-width:min(1160px,var(--max))}
.contact-info{min-width:0}
.contact-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contact-card{position:relative;min-height:184px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:26px 30px;background:linear-gradient(135deg,rgba(21,47,38,.82),rgba(12,26,25,.9));border:1px solid rgba(123,231,194,.31);border-radius:13px;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s;overflow:hidden}
.contact-card:hover{background:linear-gradient(135deg,rgba(30,67,53,.92),rgba(12,33,30,.96));border-color:#87eac8;box-shadow:0 14px 46px rgba(20,125,92,.17);transform:translateY(-3px)}
.contact-vector{width:25px;height:25px;color:#86ebc9;display:block;flex:none}
.contact-card-heading{margin-top:14px;color:#f6f8f6;font:800 16px/1.4 Manrope,sans-serif;letter-spacing:.015em}
.contact-card-description{color:#c1d7cf;font-size:13px;line-height:1.6;margin-top:4px}
.contact-card-detail{color:#90e2c4;font-size:12px;line-height:1.6;overflow-wrap:anywhere;margin-top:9px}
.contact-utilities{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:16px}
.contact-utilities .copy-email{margin:0;color:#99f0d3;font-size:10px;letter-spacing:.13em}
.contact-utilities .availability{margin:0;color:#a9c7bb;letter-spacing:.1em}
.contact-form-area{max-width:100%;min-width:0;border-top:1px solid rgba(145,238,206,.22);padding-top:43px}
.contact-form-heading{margin-bottom:30px}
.contact-form-heading .overline{color:#91eacd;margin:0 0 9px}
.contact-form-heading p{color:#aabcb5;font-size:14px;margin:0}
.contact-form-area .project-form{max-width:100%;gap:27px}
.contact-form-area .project-form label{color:#d7e7e1}
.contact-form-area .project-form input,.contact-form-area .project-form select,.contact-form-area .project-form textarea{border-color:rgba(151,198,181,.3);background:rgba(242,255,248,.04);border-radius:5px}
.contact-form-area .project-form input:focus,.contact-form-area .project-form select:focus,.contact-form-area .project-form textarea:focus{border-color:#85e9c8;box-shadow:0 0 0 3px rgba(133,233,200,.1)}
.contact-form-area .form-submit{background:#85e9c8;color:#091811;min-width:252px}
.contact-form-area .form-submit:hover{background:#a5f8de}
.contact-form-area .form-note{max-width:680px;color:#a8bcb5;font-size:12px;margin:-9px 0 0}
.site-footer{flex-wrap:wrap;row-gap:16px}
.footer-contact{display:flex;align-items:center;gap:23px;flex-wrap:wrap}
.footer-contact a{display:inline-flex;align-items:center;gap:7px;color:#c0ded3;font-size:10px;font-weight:800;letter-spacing:.08em;transition:color .2s}
.footer-contact a:hover{color:#95f2d5}
.footer-contact .contact-vector{width:16px;height:16px;color:#85e9c8}
@media(max-width:760px){.contact-layout{margin-top:40px;gap:36px}.contact-card{min-height:157px;padding:21px}.contact-top>p{font-size:14px}.contact-utilities{align-items:flex-start}.contact-form-area{padding-top:32px}.motion-button{bottom:19px;right:var(--side);width:41px;height:41px;min-width:41px;min-height:41px;padding:0}}
@media(max-width:520px){.contact-card-grid{grid-template-columns:1fr;gap:12px}.contact-card{min-height:138px;padding:20px 22px}.contact-card-heading{margin-top:8px}.contact-form-area .form-submit{width:100%;min-width:0}.contact-utilities .availability{font-size:9px}.footer-contact{width:100%;gap:18px}.site-footer>span{width:100%;order:3}}
@media(prefers-reduced-motion:reduce){.contact-card,.motion-button{transition:none}.contact-card:hover,.motion-button:hover{transform:none}}
/* Keep the keyboard skip link visually hidden until keyboard-focused. */
.skip-to-content:not(:focus){top:0;left:0;width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap;clip-path:inset(50%)}
.skip-to-content:focus-visible{top:15px;left:15px;width:auto;height:auto;padding:13px 20px;clip-path:none}

/* V17: Client-approved minimalist CTA cleanup, typography and motion-control removal. */
.header-cta{gap:0;text-align:center}
.hero-buttons .btn{justify-content:center;text-align:center}
/* Keep the familiar generous hero button proportions on desktop. */
@media(min-width:761px){
  .hero-buttons .btn-primary{width:212px;min-width:0}
  .hero-buttons .btn-ghost{width:196px;min-width:0}
}
.portfolio-watch-btn{justify-content:center;text-align:center}
.contact-form-area .form-submit{justify-content:center;text-align:center}
/* No unused CTA gap after the editorial copy in Services and Studio. */
.services-heading-copy p:last-child{margin-bottom:0}
.about-copy p:last-of-type{margin-bottom:0}
.services-bottom-line{justify-content:flex-start}
.portfolio-endnote{justify-content:flex-start}
@media(max-width:760px){
  .hero-buttons .btn{justify-content:center}
  .services-bottom-line,.portfolio-endnote{gap:0}
}

/* V18: Match original V16 hero CTA footprints, without the arrow icons. */
@media(max-width:760px){
  .hero-buttons .btn-primary{width:176px;min-width:0}
  .hero-buttons .btn-ghost{width:161px;min-width:0}
}
@media(max-width:380px){
  .hero-buttons .btn-primary{width:152px}
  .hero-buttons .btn-ghost{width:139px}
}
