*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#000;color:#fff;font-family:Geologica,sans-serif}
a{color:inherit}
button,a{touch-action:manipulation}
:focus-visible{outline:2px solid #dfff61;outline-offset:3px}
::selection{background:#dfff61;color:#080808}
.desktop-page{position:relative;width:100%;max-width:1920px;margin:0 auto;height:calc(var(--page-height)*var(--stage-scale,1));overflow:hidden}
.stage{width:1920px;height:var(--page-height);transform:scale(var(--stage-scale,1));transform-origin:top left}
.figma-node{position:absolute;box-sizing:border-box}
.figma-text{margin:0}
.figma-node[href]{text-decoration:none;color:inherit}
.figma-node[href]:not(.figma-text){cursor:pointer}
.figma-node svg{display:block}
.desktop-page .gallery{z-index:10}
.gallery .slide-arrow{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border:1px solid #fff8;border-radius:50%;background:#0009;color:#fff;font:40px/1 Geologica,sans-serif;cursor:pointer;opacity:0;transition:opacity .2s;z-index:2}
.gallery:hover .slide-arrow,.gallery:focus-within .slide-arrow{opacity:1}
.gallery .slide-prev{left:20px}.gallery .slide-next{right:20px}
.hero-video{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
[data-figma-id="12034:1446"],[data-figma-id="12034:1447"]{cursor:pointer}
[data-figma-id="12038:2090"]{translate:95px 0}
[data-figma-id="12038:2291"]{display:none}
.mobile-page{display:none}
body.case-page.motion-ready .case-reveal{opacity:0;clip-path:inset(0 0 13% 0);transition:opacity .7s ease,clip-path .85s cubic-bezier(.16,1,.3,1)}
body.case-page.motion-ready .case-reveal.in-view{opacity:1;clip-path:inset(0)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body.case-page.motion-ready .case-reveal{clip-path:none;transition:opacity .18s ease}}
@media(max-width:700px){
  .desktop-page{display:none}
  .mobile-page{display:block;min-height:100vh;background:#05060e;color:#fff}
  .mobile-page header{padding:22px 20px 18px}
  .mobile-page header>a{color:#fff;text-decoration:none;font-size:24px;font-weight:700;white-space:nowrap}
  .mobile-page header span{font-size:15px;font-weight:500}
  .mobile-page nav{display:flex;gap:22px;overflow-x:auto;white-space:nowrap;margin-top:18px;padding-bottom:5px;scrollbar-width:none}
  .mobile-page nav::-webkit-scrollbar{display:none}
  .mobile-page nav a{color:#fff;text-decoration:none;font-size:14px}
  .mobile-page main{padding:0 20px 64px}
  .mobile-page main a{text-decoration:none}
  .mobile-page img{display:block;width:100%;height:auto}
  .mobile-video{display:block;width:100%;height:auto;margin:24px 0;border-radius:12px}
  .mobile-gallery{position:relative;margin:24px 0}
  .mobile-gallery img{border-radius:12px}
  .mobile-gallery button{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #fff8;border-radius:50%;background:#0009;color:#fff;width:42px;height:42px;font:30px/1 Geologica,sans-serif}
  .mobile-gallery .slide-prev{left:8px}.mobile-gallery .slide-next{right:8px}
  .mobile-h1{font-size:clamp(38px,11vw,62px);font-weight:700;line-height:1.02;letter-spacing:-.035em;overflow-wrap:anywhere;margin:30px 0}
  .mobile-h2{font-size:clamp(28px,8vw,42px);font-weight:600;line-height:1.08;margin:40px 0 16px;overflow-wrap:anywhere}
  .mobile-h3{font-size:22px;font-weight:500;line-height:1.18;margin:28px 0 12px}
  .mobile-p{font-size:16px;line-height:1.5;margin:12px 0 20px}
  .mobile-page .mobile-p:empty{display:none}
  .mobile-dark{background:#dfff61;color:#090909;border-radius:8px;padding:8px 12px}
  .mobile-page:not(.mobile-home) main>img{border-radius:12px;margin:24px 0}
  .mobile-home{background:#000}
  .mobile-home main{padding:0 20px 80px}
  .m-logo span{color:#dfff61}
  .m-hero video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:#181818}
  .m-hero h1{font-size:clamp(39px,10.5vw,68px);line-height:1.02;letter-spacing:-.035em;font-weight:600;margin:28px 0 22px;white-space:pre-line}
  .m-hero h1 span[style]{color:#dfff61!important}
  .m-hero p,.m-intro{font-size:17px;line-height:1.45;margin:0 0 22px}
  .m-cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 20px;background:#dfff61;color:#050505!important;border-radius:10px;font-size:16px;font-weight:500}
  .m-section{margin-top:84px}
  .m-section h2{font-size:clamp(34px,9vw,52px);line-height:1.06;letter-spacing:-.025em;font-weight:500;margin:0 0 22px;overflow-wrap:anywhere}
  .m-section h3{margin:0;font-size:24px;line-height:1.16;font-weight:500}
  .m-section p{margin:10px 0 0;font-size:16px;line-height:1.45}
  .m-services{border-top:1px solid #565656;margin-top:30px}
  .m-service{display:grid;grid-template-columns:35px 1fr;gap:0 12px;padding:24px 0;border-bottom:1px solid #565656}
  .m-service span,.m-reason span{color:#dfff61;font-size:15px;line-height:1.3}
  .m-service h3,.m-service p{grid-column:2}
  .m-service p{color:#ddd}
  .m-cases{display:grid;gap:18px}
  .m-case{display:block;position:relative;overflow:hidden;border-radius:12px;background:#1d1d1d;color:#fff;min-height:380px}
  .m-case img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .m-case:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#000b)}
  .m-case-copy{position:absolute;z-index:1;left:20px;right:20px;bottom:20px}
  .m-case h3{font-size:29px}
  .m-case p{max-width:33ch}
  .m-why{background:#1c1c1c;border-radius:12px;padding:26px 20px;margin-left:-8px;margin-right:-8px}
  .m-why .m-intro{color:#dfff61}
  .m-reason{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:20px 0;border-top:1px solid #666}
  .m-reason p{color:#ddd}
  .m-decks{display:grid;gap:18px}
  .m-deck{overflow:hidden;border-radius:12px;background:#1c1c1c}
  .m-deck img{aspect-ratio:1.6;object-fit:cover}
  .m-deck>div{padding:20px}
  .m-deck p{color:#ddd}
  .m-deck a{display:inline-flex;align-items:center;min-height:42px;margin-top:20px;padding:8px 18px;border-radius:9px;background:#dfff61;color:#050505;font-weight:500}
  .m-support h2{max-width:12ch}
  .m-features{display:grid;gap:12px}
  .m-features article{padding:24px 20px;background:#1c1c1c;border-radius:12px}
  .m-features p{color:#ddd}
  .m-team-photo{margin:28px 0;border-radius:12px}
  .m-contact{border-top:1px solid #555;padding-top:32px}
  .m-contact .m-cta{margin-top:22px}
}
