/* Editing backdrop for the hero and portfolio; content stays in front. */
:root{--rail:31%;--scene-lime:#d3ff54}
body{background:#080b0a;isolation:isolate}
main,footer{position:relative;z-index:1}
.site-header{z-index:70;background:#090c0bf2}
.site-header .motion-toggle{order:3;font-size:12px;text-decoration:none;border:1px solid #68784e;border-radius:30px;padding:9px 14px;color:#d1dfbf;min-height:44px}
.primary-nav{order:2;margin-left:auto}
.menu-toggle{order:4}
.header-inner{gap:22px}
#cinema-world{position:absolute;inset:0 0 auto;height:100vh;z-index:0;pointer-events:none;overflow:hidden}
.scene-managed #cinema-world{position:fixed;inset:0;height:100%}
#cinema-canvas{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;opacity:0;transition:opacity .8s}
.world-ready #cinema-canvas{opacity:1}
#world-fallback{position:absolute;left:var(--scene-left,53%);top:var(--scene-top,17%);width:var(--scene-width,43%);height:var(--scene-height,63%);z-index:0;pointer-events:none;perspective:1100px;display:grid;place-items:center;transition:opacity .6s}
.world-ready #world-fallback{opacity:0;visibility:hidden}
.fallback-console{width:82%;padding:16px;background:linear-gradient(140deg,#394631,#0e140f 40%,#20271b);border:1px solid #bfe08570;border-radius:18px;box-shadow:20px 35px 65px #0008,0 0 60px #b9ff141a;transform:rotateY(-22deg) rotateX(10deg) rotateZ(-7deg);animation:console-float 7s ease-in-out infinite}
.fallback-slate{display:flex;justify-content:space-between;gap:8px;border-top:14px solid #c6ff39;padding:12px 3px;font:11px monospace;letter-spacing:.07em;color:#daffc0}
.fallback-screen{display:flex;gap:8px;padding:12px;background:#040704;border-radius:5px}
.fallback-screen img{width:calc((100% - 16px)/3);height:auto;object-fit:cover;border-radius:3px}
.fallback-tracks{display:grid;gap:6px;margin-top:15px}
.fallback-tracks i{height:8px;background:repeating-linear-gradient(90deg,#c6ff3977 0 16%,transparent 16% 18%,#aa90ef88 18% 34%);border-radius:2px}
.fallback-tracks i:nth-child(even){transform:scaleX(.82);transform-origin:left}
.hero{padding-top:54px;gap:18px 20px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.hero h1{font-size:clamp(4rem,7.2vw,7.2rem);line-height:1.01;margin-top:26px}
.title-line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.015em;perspective:800px}
.title-line>span,.title-line>em{display:block;transform-origin:50% 100%}
.hero h1 em{margin:0;line-height:1.04}
.hero-visual{align-self:stretch;display:flex;flex-direction:column;min-width:0}
#hero-stage-anchor{flex:1;min-height:535px;width:100%}
.stage-topline{padding:10px 0;color:#bccaa4;font-size:11px;gap:20px}
.stage-controls{margin:0;position:relative;z-index:30;gap:18px}
.stage-instruction{font:11px monospace;color:#98a386}
.hero-foot{margin-top:30px}
.hero-description{font-size:16px;max-width:410px}
.edit-marquee{padding:22px 0;overflow:hidden;border-block:1px solid #586c384a;background:#11190e}
.marquee-track{width:max-content;display:flex;gap:44px;align-items:center;animation:marquee 30s linear infinite;will-change:transform}
.marquee-track span{font-size:clamp(24px,3.5vw,48px);line-height:1.2;letter-spacing:-.03em;white-space:nowrap;color:#e0e9d1}
.marquee-track span:nth-of-type(even){color:transparent;-webkit-text-stroke:1px #b2c88d}
.marquee-track b{font-size:38px;line-height:1;font-weight:400;color:var(--lime)}
.section>.shell{padding-right:var(--rail)}
.section-heading{grid-template-columns:1fr;margin-bottom:44px;gap:24px}
.section-heading h2{font-size:clamp(2.9rem,5vw,4.8rem);line-height:1.05;letter-spacing:-.045em}
.section-intro{max-width:480px;font-size:16px}
.section-intro br{display:none}
.section-intro .muted{display:block;font-size:14px}
.work-section{background:radial-gradient(ellipse at 93% 20%,#2d382719,transparent 45%)}
.work-section>.shell{padding-right:0}
.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 28px;perspective:1400px}
.work-card{perspective:1400px;min-width:0}
.film{transform-style:preserve-3d;transform-origin:center;position:relative}
.film-media{aspect-ratio:3/4;border:1px solid #6b844f77;border-radius:12px;transform-origin:center 70%;box-shadow:0 20px 45px #0006}
.film-media>img,.hover-preview{object-fit:contain}
.film-media::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff08;background:linear-gradient(145deg,#d3ff540c,transparent 40%)}
.film-info{min-height:82px;padding-top:20px}
.film-info h3{font-size:20px;line-height:1.3}
.film-info p{font-size:12px}
.film.is-previewing .film-duration{border-color:#c6ff3977}
.film.is-previewing .film-duration::before{content:'';display:inline-block;width:5px;height:5px;background:var(--lime);border-radius:50%;margin-right:6px}
.film-play{font-size:11px}
.film:hover .film-play,.film:focus-visible .film-play{transform:scale(1.08)}
.film-watch{font-size:12px;padding:11px 15px}
.work-bottom{font-size:14px}
.services-section{background:#172016;color:#f0f4e8;border-block:1px solid #52603b66}
.services-section .section-intro,.services-section .section-number{color:#b4bfa6}
.service-row{position:relative;grid-template-columns:28px minmax(0,1fr);column-gap:20px;row-gap:13px;padding:30px 0;border-color:#7a8b5860}
.service-row h3{font-size:clamp(1.5rem,2.6vw,2.25rem)}
.service-row p{grid-column:2;max-width:470px;color:#b5c0a8;font-size:16px}
.service-index{color:var(--lime);font-size:13px}
.service-tag{display:none}
.services-note{font-size:14px;flex-direction:column;gap:12px}
.services-note span{color:#b8c4a7;font-size:14px}
.studio-section{background:radial-gradient(ellipse at 85% 30%,#7865a520,transparent 50%),#0c0e10}
.studio-grid{grid-template-columns:1fr 1.4fr;gap:7%;align-items:center}
.team-art>span{font-size:clamp(120px,17vw,255px)}
.team-art p{font-size:12px;letter-spacing:.02em}
.studio-copy h2{font-size:clamp(2.9rem,5vw,4.8rem)}
.studio-copy>p:not(.large-copy){font-size:16px}
.studio-copy .large-copy{font-size:24px}
.process-section{background:#11170f}
.process-grid{grid-template-columns:1fr;gap:34px}
.process-grid article{display:grid;grid-template-columns:42px 1fr;gap:12px 22px}
.process-grid h3{margin:0;font-size:28px}
.process-grid p{grid-column:2;max-width:500px;margin:0;font-size:16px}
.process-number{padding-top:5px}
.contact-section{background:linear-gradient(120deg,#d5ff6a,#b9ed30);position:relative}
.contact-grid{grid-template-columns:1fr;gap:46px}
.contact-section h2{font-size:clamp(3.6rem,7vw,6.4rem)}
.contact-intro{max-width:490px;font-size:16px}
.brief-panel{max-width:520px}
.brief-panel>p:not(.eyebrow){font-size:14px}
.brief-fields label{font-size:14px}
.site-footer .shell{padding-right:var(--rail)}
.footer-wordmark{font-size:clamp(2rem,7.4vw,7.4rem);margin-top:54px}
.footer-top{flex-wrap:wrap}
.footer-top>p{font-size:14px}
.footer-bottom{font-size:12px}
.footer-bottom>span:nth-child(2){display:none}
.button,.text-link,.primary-nav{font-size:14px}
.eyebrow{font-size:13px}
@keyframes console-float{0%,100%{transform:rotateY(-22deg) rotateX(10deg) rotateZ(-7deg) translateY(0)}50%{transform:rotateY(0deg) rotateX(-4deg) rotateZ(3deg) translateY(-18px)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(min-width:1600px){.hero h1{font-size:116px}#hero-stage-anchor{min-height:640px}}
@media(max-width:1199px) and (min-width:1024px){.shell{width:calc(100% - 64px)}.primary-nav{gap:18px}.header-inner{gap:14px}.hero h1{font-size:76px}.stage-instruction{display:none}.studio-grid{grid-template-columns:1fr}.team-art{display:flex;align-items:center;gap:35px}.team-art>span{font-size:150px}.team-lines{display:none}}
@media(max-width:1023px){
  html{scroll-padding-top:96px}
  #cinema-world{opacity:.16}
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .header-inner{min-height:72px;flex-wrap:wrap}
  .brand{order:1}
  .site-header .motion-toggle{order:2;margin-left:auto;font-size:11px;padding:7px 12px}
  .menu-toggle:not([hidden]){display:flex;order:3;gap:10px;padding:8px 12px}
  .primary-nav{order:4;width:100%;margin:0;padding:14px 0 20px;gap:4px;align-items:stretch;flex-direction:column;border-top:1px solid var(--line)}
  .js-nav .primary-nav{display:none}.js-nav .primary-nav.is-open{display:flex}
  .primary-nav a{padding:12px 6px;min-height:44px}
  .primary-nav .nav-cta{justify-content:space-between;margin-top:8px;padding:12px 18px}
  .hero{grid-template-columns:1fr;padding-top:42px}
  .hero-copy{max-width:640px}
  .hero h1{font-size:clamp(4rem,10vw,6.4rem)}
  .hero h1 .title-line{display:block}
  .hero h1 em{margin-left:0}
  .hero-visual{display:none}
  .hero-foot{margin-top:20px}
  .hero-description{font-size:16px;max-width:540px}
  .section>.shell,.site-footer .shell{padding-right:0}
  .section-heading{grid-template-columns:1fr 1fr;gap:30px}
  .section-heading h2{font-size:clamp(2.9rem,6vw,4.8rem)}
  .studio-grid{grid-template-columns:1fr 1.2fr;gap:8%}
  .team-art>span{font-size:180px}
  .contact-grid{grid-template-columns:1fr 1fr;gap:40px}
  .contact-section h2{font-size:clamp(3rem,6.6vw,4.5rem)}
  .footer-wordmark{font-size:10.6vw}
  .fallback-console{width:min(88%,330px);padding:7px;border-radius:10px}
  .fallback-slate{font-size:7px;padding:3px;border-top-width:8px}
  .fallback-screen{padding:4px;gap:4px;height:90px}
  .fallback-screen img{width:calc((100% - 8px)/3);height:100%;object-fit:contain}
  .fallback-tracks{margin-top:5px;gap:3px}
  .fallback-tracks i{height:3px}
}
@media(max-width:599px){
  html{scroll-padding-top:88px}
  .header-inner{min-height:65px;gap:10px}
  .brand{gap:9px;font-size:11px}
  .brand-mark{font-size:31px}
  .brand-secondary{font-size:9px}
  .site-header .motion-toggle{font-size:12px;padding:7px 10px}
  .menu-toggle{font-size:12px}
  .menu-toggle span{font-size:17px}
  .hero{padding-top:30px;gap:10px}
  .hero h1{font-size:clamp(3.5rem,13vw,4.8rem);line-height:1.03;margin-top:20px}
  .hero-copy>.eyebrow{font-size:11px}
  .hero-description{font-size:16px}
  .hero-actions .button{font-size:14px}
  .fiverr-proof{margin-top:22px;font-size:13px}
  .hero-foot{font-size:12px;margin-top:20px}
  .hero-foot>div{font-size:11px}
  .edit-marquee{padding-block:18px}
  .marquee-track{gap:26px}
  .marquee-track span{font-size:26px}
  .marquee-track b{font-size:30px}
  .section{padding-block:66px}
  .section-heading{grid-template-columns:1fr;gap:23px}
  .section-heading h2{font-size:clamp(2.8rem,10.5vw,4rem)}
  .section-intro{font-size:16px}
  .eyebrow{font-size:12px}
  .work-filters button{font-size:13px}
  .work-grid{grid-template-columns:1fr;gap:36px}
  .work-card{max-width:420px}
  .film-media{aspect-ratio:3/4}
  .film-info h3{font-size:20px}
  .film-info{min-height:75px}
  .service-row p{font-size:16px}
  .service-row h3{font-size:24px}
  .services-note{font-size:14px}
  .studio-grid{grid-template-columns:1fr;gap:38px}
  .team-art{display:flex;gap:28px;align-items:center}
  .team-art>span{font-size:150px}
  .team-art p{font-size:11px}
  .team-lines{display:none}
  .studio-copy h2{font-size:clamp(2.8rem,10.5vw,4rem)}
  .studio-copy .large-copy{font-size:23px}
  .process-grid h3{font-size:24px}
  .process-grid p{font-size:16px}
  .process-grid article{grid-template-columns:26px 1fr;column-gap:18px}
  .contact-grid{grid-template-columns:1fr;gap:36px}
  .contact-section h2{font-size:clamp(3.1rem,12.5vw,4.6rem)}
  .brief-panel{padding:24px}
  .footer-wordmark{font-size:10.3vw}
  .site-footer .footer-top{display:grid}
  .footer-top>.text-link{font-size:13px}
  .video-dialog{max-height:calc(100dvh - 20px)}
  #portfolio-player{height:65dvh}
}
@media(max-width:359px){
  .site-header .motion-toggle{padding:6px 7px;font-size:11px}
  .menu-toggle:not([hidden]){padding:6px 9px;gap:5px}
  .header-inner{gap:8px}
  .hero h1{font-size:3.2rem}
  .hero-copy>.eyebrow{font-size:10px}
  .brief-panel{padding:18px}
}
@media(prefers-reduced-motion:reduce){.marquee-track,.fallback-console{animation:none}}
html.motion-paused .marquee-track,html.motion-paused .fallback-console{animation-play-state:paused}
