@font-face { font-family:'Manrope'; font-style:normal; font-weight:400; font-display:swap; src:url('assets/fonts/manrope-400.ttf') format('truetype'); }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:500; font-display:swap; src:url('assets/fonts/manrope-500.ttf') format('truetype'); }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:600; font-display:swap; src:url('assets/fonts/manrope-600.ttf') format('truetype'); }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:700; font-display:swap; src:url('assets/fonts/manrope-700.ttf') format('truetype'); }
@font-face { font-family:'Unbounded'; font-style:normal; font-weight:400; font-display:swap; src:url('assets/fonts/unbounded-400.ttf') format('truetype'); }
@font-face { font-family:'Unbounded'; font-style:normal; font-weight:500; font-display:swap; src:url('assets/fonts/unbounded-500.ttf') format('truetype'); }
@font-face { font-family:'Unbounded'; font-style:normal; font-weight:600; font-display:swap; src:url('assets/fonts/unbounded-600.ttf') format('truetype'); }

:root { --bg:#101010; --ink:#f4f1eb; --muted:#a6a39d; --line:#363636; --accent:#e6ff3f; }
* { box-sizing:border-box } html { scroll-behavior:smooth } body { margin:0; overflow-x:hidden; position:relative; isolation:isolate; background-color:#101010; background-image:radial-gradient(circle at 13% 26%,rgba(230,255,63,.12),transparent 27%),radial-gradient(circle at 88% 73%,rgba(245,197,62,.09),transparent 25%),radial-gradient(circle at 50% 45%,rgba(54,64,77,.13),transparent 42%); background-attachment:fixed; color:var(--ink); font-family:Manrope,Arial,sans-serif; } a { color:inherit; text-decoration:none } button { font:inherit }
.ambient-particles { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none }.ambient-particles span { position:absolute; left:var(--x); top:110%; width:var(--size); height:var(--size); border-radius:50%; background:rgba(239,246,216,.68); box-shadow:0 0 7px rgba(230,255,63,.24); opacity:var(--opacity); animation:particle-drift var(--duration) linear infinite; animation-delay:var(--delay) } main,.footer { position:relative; z-index:1 }
.header { position:fixed; top:10px; left:1%; z-index:10; width:98%; display:flex; align-items:center; justify-content:space-between; padding:15px 3.2vw; overflow:hidden; border:1px solid rgba(255,255,255,.28); border-radius:22px; background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.055) 42%,rgba(13,13,13,.43) 78%),rgba(19,19,19,.52); box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.07),inset 14px 0 30px rgba(255,255,255,.025),0 14px 46px rgba(0,0,0,.28); backdrop-filter:blur(28px) saturate(185%) contrast(108%); -webkit-backdrop-filter:blur(28px) saturate(185%) contrast(108%); color:#fff; }
.header::before { content:''; position:absolute; inset:-100% 45% -100% -20%; background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.17) 50%,transparent 75%); transform:translateX(-50%); animation:glass-shimmer 9s ease-in-out infinite; pointer-events:none }.header::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 12% -30%,rgba(255,255,255,.22),transparent 42%),radial-gradient(circle at 88% 150%,rgba(230,255,63,.07),transparent 42%); pointer-events:none }.header>* { position:relative; z-index:1 }
.brand { display:flex; align-items:center; gap:0; width:clamp(175px,15vw,235px); line-height:0 }.brand img { width:calc(100% - 16px); height:auto; clip-path:inset(0 8.5% 0 0) }.brand i { width:clamp(9px,.8vw,13px); aspect-ratio:1; flex:none; margin-left:-15px; border-radius:50%; background:#ef2730; box-shadow:0 0 9px rgba(239,39,48,.72); animation:recording 1.25s steps(1,end) infinite }.header-phone { margin-left:auto; margin-right:16px; font-size:14px; font-weight:600; white-space:nowrap; text-shadow:0 1px 8px #000 }.header-socials { display:flex; align-items:center; gap:8px; margin-right:32px }.header-socials a { width:29px; height:29px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.24); border-radius:50%; transition:background .2s,color .2s,border-color .2s }.header-socials a:hover { color:#101010; background:var(--accent); border-color:var(--accent) }.header-socials svg { width:15px; height:15px; fill:currentColor }.nav { display:flex; gap:30px; font-size:14px; text-shadow:0 1px 8px #000 }.nav a:hover,.footer a:hover { color:var(--accent) }.menu-button { display:none; background:none; border:0; color:inherit; cursor:pointer }
.hero { padding-top:76px; overflow:hidden; position:relative }.hero__video { display:block; width:100%; height:auto; max-height:72vh; object-fit:contain; background:#080808 }.process__video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2 }.hero__content { padding:34px 4.2vw 26px; max-width:1050px }.hero h1 { font:500 clamp(36px,5vw,78px)/1 Unbounded,sans-serif; letter-spacing:-.072em; margin:0 }.section h2,.process h2,.modal h2 { font:500 clamp(40px,6.3vw,102px)/.98 Unbounded,sans-serif; letter-spacing:-.075em; margin:0 }.eyebrow { max-width:920px; color:#ddd; font-size:16px; line-height:1.5; margin:22px 0 25px }.button { display:inline-flex; align-items:center; gap:22px; padding:16px 19px; background:var(--accent); color:#111; border:0; font-size:14px; font-weight:700; transition:transform .25s,background .25s }.button:hover { transform:translateY(-3px); background:#f0ff82 }.button span { font-size:18px }.hero__next { width:46px; height:46px; display:grid; place-items:center; margin:0 auto 18px; border:1px solid rgba(255,255,255,.26); border-radius:50%; background:rgba(255,255,255,.07); box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 28px rgba(0,0,0,.22); backdrop-filter:blur(16px); color:white; font-size:21px; transition:transform .25s ease,background .25s ease,border-color .25s ease }.hero__next:hover { transform:translateY(4px); background:rgba(230,255,63,.15); border-color:rgba(230,255,63,.55) }.hero__next:focus-visible { outline:2px solid white; outline-offset:3px }
.accent-word { color:var(--accent) }
.section { padding:72px 4.2vw }.showreel { padding-top:28px; padding-bottom:38px }.showreel h2 { color:var(--accent) }.section-heading { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:34px }.index { color:var(--muted); margin:8px 0 0; font-size:11px; text-transform:uppercase; letter-spacing:.08em }.section h2 { max-width:67%; font-size:clamp(38px,5.5vw,82px) }.player { max-width:1050px; margin-left:auto }.player video { width:100%; aspect-ratio:16/8.3; object-fit:cover; background:#202020; display:block }
.process { min-height:470px; position:relative; overflow:hidden; display:flex; align-items:flex-start; isolation:isolate }.process__video { filter:grayscale(1) contrast(.9); opacity:.78 }.process__shade { position:absolute; inset:0; z-index:-1; background:transparent }.process__content { width:100%; padding:42px 4.2vw 46px; text-shadow:0 2px 22px rgba(0,0,0,.64) }.process__content .index { margin-bottom:18px }.process__content>p:last-of-type { margin:20px 0 0; font-size:17px; color:#eee }.process-flow { list-style:none; margin:38px 0 0; padding:0; display:grid; grid-template-columns:repeat(7,1fr); position:relative }.process-flow::before,.process-flow::after { content:''; position:absolute; top:7px; left:0; right:0; height:1px }.process-flow::before { background:rgba(255,255,255,.46) }.process-flow::after { background:var(--accent); transform:scaleX(0); transform-origin:left; animation:flow-line 8s ease-in-out infinite }.process-flow li { position:relative; padding:31px 16px 0 0; color:#eee; font-size:12px; line-height:1.35; letter-spacing:.01em }.process-flow li i { position:absolute; z-index:1; top:0; left:0; width:15px; height:15px; border:2px solid rgba(255,255,255,.7); border-radius:50%; background:#202020; animation:flow-node 8s ease-in-out infinite; animation-delay:calc(var(--step) * .72s) }.process-flow li:last-child span { color:var(--accent) }
.portfolio-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:16px }.work-card { appearance:none; grid-column:span 4; min-height:420px; position:relative; overflow:hidden; border:0; color:var(--ink); background:#1c1c1c; text-align:left; cursor:pointer; padding:0; isolation:isolate }.work-card:nth-child(1),.work-card:nth-child(4) { grid-column:span 8 }.work-card video,.work-card__poster { position:absolute; width:100%; height:100%; inset:0; object-fit:cover; z-index:-2 }.work-card video { opacity:.42; transition:transform .6s ease,opacity .4s }.work-card__poster { opacity:1; transition:opacity .18s ease }.work-card.is-playing .work-card__poster { opacity:0 }.work-card:after { content:''; position:absolute; inset:0; z-index:-1; background:rgba(0,0,0,.25) }.work-card.is-playing video { transform:scale(1.05); opacity:.68 }.work-card__body { position:absolute; left:22px; right:22px; bottom:22px }.work-card__price { color:var(--accent); font-size:12px; margin:0 0 20px }.work-card h3 { margin:0; font:500 clamp(19px,2vw,29px)/1.15 Unbounded,sans-serif; letter-spacing:-.06em }.work-card__description { margin:12px 0 0; max-width:400px; font-size:14px; line-height:1.4; color:#ddd }
.photo-cta { padding:0 4.2vw 52px }.photo-cta a { width:min(100%,540px); min-height:104px; padding:18px 22px; display:flex; align-items:flex-end; justify-content:space-between; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.035); backdrop-filter:blur(10px); overflow:hidden; transition:background .3s ease,border-color .3s ease,transform .3s ease }.photo-cta a:hover { background:var(--accent); border-color:var(--accent); color:#101010; transform:translateY(-4px) }.photo-cta span { font:500 clamp(38px,4.5vw,64px)/.8 Unbounded,sans-serif; letter-spacing:-.09em }.photo-cta i { font-style:normal; font-size:clamp(26px,2.7vw,40px); line-height:.7 }
.contacts { border-top:1px solid var(--line) }.contacts__layout { display:grid; grid-template-columns:1fr 2fr; gap:40px }.contacts__quote { max-width:280px; margin:0; padding-left:18px; border-left:1px solid var(--accent); color:var(--muted); font-size:12px; line-height:1.55 }.contacts__content { min-width:0 }.button--large { margin-bottom:76px; padding:21px 25px; font-size:16px }.contact-list { border-top:1px solid var(--line) }.contact-list a { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:17px 0; border-bottom:1px solid var(--line); font-size:15px; transition:color .2s,padding .2s }.contact-list a:hover { color:var(--accent); padding-left:5px }.contact-list>a>span:last-child { color:var(--muted) }.contact-label { display:flex; align-items:center; gap:12px; color:var(--ink) }.contact-label svg { width:23px; height:23px; flex:none; fill:currentColor }.footer { padding:25px 4.2vw; border-top:1px solid var(--line); display:flex; gap:35px; flex-wrap:wrap; color:var(--muted); font-size:12px }.footer div { margin-left:auto; display:flex; gap:22px }.footer a { transition:color .2s }
.owner-info-button { padding:0; border:0; background:none; color:inherit; cursor:pointer; font-size:inherit; transition:color .2s }.owner-info-button:hover { color:var(--accent) }
.owner-modal { width:min(420px,calc(100% - 32px)); padding:0; border:1px solid rgba(255,255,255,.16); border-radius:12px; background:rgba(20,20,20,.9); color:var(--ink); box-shadow:0 24px 80px rgba(0,0,0,.55); backdrop-filter:blur(20px) }.owner-modal::backdrop { background:rgba(0,0,0,.55); backdrop-filter:blur(5px) }.owner-modal__content { padding:28px 32px 30px }.owner-modal__content p { margin:0 0 14px; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em }.owner-modal__content small { display:block; max-width:330px; font-size:10px; line-height:1.65; color:#c8c5bf }.owner-modal__content a { color:var(--accent) }.owner-modal__close { position:absolute; top:8px; right:10px; padding:4px 8px; border:0; background:none; color:var(--muted); font-size:20px; cursor:pointer }
.modal { width:min(1180px,calc(100% - 30px)); max-height:94vh; border:1px solid rgba(255,255,255,.2); padding:0; background:radial-gradient(circle at 90% 10%,rgba(230,255,63,.08),transparent 25%),#151515; color:var(--ink) }.modal::backdrop { background:rgba(0,0,0,.82); backdrop-filter:blur(7px) }.modal__inner { padding:clamp(28px,5vw,70px) }.modal h2 { max-width:960px; font-size:clamp(40px,5.2vw,78px) }.modal__inner>p:not(.index):not(.modal__estimate) { max-width:860px; color:#bbb; line-height:1.62; margin:22px 0 48px; white-space:pre-line }.modal__close { position:sticky; z-index:3; float:right; top:14px; margin:14px 18px 0 0; border:1px solid rgba(255,255,255,.2); width:44px; height:44px; border-radius:50%; background:rgba(20,20,20,.68); backdrop-filter:blur(12px); color:var(--ink); font-size:30px; cursor:pointer; line-height:1 }.modal__videos { display:flex; flex-direction:column; gap:32px; max-width:960px; margin:0 0 24px auto }.modal__video { position:relative; margin:0; padding-top:29px }.modal__video>span { position:absolute; top:0; left:0; color:var(--accent); font:500 11px Unbounded,sans-serif; letter-spacing:.1em }.modal__videos video { display:block; width:100%; aspect-ratio:16/9; object-fit:contain; background:#090909; border:1px solid rgba(255,255,255,.12); box-shadow:0 22px 50px rgba(0,0,0,.25) }.modal__estimate { max-width:760px; margin:0 0 36px auto; color:#777; font-size:10px; line-height:1.5 }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease,transform .7s ease }.reveal.visible { opacity:1; transform:none } @keyframes recording { 50% { opacity:.12; box-shadow:none } } @keyframes particle-drift { 0% { transform:translate3d(0,0,0); opacity:0 } 12% { opacity:var(--opacity) } 88% { opacity:var(--opacity) } 100% { transform:translate3d(var(--drift),-120vh,0); opacity:0 } } @keyframes glass-shimmer { 0%,70%,100% { transform:translateX(-55%) } 84% { transform:translateX(175%) } } @keyframes flow-line { 0%,8% { transform:scaleX(0); opacity:.5 } 75%,88% { transform:scaleX(1); opacity:1 } 100% { transform:scaleX(1); opacity:0 } } @keyframes flow-node { 0%,12%,100% { background:#202020; border-color:rgba(255,255,255,.55); box-shadow:none } 18%,45% { background:var(--accent); border-color:var(--accent); box-shadow:0 0 15px rgba(230,255,63,.45) } 58% { background:#202020; border-color:rgba(255,255,255,.55); box-shadow:none } }
@media (max-width:700px) { .header{padding:14px 16px}.brand{width:126px}.brand i{margin-left:-2px}.header-phone{margin-right:8px;font-size:10px}.header-socials{gap:5px;margin-right:8px}.header-socials a{width:25px;height:25px}.menu-button{display:block;font-size:13px}.nav{position:absolute; top:62px; right:14px; display:none; flex-direction:column; gap:0; padding:8px 15px; background:rgba(23,23,23,.78); backdrop-filter:blur(20px); border:1px solid #555; mix-blend-mode:normal}.nav.open{display:flex}.nav a{padding:10px}.hero{padding-top:61px}.hero__video{max-height:none}.hero__content{padding:24px 20px 22px}.hero h1{font-size:clamp(32px,9vw,48px)}.eyebrow{font-size:14px;line-height:1.48;margin:18px 0 21px}.hero__next{width:42px;height:42px;margin-bottom:12px}.section{padding:44px 20px}.showreel{padding-top:24px;padding-bottom:26px}.section-heading{display:block;margin-bottom:26px}.section h2{max-width:100%;margin-top:14px}.player{margin-left:0}.process{height:auto}.process__content{padding:42px 20px}.portfolio-grid{grid-template-columns:1fr;gap:10px}.work-card,.work-card:nth-child(n){grid-column:auto;min-height:360px}.work-card__body{left:17px;right:17px;bottom:17px}.photo-cta{padding:0 20px 38px}.photo-cta a{min-height:82px;max-width:230px;padding:14px 16px}.contacts__layout{grid-template-columns:1fr;gap:30px}.contacts__quote{max-width:320px}.button--large{margin-bottom:32px}.contact-list a{font-size:13px}.footer{padding:24px 20px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.footer div{margin:0;grid-column:1/-1;gap:17px}.modal__inner{padding:26px 18px 34px}.modal h2{font-size:28px;line-height:1.03}.modal__inner>p:not(.index):not(.modal__estimate){margin-bottom:28px}.modal__videos{gap:22px;margin-bottom:18px}.modal__video{padding-top:24px}.modal__estimate{margin-bottom:24px} }
@media (max-width:700px) { .process{height:auto;min-height:0}.process__content{padding:42px 20px}.process-flow{grid-template-columns:1fr;gap:13px;margin-top:28px;padding-left:2px}.process-flow::before{top:6px;bottom:6px;left:9px;right:auto;width:1px;height:auto}.process-flow::after{display:none}.process-flow li{min-height:34px;padding:0 0 0 34px;font-size:13px}.process-flow li i{top:2px;left:2px}.photo-cta a{min-height:82px;max-width:230px;padding:14px 16px}.photo-cta span{font-size:34px}.photo-cta i{font-size:26px} }
body.is-inactive .ambient-particles span,body.is-inactive .header::before,body.is-inactive .brand i { animation-play-state:paused }
@media (prefers-reduced-motion:reduce) { *,*:before,*:after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important }.reveal { opacity:1; transform:none } }

/* Owner information: readable secondary text on every screen size. */
.footer .footer__legal { flex-basis:100%; grid-column:1/-1; margin:0; padding-top:18px; border-top:1px solid var(--line); display:block; font-size:.875rem; line-height:1.65; color:#b8b5af; overflow-wrap:anywhere; }
.footer__legal a { text-decoration:underline; text-underline-offset:.2em; }
.footer__legal a:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }

/* Responsive opening film and an edge-to-edge reel carousel. */
.hero__media { position:relative; width:100%; height:calc(100svh - 76px); min-height:360px; max-height:900px; background:#080808; }
.hero__media .hero__next { position:absolute; z-index:3; left:50%; bottom:20px; margin:0; background:rgba(12,12,12,.46); border-color:rgba(255,255,255,.4); transform:translateX(-50%); }
.hero__media .hero__next:hover { transform:translateX(-50%) translateY(4px); }
.hero__media .hero__video { width:100%; height:100%; max-height:none; object-fit:cover; }
.reels-section { padding:26px 0 32px; overflow:hidden; scroll-margin-top:86px; }
.reels-section__heading { padding:0 4.2vw; margin-bottom:8px; }
.reels-carousel { position:relative; width:100%; background:transparent; }
.reels-carousel__arrow { position:absolute; z-index:6; top:50%; width:46px; height:46px; display:grid; place-items:center; padding:0 0 3px; border:1px solid rgba(255,255,255,.34); border-radius:50%; background:rgba(14,14,14,.58); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 9px 28px rgba(0,0,0,.34); backdrop-filter:blur(16px); color:white; font-size:31px; line-height:1; cursor:pointer; transform:translateY(-50%); transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.reels-carousel__arrow:hover { background:rgba(230,255,63,.2); border-color:rgba(230,255,63,.62); transform:translateY(-50%) scale(1.05); }
.reels-carousel__arrow:focus-visible { outline:1px solid white; outline-offset:2px; }
.reels-carousel__arrow[data-reel-direction="-1"] { left:18px; }
.reels-carousel__arrow[data-reel-direction="1"] { right:18px; }
.reels-carousel__viewport { width:100%; overflow:hidden; padding:20px 0 28px; touch-action:pan-y pinch-zoom; outline:none; }
.reels-carousel__viewport:focus-visible { outline:none; box-shadow:none; }
.reels-carousel__track { --reels-blur:0px; display:flex; gap:10px; width:max-content; transform:translate3d(0,0,0); filter:blur(var(--reels-blur)); will-change:transform,filter; }
.reels-carousel__set { display:flex; gap:10px; }
.reel-card { appearance:none; position:relative; flex:0 0 clamp(180px,17vw,250px); width:clamp(180px,17vw,250px); aspect-ratio:9/16; overflow:hidden; padding:0; border:1px solid rgba(255,255,255,.13); border-radius:14px; background:#171717; box-shadow:0 15px 34px rgba(0,0,0,.3); color:white; cursor:pointer; transform:translateZ(0) scale(1); transition:transform .28s cubic-bezier(.2,.75,.2,1),box-shadow .28s ease,border-color .28s ease; }
.reel-card img,.reel-card video { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; }
.reel-card img { z-index:1; opacity:1; transition:opacity .2s ease; }
.reel-card video { z-index:2; opacity:0; background:#090909; transition:opacity .2s ease; }
.reel-card.is-playing { z-index:3; transform:scale(1.035); border-color:rgba(255,255,255,.28); box-shadow:0 20px 46px rgba(0,0,0,.42); }
.reel-card.is-playing img { opacity:0; }
.reel-card.is-playing video { opacity:1; }
.reel-card:focus,.reel-card:focus-visible { z-index:4; outline:none; box-shadow:0 15px 34px rgba(0,0,0,.3); }
.reel-lightbox { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:20px; border:0; background:rgba(5,5,5,.96); color:white; }
.reel-lightbox[open] { display:grid; place-items:center; }
.reel-lightbox::backdrop { background:rgba(0,0,0,.88); backdrop-filter:blur(10px); }
.reel-lightbox__video { display:block; width:auto; height:min(92dvh,960px); max-width:94vw; max-height:92dvh; aspect-ratio:9/16; object-fit:contain; border-radius:12px; background:#050505; box-shadow:0 26px 80px rgba(0,0,0,.65); }
.reel-lightbox__close { position:fixed; z-index:2; top:18px; right:20px; width:46px; height:46px; padding:0; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:rgba(18,18,18,.72); color:white; font-size:30px; line-height:1; cursor:pointer; backdrop-filter:blur(12px); }
.reel-lightbox__close:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.mobile-only-break { display:inline; }
@media (max-width:700px) {
  .hero__media { height:calc(100svh - 76px); min-height:400px; max-height:none; }
  .hero__media .hero__next { bottom:14px; }
  .hero { padding-top:76px; }
  .reels-section { padding:18px 0 10px; scroll-margin-top:72px; }
  .reels-section__heading { padding:0 20px; margin-bottom:4px; }
  .reels-carousel__viewport { padding:14px 0 10px; }
  .reels-carousel__track,.reels-carousel__set { gap:8px; }
  .reels-carousel__arrow { width:38px; height:38px; font-size:26px; }
  .reels-carousel__arrow[data-reel-direction="-1"] { left:7px; }
  .reels-carousel__arrow[data-reel-direction="1"] { right:7px; }
  .reel-card { flex-basis:clamp(142px,42vw,188px); width:clamp(142px,42vw,188px); border-radius:11px; box-shadow:0 11px 25px rgba(0,0,0,.3); }
  .reel-lightbox { padding:0; }
  .reel-lightbox__video { width:100vw; height:100dvh; max-width:none; max-height:none; border-radius:0; }
  .reel-lightbox__close { top:max(12px,env(safe-area-inset-top)); right:12px; }
  .mobile-only-break { display:block; }
  .modal h2 .mobile-only-break { font-size:inherit; }
  .modal h2.is-industry { max-width:calc(100% - 46px); font-size:21px; line-height:1.12; letter-spacing:-.055em; }
  .portfolio { padding-top:24px; padding-bottom:32px; }
  .process__content { padding-top:26px; padding-bottom:24px; }
  .photo-cta { padding-bottom:34px; }
  .photo-cta a { width:180px; min-height:64px; padding:11px 13px; }
  .photo-cta span { font-size:25px; }
  .photo-cta i { font-size:21px; }
}
@media (prefers-reduced-motion:reduce) { .reels-carousel__track { filter:none!important; }.reel-card { transition:none; } }

/* Pointer hint for clickable video cards on mouse devices. */
.menu-button { white-space:nowrap; text-shadow:0 1px 8px #000; }
.portfolio { scroll-margin-top:90px; }
.click-cursor { position:fixed; z-index:999; left:0; top:0; width:42px; height:42px; pointer-events:none; opacity:0; border:1px solid rgba(230,255,63,.95); border-radius:50%; box-shadow:0 0 18px rgba(230,255,63,.18); transform:translate(-50%,-50%) scale(.56); transition:opacity .16s ease,transform .16s ease; }
.click-cursor::before { content:''; position:absolute; inset:-7px; border:1px solid rgba(230,255,63,.42); border-radius:inherit; animation:click-cursor-pulse 1.15s ease-out infinite; }
.click-cursor::after { content:''; position:absolute; left:50%; top:50%; width:4px; height:4px; border-radius:50%; background:var(--accent); transform:translate(-50%,-50%); box-shadow:0 0 8px rgba(230,255,63,.8); }
.click-cursor.is-visible { opacity:1; transform:translate(-50%,-50%) scale(1); }
@keyframes click-cursor-pulse { 0% { opacity:.8; transform:scale(.72) } 70%,100% { opacity:0; transform:scale(1.35) } }
@media (hover:none),(pointer:coarse),(max-width:700px) { .click-cursor { display:none; } }
.modal__videos video::-webkit-media-controls-loading-panel { display:none; }
.modal__poster-button { position:absolute; z-index:2; top:29px; left:0; width:100%; aspect-ratio:16/9; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.12); background:#090909; color:#111; cursor:pointer; opacity:1; visibility:visible; transition:opacity .2s ease,visibility 0s linear .2s; }
.modal__poster-button img { display:block; width:100%; height:100%; object-fit:cover; }
.modal__poster-button i { position:absolute; left:50%; top:50%; display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:rgba(230,255,63,.92); box-shadow:0 10px 30px rgba(0,0,0,.3); font-style:normal; font-size:20px; transform:translate(-50%,-50%); transition:transform .2s ease,background .2s ease; }
.modal__poster-button:hover i { background:#f0ff82; transform:translate(-50%,-50%) scale(1.08); }
.modal__poster-button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.modal__video.is-playing .modal__poster-button { opacity:0; visibility:hidden; }
@media (max-width:700px) { .modal__poster-button { top:24px; }.modal__poster-button i { width:48px; height:48px; font-size:17px; } }
