*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080808;color:#f2f2ef;font-family:Arial,Helvetica,sans-serif;font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.noise{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.nav{height:80px;position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:linear-gradient(#080808e8,transparent);font-size:10px;letter-spacing:.14em}.brand{font-weight:700}.desktop-nav{display:flex;gap:30px;align-items:center}.desktop-nav a{opacity:.65;transition:.3s}.desktop-nav a:hover{opacity:1}.nav-cta{padding:12px 15px;border:1px solid #3a3a3a;opacity:1!important}.nav-cta b{margin-left:8px}.mobile-nav,.menu-toggle{display:none}.hero{height:100svh;min-height:650px;position:relative;overflow:hidden;background:#080808}.hero-video,.hero-video video{position:absolute;inset:0;width:100%;height:100%}.hero-video video{object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#000c 0%,#0004 55%,#0008 100%),linear-gradient(0deg,#000d 0%,transparent 48%,#0006 100%)}.hero-grid{position:absolute;inset:0;opacity:.12;background:linear-gradient(90deg,transparent 49.9%,#fff 50%,transparent 50.1%),linear-gradient(0deg,transparent 49.9%,#fff 50%,transparent 50.1%);background-size:25% 100%,100% 50%;mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent)}.hero-content{position:absolute;left:8vw;bottom:16vh}.eyebrow,.number,.filters,.orbit-hint,.project-detail .meta,.hero-meta,.hero-status,.footer,.showreel-note{font:9px/1.4 monospace;letter-spacing:.15em}.eyebrow{color:#aaa}.hero h1{font-size:clamp(64px,11vw,172px);line-height:.77;letter-spacing:-.075em;margin:20px 0 28px;font-weight:600}.hero h1 em,.statement-section h2 em,.about-grid h2 em,.showreel-card h2 em,.contact-section h2 em,.service-grid h3 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.08em}.tagline{font:18px Georgia,serif;color:#ccc;margin:0 0 30px}.hero-actions{display:flex;gap:10px}.button{display:inline-block;padding:15px 20px;border:1px solid #555;font-size:10px;letter-spacing:.12em;transition:.3s}.button.solid{background:#eee;color:#080808;border-color:#eee}.button:hover{transform:translateY(-2px);background:#eee;color:#080808}.hero-meta{position:absolute;left:8vw;right:5vw;bottom:35px;display:flex;justify-content:space-between;color:#777}.hero-status{position:absolute;right:5vw;bottom:95px;color:#777}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#ddd;margin-right:8px}.reveal{opacity:0;transform:translateY(24px);animation:in .9s forwards}.d1{animation-delay:.1s}.d2{animation-delay:.2s}.d3{animation-delay:.3s}.d4{animation-delay:.45s}@keyframes in{to{opacity:1;transform:none}}.section{padding:125px 7vw}.section-top{display:flex;justify-content:space-between;gap:40px;margin-bottom:68px}.section-top>div{display:flex;gap:18px}.number{color:#555}.section-top p{max-width:350px;color:#70706d;font-size:12px;line-height:1.7;margin:0}.filters{display:flex;gap:25px;overflow:auto;padding-bottom:10px;margin:-25px 0 30px}.filters button{color:#666;white-space:nowrap;padding-bottom:8px;border-bottom:1px solid transparent}.filters button.active,.filters button:hover{color:#eee;border-color:#eee}.orbit-wrap{position:relative;min-height:620px;display:flex;align-items:center;justify-content:center;overflow:hidden}.orbit{width:min(78vw,950px);height:570px;position:relative;perspective:1500px;transform-style:preserve-3d;touch-action:pan-y;outline:none}.project-card{position:absolute;left:50%;top:50%;width:min(42vw,440px);height:min(30vw,300px);min-height:220px;transform-style:preserve-3d;cursor:pointer;transition:transform .72s cubic-bezier(.2,.8,.2,1),opacity .45s,filter .45s;will-change:transform}.project-card .visual{position:relative;width:100%;height:100%;overflow:hidden;background:linear-gradient(135deg,#181818,#363636)}.project-card .visual.has-image{background-size:cover;background-position:center}.project-card .visual:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff2,transparent 32%,#0008);z-index:1}.project-card .visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000b,transparent 48%);z-index:1}.project-card .name{position:absolute;z-index:3;left:18px;bottom:17px;max-width:85%;font-size:16px;line-height:1.1}.project-card .number{position:absolute;z-index:3;left:18px;top:16px;color:#ccc}.project-card .category{position:absolute;z-index:3;right:18px;top:16px;color:#bbb;font:8px monospace;letter-spacing:.13em}.orbit-arrow{position:absolute;z-index:10;top:50%;width:48px;height:48px;border:1px solid #333;border-radius:50%;transform:translateY(-50%);transition:.3s}.orbit-arrow:hover{background:#eee;color:#080808}.prev{left:1vw}.next{right:1vw}.orbit-hint{position:absolute;bottom:7px;color:#555}.project-detail{text-align:center;min-height:105px;padding:0 15px}.project-detail h3{font-size:28px;letter-spacing:-.045em;font-weight:500;margin:0 0 8px}.project-detail p{max-width:600px;margin:auto;color:#777;font-size:11px;line-height:1.7}.project-detail .meta{color:#555;margin-bottom:11px}.services-section{background:#0b0b0b}.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #262626}.service-grid article{min-height:285px;padding:30px;position:relative;border-bottom:1px solid #262626;transition:.35s}.service-grid article:nth-child(odd){border-right:1px solid #262626}.service-grid article:hover{background:#111}.service-grid small{font:9px monospace;color:#555}.service-grid h3{font-size:34px;line-height:.95;font-weight:400;margin:60px 0 15px;letter-spacing:-.05em}.service-grid p{max-width:400px;color:#777;font-size:12px;line-height:1.8}.service-arrow{position:absolute;right:30px;top:30px;color:#555}.statement-section{min-height:82vh;padding:12vw 7vw;display:flex;align-items:center;border-top:1px solid #1e1e1e;border-bottom:1px solid #1e1e1e}.statement-inner{max-width:1000px}.statement-section h2,.about-grid h2,.showreel-card h2,.contact-section h2{font-size:clamp(52px,8vw,120px);line-height:.84;letter-spacing:-.075em;margin:25px 0 35px}.statement-inner>p:last-child{max-width:550px;color:#777;font-size:13px;line-height:1.8}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.about-grid h2{font-size:clamp(52px,6.5vw,95px);margin-top:28px}.about-copy>p{font-size:20px;line-height:1.65;color:#c8c8c3;margin:0 0 60px}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #262626;padding-top:18px;gap:20px}.facts div{display:flex;flex-direction:column;gap:10px}.facts b{font-size:18px}.facts span{font:8px monospace;color:#666;line-height:1.5}.showreel-section{padding:7vw}.showreel-card{height:min(70vw,700px);min-height:480px;border:1px solid #292929;padding:5vw;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:radial-gradient(circle at 68% 38%,#222,transparent 30%),#0c0c0c}.showreel-card:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#fff000000 50%,#fff1 50.2%,transparent 51%);opacity:.25}.showreel-card h2{font-size:clamp(60px,9vw,130px);margin:20px 0 0}.play{position:absolute;top:50%;left:50%;width:100px;height:100px;border:1px solid #555;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);transition:.35s}.play:hover{background:#eee;color:#080808;transform:translate(-50%,-50%) scale(1.08)}.showreel-note{color:#555;margin-top:25px}.process-list{border-top:1px solid #262626}.process-list>div{display:grid;grid-template-columns:70px 1fr 1fr;align-items:center;gap:20px;padding:28px 0;border-bottom:1px solid #262626}.process-list span{font:9px monospace;color:#555}.process-list h3{font-size:26px;font-weight:400;margin:0}.process-list p{color:#777;font-size:12px;margin:0}.contact-section{min-height:86vh;padding:12vw 7vw;display:flex;align-items:center;background:#0a0a0a}.contact-section h2{font-size:clamp(56px,9vw,135px);margin:25px 0 55px}.email{display:inline-flex;gap:20px;border-bottom:1px solid #555;padding-bottom:9px;font-size:clamp(17px,2vw,28px)}.location{font:9px monospace;letter-spacing:.15em;color:#666;margin-top:25px}.footer{display:flex;justify-content:space-between;gap:20px;padding:28px 5vw;border-top:1px solid #242424;color:#555}@media(max-width:800px){.nav{height:68px;padding:0 6vw}.desktop-nav{display:none}.menu-toggle{display:flex;align-items:center;gap:8px;font:8px monospace;letter-spacing:.1em}.menu-toggle i{display:block;width:20px;height:1px;background:#eee}.mobile-nav{display:flex;position:fixed;z-index:35;inset:68px 0 auto;padding:25px 7vw 35px;background:#090909;flex-direction:column;gap:18px;transform:translateY(-120%);transition:.45s}.mobile-nav.open{transform:none}.mobile-nav a{font-size:27px;letter-spacing:-.03em}.hero-content{left:7vw;right:6vw;bottom:18vh}.hero h1{font-size:18vw}.hero-actions{flex-direction:column;align-items:flex-start}.hero-meta{left:7vw;bottom:27px;font-size:7px}.hero-meta span:first-child{display:none}.hero-status{right:7vw;bottom:85px;font-size:7px}.section{padding:90px 7vw}.section-top{flex-direction:column;margin-bottom:48px}.filters{margin:-10px 0 20px;gap:18px}.orbit-wrap{min-height:480px}.orbit{width:100%;height:420px}.project-card{width:72vw;height:50vw;min-height:180px}.orbit-arrow{width:40px;height:40px}.prev{left:0}.next{right:0}.orbit-hint{font-size:7px}.service-grid{grid-template-columns:1fr}.service-grid article:nth-child(odd){border-right:0}.service-grid h3{margin-top:48px}.about-grid{grid-template-columns:1fr;gap:55px}.about-copy>p{font-size:17px}.facts{grid-template-columns:1fr 1fr}.facts div:last-child{grid-column:span 2}.showreel-section{padding:7vw}.showreel-card{height:115vw;min-height:440px;padding:8vw}.play{width:80px;height:80px}.process-list>div{grid-template-columns:45px 1fr;gap:10px}.process-list p{grid-column:2}.footer{flex-direction:column;line-height:1.8}.cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none;opacity:1;transform:none}.project-card{transition:none}.mobile-nav{transition:none}}



