/* Alphorys — mobile cinematic pass */
@media(max-width:680px){
  :root{--m-scene:0;--hero-p:0;--system-p:0;--statement-p:0}
  html{scroll-padding-top:68px}
  body.mobile-cinematic{
    background:
      radial-gradient(circle at 72% 19%,rgba(255,106,61,.035),transparent 22rem),
      #080808;
  }
  body.mobile-cinematic main{overflow:clip}
  body.mobile-cinematic .topbar{
    height:68px;
    padding:0 20px;
    background:linear-gradient(180deg,rgba(8,8,8,.98),rgba(8,8,8,.86),rgba(8,8,8,.25));
    backdrop-filter:blur(12px);
    transition:transform .5s cubic-bezier(.19,1,.22,1),background .35s ease;
  }
  body.mobile-cinematic.mobile-nav-hidden .topbar{transform:translateY(-105%)}
  body.mobile-cinematic .brand{font-size:.72rem;letter-spacing:.38em}
  body.mobile-cinematic .nav{gap:18px;font-size:.62rem}
  body.mobile-cinematic .hero{
    display:block;
    min-height:auto;
    padding:96px 20px 0;
    overflow:visible;
  }
  body.mobile-cinematic .hero::before{
    opacity:.3;
    background-size:92px 92px;
    mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent);
  }
  body.mobile-cinematic .hero-copy{
    min-height:calc(100svh - 96px);
    justify-content:flex-start;
    padding:18px 0 46px;
  }
  body.mobile-cinematic .kicker{
    margin-bottom:0;
    transform:translateY(calc(var(--hero-p) * -8px));
    opacity:calc(1 - var(--hero-p) * .32);
  }
  body.mobile-cinematic .hero h1{
    margin-top:50px;
    font-size:clamp(3.8rem,16.3vw,5.25rem);
    line-height:.87;
    letter-spacing:-.045em;
    transform:translateY(calc(var(--hero-p) * -28px));
    opacity:calc(1 - var(--hero-p) * .22);
  }
  body.mobile-cinematic .hero-services{
    margin-top:34px;
    font-size:1rem;
    transform:translateY(calc(var(--hero-p) * -16px));
    opacity:calc(1 - var(--hero-p) * .42);
  }
  body.mobile-cinematic .hero-actions{
    width:100%;
    margin-top:32px;
    gap:22px;
    transform:translateY(calc(var(--hero-p) * -10px));
  }
  body.mobile-cinematic .primary-cta{
    position:relative;
    width:min(100%,268px);
    padding:18px 18px;
    overflow:hidden;
    background:linear-gradient(90deg,rgba(255,106,61,.035),rgba(255,106,61,.09));
  }
  body.mobile-cinematic .primary-cta::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(105deg,transparent 28%,rgba(255,140,103,.14) 48%,transparent 68%);
    transform:translateX(-130%);
    animation:mobile-cta-scan 6.8s ease-in-out infinite 2.6s;
  }
  body.mobile-cinematic .text-link{font-size:.96rem}
  body.mobile-cinematic .text-link i{width:82px}
  body.mobile-cinematic .system-wrap{
    position:relative;
    min-height:76svh;
    height:76svh;
    margin:0 -20px;
    transform:none;
    overflow:hidden;
    border-top:1px solid rgba(236,232,223,.08);
    border-bottom:1px solid rgba(236,232,223,.1);
    background:
      radial-gradient(circle at 60% 52%,rgba(255,106,61,.055),transparent 14rem),
      linear-gradient(180deg,rgba(255,255,255,.006),transparent 30%,rgba(255,255,255,.008));
  }
  body.mobile-cinematic .system-wrap::before{
    display:block;
    left:0;
    right:0;
    top:0;
    height:1px;
    opacity:.52;
    animation:mobile-system-scan 7.5s ease-in-out infinite 1s;
  }
  body.mobile-cinematic .system-wrap::after{
    width:76%;
    opacity:.85;
    background:rgba(255,106,61,.045);
    filter:blur(80px);
  }
  body.mobile-cinematic .system-svg{
    width:122%;
    max-width:none;
    transform-origin:52% 52%;
    will-change:transform,filter;
    filter:drop-shadow(0 0 28px rgba(255,106,61,.055));
  }
  body.mobile-cinematic .system-meta{
    top:8%;
    right:22px;
    font-size:.48rem;
    letter-spacing:.2em;
    color:#77716a;
  }
  body.mobile-cinematic .system-words{
    right:22px;
    bottom:7%;
    gap:7px;
    font-size:.48rem;
    line-height:1;
    letter-spacing:.25em;
    color:#77716a;
  }
  body.mobile-cinematic .expertise{
    position:relative;
    display:block;
    min-height:auto;
    border-top:0;
    background:#080808;
  }
  body.mobile-cinematic .expertise::before{
    content:"";
    position:absolute;
    left:20px;
    right:20px;
    top:0;
    height:1px;
    background:linear-gradient(90deg,var(--accent),rgba(255,106,61,.08),transparent 70%);
    opacity:.55;
  }
  body.mobile-cinematic .expertise a,
  body.mobile-cinematic .expertise a:nth-child(2n){
    min-height:25svh;
    padding:30px 20px 28px;
    border-right:0;
    border-bottom:1px solid rgba(236,232,223,.1);
    background:
      linear-gradient(90deg,rgba(255,255,255,.008),transparent 42%),
      #080808;
    opacity:.34;
    transform:translateY(24px) scale(.985);
    transition:
      opacity .75s cubic-bezier(.19,1,.22,1),
      transform .75s cubic-bezier(.19,1,.22,1),
      background .35s ease;
  }
  body.mobile-cinematic .expertise a.is-mobile-visible{
    opacity:1;
    transform:translateY(0) scale(1);
  }
  body.mobile-cinematic .expertise a:nth-child(even){
    background:
      linear-gradient(270deg,rgba(255,106,61,.018),transparent 45%),
      #080808;
  }
  body.mobile-cinematic .expertise a::before{
    height:100%;
    opacity:0;
    background:radial-gradient(circle at 12% 50%,rgba(255,106,61,.065),transparent 34%);
    transition:opacity .6s ease;
  }
  body.mobile-cinematic .expertise a.is-mobile-visible::before{opacity:1}
  body.mobile-cinematic .expertise a::after{
    top:auto;
    left:20px;
    right:20px;
    bottom:0;
    width:auto;
    height:1px;
    transform:scaleX(0);
    transform-origin:left;
    background:linear-gradient(90deg,rgba(255,106,61,.72),rgba(255,106,61,.08),transparent);
    transition:transform 1s cubic-bezier(.19,1,.22,1) .12s;
  }
  body.mobile-cinematic .expertise a.is-mobile-visible::after{transform:scaleX(1)}
  body.mobile-cinematic .expertise small{
    position:relative;
    top:auto;
    left:auto;
    display:block;
    color:var(--accent);
    font-size:.58rem;
    letter-spacing:.18em;
  }
  body.mobile-cinematic .expertise span{
    margin-top:auto;
    padding-top:40px;
    font-size:clamp(2.45rem,12vw,3.35rem);
    line-height:.94;
    letter-spacing:-.025em;
  }
  body.mobile-cinematic .expertise b{
    position:absolute;
    right:22px;
    bottom:31px;
    top:auto;
    margin:0;
    font-size:1.2rem;
    opacity:.72;
  }
  body.mobile-cinematic .statement{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:100svh;
    padding:86px 20px 72px;
    overflow:hidden;
    background:
      radial-gradient(circle at 84% 48%,rgba(255,106,61,.035),transparent 19rem),
      #070707;
  }
  body.mobile-cinematic .statement::before{
    opacity:.13;
    background-size:108px 108px;
    mask-image:radial-gradient(circle at 74% 52%,#000,transparent 72%);
  }
  body.mobile-cinematic .statement::after{
    top:50%;
    opacity:.3;
  }
  body.mobile-cinematic .statement-meta{
    position:relative;
    z-index:4;
    margin-bottom:auto;
    transform:translateY(calc(var(--statement-p) * -12px));
  }
  body.mobile-cinematic .statement-grid{
    position:relative;
    z-index:3;
    min-height:0;
    display:block;
  }
  body.mobile-cinematic .statement h2{
    margin:58px 0 0;
    max-width:355px;
    font-size:clamp(3.55rem,14.6vw,5rem);
    line-height:.87;
    transform:translateY(calc((.5 - var(--statement-p)) * 28px));
    will-change:transform;
  }
  body.mobile-cinematic .statement-orbit{
    right:-73vw;
    bottom:-12vw;
    width:130vw;
    opacity:.78;
    will-change:transform;
  }
  body.mobile-cinematic .statement-link{
    position:relative;
    z-index:5;
    margin-top:auto;
    padding-top:54px;
  }
  body.mobile-cinematic .footer{
    position:relative;
    z-index:3;
    padding:30px 20px 38px;
    background:#070707;
  }
  body.mobile-cinematic .mobile-cinema-hud{
    position:fixed;
    right:9px;
    top:50%;
    z-index:58;
    width:12px;
    height:118px;
    transform:translateY(-50%);
    pointer-events:none;
    opacity:.68;
    transition:opacity .35s ease;
  }
  body.mobile-cinematic .mobile-cinema-hud__rail{
    position:absolute;
    left:5px;
    top:0;
    bottom:0;
    width:1px;
    background:rgba(236,232,223,.12);
  }
  body.mobile-cinematic .mobile-cinema-hud__fill{
    position:absolute;
    left:5px;
    top:0;
    width:1px;
    height:0;
    background:linear-gradient(180deg,#ff8058,var(--accent));
    box-shadow:0 0 8px rgba(255,106,61,.35);
    transition:height .12s linear;
  }
  body.mobile-cinematic .mobile-cinema-hud__dot{
    position:absolute;
    left:2px;
    top:0;
    width:7px;
    height:7px;
    border:1px solid var(--accent);
    border-radius:50%;
    background:#090909;
    box-shadow:0 0 9px rgba(255,106,61,.5);
    transform:translateY(-3px);
    transition:top .12s linear;
  }
  body.mobile-cinematic .mobile-cinema-hud__scene{
    position:absolute;
    right:13px;
    top:-3px;
    width:24px;
    color:#736e67;
    font-size:.48rem;
    letter-spacing:.16em;
    text-align:right;
    white-space:nowrap;
  }
  @keyframes mobile-cta-scan{
    0%,68%{transform:translateX(-130%);opacity:0}
    72%{opacity:1}
    88%{transform:translateX(130%);opacity:.8}
    100%{transform:translateX(130%);opacity:0}
  }
  @keyframes mobile-system-scan{
    0%,10%{opacity:0;transform:translateY(0)}
    18%{opacity:.58}
    72%{opacity:.18}
    88%,100%{opacity:0;transform:translateY(72svh)}
  }
}
@media(max-width:680px) and (prefers-reduced-motion:reduce){
  body.mobile-cinematic .hero h1,
  body.mobile-cinematic .hero-services,
  body.mobile-cinematic .hero-actions,
  body.mobile-cinematic .kicker,
  body.mobile-cinematic .statement h2,
  body.mobile-cinematic .statement-meta,
  body.mobile-cinematic .system-svg{
    transform:none!important;
    opacity:1!important;
  }
  body.mobile-cinematic .primary-cta::after,
  body.mobile-cinematic .system-wrap::before{animation:none!important}
  body.mobile-cinematic .expertise a{opacity:1;transform:none}
  body.mobile-cinematic .mobile-cinema-hud{display:none}
}
@media(max-width:680px){
  body.mobile-cinematic .about-main{overflow:clip}
  body.mobile-cinematic .about-hero{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:100svh;
    padding:104px 20px 70px;
    overflow:hidden;
    border-bottom:1px solid rgba(236,232,223,.1);
    background:
      radial-gradient(circle at 88% 72%,rgba(255,106,61,.045),transparent 18rem),
      #080808;
  }
  body.mobile-cinematic .about-hero::before{
    inset:68px -18% 0 36%;
    opacity:.12;
    background-size:92px 92px;
  }
  body.mobile-cinematic .about-hero::after{
    right:-95vw;
    bottom:-52vw;
    width:158vw;
    border-color:rgba(255,106,61,.24);
    box-shadow:0 0 45px rgba(255,106,61,.035);
  }
  body.mobile-cinematic .about-hero h1{
    margin-top:54px;
    font-size:clamp(3.9rem,16.3vw,5.35rem);
    line-height:.87;
    transform:translateY(calc(var(--about-p,0) * -24px));
  }
  body.mobile-cinematic .about-side{
    margin-top:40px;
    max-width:320px;
    font-size:1.05rem;
    transform:translateY(calc(var(--about-p,0) * -12px));
    opacity:calc(1 - var(--about-p,0) * .28);
  }
  body.mobile-cinematic .people{
    display:block;
    border:0;
    background:#080808;
  }
  body.mobile-cinematic .person{
    min-height:72svh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:72px 20px;
    border-right:0;
    border-bottom:1px solid rgba(236,232,223,.1);
    opacity:.3;
    transform:translateY(28px);
    transition:opacity .8s cubic-bezier(.19,1,.22,1),transform .8s cubic-bezier(.19,1,.22,1);
  }
  body.mobile-cinematic .person.is-mobile-visible{
    opacity:1;
    transform:translateY(0);
  }
  body.mobile-cinematic .person::before{
    content:"";
    position:absolute;
    width:92vw;
    aspect-ratio:1;
    right:-58vw;
    top:50%;
    transform:translateY(-50%);
    border-radius:50%;
    border:1px solid rgba(236,232,223,.055);
    box-shadow:inset 0 0 60px rgba(255,106,61,.018);
    pointer-events:none;
  }
  body.mobile-cinematic .person:nth-child(2)::before{
    left:-62vw;
    right:auto;
    border-color:rgba(255,106,61,.12);
  }
  body.mobile-cinematic .person small{
    color:var(--accent);
    font-size:.59rem;
    letter-spacing:.18em;
  }
  body.mobile-cinematic .person h2{
    margin-top:34px;
    font-size:clamp(4.5rem,20vw,6rem);
    line-height:.9;
  }
  body.mobile-cinematic .person p{
    margin-top:30px;
    font-size:.65rem;
    letter-spacing:.19em;
  }
  body.mobile-cinematic .person::after{
    right:10px;
    bottom:-30px;
    font-size:10rem;
    color:rgba(236,232,223,.022);
  }
  body.mobile-cinematic .about-contact{
    min-height:78svh;
    padding:76px 20px 58px;
    justify-content:center;
    gap:64px;
    background:
      radial-gradient(circle at 76% 38%,rgba(255,106,61,.04),transparent 16rem),
      #070707;
  }
  body.mobile-cinematic .about-contact h2{
    font-size:clamp(4.3rem,18vw,5.9rem);
    line-height:.86;
  }
  body.mobile-cinematic .about-contact .primary-cta{
    width:100%;
    max-width:none;
  }
}
/* Mobile cinematic — second cut */
@media(max-width:680px){
  body.mobile-cinematic .hero-copy{
    min-height:82svh;
    padding-bottom:28px;
  }
  body.mobile-cinematic .hero-copy::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:4px;
    width:1px;
    height:34px;
    background:linear-gradient(180deg,rgba(255,106,61,.8),rgba(255,106,61,0));
    opacity:calc(1 - var(--hero-p) * 1.6);
    transform:translateX(-50%);
    animation:mobile-scroll-pulse 2.8s ease-in-out infinite;
    pointer-events:none;
  }
  body.mobile-cinematic .hero-copy::before{
    content:"";
    position:absolute;
    left:calc(50% - 2px);
    bottom:34px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 11px rgba(255,106,61,.6);
    opacity:calc(1 - var(--hero-p) * 1.8);
    pointer-events:none;
  }
  body.mobile-cinematic .system-wrap{
    min-height:82svh;
    height:82svh;
  }
  body.mobile-cinematic .system-svg{
    width:136%;
  }
  body.mobile-cinematic .system-meta{
    top:6%;
  }
  body.mobile-cinematic .mobile-cinema-hud{
    right:5px;
  }
  body.mobile-cinematic .mobile-cinema-hud__scene{
    right:11px;
  }
  @keyframes mobile-scroll-pulse{
    0%,100%{transform:translate(-50%,0);opacity:.25}
    50%{transform:translate(-50%,9px);opacity:.85}
  }
}
@media(max-width:680px) and (prefers-reduced-motion:reduce){
  body.mobile-cinematic .hero-copy::after,
  body.mobile-cinematic .hero-copy::before{display:none}
}