/* DEDICATED PROJECT PAGE */
.project-page{min-height:100vh;background:#080808}.project-hero{padding:145px 7vw 70px;max-width:1500px;margin:auto}.project-back{display:inline-flex;gap:10px;font:9px monospace;letter-spacing:.15em;color:#777;margin-bottom:55px;transition:.3s}.project-back:hover{color:#eee;transform:translateX(-4px)}.project-hero h1{font-size:clamp(50px,8vw,125px);line-height:.84;letter-spacing:-.075em;max-width:1200px;margin:20px 0 30px;font-weight:600}.project-meta{display:flex;gap:30px;flex-wrap:wrap;font:9px monospace;letter-spacing:.14em;color:#777}.project-videos{padding:0 5vw}.project-video-block{max-width:1500px;margin:0 auto 18px}.project-video-frame{position:relative;width:100%;max-width:1500px;margin:auto;background:#000;border:1px solid #222}.project-video-frame video{display:block;width:100%;max-height:78vh;object-fit:contain;background:#000}.video-label{position:absolute;left:20px;top:18px;z-index:2;font:8px monospace;letter-spacing:.15em;color:#aaa;background:#0009;padding:8px 10px}.project-info{max-width:1500px;margin:0 auto;padding:95px 2vw;display:grid;grid-template-columns:1fr 1.2fr;gap:9vw}.project-info h2{font-size:clamp(38px,5vw,75px);line-height:.9;letter-spacing:-.06em;font-weight:400;margin:0}.project-info h2 em{font-family:Georgia,serif}.project-description{font-size:17px;line-height:1.8;color:#aaa;margin:0}.service-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:35px}.service-tag{border:1px solid #333;padding:10px 12px;font:8px monospace;letter-spacing:.12em;color:#aaa}.project-gallery{max-width:1500px;margin:0 auto;padding:0 2vw 120px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.gallery-heading h2{font-size:clamp(35px,5vw,70px);letter-spacing:-.06em;font-weight:400;margin:0}.gallery-heading p{font:9px monospace;letter-spacing:.13em;color:#555}.gallery-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:12px}.gallery-item{min-height:250px;background:linear-gradient(135deg,#151515,#2b2b2b);position:relative;overflow:hidden;border:1px solid #222}.gallery-item:first-child{min-height:580px}.gallery-item img{width:100%;height:100%;display:block;object-fit:cover}.gallery-item span{position:absolute;left:15px;bottom:15px;font:8px monospace;letter-spacing:.12em;color:#aaa}.project-next{border-top:1px solid #222;padding:80px 7vw 100px;display:flex;justify-content:space-between;align-items:end;gap:30px}.next-label{font:9px monospace;letter-spacing:.15em;color:#555}.project-next a{font-size:clamp(35px,6vw,85px);line-height:.85;letter-spacing:-.06em;text-align:right}.project-next a:hover{font-family:Georgia,serif}.project-error{min-height:70vh;display:grid;place-items:center;padding:10vw;text-align:center}.project-error h1{font-size:clamp(45px,8vw,100px);letter-spacing:-.07em;margin:20px 0}.project-error p{color:#777}
@media(max-width:800px){.project-hero{padding:115px 7vw 50px}.project-back{margin-bottom:35px}.project-meta{gap:15px}.project-main-video{padding:0 4vw}.project-video-frame video{max-height:65vh}.project-info{grid-template-columns:1fr;gap:35px;padding:70px 7vw}.project-description{font-size:15px}.project-gallery{padding:0 7vw 80px}.gallery-grid{grid-template-columns:1fr}.gallery-item,.gallery-item:first-child{min-height:55vw}.project-next{padding:60px 7vw 80px;display:block}.project-next a{display:block;text-align:left;margin-top:25px}}

.project-videos{padding-bottom:2px}.project-video-block:last-child{margin-bottom:0}.project-video-frame video{aspect-ratio:16/9}
@media(max-width:800px){.project-videos{padding:0 4vw}.project-video-block{margin-bottom:10px}.project-video-frame video{aspect-ratio:16/9}}

.sound-control{position:absolute;right:5vw;bottom:35px;z-index:5;border:1px solid #444;padding:10px 13px;font:9px monospace;letter-spacing:.15em;color:#aaa;background:#0004;backdrop-filter:blur(5px);transition:.3s}.sound-control:hover{background:#eee;color:#080808}
.hero-video video{opacity:.98}
@media(max-width:800px){.sound-control{right:7vw;bottom:68px}}

/* HERO VIDEO FIX */
.hero-video{z-index:0;background:#080808}.hero-video video{display:block;visibility:visible;opacity:1;width:100%;height:100%;object-fit:cover;object-position:center center}.hero-overlay{z-index:1}.hero-grid{z-index:2}.hero-content,.hero-meta,.hero-status,.sound-control{z-index:3}.sound-control{position:absolute;right:5vw;bottom:35px;border:1px solid #444;padding:10px 13px;font:9px monospace;letter-spacing:.15em;color:#aaa;background:#0005;backdrop-filter:blur(5px);transition:.3s}.sound-control:hover{background:#eee;color:#080808}

/* SHOWREEL VIDEO */
.showreel-card{background:#080808;position:relative}.showreel-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.showreel-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#000b 0%,#0004 60%,#0007 100%),linear-gradient(0deg,#000c,transparent 55%);z-index:1}.showreel-copy{position:absolute;inset:0;padding:5vw;display:flex;flex-direction:column;justify-content:flex-end;z-index:2}.showreel-copy h2{margin:20px 0 0}.showreel-play{position:absolute;top:50%;left:50%;width:100px;height:100px;border:1px solid #777;border-radius:50%;transform:translate(-50%,-50%);font-size:20px;transition:.3s;background:#0003;backdrop-filter:blur(5px)}.showreel-play:hover{background:#eee;color:#080808;transform:translate(-50%,-50%) scale(1.08)}.showreel-play.hidden{opacity:0;pointer-events:none}.showreel-note{margin-top:25px}

/* V10 — deterministic video layers */
.hero{isolation:isolate}.hero-video{z-index:0!important;background:#080808}.hero-video video{position:absolute!important;inset:0!important;z-index:0!important;display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:100%!important;object-fit:cover!important}.hero-overlay{z-index:1!important;pointer-events:none}.hero-grid{z-index:2!important;pointer-events:none}.hero-content,.hero-meta,.hero-status,.sound-control{z-index:3!important}.showreel-card{isolation:isolate;background:#080808!important}.showreel-video{position:absolute!important;inset:0!important;z-index:0!important;display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:100%!important;object-fit:cover!important}.showreel-overlay{z-index:1!important;pointer-events:none}.showreel-copy{z-index:2!important}

/* V12 — controls must remain clickable */
.sound-control{pointer-events:auto!important;cursor:pointer!important}
.hero-content,.hero-meta,.hero-status{pointer-events:none}
.showreel-card{position:relative}
.showreel-video{z-index:0!important;pointer-events:auto!important;cursor:pointer}
.showreel-overlay{pointer-events:none!important}
.showreel-copy{pointer-events:none!important}
.showreel-copy .showreel-play{pointer-events:auto!important}
.showreel-video::-webkit-media-controls{z-index:10}
.showreel-video::-webkit-media-controls-enclosure{z-index:10}
.sound-control.is-on{color:#fff;border-color:#777}

/* V14 — custom Safari-safe controls */
.showreel-controls{position:absolute;left:5vw;right:5vw;bottom:22px;height:46px;display:flex;align-items:center;gap:8px;z-index:20;pointer-events:auto!important}.showreel-controls button{width:42px;height:42px;border:1px solid #777;background:#050505cc;color:#fff;font:16px Arial,sans-serif;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px);transition:.2s}.showreel-controls button:hover{background:#fff;color:#050505}.showreel-controls input{width:110px;accent-color:#fff;cursor:pointer}.showreel-video{z-index:0!important;pointer-events:auto!important}.showreel-overlay{z-index:1!important;pointer-events:none!important}.showreel-copy{z-index:2!important;pointer-events:none!important}.showreel-controls{z-index:20!important}.sound-control{z-index:20!important;pointer-events:auto!important;cursor:pointer!important}
@media(max-width:800px){.showreel-controls{left:7vw;right:7vw;bottom:14px}.showreel-controls input{width:75px}.showreel-controls button{width:38px;height:38px}}

/* V15 — force controls into a dedicated top layer */
.sound-control{
  position:absolute!important;right:5vw!important;bottom:32px!important;
  z-index:999!important;display:flex!important;align-items:center!important;gap:8px!important;
  min-width:112px!important;height:38px!important;padding:0 12px!important;
  border:1px solid #777!important;background:rgba(5,5,5,.82)!important;color:#fff!important;
  font:10px/1 monospace!important;letter-spacing:.12em!important;
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  cursor:pointer!important;
}
.sound-control .sound-icon{font-size:13px;line-height:1}.sound-control.is-on{border-color:#aaa}
.showreel-controls{
  position:absolute!important;left:5vw!important;right:5vw!important;bottom:18px!important;
  z-index:999!important;display:flex!important;align-items:center!important;gap:10px!important;
  height:52px!important;padding:5px 8px!important;
  border:1px solid rgba(255,255,255,.25)!important;
  background:rgba(0,0,0,.78)!important;backdrop-filter:blur(10px)!important;
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
}
.showreel-controls button{
  position:relative!important;z-index:1000!important;width:40px!important;height:40px!important;
  flex:0 0 40px!important;border:1px solid #777!important;background:#111!important;
  color:#fff!important;display:grid!important;place-items:center!important;
  font:16px Arial,sans-serif!important;cursor:pointer!important;pointer-events:auto!important;
}
.showreel-controls button:hover{background:#fff!important;color:#050505!important}
.reel-volume-wrap{display:flex!important;align-items:center!important;gap:8px!important;color:#aaa!important;font:9px monospace!important;letter-spacing:.12em!important}
.reel-volume-wrap input{display:block!important;width:130px!important;height:20px!important;accent-color:#fff!important;cursor:pointer!important;pointer-events:auto!important}
.showreel-video{pointer-events:auto!important}
.showreel-overlay,.showreel-copy{pointer-events:none!important}
@media(max-width:800px){
 .sound-control{right:7vw!important;bottom:62px!important}
 .showreel-controls{left:7vw!important;right:7vw!important;bottom:12px!important}
 .reel-volume-wrap input{width:75px!important}
}

/* V16 — cinematic fullscreen viewer */
.cinema-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .3s ease,visibility .3s ease}.cinema-modal.is-open{visibility:visible;opacity:1;pointer-events:auto}.cinema-backdrop{position:absolute;inset:0;background:#000}.cinema-stage{position:relative;z-index:2;width:min(84vw,1500px);height:min(84vh,900px);display:flex;align-items:center;justify-content:center}.cinema-video{display:block;max-width:100%;max-height:calc(100% - 70px);width:auto;height:auto;object-fit:contain;background:#000;box-shadow:0 20px 80px #000}.cinema-close{position:absolute;right:0;top:-46px;width:38px;height:38px;border:1px solid #555;background:#090909;color:#fff;font-size:24px;line-height:1;cursor:pointer;z-index:10}.cinema-controls{position:absolute;left:0;right:0;bottom:0;height:50px;display:flex;align-items:center;gap:10px;padding:5px 10px;background:rgba(10,10,10,.9);border:1px solid #333;z-index:10}.cinema-controls button{width:38px;height:38px;border:1px solid #666;background:#111;color:#fff;display:grid;place-items:center;cursor:pointer}.cinema-controls button:hover{background:#fff;color:#000}.cinema-controls input{width:120px;accent-color:#fff;cursor:pointer}.cinema-open{overflow:hidden}

/* V17 — Cinematic FPV drone cursor */
@media (hover:hover) and (pointer:fine){
  html.v17-drone-enabled,
  html.v17-drone-enabled body,
  html.v17-drone-enabled a,
  html.v17-drone-enabled button,
  html.v17-drone-enabled input,
  html.v17-drone-enabled select,
  html.v17-drone-enabled textarea,
  html.v17-drone-enabled .project-card{cursor:none!important}

  #v17-drone{
    position:fixed;left:0;top:0;width:44px;height:30px;z-index:99999;
    pointer-events:none;opacity:0;transform:translate3d(-100px,-100px,0);
    will-change:transform,opacity;color:#fff;
    transition:opacity .2s ease,filter .2s ease;
    filter:drop-shadow(0 0 5px rgba(255,255,255,.18));
  }
  #v17-drone.is-visible{opacity:1}
  #v17-drone svg{width:100%;height:100%;display:block;overflow:visible}
  #v17-drone .rotor{transform-box:fill-box;transform-origin:center;animation:v17Rotor .7s linear infinite}
  #v17-drone.is-hover{filter:drop-shadow(0 0 10px rgba(255,255,255,.35))}
  #v17-drone.is-hover svg{transform:scale(1.12)}
  #v17-drone-trail{position:fixed;inset:0;width:100vw;height:100vh;z-index:99998;pointer-events:none;opacity:.72}
  @keyframes v17Rotor{to{transform:rotate(360deg)}}
}
@media (prefers-reduced-motion:reduce){#v17-drone,#v17-drone-trail{display:none!important}}

/* V18 — Cinematic Motion System */
@media (hover:hover) and (pointer:fine){
  .project-card .visual{transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(var(--media-scale,1));transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease;will-change:transform;}
  .project-card .name{transform:translate3d(var(--tx,0px),var(--ty,0px),0);transition:transform .6s cubic-bezier(.2,.8,.2,1);will-change:transform}
  .project-card .category,.project-card .number{transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .4s}
  .project-card.v18-hover .visual{--media-scale:1.035;filter:brightness(1.08) contrast(1.03)}
  .project-card.v18-hover .name{transform:translate3d(7px,-5px,0)}
  .project-card.v18-hover .category{transform:translate3d(-3px,2px,0)}
  .project-card.v18-hover .number{transform:translate3d(2px,-2px,0)}
  .button,.nav a,.filters button,.service-grid article,.project-next a{transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s,background-color .35s,border-color .35s}
  .button:hover{transform:translate3d(0,-3px,0)}
  .service-grid article:hover{transform:translate3d(5px,0,0);background:#101010}
  .hero-content .eyebrow,.hero-content h1,.hero-content .tagline,.hero-content .hero-actions{will-change:transform}
  .v18-page-transition{position:fixed;inset:0;background:#050505;z-index:100000;pointer-events:none;opacity:0;transition:opacity .5s cubic-bezier(.2,.8,.2,1)}
  .v18-page-transition.is-active{opacity:1}
}
@media (prefers-reduced-motion:reduce){.v18-page-transition{display:none!important}.project-card .visual,.project-card .name{transform:none!important}.service-grid article{transform:none!important}}


/* V19 — cinematic typography + stats */
.stats-cinematic{position:relative}
.stats-cinematic .stat-item{position:relative;overflow:hidden}
.stats-cinematic .stat-item::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:#444;transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.stats-cinematic .stat-item:hover::after{transform:scaleX(1)}
.stat-number{display:inline-block;min-width:2ch;letter-spacing:-.055em;transform:translateZ(0);font-variant-numeric:tabular-nums}
.v19-text-reveal{opacity:0;transform:translate3d(0,28px,0);filter:blur(4px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.8,.2,1),filter .9s ease}
.v19-text-reveal.is-in{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
.service-grid article .service-arrow{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.service-grid article:hover .service-arrow{transform:translate3d(5px,-5px,0)}
@media (hover:hover) and (pointer:fine){
  .facts .stat-item{transition:transform .45s cubic-bezier(.2,.8,.2,1)}
  .facts .stat-item:hover{transform:translateY(-4px)}
  .about-section .about-grid h2 em,.statement-section h2 em,.contact-section h2 em{transition:letter-spacing .7s ease}
  .about-section .about-grid h2:hover em,.statement-section h2:hover em,.contact-section h2:hover em{letter-spacing:-.025em}
}
@media (prefers-reduced-motion:reduce){
  .v19-text-reveal{opacity:1;transform:none;filter:none;transition:none}
  .stats-cinematic .stat-item,.stats-cinematic .stat-item::after{transition:none}
}


/* V20 — Cinematic Process styling */
.process-section{position:relative}
.process-list{position:relative}
.process-step{--focus:.2;--mx:0px;--my:0px;--scroll-offset:0px;position:relative;z-index:1;opacity:calc(.46 + var(--focus)*.54);transform:translate3d(var(--mx),calc(var(--my) + var(--scroll-offset)),0) scale(calc(.992 + var(--focus)*.008));transition:opacity .55s ease,transform .7s cubic-bezier(.2,.8,.2,1),background .45s ease;will-change:transform,opacity}
.process-step:after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:#fff;transform:scaleX(0);transform-origin:left;opacity:0;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .45s ease}
.v20-visible .process-step:after{transform:scaleX(1);opacity:.12}
.v20-visible .process-step:nth-child(1):after{transition-delay:.05s}.v20-visible .process-step:nth-child(2):after{transition-delay:.18s}.v20-visible .process-step:nth-child(3):after{transition-delay:.31s}.v20-visible .process-step:nth-child(4):after{transition-delay:.44s}
.v20-visible .process-step span,.v20-visible .process-step h3,.v20-visible .process-step p{animation:v20ProcessIn .8s cubic-bezier(.2,.8,.2,1) both}
.v20-visible .process-step:nth-child(1) span,.v20-visible .process-step:nth-child(1) h3,.v20-visible .process-step:nth-child(1) p{animation-delay:.08s}
.v20-visible .process-step:nth-child(2) span,.v20-visible .process-step:nth-child(2) h3,.v20-visible .process-step:nth-child(2) p{animation-delay:.18s}
.v20-visible .process-step:nth-child(3) span,.v20-visible .process-step:nth-child(3) h3,.v20-visible .process-step:nth-child(3) p{animation-delay:.28s}
.v20-visible .process-step:nth-child(4) span,.v20-visible .process-step:nth-child(4) h3,.v20-visible .process-step:nth-child(4) p{animation-delay:.38s}
@keyframes v20ProcessIn{from{opacity:0;transform:translate3d(0,18px,0);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
.process-step.v20-active h3{letter-spacing:-.055em}
.process-step.v20-active span{color:#aaa}
.process-step.v20-hover{background:linear-gradient(90deg,#fff000000 0%,#fff000000 55%,#fff006 100%)}
.process-step.v20-hover h3{transform:translate3d(5px,-1px,0);transition:transform .5s cubic-bezier(.2,.8,.2,1);text-shadow:0 0 24px #fff2}
.process-step.v20-hover p{color:#a6a6a2;transform:translate3d(-2px,0,0)}
.process-step.v20-hover-dim{opacity:.24!important}
.process-step h3,.process-step p,.process-step span{transition:color .45s ease,transform .55s cubic-bezier(.2,.8,.2,1),letter-spacing .55s ease}
.v20-process-progress{position:absolute;left:0;top:0;width:1px;height:100%;background:#1b1b1b;z-index:0;pointer-events:none}
.v20-process-progress span{display:block;width:1px;height:0;background:#aaa;transition:height .8s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 10px #fff3}
@media(max-width:800px){.process-step{opacity:1;transform:none}.v20-process-progress{display:none}.process-step.v20-hover-dim{opacity:1!important}.process-step.v20-hover{background:none}.process-step.v20-hover h3{transform:none}.process-step.v20-hover p{transform:none}}
@media (prefers-reduced-motion:reduce){.process-step{opacity:1!important;transform:none!important;transition:none!important}.process-step:after{transform:scaleX(1);opacity:.12;transition:none}.v20-visible .process-step span,.v20-visible .process-step h3,.v20-visible .process-step p{animation:none}.v20-process-progress{display:none}}


/* V20 LARGE NUMBERS — typography intentionally unchanged */
.stats-cinematic .stat-item{min-height:190px;justify-content:flex-start}
.stats-cinematic .stat-number{display:block;font-family:Arial,Helvetica,sans-serif;font-size:clamp(78px,11vw,170px);line-height:.82;font-weight:500;letter-spacing:-.075em;min-width:0;margin:0 0 14px}
.stats-cinematic .stat-item>span{font-size:9px;letter-spacing:.16em}
@media(max-width:800px){
  .stats-cinematic .stat-item{min-height:135px}
  .stats-cinematic .stat-number{font-size:clamp(58px,18vw,105px);line-height:.85}
}

/* V20 LARGE NUMBERS — WIDE STATS GRID FIX */
.about-grid .about-copy{display:contents}
.about-grid .facts.stats-cinematic{grid-column:1 / -1;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:28px;margin-top:10px}
.about-grid .facts.stats-cinematic .stat-item{min-width:0;padding:0 3vw 22px 0;overflow:visible}
.about-grid .facts.stats-cinematic .stat-number{font-size:clamp(76px,10.5vw,160px);white-space:nowrap;line-height:.78;letter-spacing:-.075em;margin:0 0 20px}
.about-grid .facts.stats-cinematic .stat-item>span{font-size:10px;letter-spacing:.16em;color:#666}
@media(max-width:800px){
  .about-grid .facts.stats-cinematic{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:22px}
  .about-grid .facts.stats-cinematic .stat-item{padding-right:10px}
  .about-grid .facts.stats-cinematic .stat-number{font-size:clamp(44px,15vw,82px);letter-spacing:-.075em}
  .about-grid .facts.stats-cinematic .stat-item>span{font-size:7px}
}


/* V21 PROCESS MENU — centered vertical selector inspired by supplied reference */
.process-section{position:relative;overflow:hidden;min-height:92vh;padding-top:110px;padding-bottom:90px}
.process-selector{position:relative;width:100%;height:min(68vh,680px);min-height:560px;display:block;overflow:hidden;cursor:ns-resize;isolation:isolate}
.process-selector-track{position:relative;width:100%;height:100%;display:block}
.process-selector .process-word{position:absolute;left:0;right:0;top:50%;width:100%;display:block;text-align:center;text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-size:clamp(72px,7.8vw,132px);line-height:1;font-weight:400;letter-spacing:-.065em;white-space:nowrap;color:#f2f2ef;transform:translate3d(0,-50%,0);will-change:transform,filter,opacity;transition:color .45s ease;z-index:2}
.process-selector .process-word.is-active{color:#fff}
.process-selector .process-word:not(.is-active){color:#8a8a86}
.process-selector .process-word:hover{color:#fff}
.process-selector-hint{display:flex;justify-content:space-between;border-top:1px solid #1e1e1e;padding-top:16px;color:#555;font:8px/1.4 monospace;letter-spacing:.15em}
@media(max-width:800px){
  .process-section{min-height:78vh;padding-top:90px;padding-bottom:70px}
  .process-selector{height:500px;min-height:500px}
  .process-selector .process-word{font-size:clamp(50px,13vw,86px);letter-spacing:-.07em}
  .process-selector-hint{font-size:7px;gap:15px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){.process-selector .process-word{transition:none!important}}

/* V21 PROCESS SCROLL LOCK — the section stays visually fixed while the menu changes */
.process-scroll-stage{
  height:100vh;
  min-height:680px;
  padding-top:110px;
  padding-bottom:55px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.process-scroll-stage .section-top{flex:0 0 auto;margin-bottom:20px}
.process-scroll-stage .process-selector{flex:1 1 auto;height:auto;min-height:0}
.process-scroll-stage .process-selector-hint{flex:0 0 auto}
@media(max-width:800px){
  .process-scroll-stage{height:100svh;min-height:620px;padding-top:90px;padding-bottom:45px}
  .process-scroll-stage .section-top{margin-bottom:10px}
}
@media(prefers-reduced-motion:reduce){
  .process-scroll-stage{height:auto;min-height:100svh}
}

/* V21 — SHOWREEL REVEAL / SCROLL-OPEN SCENE */
.showreel-reveal-section{position:relative;height:280svh;background:#080808;isolation:isolate}
.showreel-reveal-stage{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f1f1ee;color:#090909}
.showreel-window{position:relative;width:240px;height:135px;border-radius:14px;overflow:hidden;background:#111;box-shadow:0 18px 70px rgba(0,0,0,.24);transform-origin:center;will-change:width,height,border-radius,box-shadow;z-index:2}
.showreel-window .showreel-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.showreel-window .showreel-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.42),transparent 55%);pointer-events:none}
.showreel-side-label{position:absolute;top:50%;transform:translateY(-50%);font:600 13px/1 Arial,sans-serif;letter-spacing:-.02em;color:#111;z-index:3;white-space:nowrap;will-change:transform,opacity}
.showreel-year{left:calc(50% - 355px)}
.showreel-title{right:calc(50% - 355px)}
.showreel-center-prompt{position:absolute;inset:0;display:grid;place-content:center;gap:7px;text-align:center;color:#fff;z-index:4;opacity:0;pointer-events:none;font:12px Arial,sans-serif;transition:opacity .3s ease}
.showreel-center-prompt b{display:inline-grid;place-items:center;width:24px;height:24px;margin:auto;border-radius:50%;background:#080808;color:#fff;font-size:10px}
.showreel-expanded-copy{position:absolute;left:5vw;top:5vw;z-index:4;color:#fff;opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .5s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.showreel-expanded-copy h2{font-size:clamp(34px,5vw,76px);letter-spacing:-.06em;line-height:.9;margin:12px 0 0;font-weight:500}.showreel-expanded-copy h2 em{font-family:Georgia,serif;font-weight:400}
.showreel-reveal-stage.is-open .showreel-expanded-copy{opacity:1;transform:none}
.showreel-reveal-stage.is-open .showreel-center-prompt{opacity:1}
.showreel-reveal-stage.is-open .showreel-window{box-shadow:0 30px 120px rgba(0,0,0,.42)}
.showreel-reveal-stage.is-open{background:#080808;color:#fff}
.showreel-scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);font:9px monospace;letter-spacing:.16em;color:#555;z-index:5;transition:opacity .35s ease}
.showreel-scroll-cue span{display:inline-block;margin-left:10px;animation:showreelCue 1.4s ease-in-out infinite}
@keyframes showreelCue{50%{transform:translateY(5px)}}
.showreel-controls{opacity:0;transition:opacity .35s ease}.showreel-reveal-stage.is-open .showreel-controls{opacity:1}
@media(max-width:800px){
 .showreel-reveal-section{height:240svh}.showreel-reveal-stage{min-height:520px}
 .showreel-window{width:190px;height:108px;border-radius:11px}
 .showreel-year{left:calc(50% - 145px);font-size:10px}.showreel-title{right:calc(50% - 145px);font-size:10px}
 .showreel-expanded-copy{left:7vw;top:9vw}.showreel-expanded-copy h2{font-size:clamp(30px,10vw,52px)}
}
@media(prefers-reduced-motion:reduce){.showreel-scroll-cue span{animation:none}.showreel-window,.showreel-side-label{transition:none}}

/* V21 AERIAL HOVER REVEAL — base portrait + cursor-revealed FPV overlay */
.aerial-reveal-section{position:relative;min-height:100svh;overflow:hidden;background:#070707;color:#f3f3ef;isolation:isolate}
.aerial-reveal-section::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.34;background:radial-gradient(circle at 74% 48%,rgba(255,255,255,.08),transparent 34%),linear-gradient(90deg,rgba(0,0,0,.3),transparent 55%),repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 4px);mix-blend-mode:screen}
.aerial-reveal-inner{position:relative;z-index:1;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,48vw);align-items:center;gap:2vw;padding:8vw 5vw 7vw}
.aerial-copy{max-width:760px;align-self:center;padding-bottom:3vh}
.aerial-copy .eyebrow{margin-bottom:34px;color:#777;letter-spacing:.16em}
.aerial-copy h2{font-size:clamp(42px,6.4vw,96px);line-height:.92;letter-spacing:-.065em;font-weight:500;margin:0 0 34px}
.aerial-copy h2 em{font-family:Georgia,serif;font-weight:400}
.aerial-copy>p:last-child{max-width:570px;color:#8d8d89;font-size:clamp(15px,1.3vw,20px);line-height:1.5;margin:0}
.aerial-portrait{position:relative;height:min(82vh,900px);min-height:560px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;cursor:none}
.aerial-image{position:absolute;left:50%;bottom:-2%;width:min(100%,680px);height:100%;object-fit:contain;object-position:center bottom;transform:translateX(-50%);user-select:none;pointer-events:none;will-change:transform}
.aerial-base{filter:saturate(.82) contrast(1.05);opacity:.98}
.aerial-reveal-layer{position:absolute;inset:0;overflow:hidden;clip-path:circle(0px at 50% 50%);transition:clip-path .18s ease-out;will-change:clip-path;z-index:2}
.aerial-overlay{filter:saturate(1.02) contrast(1.05)}
.aerial-glow{position:absolute;width:72%;height:72%;right:5%;bottom:8%;background:radial-gradient(circle,rgba(255,255,255,.09),transparent 68%);filter:blur(40px);pointer-events:none}
.aerial-reveal-ring{position:absolute;width:140px;height:140px;border:1px solid rgba(255,255,255,.5);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) scale(.65);opacity:0;pointer-events:none;z-index:4;transition:opacity .25s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
.aerial-portrait.is-hovered .aerial-reveal-ring{opacity:1;transform:translate(-50%,-50%) scale(1)}
.aerial-cursor-label{position:absolute;left:50%;top:calc(50% + 88px);transform:translateX(-50%);font:8px/1 monospace;letter-spacing:.18em;color:#aaa;opacity:.7;pointer-events:none;z-index:5;transition:opacity .25s ease}
.aerial-portrait.is-hovered .aerial-cursor-label{opacity:0}
.aerial-portrait.is-hovered .aerial-image{transform:translateX(-50%) scale(1.012)}
@media(max-width:900px){
 .aerial-reveal-inner{grid-template-columns:1fr;min-height:auto;padding:110px 7vw 70px;gap:20px}
 .aerial-copy{order:1;padding:0}
 .aerial-copy .eyebrow{margin-bottom:24px}
 .aerial-copy h2{font-size:clamp(40px,11vw,72px);margin-bottom:24px}
 .aerial-copy>p:last-child{font-size:15px;max-width:620px}
 .aerial-portrait{order:2;height:72vh;min-height:500px;margin-top:-5vh}
 .aerial-cursor-label{display:none}
}
@media(prefers-reduced-motion:reduce){.aerial-reveal-layer{transition:none}.aerial-reveal-ring,.aerial-image{transition:none}}

/* V21.1 — AERIAL HOVER TRAIL + TOPOGRAPHIC ATMOSPHERE */
.aerial-reveal-section{background:#070707}
.aerial-reveal-section::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 64% 48%,rgba(255,255,255,.045),transparent 26%),radial-gradient(circle at 82% 28%,rgba(255,255,255,.028),transparent 22%),linear-gradient(90deg,rgba(255,255,255,.018),transparent 30%,transparent 70%,rgba(255,255,255,.018));opacity:.9}
.aerial-atmosphere{position:absolute;z-index:0;pointer-events:none;width:44%;height:86%;top:7%;opacity:.28;background-image:url('media/aerial/contours.svg');background-size:cover;background-position:center;filter:blur(.15px);mix-blend-mode:screen;will-change:transform,opacity}
.aerial-atmosphere-left{left:-18%;transform:rotate(-8deg) scale(1.08);mask-image:linear-gradient(90deg,transparent 0%,#000 25%,#000 75%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 25%,#000 75%,transparent 100%)}
.aerial-atmosphere-right{right:-18%;transform:rotate(172deg) scale(1.08);mask-image:linear-gradient(90deg,transparent 0%,#000 25%,#000 75%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 25%,#000 75%,transparent 100%)}
.aerial-atmosphere::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 35%,rgba(255,255,255,.035) 60%,transparent 76%);filter:blur(16px)}
.aerial-glow{z-index:0;width:88%;height:88%;right:-4%;bottom:0;background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,.035) 32%,transparent 68%);filter:blur(55px);animation:aerialPulse 5s ease-in-out infinite}
@keyframes aerialPulse{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:.9;transform:scale(1.04)}}
.aerial-reveal-layer{clip-path:none!important;transition:none;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-position:0 0;-webkit-mask-position:0 0;will-change:mask-image}
.aerial-trail{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.16),transparent 58%);filter:blur(18px);mix-blend-mode:screen;transition:opacity .25s ease}
.aerial-portrait.is-hovered .aerial-trail{opacity:.8}
.aerial-reveal-ring{width:84px;height:84px;border:1px solid rgba(255,255,255,.72);box-shadow:0 0 35px rgba(255,255,255,.08),inset 0 0 20px rgba(255,255,255,.05)}
.aerial-portrait.is-hovered .aerial-reveal-ring{opacity:.75}
@media(max-width:900px){.aerial-atmosphere{width:70%;height:60%;top:38%;opacity:.18}.aerial-atmosphere-left{left:-35%}.aerial-atmosphere-right{right:-35%}.aerial-glow{animation:none}}
@media(prefers-reduced-motion:reduce){.aerial-glow{animation:none}.aerial-reveal-layer{transition:none}}

/* V21.2 — AERIAL CLICK SWITCH + ROLLING TEXT REVEAL */
.aerial-perspective-text{display:inline-block;position:relative;white-space:nowrap;overflow:visible}
.aerial-perspective-text .perspective-char{display:inline-block;will-change:transform,filter,opacity;transform:translate3d(0,1.15em,0) rotateX(70deg);filter:blur(12px);opacity:0;clip-path:inset(0 0 100% 0);transition:transform 1s cubic-bezier(.16,1,.3,1),filter 1s ease,opacity .75s ease,clip-path 1s cubic-bezier(.16,1,.3,1)}
.aerial-perspective-text.is-revealed .perspective-char{transform:translate3d(0,0,0) rotateX(0deg);filter:blur(0);opacity:1;clip-path:inset(0 0 0 0)}
.aerial-perspective-text .perspective-space{display:inline-block;width:.27em}
.aerial-perspective-text.is-revealed .perspective-char:nth-child(1){transition-delay:.02s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(2){transition-delay:.05s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(3){transition-delay:.08s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(4){transition-delay:.11s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(5){transition-delay:.14s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(6){transition-delay:.17s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(7){transition-delay:.20s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(8){transition-delay:.23s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(9){transition-delay:.26s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(10){transition-delay:.29s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(11){transition-delay:.32s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(12){transition-delay:.35s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(13){transition-delay:.38s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(14){transition-delay:.41s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(15){transition-delay:.44s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(16){transition-delay:.47s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(17){transition-delay:.50s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(18){transition-delay:.53s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(19){transition-delay:.56s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(20){transition-delay:.59s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(21){transition-delay:.62s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(22){transition-delay:.65s}.aerial-perspective-text.is-revealed .perspective-char:nth-child(23){transition-delay:.68s}
.aerial-reveal-layer{transition:opacity .55s cubic-bezier(.16,1,.3,1),filter .55s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.aerial-portrait.is-switched .aerial-reveal-layer{mask-image:linear-gradient(#000,#000)!important;-webkit-mask-image:linear-gradient(#000,#000)!important;opacity:1;filter:none;transform:scale(1.012)}
.aerial-portrait.is-switched .aerial-reveal-ring{opacity:1;transform:translate(-50%,-50%) scale(1.15)}
.aerial-portrait.is-switched .aerial-cursor-label{opacity:0}
.aerial-portrait.is-switched .aerial-base{filter:saturate(.55) contrast(.95) brightness(.72);transform:translateX(-50%) scale(1.008)}
.aerial-switch-hint{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);z-index:5;font:8px/1 monospace;letter-spacing:.18em;color:#aaa;opacity:.55;pointer-events:none;transition:opacity .3s ease}
.aerial-portrait.is-switched .aerial-switch-hint{opacity:0}
@media(max-width:900px){.aerial-perspective-text{white-space:normal}.aerial-switch-hint{display:none}}
@media(prefers-reduced-motion:reduce){.aerial-perspective-text .perspective-char{transition:none;transform:none;filter:none;opacity:1;clip-path:none}.aerial-reveal-layer{transition:none}}


/* V21.3 — AERIAL text hierarchy + 3x reveal radius */
.aerial-copy{position:relative;z-index:12;min-width:0;}
.aerial-copy{max-width:min(50vw,800px);}.aerial-copy h2{position:relative;z-index:14;max-width:100%;isolation:isolate;text-wrap:balance;overflow:visible;}
.aerial-perspective-text{white-space:normal!important;display:block!important;position:relative;z-index:15;max-width:100%;font-size:clamp(36px,4.5vw,76px);line-height:.95;}
.aerial-perspective-text .perspective-char{position:relative;z-index:16;display:inline-block;transform:translate3d(0,1.15em,0) rotateX(78deg);transform-origin:50% 100%;backface-visibility:hidden;perspective:900px;filter:blur(14px);opacity:0;will-change:transform,filter,opacity;}
.aerial-perspective-text.is-revealed .perspective-char{animation:perspectiveRollIn .95s cubic-bezier(.16,1,.3,1) both;}
.aerial-perspective-text .perspective-space{display:inline-block;width:.25em;}
@keyframes perspectiveRollIn{
  0%{opacity:0;filter:blur(14px);transform:translate3d(0,1.15em,0) rotateX(78deg) skewY(4deg)}
  55%{opacity:1;filter:blur(1.8px);transform:translate3d(0,-.06em,0) rotateX(-6deg) skewY(0deg)}
  100%{opacity:1;filter:blur(0);transform:translate3d(0,0,0) rotateX(0deg) skewY(0deg)}
}
.aerial-portrait{position:relative;z-index:2;}
.aerial-reveal-ring{width:252px!important;height:252px!important;z-index:8!important;}
.aerial-portrait.is-hovered .aerial-reveal-ring{transform:translate(-50%,-50%) scale(1)!important;}
.aerial-portrait.is-switched .aerial-reveal-ring{transform:translate(-50%,-50%) scale(1.04)!important;}
@media(max-width:1100px){
  .aerial-copy{max-width:min(58vw,720px)}.aerial-copy h2{max-width:100%}
}
@media(max-width:900px){
  .aerial-copy h2{max-width:100%;}
  .aerial-perspective-text{white-space:normal!important;}
  .aerial-reveal-ring{width:210px!important;height:210px!important}
}
@media(prefers-reduced-motion:reduce){
  .aerial-perspective-text.is-revealed .perspective-char{animation:none;transform:none;filter:none;opacity:1}
}


/* V21.4 — AERIAL: static perspective title + larger magnifier reveal */
.aerial-perspective-text{
  display:block!important;
  position:relative;
  white-space:normal!important;
  max-width:100%;
  overflow:visible!important;
  z-index:15;
  transform:none!important;
}
.aerial-perspective-text .perspective-char,
.aerial-perspective-text .perspective-space{
  transform:none!important;
  animation:none!important;
  transition:none!important;
  filter:none!important;
  opacity:1!important;
  clip-path:none!important;
  display:inline!important;
  will-change:auto!important;
}
.aerial-perspective-text .perspective-space{width:auto!important;}
.aerial-reveal-ring{
  width:420px!important;
  height:420px!important;
  border-radius:50%;
  z-index:8!important;
}
.aerial-portrait.is-hovered .aerial-reveal-ring{
  transform:translate(-50%,-50%) scale(1)!important;
}
.aerial-portrait.is-switched .aerial-reveal-ring{
  transform:translate(-50%,-50%) scale(1.02)!important;
}
@media(max-width:900px){
  .aerial-reveal-ring{width:320px!important;height:320px!important}
}
@media(prefers-reduced-motion:reduce){
  .aerial-reveal-ring{transition:none!important}
}


/* V21 FIX — service-card rolling title reveal, robust single-copy version */
.service-grid h3.service-roll-title{
  position:relative;
  display:block;
  margin:0;
  overflow:visible;
  perspective:900px;
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
}
.service-roll-line{
  position:relative;
  display:inline-block;
  height:1.06em;
  line-height:1.02;
  overflow:hidden;
  vertical-align:top;
  perspective:900px;
  transform-style:preserve-3d;
}
.service-roll-track{
  display:block;
  height:1.06em;
  will-change:transform,filter,opacity;
  transform:translate3d(0,105%,0) rotateX(58deg);
  transform-origin:50% 100%;
  filter:blur(9px);
  opacity:0;
}
.service-roll-copy{
  display:block;
  height:1.06em;
  line-height:1.02;
  white-space:nowrap;
  transform:translateZ(0);
}
.service-roll-serif .service-roll-copy{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  letter-spacing:-.055em;
}
.service-roll-title.is-rolled .service-roll-track{
  animation:serviceTitleRollFixed 1.08s cubic-bezier(.16,1,.3,1) both;
}
.service-grid article:nth-child(1) .service-roll-line:nth-of-type(1) .service-roll-track{animation-delay:.03s}
.service-grid article:nth-child(1) .service-roll-line:nth-of-type(2) .service-roll-track{animation-delay:.10s}
.service-grid article:nth-child(2) .service-roll-line:nth-of-type(1) .service-roll-track{animation-delay:.09s}
.service-grid article:nth-child(2) .service-roll-line:nth-of-type(2) .service-roll-track{animation-delay:.16s}
.service-grid article:nth-child(3) .service-roll-line:nth-of-type(1) .service-roll-track{animation-delay:.15s}
.service-grid article:nth-child(3) .service-roll-line:nth-of-type(2) .service-roll-track{animation-delay:.22s}
.service-grid article:nth-child(4) .service-roll-line:nth-of-type(1) .service-roll-track{animation-delay:.21s}
.service-grid article:nth-child(4) .service-roll-line:nth-of-type(2) .service-roll-track{animation-delay:.28s}
@keyframes serviceTitleRollFixed{
  0%{opacity:0;filter:blur(9px);transform:translate3d(0,105%,0) rotateX(58deg)}
  26%{opacity:1;filter:blur(3.5px);transform:translate3d(0,30%,0) rotateX(16deg)}
  58%{opacity:1;filter:blur(.9px);transform:translate3d(0,-3%,0) rotateX(-4deg)}
  82%{opacity:1;filter:blur(.15px);transform:translate3d(0,1%,0) rotateX(1deg)}
  100%{opacity:1;filter:blur(0);transform:translate3d(0,0,0) rotateX(0)}
}
@media(max-width:900px){
  .service-grid h3.service-roll-title{font-size:31px}
}
@media(prefers-reduced-motion:reduce){
  .service-roll-track{transform:translate3d(0,0,0) !important;filter:none !important;opacity:1 !important;animation:none !important}
}

/* V21 FINAL FIX — service titles reveal once, then remain permanently visible.
   Uses persistent state + CSS transitions instead of keyframe animation to avoid Safari reset. */
.service-grid h3.service-roll-title .service-roll-track{
  animation:none !important;
  opacity:0;
  filter:blur(8px);
  transform:translate3d(0,115%,0) rotateX(42deg);
  transition:
    transform 1.8s cubic-bezier(.16,1,.3,1),
    opacity 1.35s ease,
    filter 1.8s ease;
  transition-delay:0s;
}

.service-grid h3.service-roll-title.is-rolled .service-roll-track{
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0) rotateX(0);
}

/* Slight cinematic stagger, but the final state is persistent. */
.service-grid article:nth-child(1) .service-roll-line:nth-of-type(2) .service-roll-track{transition-delay:.12s}
.service-grid article:nth-child(2) .service-roll-line:nth-of-type(1) .service-roll-track{transition-delay:.08s}
.service-grid article:nth-child(2) .service-roll-line:nth-of-type(2) .service-roll-track{transition-delay:.20s}
.service-grid article:nth-child(3) .service-roll-line:nth-of-type(1) .service-roll-track{transition-delay:.14s}
.service-grid article:nth-child(3) .service-roll-line:nth-of-type(2) .service-roll-track{transition-delay:.26s}
.service-grid article:nth-child(4) .service-roll-line:nth-of-type(1) .service-roll-track{transition-delay:.20s}
.service-grid article:nth-child(4) .service-roll-line:nth-of-type(2) .service-roll-track{transition-delay:.32s}

@media (prefers-reduced-motion:reduce){
  .service-grid h3.service-roll-title .service-roll-track,
  .service-grid h3.service-roll-title.is-rolled .service-roll-track{
    transition:none !important;
    animation:none !important;
    opacity:1 !important;
    filter:none !important;
    transform:none !important;
  }
}


/* V21 — Hero title cinematic write-on reveal inspired by supplied reference video */
.hero-title-write{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  opacity:1;
  overflow:visible;
}
.hero-title-write .hero-line{
  display:block;
  white-space:nowrap;
  opacity:0;
  clip-path:inset(0 100% 0 0);
  transform:translateY(28px) skewX(-2deg);
  filter:blur(9px);
  will-change:transform,opacity,clip-path,filter;
}
.hero-title-write .hero-line-sans{animation:heroWriteSans 1.15s cubic-bezier(.16,.84,.24,1) .18s forwards;}
.hero-title-write .hero-line-serif{animation:heroWriteSerif 1.35s cubic-bezier(.16,.84,.24,1) .78s forwards;}
.hero-title-write .hero-line em{display:inline-block;}
@keyframes heroWriteSans{
  0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(28px) skewX(-2deg);filter:blur(9px)}
  18%{opacity:.45}
  60%{opacity:.96;filter:blur(2px)}
  100%{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0) skewX(0);filter:blur(0)}
}
@keyframes heroWriteSerif{
  0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(34px) skewX(-3deg);filter:blur(10px)}
  16%{opacity:.38}
  58%{opacity:.96;filter:blur(2px)}
  100%{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0) skewX(0);filter:blur(0)}
}
.hero-title-write::after{
  content:"";
  position:absolute;
  left:0;
  top:54%;
  width:min(24vw,300px);
  height:2px;
  background:linear-gradient(90deg,transparent,#fff,transparent);
  opacity:0;
  filter:blur(.4px);
  transform:translateX(-120%) scaleX(.4);
  pointer-events:none;
  animation:heroWriteSweep .75s cubic-bezier(.25,.8,.25,1) .12s forwards;
}
@keyframes heroWriteSweep{
  0%{opacity:0;transform:translateX(-120%) scaleX(.4)}
  18%{opacity:.6}
  70%{opacity:.45}
  100%{opacity:0;transform:translateX(420%) scaleX(1.15)}
}
@media(max-width:800px){
  .hero-title-write .hero-line{white-space:normal;clip-path:none;transform:translateY(20px);}
  .hero-title-write .hero-line-sans{animation:heroWriteMobile 1s cubic-bezier(.16,.84,.24,1) .14s forwards;}
  .hero-title-write .hero-line-serif{animation:heroWriteMobile 1.1s cubic-bezier(.16,.84,.24,1) .62s forwards;}
  .hero-title-write::after{width:40vw;top:50%;}
}
@keyframes heroWriteMobile{
  0%{opacity:0;transform:translateY(20px);filter:blur(7px)}
  28%{opacity:.5}
  100%{opacity:1;transform:translateY(0);filter:blur(0)}
}
@media(prefers-reduced-motion:reduce){
  .hero-title-write .hero-line{animation:none!important;opacity:1;clip-path:none;transform:none;filter:none;}
  .hero-title-write::after{display:none;}
}

/* V21.1 — Hero title: slower cinematic reveal, full text always preserved */
.hero-title-write .hero-line{
  opacity:0;
  clip-path:none !important;
  -webkit-clip-path:none !important;
  transform:translate3d(-26px,24px,0) skewX(-2deg);
  filter:blur(12px);
  will-change:transform,opacity,filter;
  overflow:visible;
}
.hero-title-write .hero-line-sans{
  animation:heroCinematicLine 2.35s cubic-bezier(.16,.84,.24,1) .22s forwards !important;
}
.hero-title-write .hero-line-serif{
  animation:heroCinematicLine 2.75s cubic-bezier(.16,.84,.24,1) .92s forwards !important;
}
.hero-title-write .hero-line em{display:inline-block;overflow:visible;}
@keyframes heroCinematicLine{
  0%{
    opacity:0;
    transform:translate3d(-26px,24px,0) skewX(-2deg);
    filter:blur(12px);
  }
  28%{
    opacity:.30;
    transform:translate3d(-18px,14px,0) skewX(-1.2deg);
    filter:blur(8px);
  }
  58%{
    opacity:.72;
    transform:translate3d(-8px,6px,0) skewX(-.4deg);
    filter:blur(3.5px);
  }
  82%{
    opacity:.94;
    transform:translate3d(-2px,1px,0) skewX(-.08deg);
    filter:blur(1px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) skewX(0);
    filter:blur(0);
  }
}
.hero-title-write::after{
  animation:heroWriteSweepSlow 1.25s cubic-bezier(.25,.8,.25,1) .35s forwards !important;
}
@keyframes heroWriteSweepSlow{
  0%{opacity:0;transform:translateX(-120%) scaleX(.35)}
  18%{opacity:.55}
  65%{opacity:.30}
  100%{opacity:0;transform:translateX(420%) scaleX(1.1)}
}
@media(max-width:800px){
  .hero-title-write .hero-line{
    clip-path:none !important;
    -webkit-clip-path:none !important;
    transform:translate3d(-12px,18px,0);
  }
  .hero-title-write .hero-line-sans{animation:heroCinematicMobile 2s cubic-bezier(.16,.84,.24,1) .16s forwards !important;}
  .hero-title-write .hero-line-serif{animation:heroCinematicMobile 2.3s cubic-bezier(.16,.84,.24,1) .72s forwards !important;}
}
@keyframes heroCinematicMobile{
  0%{opacity:0;transform:translate3d(-12px,18px,0);filter:blur(9px)}
  30%{opacity:.32;transform:translate3d(-8px,10px,0);filter:blur(6px)}
  70%{opacity:.84;transform:translate3d(-2px,2px,0);filter:blur(1.8px)}
  100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
@media(prefers-reduced-motion:reduce){
  .hero-title-write .hero-line{
    animation:none !important;
    opacity:1 !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    transform:none !important;
    filter:none !important;
  }
}

/* V21.2 FINAL — Hero title never overflows or gets clipped */
.hero-content{right:6vw;max-width:86vw;overflow:visible;}
.hero-title-write{width:100%;max-width:100%;overflow:visible;}
.hero-title-write .hero-line{max-width:100%;overflow:visible;box-sizing:border-box;}
.hero-title-write .hero-line-sans{font-size:clamp(56px,9vw,150px);}
.hero-title-write .hero-line-serif{font-size:clamp(50px,8.5vw,142px);}
.hero-title-write .hero-line em{max-width:100%;}
@media (max-width:1100px){
  .hero-content{max-width:88vw;}
  .hero-title-write .hero-line-sans{font-size:clamp(52px,8.7vw,132px);}
  .hero-title-write .hero-line-serif{font-size:clamp(48px,8.1vw,126px);}
}
@media (max-width:800px){
  .hero-content{right:7vw;max-width:86vw;}
  .hero-title-write .hero-line{white-space:normal;max-width:100%;}
  .hero-title-write .hero-line-sans{font-size:18vw;}
  .hero-title-write .hero-line-serif{font-size:16.5vw;}
}

/* V21 SERVICES PAGE — full-card navigation */
.service-grid .service-card{cursor:pointer}
.service-grid .service-card:focus-visible{outline:1px solid #aaa;outline-offset:-1px}

.service-grid .service-card{color:inherit;text-decoration:none;display:block}

/* V21 — SERVICES CINEMATIC INTERACTION UPGRADE */
.service-grid{position:relative;isolation:isolate;overflow:visible}
.service-grid .service-card{
  position:relative;
  overflow:hidden;
  transform-style:preserve-3d;
  will-change:transform;
  background:linear-gradient(145deg,rgba(255,255,255,.012),rgba(255,255,255,0));
  transition:
    transform .7s cubic-bezier(.16,1,.3,1),
    background-color .55s ease,
    border-color .55s ease,
    box-shadow .7s cubic-bezier(.16,1,.3,1);
}
.service-grid .service-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle 220px at var(--mx,50%) var(--my,50%),rgba(255,255,255,.09),transparent 65%),
    linear-gradient(120deg,transparent 0%,rgba(255,255,255,.025) 42%,transparent 65%);
  opacity:0;
  transition:opacity .55s ease;
}
.service-grid .service-card::after{
  content:"";
  position:absolute;
  top:0;
  left:-28%;
  width:30%;
  height:100%;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.075),transparent);
  transform:skewX(-16deg) translateX(-140%);
  opacity:0;
}
.service-grid .service-card > *{position:relative;z-index:2}
.service-grid .service-card:hover{
  transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translate3d(0,-5px,0) scale(1.006);
  background:#101010;
  box-shadow:0 22px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.025);
}
.service-grid .service-card:hover::before{opacity:1}
.service-grid .service-card:hover::after{
  opacity:1;
  animation:serviceScanSweep 1.15s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes serviceScanSweep{
  0%{transform:skewX(-16deg) translateX(-140%);opacity:0}
  20%{opacity:.55}
  75%{opacity:.24}
  100%{transform:skewX(-16deg) translateX(430%);opacity:0}
}
.service-grid .service-card small{
  display:inline-block;
  transition:transform .65s cubic-bezier(.16,1,.3,1),color .4s ease,letter-spacing .4s ease;
}
.service-grid .service-card:hover small{
  transform:translate3d(0,-2px,0);
  color:#9d9d9d;
  letter-spacing:.2em;
}
.service-grid .service-card .service-roll-title{
  transition:transform .7s cubic-bezier(.16,1,.3,1),text-shadow .6s ease;
}
.service-grid .service-card:hover .service-roll-title{
  transform:translate3d(6px,-2px,0);
  text-shadow:0 0 24px rgba(255,255,255,.08);
}
.service-grid .service-card p{
  transition:transform .7s cubic-bezier(.16,1,.3,1),color .5s ease,opacity .5s ease;
}
.service-grid .service-card:hover p{
  transform:translate3d(6px,0,0);
  color:#aaa;
}
.service-grid .service-card .service-arrow{
  transition:transform .75s cubic-bezier(.16,1,.3,1),color .4s ease,opacity .4s ease;
}
.service-grid .service-card:hover .service-arrow{
  transform:translate3d(7px,-7px,0) rotate(2deg) scale(1.05);
  color:#eee;
}
.service-grid .service-card::marker{display:none}
.service-grid .service-card:focus-visible{
  outline:1px solid rgba(255,255,255,.55);
  outline-offset:-1px;
}

/* Subtle animated guide lines — visible only during hover */
.service-grid .service-card .service-arrow::after{
  content:"";
  position:absolute;
  right:-2px;
  top:50%;
  width:34px;
  height:1px;
  background:linear-gradient(90deg,transparent,#777);
  transform:translateY(-50%) scaleX(0);
  transform-origin:right center;
  transition:transform .55s cubic-bezier(.16,1,.3,1);
}
.service-grid .service-card:hover .service-arrow::after{transform:translateY(-50%) scaleX(1)}

@media (pointer:coarse){
  .service-grid .service-card::before,
  .service-grid .service-card::after{display:none}
  .service-grid .service-card:hover{transform:none;box-shadow:none;background:#101010}
}

@media (prefers-reduced-motion:reduce){
  .service-grid .service-card,
  .service-grid .service-card small,
  .service-grid .service-card .service-roll-title,
  .service-grid .service-card p,
  .service-grid .service-card .service-arrow{
    transition:none !important;
  }
  .service-grid .service-card:hover{transform:none !important;box-shadow:none !important}
  .service-grid .service-card::before,
  .service-grid .service-card::after{display:none !important}
}


/* V21 INTERACTION FIX — keep visible CTAs clickable above decorative pointer layers */
.hero-content .hero-actions,
.hero-content .hero-actions a,
.hero-content .button,
.hero-content .hero-actions button{pointer-events:auto!important;position:relative;z-index:60;cursor:pointer;}
.nav a,.mobile-nav a,.filters button,.orbit-arrow,.service-card,.process-word,.email,.footer a,.lang-switch button,.service-tab,.service-next button,.back-link,.process-transition-link,.cinema-close,.cinema-controls button,.cinema-controls input,.showreel-controls button,.showreel-controls input{pointer-events:auto;}
.showreel-center-prompt{pointer-events:auto!important;cursor:pointer;}

/* V22 — project library: 24 projects / 29 films */
.project-page-body{background:#070707;color:#f4f4f1;min-height:100vh}.project-page-nav{position:fixed;z-index:80;top:0;left:0;right:0;height:74px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;background:linear-gradient(180deg,rgba(7,7,7,.94),rgba(7,7,7,.35),transparent);backdrop-filter:blur(8px)}.project-page-nav a{color:inherit;text-decoration:none;font-size:11px;letter-spacing:.15em}.project-brand{font-weight:700}.project-page-nav .lang-switch{justify-self:end;display:flex;gap:7px;align-items:center}.project-page-nav .lang-switch button{background:none;border:0;color:inherit;font:inherit;font-size:10px;letter-spacing:.12em;cursor:pointer}.project-page{padding:150px 4vw 70px}.project-hero{max-width:1180px;margin:0 auto 11vh}.project-hero h1{font-size:clamp(3rem,7.4vw,8.5rem);line-height:.86;letter-spacing:-.055em;margin:18px 0 32px;max-width:14ch}.project-page-desc{max-width:680px;color:#a9a9a4;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.6}.project-films{max-width:1500px;margin:auto}.project-film{margin:0 0 12vh}.project-film-head{display:flex;justify-content:space-between;padding:0 0 14px;border-bottom:1px solid #2b2b2b;margin-bottom:18px;font-size:10px;letter-spacing:.15em;color:#aaa}.project-film video{display:block;width:100%;max-height:82vh;background:#000;object-fit:contain}.project-pagination{max-width:1500px;margin:3vh auto 0;padding-top:30px;border-top:1px solid #242424;display:grid;grid-template-columns:1fr auto 1fr;gap:20px}.project-pagination a{color:#eee;text-decoration:none;font-size:10px;letter-spacing:.13em}.project-pagination a:last-child{text-align:right}@media(max-width:700px){.project-page-nav{grid-template-columns:1fr 1fr}.project-brand{display:none}.project-page{padding:120px 20px 50px}.project-hero{margin-bottom:70px}.project-film{margin-bottom:70px}.project-pagination{grid-template-columns:1fr 1fr}.project-pagination>a:nth-child(2){display:none}}

/* Video orbit: cylindrical perspective, adapted from Michael Zonta PH. */
#work{overflow:hidden}.orbit-wrap{height:460px!important;position:relative;perspective:1600px;overflow:visible!important;touch-action:pan-y;cursor:grab}
#orbit{position:absolute!important;left:50%!important;top:48%!important;width:330px!important;height:220px!important;margin:-110px 0 0 -165px!important;transform-style:preserve-3d!important;perspective:none!important;overflow:visible!important;will-change:transform}
.film-card{display:block;position:absolute;inset:0;background:linear-gradient(145deg,#30343a,#090909);border:1px solid #ffffff25;backface-visibility:hidden;box-shadow:0 24px 50px #0009;overflow:hidden;border-radius:4px;color:white;text-decoration:none;user-select:none}
.film-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#000d)}.film-card img{width:100%;height:100%;object-fit:cover}.film-card h3{position:absolute;z-index:1;bottom:19px;left:20px;right:18px;font-size:21px;line-height:1.2;margin:0}.film-card span{position:absolute;z-index:1;top:19px;left:20px;font-size:10px;letter-spacing:1px;text-transform:uppercase}.film-card.cover-missing:before{content:'FDF / SELECTED FILM';position:absolute;left:20px;top:44%;font-size:12px;letter-spacing:3px;color:#777}.film-card:focus-visible{outline:2px solid white;outline-offset:4px}.orbit-arrow{z-index:40!important}.orbit-hint{bottom:5px!important}.orbit-pause{display:block;margin:8px auto 35px;padding:12px 20px;border:1px solid #555;border-radius:30px;background:#101010;color:#eee;cursor:pointer}.project-detail{min-height:150px}
@media(max-width:700px){.orbit-wrap{height:350px!important;perspective:1100px}#orbit{width:230px!important;height:170px!important;margin:-85px 0 0 -115px!important}.film-card h3{font-size:17px}.orbit-arrow{width:38px!important;height:38px!important}.film-card span{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important}.reveal{opacity:1!important;transform:none!important}}

.orbit-wrap{min-height:0!important}html{scroll-padding-top:90px}
.film-card{transition:box-shadow .2s}.film-card:hover{box-shadow:0 0 0 1px #aaa,0 24px 50px #0009}

.about-grid .facts.stats-cinematic { max-width:1200px; margin:30px auto 0; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; text-align:center; }
.about-grid .facts.stats-cinematic .stat-item { grid-column:auto; align-items:center; justify-content:center; padding:18px 0 28px; }
.about-grid .facts.stats-cinematic .stat-number { margin:0 0 22px; }
.portrait-scan { position:absolute; inset:0; z-index:6; pointer-events:none; opacity:0; background:radial-gradient(ellipse 90% 16% at 50% var(--scan-y,50%),#ffffff50,transparent 75%); filter:blur(16px); mix-blend-mode:screen; }
.section-discovery { position:relative; z-index:2; display:flex; justify-content:center; padding:26px 7vw 38px; background:#080808; }
.section-discovery a { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:48px; padding:6px 8px 6px 22px; border:1px solid #ffffff30; border-radius:40px; font:10px/1.5 monospace; letter-spacing:.13em; color:#ccc; transition:color .25s,border-color .25s; }
.section-discovery a:hover { color:#fff; border-color:#ffffff90; }
.section-discovery a:focus-visible,.hero-play-fallback:focus-visible { outline:2px solid #fff; outline-offset:5px; }
.discovery-arrow { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#ffffff0c; font:20px Arial,sans-serif; transition:transform .25s; }
.section-discovery a:hover .discovery-arrow { transform:translateY(3px); }
.hero-play-fallback { position:absolute; z-index:65; right:7vw; bottom:100px; border:1px solid #ffffff70; padding:13px 18px; background:#0009; color:#fff; font:10px monospace; letter-spacing:.12em; }
.hero-play-fallback[hidden] { display:none; }
@media(max-width:800px) {
 .about-grid .facts.stats-cinematic { gap:8px; }
 .about-grid .facts.stats-cinematic .stat-number { font-size:clamp(36px,13vw,82px); }
 .about-grid .facts.stats-cinematic .stat-item { min-height:130px; }
 .about-grid .facts.stats-cinematic .stat-item>span { font-size:8px; }
}
@media(prefers-reduced-motion:reduce) { .section-discovery a,.discovery-arrow { transition:none; } }

/* Validated private revision. Native scrolling on every viewport. */
[hidden]{display:none!important}html{scroll-padding-top:88px}body{overflow-x:clip}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #eee;outline-offset:5px}.skip-link{position:fixed;left:20px;top:-80px;z-index:200;background:#eee;color:#080808;padding:14px}.skip-link:focus{top:12px}.header-language{display:none}
.hero{height:100svh;min-height:620px}.hero-content{pointer-events:auto!important}.hero-title-write .hero-line{opacity:1!important;filter:none!important;animation:none!important;transform:none!important;clip-path:none!important}.hero-title-write .hero-line-sans{display:block}.hero-title-write .hero-line-serif{display:block;padding-top:.18em}.hero h1{font-size:clamp(74px,10.8vw,172px)}.hero h1 em{font-family:Georgia,serif;font-weight:400}.hero-meta{bottom:28px}.hero-status{bottom:88px}.hero-overlay{background:linear-gradient(90deg,#000a 0%,#0003 70%),linear-gradient(0deg,#000c,transparent 65%)}.hero-video video{filter:none!important}.desktop-nav{gap:22px}.nav{backdrop-filter:blur(8px)}.mobile-nav:not(.open){visibility:hidden;pointer-events:none}.mobile-nav.open{visibility:visible;pointer-events:auto}
.work-toolbar{display:flex;align-items:center;gap:24px;margin-bottom:24px;font:10px/1.5 monospace;letter-spacing:.12em;color:#999}.work-toolbar .filters{margin:0;padding:0}.work-toolbar .filters button{min-height:44px;min-width:44px;padding:10px 0}.work-toolbar>a{margin-left:auto;padding:12px 0}.project-detail{padding-bottom:35px}.project-detail h3 a{display:inline-block}.grid-intro{font:11px/1.6 monospace;letter-spacing:.12em;color:#a5a5a0;margin:36px 0 28px;padding-top:36px;border-top:1px solid #303030}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;scroll-margin-top:100px}.work-card{min-width:0;display:block}.work-card-frame{position:relative;aspect-ratio:16/10;overflow:hidden;background:#151515}.work-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.8)}.work-play{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #fff8;border-radius:50%;background:#0007;color:white;transition:transform .4s}.work-category{display:block;font:9px/1.5 monospace;text-transform:uppercase;letter-spacing:.1em;color:#999;margin:17px 0 7px}.work-card h3{font-size:19px;font-weight:400;line-height:1.3;letter-spacing:-.02em;margin:0}.work-card:hover img,.work-card:focus-visible img{transform:scale(1.055);filter:saturate(1)}.work-card:hover .work-play{transform:rotate(45deg)}.film-card img{transition:filter .4s}.film-card:focus-visible img{filter:brightness(1.15)}.orbit-wrap{overflow:hidden!important}.orbit-arrow{background:#080808b3;backdrop-filter:blur(8px)}.orbit-pause{font:10px/1.5 monospace;min-height:44px}.orbit-hint{bottom:12px!important;color:#aaa}.project-detail p{color:#aaa}.section-top p{color:#aaa}
.aerial-reveal-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:800px;gap:3vw;padding:90px 7vw}.aerial-copy{max-width:100%;width:100%}.portrait-scroll-stage{position:relative;min-width:0}.aerial-portrait{height:620px;width:100%;min-height:0;overflow:hidden;isolation:isolate;cursor:crosshair}.aerial-reveal-layer{opacity:1!important;transition:none!important;transform:none!important;filter:none!important;pointer-events:none}.aerial-portrait .aerial-image{bottom:0!important;width:100%!important;height:100%!important;max-width:680px;object-fit:contain!important;transform:translateX(-50%)!important}.aerial-atmosphere,.aerial-trail{display:none}.aerial-glow{animation:none}.portrait-toggle{position:relative;display:block;margin:16px auto 0;border:1px solid #777;padding:14px 20px;min-height:48px;font:10px/1.5 monospace;letter-spacing:.12em;background:#080808b3}.aerial-copy p{color:#aaa}
.about-grid .about-copy{min-width:0}.about-section>.facts.stats-cinematic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1200px;width:100%;margin:60px auto 0;padding-top:38px;gap:20px;text-align:center}.about-section>.facts.stats-cinematic .stat-item{grid-column:auto;align-items:center;justify-content:center;min-height:180px;padding:20px 0;overflow:visible}.about-section>.facts.stats-cinematic .stat-number{font-size:clamp(70px,10.5vw,145px);margin:0 0 20px;line-height:.9;white-space:nowrap}.about-section>.facts.stats-cinematic span{font:10px/1.5 monospace;color:#aaa;letter-spacing:.14em}
#process{height:auto!important;min-height:0!important;padding:110px 7vw!important;overflow:visible!important}.process-flow{border-top:1px solid #333}.process-phase{position:relative;display:grid;grid-template-columns:50px 1fr 1fr 30px;gap:20px;align-items:center;min-height:180px;padding:28px 10px;border-bottom:1px solid #333;transition:background .3s,padding .3s}.process-phase>span{font:10px monospace;color:#999}.process-phase h3{font-size:clamp(30px,4vw,60px);font-weight:400;letter-spacing:-.055em;margin:0}.process-phase p{font-size:14px;line-height:1.7;color:#aaa;max-width:370px}.process-phase b{font-size:24px;font-weight:400}.process-phase:hover{background:#121212;padding-left:20px}.contact-inner{max-width:100%}.contact-section h2{overflow-wrap:normal}.contact-section .email{max-width:100%;overflow-wrap:anywhere;font-size:clamp(15px,2.1vw,28px)}.section-discovery{padding:22px 7vw 36px}.section-discovery a{min-height:48px}
.project-page{padding:90px 5vw 60px}.project-page .project-hero{padding:60px 0 30px;margin:0 auto 40px;max-width:1400px}.project-hero h1{max-width:20ch;line-height:1.02;overflow-wrap:break-word}.project-page-nav .project-back{margin:0;padding:16px 0}.project-pagination a{padding:15px 0;line-height:1.6}.project-film video{max-height:80svh;min-height:180px}.project-film-note{color:#aaa;font:11px/1.6 monospace}.project-recovery{max-width:700px;padding:60px 0;color:#aaa}.project-error-note{display:block;margin:20px 0;font-size:16px;line-height:1.7}.project-error-note a{text-decoration:underline}.project-gallery-stills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1500px;margin:0 auto 70px}.project-gallery-stills img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.project-gallery-title{max-width:1500px;margin:0 auto 25px;font:11px monospace;letter-spacing:.13em;color:#aaa}
@media(max-width:1100px){.desktop-nav{gap:15px;font-size:9px}.nav{padding:0 4vw}.aerial-copy h2{font-size:clamp(42px,5.5vw,70px)}}
@media(max-width:900px){.aerial-reveal-section{overflow:visible!important}.aerial-reveal-inner{display:block;min-height:0;padding:90px 7vw 0}.aerial-copy{max-width:760px;margin:0 auto 25px}.portrait-scroll-stage{height:175svh}.aerial-portrait{position:sticky;top:74px;height:calc(100svh - 125px);min-height:0!important;margin:0}.portrait-toggle{position:sticky;top:calc(100svh - 45px);margin:0 auto;transform:translateY(-100%);max-width:94%;font-size:9px}.aerial-perspective-text{font-size:clamp(38px,7vw,65px)!important}}
@media(max-width:800px){html{scroll-padding-top:78px}.nav{gap:15px;height:68px;padding:0 6vw;background:#080808cc}.nav .brand{margin-right:auto;font-size:10px;white-space:nowrap}.header-language{display:block}.header-language .lang-switch{gap:2px}.lang-switch button{min-width:32px;min-height:44px}.menu-toggle{min-height:44px;gap:5px}.menu-toggle i:nth-child(2){display:none}.menu-toggle span{font-size:9px}.mobile-nav{max-height:calc(100svh - 68px);overflow:auto;gap:5px;padding:20px 7vw}.mobile-nav a{font-size:22px;min-height:44px;padding:9px 0}.mobile-lang{margin:10px 0 0;padding:10px 0}.hero{min-height:580px}.hero h1{font-size:17.5vw}.hero-content{bottom:20%;left:7vw;right:7vw}.hero .eyebrow{font-size:8px;line-height:1.7;max-width:270px}.hero .tagline{margin:20px 0;font-size:18px}.hero-actions{flex-direction:row;align-items:stretch;gap:8px;flex-wrap:wrap}.hero-actions .button{min-height:46px;padding:14px 13px;font-size:9px}.hero-status{bottom:84px;left:7vw;right:auto}.hero-meta{bottom:26px}.work-toolbar{gap:12px;flex-wrap:wrap;font-size:9px}.project-count{font-size:9px}.work-toolbar>a{margin-left:auto;font-size:9px}.work-section{padding-left:5vw;padding-right:5vw}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}.work-card h3{font-size:15px}.work-category{font-size:8px;letter-spacing:.03em;margin-top:12px}.work-card-frame{aspect-ratio:4/3}.work-play{right:8px;bottom:8px;width:30px;height:30px;font-size:14px}.grid-intro{font-size:10px}.project-detail h3{font-size:25px}.about-section>.facts.stats-cinematic{gap:8px;margin-top:40px}.about-section>.facts.stats-cinematic .stat-item{min-height:120px}.about-section>.facts.stats-cinematic .stat-number{font-size:clamp(38px,13vw,82px)}.about-section>.facts.stats-cinematic span{font-size:8px;letter-spacing:.04em}.showreel-reveal-section{padding:40px 4vw!important}.showreel-window{aspect-ratio:4/3}.showreel-expanded-copy{top:6%;left:5%}.showreel-expanded-copy h2{font-size:30px;margin:10px 0}.showreel-center-prompt{top:49%!important;font-size:8px!important;padding:13px 18px!important}.showreel-controls{bottom:5px!important;height:44px!important;padding:0!important;gap:8px!important}.showreel-controls button{width:42px!important;height:42px!important}.showreel-controls input{width:70px}.reel-volume-wrap>span{display:none}.process-phase{grid-template-columns:28px 1fr 24px;gap:12px;min-height:180px;padding:28px 0}.process-phase h3{font-size:clamp(28px,9vw,55px)}.process-phase p{grid-column:2;grid-row:2;font-size:13px;margin:0}.process-phase b{grid-column:3;grid-row:1}.process-phase:hover{padding-left:0}#process{padding:90px 7vw!important}.contact-section h2{font-size:clamp(44px,9.5vw,76px);line-height:1}.contact-section .email{font-size:clamp(13px,3.8vw,22px);gap:10px}.cinema-controls{gap:8px!important;max-width:94vw!important;padding:6px!important}.cinema-controls input{width:85px!important}.project-page{padding:80px 6vw 45px}.project-page .project-hero{padding:40px 0 20px}.project-hero h1{font-size:clamp(36px,9vw,64px)}.project-pagination{grid-template-columns:1fr 1fr}.project-pagination>a:nth-child(2){display:block;grid-row:2;grid-column:1/-1;text-align:center}.project-gallery-stills{gap:10px}.project-film{margin-bottom:50px}}
@media(max-width:360px){.nav{padding:0 4vw;gap:7px}.nav .brand{font-size:9px}.menu-toggle i{display:none}.work-toolbar>a{flex-basis:100%;margin:0}.hero-actions .button{font-size:8px}.project-grid{gap:25px 10px}.work-card h3{font-size:14px}.showreel-controls input{width:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.portrait-scroll-stage{height:auto!important}.aerial-portrait,.portrait-toggle{position:relative!important;top:auto!important;transform:none!important}.aerial-portrait{height:70svh!important}.portrait-toggle{margin:20px auto!important}.work-card img{filter:none}}
.cinema-modal.open{opacity:1!important;pointer-events:auto!important}.showreel-window.is-playing .showreel-center-prompt{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.hero .reveal{animation-duration:.65s;animation-delay:0s}.hero-actions .button{color:#eee;background:#08080880}.hero-actions .button.solid{color:#080808;background:#eee}
.portrait-toggle{z-index:15}.mobile-nav a:focus-visible{outline-offset:-2px}.project-page-nav .lang-switch button{min-height:44px;min-width:32px}
.mobile-nav{transform:none!important;transition:opacity .18s ease!important;opacity:0}.mobile-nav.open{opacity:1}

/* Complete portraits on both screen sizes, without scroll/hover state conflicts. */
.aerial-portrait{cursor:default}.aerial-reveal-layer{mask-image:linear-gradient(transparent,transparent);-webkit-mask-image:linear-gradient(transparent,transparent)}
.portrait-toggle{position:relative;top:auto;transform:none;margin:18px auto 0;min-height:48px;color:#eee;touch-action:manipulation}
.portrait-toggle:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:900px){.portrait-scroll-stage{height:auto;padding-bottom:36px}.aerial-portrait{position:relative;top:auto;height:min(105vw,66svh);min-height:320px!important;margin:0}.portrait-toggle{position:relative;top:auto;transform:none;margin:18px auto 0}.aerial-reveal-inner{padding-bottom:0}}
@media(max-width:800px){.work-card .work-play{display:none}}

.cinema-modal{z-index:150!important}.cinema-modal:not(.open){visibility:hidden;pointer-events:none}.cinema-modal.open{visibility:visible;opacity:1;pointer-events:auto}.cinema-video{object-fit:contain!important}.cinema-close{min-width:48px;min-height:48px}.cinema-controls button{min-width:44px;min-height:44px}

.brand,.project-brand{display:inline-flex;align-items:center;gap:12px;min-height:48px;text-decoration:none;color:#f2f2ef;flex-shrink:0}.brand-mark{display:block;width:76px;height:auto;max-height:40px;object-fit:contain;flex-shrink:0}.brand-wordmark{font:700 9px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.12em;white-space:nowrap}.brand-signature{display:flex;justify-content:center;padding:55px 7vw 60px;background:#080808;border-top:1px solid #202020}.brand-signature a{display:block;width:min(330px,80vw);max-width:100%}.brand-signature img{display:block;width:100%;height:auto;opacity:.92}.project-page-nav .project-brand{justify-content:center}.project-page-nav{grid-template-columns:1fr auto 1fr}.nav .brand{margin-right:22px}
@media(max-width:1450px){.nav .brand-wordmark{display:none}.nav .brand{margin-right:12px}.nav .brand-mark{width:92px}}
@media(max-width:800px){.nav .brand{margin-right:auto}.nav .brand-mark{width:92px}.brand-signature{padding:45px 7vw}.brand-wordmark{display:none}.project-page-nav{grid-template-columns:1fr auto 1fr}.project-page-nav .project-brand{display:inline-flex!important;margin:0!important}.project-page-nav .brand-mark{width:76px;max-height:34px}.project-page-nav .lang-switch{gap:1px}.project-page-nav .project-back{font-size:9px}.project-page-nav .lang-switch button{min-width:29px;min-height:44px}}
@media(max-width:360px){.nav .brand-mark{width:82px}.project-page-nav .brand-mark{width:62px}.project-page-nav{padding:0 4vw}.project-page-nav .lang-switch button{min-width:26px}}

:root{--acid:#b0ff32;--paper:#efefea}
h1,h2,h3{color:#f2f2ef}
.hero h1,.hero h1 em,.aerial-copy h2,.aerial-copy h2 em,.about-grid h2,.about-grid h2 em{color:var(--acid)!important}
.tagline,.project-detail h3 a,.stats-cinematic .stat-number,.stats-cinematic .stat-item>span,.facts b,.process-phase>span,.service-tab,.service-next h3{color:#f2f2ef}
h1 span,h2 span,h3 span,h1 em,h2 em,h3 em{color:inherit!important}
.hero-video video{opacity:1!important}.hero-overlay{background:linear-gradient(90deg,#0008,transparent 80%),linear-gradient(0deg,#000b,transparent 65%)}
.section{padding-top:74px;padding-bottom:74px}.section-top{margin-bottom:34px}.section-discovery{padding:10px 7vw 14px}.section-discovery a{min-height:40px;padding:10px 20px;font-size:9px}.discovery-arrow,.work-play,.service-arrow,.process-phase>b,.nav-cta>b{display:none!important}
.aerial-reveal-inner{min-height:0;padding-top:55px;padding-bottom:40px}.aerial-portrait{height:560px}.about-section .about-grid{gap:4vw}.about-section>.facts.stats-cinematic{margin-top:25px;padding-top:20px}.about-section>.facts.stats-cinematic .stat-item{min-height:140px}.contact-section{min-height:65svh;padding:70px 7vw}.contact-section h2{margin-bottom:35px}.brand-signature{padding-top:35px;padding-bottom:35px}.process-section,#process{min-height:0;padding-top:64px!important;padding-bottom:50px!important}.process-phase{min-height:130px;padding:24px 0}.project-detail{padding-bottom:0;min-height:90px}.work-toolbar .button{padding:14px 20px;margin-left:auto;border-color:#b0ff3255;color:var(--acid)}.work-toolbar .button:hover{background:var(--acid);color:#080808}.orbit-arrow{font:8px monospace;color:#e4e4e0}.orbit-hint{font-size:8px}
.all-projects-page{padding-top:140px;max-width:1700px;margin:auto}.all-projects-page>h1{font-size:clamp(50px,9vw,130px);letter-spacing:-.065em;line-height:.95;max-width:100%;margin:20px 0}.projects-intro{color:#aaa;margin:25px 0 50px}.work-card h2{font-size:19px;line-height:1.3;letter-spacing:-.025em;font-weight:400;margin:0}.work-card{perspective:900px}.work-card-frame{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .4s ease;transform-style:preserve-3d;box-shadow:0 12px 35px #0005}.service-card{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .5s ease,background .3s}
/* Scroll-open showreel: a compact window unfolds into a cinematic screen. */
#showreel.showreel-reveal-section{height:165svh!important;min-height:0!important;padding:0!important;background:#080808!important;overflow:visible!important}
#showreel .showreel-reveal-stage{position:sticky!important;top:72px!important;height:calc(100svh - 72px)!important;min-height:0!important;display:flex!important;align-items:center;justify-content:center;padding:0!important;background:#080808!important;overflow:hidden}
#showreel .showreel-window{position:relative!important;width:var(--reel-width,260px)!important;height:auto!important;aspect-ratio:16/9!important;max-width:1500px;max-height:76svh;margin:0;border-radius:var(--reel-radius,16px)!important;transform:perspective(1200px) rotateX(var(--reel-tilt,10deg))!important;box-shadow:0 20px 90px #b0ff320e;border:1px solid #b0ff3240;will-change:width,transform}
#showreel .showreel-video{object-fit:contain!important}
#showreel .showreel-side-label{display:block!important;color:var(--acid);top:18px!important;left:5vw!important;right:auto!important;transform:none!important;font:10px monospace;letter-spacing:.12em}
#showreel .showreel-title{left:auto!important;right:5vw!important}
#showreel .showreel-scroll-cue{display:block!important;bottom:25px;color:#aaa}
#showreel .showreel-expanded-copy{opacity:var(--reel-copy,0)!important;visibility:visible;left:5%;top:7%;transform:none!important;pointer-events:none}
#showreel .showreel-expanded-copy h2{font-size:clamp(28px,4vw,60px);margin:10px 0}
#showreel .showreel-center-prompt{position:absolute!important;inset:auto!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;display:flex!important;align-items:center;gap:12px;opacity:1!important;visibility:visible!important;pointer-events:auto!important;padding:14px 20px!important;background:#000b;border:1px solid #b0ff3270;border-radius:32px;font:9px monospace!important;white-space:nowrap;color:var(--acid)}
#showreel .showreel-controls{opacity:0;pointer-events:none;left:3%!important;right:3%!important;bottom:12px!important;max-width:none!important;background:#0009!important;border:0!important;height:44px!important}
#showreel .is-open .showreel-controls{opacity:1;pointer-events:auto}#showreel .showreel-window.is-playing .showreel-center-prompt{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.cinema-stage{animation:none}.cinema-modal.open .cinema-stage{animation:cinemaOpen .7s cubic-bezier(.16,1,.3,1) both}@keyframes cinemaOpen{from{opacity:0;transform:perspective(1400px) translateY(40px) rotateX(8deg) scale(.9)}to{opacity:1;transform:none}}
.website-service{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;background:radial-gradient(ellipse at 90% 50%,#b0ff320b,transparent 65%);border-top:1px solid #292929;border-bottom:1px solid #292929}.web-service-copy h2{font-size:clamp(48px,6.7vw,100px);line-height:.92;letter-spacing:-.065em;white-space:pre-line;margin:25px 0}.web-service-copy>p:not(.eyebrow){color:#aaa;font-size:15px;line-height:1.7;max-width:570px}.website-service .button{margin-top:22px;background:var(--acid);color:#080808}.web-service-visual{perspective:1000px;position:relative;padding:50px 0}.web-screen{background:#0d0f0a;border:1px solid #b0ff3270;box-shadow:14px 18px 0 #b0ff3215,25px 50px 70px #0008;transform:rotateY(-17deg) rotateX(8deg) rotateZ(-3deg);animation:webFloat 7s ease-in-out infinite}.web-screen-bar{display:flex;gap:6px;padding:14px;border-bottom:1px solid #b0ff3225}.web-screen-bar i{width:5px;height:5px;background:var(--acid);border-radius:50%}.web-screen-content{padding:30px}.web-screen-content>span{font:8px monospace;letter-spacing:.13em;color:#888}.web-screen-content strong{display:block;font-size:clamp(45px,5.5vw,80px);line-height:.95;letter-spacing:-.06em;color:var(--acid);margin:35px 0}.web-screen-line{height:3px;width:45%;background:var(--acid)}.web-orbit{display:block;text-align:right;font:8px monospace;color:#777;letter-spacing:.18em;margin-top:35px}@keyframes webFloat{50%{transform:translateY(-15px) rotateY(-10deg) rotateX(12deg) rotateZ(-1deg)}}
.motion-enter{opacity:0;transform:perspective(1000px) translate3d(0,28px,-35px) rotateX(7deg);transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1)}.motion-enter.in-view{opacity:1;transform:none}
.brand,.project-brand,.brand-signature a{perspective:800px}.brand-mark{filter:drop-shadow(0 3px 1px #000) drop-shadow(0 0 10px #b0ff3210);animation:droneHover 6s ease-in-out infinite;transform-origin:center;will-change:transform}.brand:hover .brand-mark,.project-brand:hover .brand-mark{animation:droneBank 1s ease-in-out}.brand-signature img{animation:droneHover 7s ease-in-out infinite;filter:drop-shadow(0 8px 0 #b0ff3217)}@keyframes droneHover{0%,100%{transform:translateY(1px) rotateX(3deg) rotateY(-5deg) rotateZ(-1deg)}50%{transform:translateY(-5px) rotateX(-5deg) rotateY(6deg) rotateZ(1deg)}}@keyframes droneBank{25%{transform:translateY(-9px) rotateY(-20deg) rotateZ(-9deg)}70%{transform:translateY(-4px) rotateY(15deg) rotateZ(6deg)}}
.footer{font-size:8px;line-height:1.7;align-items:center}.footer span:nth-child(2){color:#a3a39b}.footer a:hover{color:var(--acid)}
.services-section .section-top,.about-section .section-top,.contact-section .contact-inner{perspective:1100px}
.services-section .section-top .eyebrow,.about-section .section-top .eyebrow,.contact-section .contact-inner>h2,.service-card h3,.stats-cinematic .stat-item{transform-style:preserve-3d;transition:color .35s ease,transform .55s cubic-bezier(.2,.8,.2,1),text-shadow .35s ease}
.services-section .section-top .eyebrow,.about-section .section-top .eyebrow{color:#f2f2ef!important}
.service-card h3{color:#f2f2ef!important;text-shadow:none}
.service-card:hover h3,.service-card:focus-visible h3{color:var(--acid)!important;transform:perspective(800px) translate3d(0,-5px,18px) rotateX(-5deg);text-shadow:0 8px 24px #b0ff3240}
.stats-cinematic .stat-number,.stats-cinematic .stat-item>span{color:#f2f2ef!important;transition:color .35s ease,text-shadow .35s ease,transform .55s cubic-bezier(.2,.8,.2,1)}
.stats-cinematic .stat-item:hover,.stats-cinematic .stat-item:focus-within{transform:perspective(800px) translate3d(0,-6px,22px) rotateX(-4deg)}
.stats-cinematic .stat-item:hover .stat-number,.stats-cinematic .stat-item:focus-within .stat-number{color:var(--acid)!important;text-shadow:0 8px 28px #b0ff3245}
.contact-section .contact-inner>h2{color:#f2f2ef!important;text-shadow:none}
.contact-section .contact-inner>h2:hover,.contact-section .contact-inner>h2:focus-within{color:var(--acid)!important;transform:perspective(900px) translate3d(0,-6px,20px) rotateX(-4deg);text-shadow:0 10px 30px #b0ff3235}
.contact-section .contact-inner>h2,.web-service-copy h2{color:var(--acid)!important}
.process-flow{perspective:1200px}.process-phase h3{color:#f2f2ef!important;transform-style:preserve-3d;transition:color .3s ease,transform .55s cubic-bezier(.2,.8,.2,1),text-shadow .35s ease}.process-phase:hover h3,.process-phase:focus-visible h3{color:var(--acid)!important;transform:perspective(800px) translate3d(0,-5px,20px) rotateX(-6deg);text-shadow:0 8px 24px #b0ff3240}.process-phase{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.process-phase:hover,.process-phase:focus-visible{transform:translateZ(12px)}
.showreel-controls #reelToggle,.showreel-controls #reelVolume,.showreel-controls .reel-volume-wrap,.showreel-controls #reelFullscreen{display:none!important}.showreel-controls{left:auto!important;right:24px!important;bottom:24px!important;width:48px!important;height:48px!important}.showreel-controls #reelMute{display:grid!important;opacity:1!important;pointer-events:auto!important}
.footer span:nth-child(2){color:var(--acid)}
@media(hover:none){.service-card:active h3{color:var(--acid)!important;transform:translateY(-3px)}.stats-cinematic .stat-item:active .stat-number{color:var(--acid)!important}.contact-section .contact-inner>h2:active{color:var(--acid)!important}}
@media(max-width:900px){.aerial-reveal-inner{padding-top:40px;padding-bottom:0}.aerial-portrait{height:min(105vw,66svh)}.website-service{grid-template-columns:1fr;gap:15px}.web-service-visual{max-width:540px;width:90%;margin:auto;padding:25px 0}.web-service-copy h2{font-size:clamp(46px,10vw,80px)}}
@media(max-width:800px){.section{padding-top:50px;padding-bottom:50px}.section-top{gap:18px;margin-bottom:25px}.section-discovery{padding:8px 7vw}.work-toolbar{margin-bottom:4px}.work-toolbar .button{font-size:9px;padding:12px 15px}.work-toolbar .project-count{margin-right:auto}.orbit-wrap{height:360px!important;min-height:360px!important}.project-detail{min-height:95px}.contact-section{padding:55px 7vw;min-height:55svh}#process{padding-top:50px!important;padding-bottom:35px!important}.process-phase{min-height:140px}.all-projects-page{padding-top:110px}.work-card h2{font-size:15px}#showreel.showreel-reveal-section{height:150svh!important}#showreel .showreel-reveal-stage{top:68px!important;height:calc(100svh - 68px)!important}#showreel .showreel-expanded-copy h2{font-size:25px}#showreel .showreel-expanded-copy{top:5%}#showreel .showreel-controls{bottom:2px!important}#showreel .showreel-center-prompt{padding:12px 15px!important;font-size:8px!important}.brand-mark{animation-duration:7s}.web-screen-content strong{font-size:65px}}
@media(prefers-reduced-motion:reduce){.motion-enter{opacity:1;transform:none;transition:none}.brand-mark,.brand-signature img,.web-screen,.cinema-modal.open .cinema-stage{animation:none!important}.work-card-frame,.service-card{transform:none!important}#showreel.showreel-reveal-section{height:auto!important}#showreel .showreel-reveal-stage{position:relative!important;top:0!important;height:auto!important;padding:50px 5vw!important}#showreel .showreel-window{width:100%!important;transform:none!important}#showreel .showreel-scroll-cue{display:none!important}}
.aerial-reveal-section{min-height:0!important}.website-service{overflow:clip}html{overflow-x:hidden}
/* Showreel: clean image, title above, one audio toggle. */
#showreel .showreel-reveal-stage{flex-direction:column!important;justify-content:center!important;gap:clamp(12px,2.5vh,28px)!important;padding:clamp(38px,7vh,76px) 4vw 16px!important}
#showreel .showreel-expanded-copy{position:relative!important;inset:auto!important;align-self:flex-start!important;margin-left:4%!important;opacity:1!important;visibility:visible!important;transform:none!important;z-index:3!important;pointer-events:none!important}
#showreel .showreel-expanded-copy .eyebrow{margin:0 0 7px;color:#aaa}
#showreel .showreel-expanded-copy h2{color:var(--acid)!important;margin:0!important;font-size:clamp(28px,5vw,66px)!important;line-height:.95;letter-spacing:-.06em}
#showreel .showreel-expanded-copy h2 span,#showreel .showreel-expanded-copy h2 em{color:var(--acid)!important}
#showreel .showreel-window{max-height:66svh!important}
#showreel .showreel-center-prompt{display:none!important}
@media(max-width:800px){#showreel .showreel-reveal-stage{padding:38px 4vw 12px!important;gap:12px!important}#showreel .showreel-expanded-copy{margin-left:2%!important}#showreel .showreel-expanded-copy h2{font-size:clamp(24px,7vw,42px)!important}#showreel .showreel-window{max-height:62svh!important}}
#showreel .showreel-controls{display:flex!important;width:auto!important;gap:8px!important;background:transparent!important;opacity:0!important;pointer-events:none!important;transition:opacity .4s ease!important}
#showreel .showreel-controls #reelFullscreen{display:grid!important}
#showreel .controls-visible .showreel-controls{opacity:.75!important;pointer-events:auto!important}
#showreel .showreel-controls button{background:#0007!important;backdrop-filter:blur(8px);border:1px solid #ffffff50!important}
#showreel .showreel-controls button:focus-visible{opacity:1;outline:2px solid var(--acid)}
/* Lusion-inspired depth, stagger and parallax, tailored to the FDF cinematic palette. */
.lusion-reveal{opacity:0;filter:blur(5px);transform:perspective(900px) translate3d(0,42px,-55px) rotateX(8deg);transition:opacity .85s cubic-bezier(.2,.75,.25,1),transform 1s cubic-bezier(.16,1,.3,1),filter .85s ease;transition-delay:var(--lusion-delay,0ms);transform-origin:center bottom;will-change:opacity,transform,filter}
.lusion-reveal.lusion-in{opacity:1;filter:blur(0);transform:perspective(900px) translate3d(0,0,0) rotateX(0)}
.hero-content,.aerial-copy,.web-service-visual{transition:translate .28s ease-out;will-change:translate}
.service-card,.process-phase,.work-card-frame{transform-style:preserve-3d;backface-visibility:hidden}
@media(prefers-reduced-motion:reduce){.lusion-reveal{opacity:1;filter:none;transform:none;transition:none}.hero-content,.aerial-copy,.web-service-visual{translate:0 0!important;transition:none}}

@media(min-width:0px){
 body>.nav{position:fixed!important;top:0!important;left:0!important;right:0!important;transform:none!important;translate:none!important;z-index:100!important}
 .mobile-nav{z-index:110!important}
}
@media(prefers-reduced-motion:no-preference){
 .fdf-flight{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden}
 .fdf-flight[hidden]{display:none}
 .fdf-flight canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
 .fdf-pilot{position:absolute;left:0;top:0;width:72px;height:48px;padding:5px;border:0;background:transparent;pointer-events:auto;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;will-change:transform}
 .fdf-pilot:active{cursor:grabbing}.fdf-pilot:focus-visible{outline:1px solid #b0ff32;border-radius:8px}
 .fdf-pilot img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 7px #0008)}
 .fdf-flight-hit,.fdf-flight-hit *{color:#b0ff32!important}
 .fdf-flight-hit{animation:fdf-react .65s ease-in-out infinite alternate!important}
 @keyframes fdf-react{from{translate:0 0;rotate:0deg}to{translate:0 -5px;rotate:-1deg}}
 #portraitToggle{visibility:hidden;pointer-events:none}
}

@media(prefers-reduced-motion:no-preference){
 body .stats-cinematic .stat-item .stat-number.fdf-flight-hit,body .process-flow .process-phase h3.fdf-flight-hit,body .process-flow .process-phase h3.fdf-flight-hit *{color:#b0ff32!important;text-shadow:0 0 20px #b0ff3240}
 .brand-signature img{animation:none!important}
 .fdf-pilot .fdf-landing-logo{position:absolute;inset:0;width:100%;height:100%;opacity:0;object-fit:contain}
}

/* Each cover floats and turns independently inside its original orbit slot. */
.film-card{overflow:visible!important;background:transparent!important;box-shadow:none!important;border:0!important;perspective:1000px}
.film-body{position:relative;width:100%;height:100%;overflow:hidden;border:1px solid #ffffff25;border-radius:3px;background:#121212;transform-style:preserve-3d;will-change:transform;box-shadow:0 18px 38px #0007;backface-visibility:visible}
.film-body img{width:100%;height:100%;object-fit:cover}
.film-card:focus-visible{outline:2px solid #b0ff32;outline-offset:12px}
@media(prefers-reduced-motion:reduce){.film-body{transform:none!important;will-change:auto}}

/* Three full covers, with no panel below them. */
#orbit{left:0!important;top:50%!important;width:100%!important;height:220px!important;margin:-110px 0 0!important;perspective:1200px!important;transform:none!important}
#orbit .film-card{left:50%!important;top:50%!important;margin:0!important;min-height:0!important;background:transparent!important;box-shadow:none!important;transition:opacity .25s}
#orbit .film-body{background:transparent!important;box-shadow:none!important;border:0!important;overflow:hidden}
#orbit .film-card::before,#orbit .film-card::after,#orbit .film-body::before,#orbit .film-body::after{display:none!important}
#orbit .film-body img{display:block;width:100%!important;height:100%!important;object-fit:cover}
#orbit .film-body h3{font-size:clamp(8px,1.4vw,17px)!important;left:7px!important;bottom:8px!important;margin:0!important;text-shadow:0 1px 5px #000}
#orbit .film-body .work-category{display:none!important}
body>.nav{transition:opacity .3s ease,visibility .3s ease}
body>.nav.fdf-nav-away{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

.nav .brand-mark,.brand-signature img{touch-action:none}
.orbit-arrow.drone-nav-active{background:#b0ff32!important;color:#080808!important;border-color:#b0ff32!important;box-shadow:0 0 24px #b0ff3250}

.service-card .experience-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin-top:24px;border:1px solid #ffffff18;border-radius:2px;filter:saturate(.8)}
.process-phase .experience-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;grid-column:2/-1;margin-top:18px;border:1px solid #ffffff18;border-radius:2px}
.reveal-word{transition:opacity .22s ease;display:inline;color:inherit!important}
@media(min-width:901px){.process-phase .experience-image{width:min(100%,480px)}}
@media(max-width:800px){.process-phase .experience-image{grid-column:1/-1;max-height:230px}.service-card .experience-image{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.reveal-word{opacity:1!important;transition:none}}

/* Editorial cards: image first, information beneath. */
.service-grid{gap:24px!important;border:0!important}
.service-grid .service-card,.process-flow .process-phase{display:flex!important;flex-direction:column;align-items:stretch;gap:12px;min-width:0;min-height:0!important;padding:20px!important;border:1px solid #ffffff16!important;border-radius:26px;background:linear-gradient(145deg,#202020,#111)!important;overflow:hidden;box-shadow:0 12px 32px #0003}
.service-card .experience-image,.process-phase .experience-image{order:0;width:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:16/9;margin:0 0 10px!important;object-fit:cover;border:0;border-radius:16px;filter:none}
.service-card>small,.process-phase>span{order:1;color:#888;font:10px monospace;letter-spacing:.12em}
.service-card h3,.process-phase h3{order:2;font-size:clamp(28px,3.1vw,46px)!important;line-height:1.04!important;margin:0!important}
.service-card>p,.process-phase>p{order:3;max-width:none!important;margin:0!important;font-size:14px;line-height:1.65;color:#aaa}
.process-flow{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border:0!important}
.hero-title-write,.hero-title-write em,.hero-title-write span{color:#b0ff32!important;opacity:1!important}
@media(max-width:800px){.service-grid,.process-flow{grid-template-columns:1fr!important;gap:18px}.service-grid .service-card,.process-flow .process-phase{padding:16px!important;border-radius:22px}.service-card h3,.process-phase h3{font-size:34px!important}}

/* Scroll choreography, using transforms without changing card dimensions. */
.service-grid,.process-flow{perspective:1400px}
.service-grid .fx-card,.process-flow .fx-card{position:relative;text-align:center!important;isolation:isolate;opacity:0;transform:perspective(1200px) translate3d(0,55px,-45px) rotateX(9deg) scale(.96)!important;transition:opacity .8s ease,transform 1.05s cubic-bezier(.16,1,.3,1),border-color .45s ease;transition-delay:var(--card-delay,0ms);border-color:#ffffff20!important}
.service-grid .fx-card.fx-visible,.process-flow .fx-card.fx-visible{opacity:1;transform:perspective(1200px) rotateX(var(--scroll-tilt,0deg)) rotateY(var(--tilt-y,0deg)) scale(1)!important}
.fx-card .experience-visual{order:0;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:16px;margin-bottom:12px;position:relative;isolation:isolate}
.fx-card .experience-visual .experience-image{width:100%!important;height:100%!important;max-height:none!important;margin:0!important;border-radius:0!important;transform:translateY(var(--image-drift,0px)) scale(1.12);transition:transform .25s ease-out;display:block;object-fit:cover}
.fx-card>small,.fx-card>span,.fx-card>h3,.fx-card>p{text-align:center!important;align-self:center;max-width:100%!important}
.fx-card>p{width:92%;display:block!important;opacity:1!important;filter:none!important;transform:none!important}
.fx-card.fx-visible h3{animation:cardTitleLift .9s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--card-delay,0ms) + .15s)}
.fx-card.fx-visible>p{animation:cardTextLift 1s ease both;animation-delay:calc(var(--card-delay,0ms) + .25s)}
.fx-card::after{content:'';position:absolute;inset:-40%;pointer-events:none;z-index:4;background:linear-gradient(115deg,transparent 42%,#ffffff0d 49%,#b0ff3212 50%,transparent 57%);opacity:0;transform:translateX(-80%)}
.fx-card.fx-visible::after{animation:cardLightSweep 1.8s ease-out both;animation-delay:var(--card-delay,0ms)}
@keyframes cardLightSweep{0%{opacity:0;transform:translateX(-80%)}20%{opacity:1}100%{opacity:0;transform:translateX(80%)}}
@keyframes cardTitleLift{from{translate:0 18px;filter:blur(3px)}to{translate:0 0;filter:blur(0)}}
@keyframes cardTextLift{from{translate:0 12px}to{translate:0 0}}
@media(prefers-reduced-motion:reduce){.service-grid .fx-card,.process-flow .fx-card{opacity:1!important;transform:none!important;transition:none!important}.fx-card *{animation:none!important}.fx-card .experience-image{transform:none!important}.fx-card::after{display:none}}

.fx-card .reveal-letter{display:inline-block;white-space:pre;opacity:0;translate:0 9px;filter:blur(2px);color:inherit!important}
.fx-card.fx-visible .reveal-letter{animation:letterArrive .38s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--letter-delay,0ms) + .15s)}
@keyframes letterArrive{to{opacity:1;translate:0 0;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.fx-card .reveal-letter{opacity:1!important;translate:0 0!important;filter:none!important;animation:none!important}}

.fx-card .letter-word{display:inline-block;white-space:nowrap;color:inherit!important}

/* FDF / cinematic studio edition. Flight never changes the page geometry. */
:root{--acid:#b0ff32;--studio-line:#ffffff20;--studio-muted:#a5aa9b}
html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--acid);outline-offset:6px}button{min-height:44px}.nav .lang-switch{display:flex;align-items:center;gap:9px;font:10px monospace;letter-spacing:.1em}.lang-switch a{opacity:.5;padding:12px 2px}.lang-switch a.active,.lang-switch a:hover{opacity:1}.lang-switch>span{opacity:.25}.section-label{margin:0;font-size:11px!important;line-height:1.5!important;letter-spacing:.14em!important;font-weight:400;white-space:nowrap;color:#eee!important}.section-top>p{color:#a2a598;font-size:14px;line-height:1.8;max-width:470px}.section-top{padding-top:24px;border-top:1px solid var(--studio-line)}.section{padding-top:65px;padding-bottom:65px}
.hero-overlay{background:linear-gradient(90deg,#0009 0%,#0002 70%),linear-gradient(0deg,#000b 0%,transparent 70%)!important}.hero-local{font-size:13px;line-height:1.7;color:#dedfd6;max-width:340px;margin:-14px 0 26px}.hero .eyebrow{color:#ddd}.hero-meta,.hero-status{color:#b8bdad}.hero-title-write::after{display:none!important}.hero h1{isolation:isolate}.hero-line-sans{transform-origin:left bottom}.hero-content{animation:studioHero .9s cubic-bezier(.16,1,.3,1) both}.hero .button.solid{background:var(--acid);border-color:var(--acid);color:#080808}.hero .button{min-height:45px;display:inline-flex;align-items:center;justify-content:center;border-color:#ffffff55;background:#090a0826}.hero .button:hover{background:var(--acid);border-color:var(--acid);color:#090a08}.hero-status .status-dot{background:var(--acid);box-shadow:0 0 15px #b0ff3260}.hero-grid{opacity:.055}.reading-progress{position:fixed;inset:0 0 auto;height:2px;pointer-events:none;z-index:120}.reading-progress i{display:block;width:100%;height:100%;background:var(--acid);transform:scaleX(0);transform-origin:left;box-shadow:0 0 10px #b0ff3255}
.section-discovery{padding-top:6px;padding-bottom:6px;background:transparent!important}.section-discovery a{color:#c4c8bb;border-color:#ffffff24;transition:border-color .3s,background .3s}.section-discovery a:hover{border-color:#b0ff3260;background:#b0ff3207}.orbit-wrap{height:450px!important;min-height:0!important;overflow:visible!important;margin-top:10px}.orbit{width:100%!important;height:100%!important}.orbit-arrow{width:54px;height:54px;font-size:10px;background:#0a0b09a6;backdrop-filter:blur(10px);border-color:#ffffff30}.orbit-arrow:hover{border-color:var(--acid);background:var(--acid);color:#080808}.orbit-hint{color:#8b9180;font-size:9px;letter-spacing:.13em;bottom:0!important}.orbit-pause{font-size:10px;padding:9px 20px;min-height:38px;margin:18px auto 28px;border-color:#ffffff28;color:#c2c7b8;background:transparent}.film-body{box-shadow:none!important;background:transparent!important;border-radius:8px!important;backface-visibility:hidden}.film-body::before,.film-body::after,.film-card::before,.film-card::after{display:none!important}.film-body .work-category,.film-body h3{display:none!important}.film-body img{border-radius:8px;filter:none!important}.film-card{transition:opacity .18s ease!important}.project-detail{min-height:145px;padding-top:8px}.project-detail .meta{color:#8f9882;font-size:10px}.project-detail h3{font-size:clamp(25px,3vw,42px);font-weight:400}.project-detail p{font-size:14px;color:#a6ac9b;max-width:620px;line-height:1.7}.work-toolbar .project-count{color:#a9b09e}.work-toolbar .button{color:var(--acid);border-color:#b0ff324a;background:#b0ff3205}.aerial-copy>p:last-child{color:#afb5a4;line-height:1.85;max-width:600px}
.service-grid .service-card,.process-flow .process-phase{background:linear-gradient(145deg,#1a1d17d9,#10110ed9)!important;border-color:#ffffff1d!important;border-radius:24px!important;box-shadow:none!important;padding:18px 18px 26px!important;gap:15px}.fx-card .experience-visual{border-radius:15px;position:relative;background:#161912;isolation:isolate}.fx-card .experience-visual:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff15;border-radius:inherit;background:linear-gradient(180deg,transparent 75%,#080a0520)}.fx-card .experience-image{filter:saturate(.92)!important;will-change:auto}.service-card h3,.process-phase h3{font-size:clamp(30px,3.6vw,50px)!important;line-height:1.06!important;letter-spacing:-.055em!important;min-height:2.15em;display:flex;flex-direction:column;justify-content:center}.process-phase h3{min-height:1.4em;display:block}.fx-card>p{color:#b0b5a7!important;font-size:15px;line-height:1.8;width:91%}.fx-card>small,.fx-card>span{color:#8f9b80;font-size:11px}.service-grid .fx-card:hover,.process-flow .fx-card:hover,.service-grid .fx-card:focus-visible,.process-flow .fx-card:focus-visible{border-color:#b0ff325c!important;background:linear-gradient(145deg,#1d2417,#10130d)!important}.fx-card.fx-visible h3,.fx-card.fx-visible>p{animation:none!important}.fx-card .reveal-letter{filter:none!important;translate:0 8px;animation-duration:.42s!important}.fx-card.fx-visible .experience-visual{animation:studioShutter 1s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--card-delay,0ms)}.reveal-word{transition:opacity .32s ease!important}.stats-cinematic{margin-top:40px}.stats-cinematic .stat-item{padding-top:25px}.stats-cinematic .stat-item>span{font-size:10px!important;color:#a7af9a!important}.about-copy>p{color:#bec4b4;font-size:clamp(17px,1.8vw,24px)}.about-grid h2{line-height:.98!important}
.contact-section{gap:4vw;min-height:0;padding-top:85px;padding-bottom:85px}.contact-inner{width:100%}.contact-section h2{line-height:.98;font-size:clamp(54px,8vw,120px)}.contact-start{display:flex;align-items:center;gap:28px;margin-top:32px}.contact-start .solid{background:var(--acid);border-color:var(--acid);color:#080808;white-space:nowrap}.contact-start p{max-width:290px;color:#a7b098;font-size:13px;line-height:1.7;margin:0}.email{font-size:clamp(17px,2.4vw,32px);letter-spacing:-.03em}.location{color:#9ba78a}.website-service{background:radial-gradient(ellipse at 95% 45%,#b0ff320a,transparent 70%)}.studio-faq{padding:55px 7vw 75px;display:grid;grid-template-columns:1fr 1.2fr;gap:20px 6vw;border-top:1px solid var(--studio-line)}.studio-faq>.eyebrow{grid-column:1/-1}.studio-faq>h2{margin:8px 0;font-size:clamp(32px,4vw,58px);font-weight:400;line-height:1.1;letter-spacing:-.05em}.studio-faq details{border-bottom:1px solid var(--studio-line);padding:21px 0}.studio-faq summary{position:relative;cursor:pointer;list-style:none;font-size:17px;padding-right:28px;line-height:1.5}.studio-faq summary::-webkit-details-marker{display:none}.studio-faq summary:after{content:'+';position:absolute;right:0;top:0;color:var(--acid);font-weight:400}.studio-faq details[open] summary:after{content:'−'}.studio-faq details p{font-size:14px;line-height:1.9;color:#a8b19b;margin:18px 0 0;max-width:610px}.studio-faq details[open] p{animation:studioAnswer .35s ease both}.brand-signature{border-color:#ffffff18}.footer{color:#929c84;font-size:9px}
.brief-is-open{overflow:hidden}.brief-is-open .fdf-flight{visibility:hidden}#briefDialog{position:fixed;width:min(92vw,640px);max-height:85svh;padding:44px;border:1px solid #b0ff3240;border-radius:24px;background:#10130ded;color:#f2f2ef;box-shadow:0 30px 100px #000c;backdrop-filter:blur(20px);z-index:200}#briefDialog::backdrop{background:#000b;backdrop-filter:blur(8px)}#briefDialog h2{font-size:clamp(34px,5vw,55px)!important;line-height:1.05!important;letter-spacing:-.045em;margin:20px 0;color:var(--acid)!important;transform:none!important}#briefDialog>p{font-size:14px;line-height:1.8;color:#b5beaa}#briefDialog .eyebrow{font:10px monospace}.brief-close{position:absolute;right:15px;top:10px;font-size:30px;width:45px;height:45px;color:#e1e8d5}.brief-close:hover{color:var(--acid)}#briefForm{display:grid;gap:12px;margin-top:25px}#briefForm label{font-size:12px;color:#c3ccb6;margin-top:7px}#briefForm select,#briefForm textarea{width:100%;padding:13px;border:1px solid #ffffff30;border-radius:7px;color:#f2f2ef;background:#141910;font-size:16px}#briefForm textarea{resize:vertical}#briefForm .solid{margin-top:8px;background:var(--acid);color:#080808;border-color:var(--acid)}
.showreel-controls .icon-sound,.cinema-controls .icon-sound{font-size:0!important;position:relative}.icon-sound:before{content:'';position:absolute;inset:14px 20px 14px 10px;background:currentColor;clip-path:polygon(0 35%,35% 35%,100% 0,100% 100%,35% 65%,0 65%)}.icon-sound:after{content:'';position:absolute;left:27px;top:15px;width:8px;height:13px;border-right:1.5px solid currentColor;border-radius:50%}.icon-sound[aria-pressed="false"]:after{width:17px;height:1.5px;left:24px;top:22px;background:currentColor;border:0;border-radius:0;transform:rotate(-48deg)}.icon-full{position:relative;font-size:0!important}.icon-full:before{content:'';position:absolute;inset:12px;background:linear-gradient(currentColor,currentColor) top left/7px 2px no-repeat,linear-gradient(currentColor,currentColor) top left/2px 7px no-repeat,linear-gradient(currentColor,currentColor) top right/7px 2px no-repeat,linear-gradient(currentColor,currentColor) top right/2px 7px no-repeat,linear-gradient(currentColor,currentColor) bottom left/7px 2px no-repeat,linear-gradient(currentColor,currentColor) bottom left/2px 7px no-repeat,linear-gradient(currentColor,currentColor) bottom right/7px 2px no-repeat,linear-gradient(currentColor,currentColor) bottom right/2px 7px no-repeat}.cinema-controls #cinemaToggle,.cinema-controls #cinemaVolume{display:none!important}#showreel .showreel-controls button{width:44px!important;height:44px!important;background:#08080855!important;border:1px solid #ffffff35!important;backdrop-filter:blur(8px)}
@keyframes studioHero{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}@keyframes studioShutter{from{clip-path:inset(0 0 55% 0 round 15px);opacity:.5}to{clip-path:inset(0 0 0 0 round 15px);opacity:1}}@keyframes studioAnswer{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@media(min-width:1500px){.hero-content{max-width:78vw;left:7vw}.hero-title-write .hero-line-sans{font-size:clamp(100px,10vw,180px)!important}.hero-title-write .hero-line-serif{font-size:clamp(100px,9.6vw,175px)!important}.service-grid,.process-flow{gap:30px!important}}
@media(max-width:900px){.hero-content{left:7vw;right:7vw;max-width:86vw}.hero-local{font-size:12px;max-width:320px}.hero-actions{gap:8px}.hero-status{bottom:83px;font-size:8px}.hero-meta{font-size:8px;line-height:1.5}.section-top{flex-direction:column;gap:15px;margin-bottom:28px}.section-top>p{max-width:480px}.section-label{font-size:10px!important}.orbit-wrap{height:330px!important}.project-detail{min-height:140px}.service-grid,.process-flow{gap:20px!important}.service-grid .service-card,.process-flow .process-phase{border-radius:22px!important;padding:16px 16px 23px!important}.contact-start{flex-wrap:wrap;gap:18px}.contact-start p{max-width:370px}.studio-faq{grid-template-columns:1fr;padding:40px 7vw}.studio-faq>h2{margin-bottom:15px}.mobile-nav.open{backdrop-filter:blur(25px);background:#080b06ed}.mobile-nav a{padding:14px 7vw;font-size:clamp(20px,6vw,32px);line-height:1.1}.mobile-nav .mobile-lang{margin:0;padding:10px 7vw}.mobile-lang .lang-switch a{font:12px monospace;padding:12px 4px}.menu-is-open{overflow:hidden}}
@media(max-width:600px){.hero{height:100svh!important;min-height:640px!important}.hero-content{bottom:165px!important;top:auto!important}.hero .eyebrow{font-size:8px;letter-spacing:.07em}.hero-title-write .hero-line-sans{font-size:clamp(50px,15vw,88px)!important}.hero-title-write .hero-line-serif{font-size:clamp(44px,13.6vw,82px)!important;padding-top:.14em!important}.hero h1{margin:22px 0 25px}.tagline{font-size:18px;margin-bottom:25px}.hero-local{font-size:12px;line-height:1.6;margin:-12px 0 22px;max-width:280px}.hero .button{font-size:9px;padding:14px 13px;letter-spacing:.07em}.hero-meta{bottom:24px;display:block;max-width:245px}.hero-meta>span{display:block;margin-top:10px}.hero-status{left:7vw;right:auto;bottom:103px}.section{padding-top:40px;padding-bottom:40px}.section-discovery{padding-top:8px;padding-bottom:10px}.section-discovery a{font-size:9px;padding:12px 20px}.orbit-wrap{height:260px!important;margin-top:15px}.orbit-arrow{width:43px;height:43px;font-size:8px}.orbit-hint{font-size:7px;letter-spacing:.08em;bottom:-3px!important}.orbit-pause{font-size:9px;margin:23px auto 20px}.project-detail{min-height:140px}.project-detail h3{font-size:29px}.project-detail .meta{font-size:9px}.project-detail p{font-size:13px}.work-toolbar .button{font-size:8px;padding:13px 11px}.work-toolbar .project-count{font-size:9px}.service-card h3,.process-phase h3{font-size:38px!important}.fx-card>p{font-size:14px;line-height:1.8}.fx-card .experience-visual{margin-bottom:8px}.service-grid,.process-flow{gap:24px!important}.stats-cinematic .stat-number{font-size:clamp(39px,11vw,64px)!important}.stats-cinematic .stat-item>span{font-size:8px!important}.contact-section{padding:50px 7vw}.contact-section h2{font-size:clamp(45px,11vw,72px)!important;line-height:1.02!important;margin-bottom:32px}.contact-start .solid{font-size:10px}.studio-faq summary{font-size:16px}.studio-faq details p{font-size:14px}.footer{font-size:8px}#briefDialog{padding:32px 23px;border-radius:18px}.section-top>p{font-size:13px}.email{font-size:clamp(15px,4.7vw,23px)}.about-grid h2{font-size:clamp(45px,12vw,72px)!important}.website-service .web-service-copy h2{font-size:clamp(44px,11vw,65px)!important}}
@media(max-height:700px) and (min-width:601px){.hero-content{bottom:110px!important}.hero h1{margin:15px 0 18px}.hero-title-write .hero-line-sans{font-size:82px!important}.hero-title-write .hero-line-serif{font-size:76px!important}.hero-local{margin-bottom:18px}.hero-status{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-content{animation:none!important}.fx-card.fx-visible .experience-visual{animation:none!important}*,*::before,*::after{transition-duration:.01ms!important}.reading-progress i{box-shadow:none}}
.nav .header-language{display:flex!important;margin-left:22px}.nav{gap:22px}.desktop-nav{margin-left:auto}.fx-card h3 .service-roll-line{overflow:visible}.service-roll-title>br{display:none}
#showreelWindow:fullscreen{width:100vw!important;height:100vh!important;max-width:none!important;display:flex;align-items:center;justify-content:center;background:#000;transform:none!important;clip-path:none!important;border:0!important;border-radius:0!important}#showreelWindow:fullscreen video{height:100%!important;object-fit:contain!important}#showreelWindow:fullscreen .showreel-controls{z-index:20!important}
@media(max-width:800px){.nav .header-language{margin-left:auto;margin-right:12px}.nav{gap:8px}}
.service-card h3.service-roll-title{display:block!important;min-height:0!important;padding:4px 0 10px!important;line-height:1.08!important}.service-card .service-roll-line{display:block!important;font-size:inherit!important;line-height:1.08!important;overflow:visible!important}.service-card .service-roll-track,.service-card .service-roll-copy{display:inline!important;transform:none!important;translate:none!important;line-height:inherit!important}
.cinema-controls{left:auto!important;right:4vw!important;bottom:4vh!important;width:auto!important;max-width:none!important;background:transparent!important;border:0!important;gap:8px;opacity:0;pointer-events:none;transition:opacity .3s}.cinema-modal.controls-visible .cinema-controls{opacity:1;pointer-events:auto}.cinema-controls button{width:44px;height:44px;background:#08080860;border:1px solid #ffffff40;backdrop-filter:blur(8px)}
.lang-switch a{min-height:44px;min-width:24px;display:inline-flex;align-items:center;justify-content:center}
.film-card,.film-card *{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
