*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--luxury-red:#c30010;--luxury-red-light:#c30010;--luxury-red-dark:#8b000c;--luxury-red-bright:#c30010;--bg-primary:#0a0a0a;--bg-secondary:#0d0d0d;--bg-card:#141414;--text-primary:#fff;--text-secondary:#bbb;--text-muted:#999;--border:rgba(255,255,255,.09);--font-heading:'Space Grotesk',sans-serif;--font-body:'Inter',sans-serif;--header-height:76px}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1rem)}
body{margin:0;padding:0;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);line-height:1.6;overflow-x:hidden;cursor:default;-webkit-tap-highlight-color:transparent}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,textarea{font:inherit}
button{border:0;cursor:pointer;background:none}
.container{width:min(1180px,calc(100% - 3rem));margin-inline:auto}

@media (pointer:fine){
    #cursor-glow{position:fixed;pointer-events:none;z-index:9999;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,rgba(195,0,16,0.25),transparent 70%);transform:translate(-50%,-50%);transition:width 0.2s,height 0.2s,opacity 0.2s;opacity:0;mix-blend-mode:screen}
    #cursor-glow.active{opacity:1}
    #cursor-glow.hover{width:70px;height:70px;background:radial-gradient(circle,rgba(195,0,16,0.35),transparent 70%)}
}
@media (pointer:coarse){#cursor-glow{display:none!important}}

.click-particle{position:fixed;pointer-events:none;z-index:9998;border-radius:50%;opacity:1;will-change:transform,opacity}
.skip-link{background:#fff;color:#000;left:1rem;padding:.6rem 1rem;position:fixed;top:-5rem;z-index:10001}
.skip-link:focus{top:1rem}
:focus-visible{outline:2px solid var(--luxury-red-bright);outline-offset:4px}

#loader{align-items:center;background:var(--bg-primary);display:flex;flex-direction:column;inset:0;justify-content:center;position:fixed;transition:opacity .5s ease,visibility .5s ease;z-index:10000}
#loader.is-hidden{opacity:0;pointer-events:none;visibility:hidden}
#loader span{font:700 2rem var(--font-heading);letter-spacing:.28em;animation:loaderPulse 1.2s ease-in-out infinite alternate}
#loader i{background:var(--luxury-red);height:3px;margin-top:1rem;animation:loading 1s ease-in-out infinite alternate}
@keyframes loading{from{width:45px;opacity:.45}to{width:140px;opacity:1}}
@keyframes loaderPulse{0%{opacity:0.6;transform:scale(0.98)}100%{opacity:1;transform:scale(1.02)}}

.site-header{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(10,10,10,.88);border-bottom:1px solid transparent;height:var(--header-height);position:fixed;top:0;left:0;right:0;width:100%;z-index:50;transition:background .3s,border-color .3s,box-shadow .3s}
.site-header.is-scrolled{background:rgba(10,10,10,.97);border-color:var(--border);box-shadow:0 8px 28px rgba(0,0,0,.24)}
.header-inner{align-items:center;display:flex;height:100%;justify-content:space-between;gap:1.2rem;padding:0 1.5rem;max-width:1200px;margin:0 auto}
.logo{color:#fff;display:inline-flex;flex-direction:column;font:700 1.2rem/1 var(--font-heading);letter-spacing:.1em;position:relative;transition:transform 0.3s ease;flex-shrink:0}
.logo:hover{transform:scale(1.03)}
.logo span{color:var(--luxury-red-light);font:400 .67rem/1.5 var(--font-heading);letter-spacing:.2em}
nav ul{display:flex;gap:1.8rem;list-style:none;margin:0;padding:0;align-items:center}
nav a{color:#d2d2d2;font-size:.9rem;position:relative;transition:color 0.3s ease;padding:0.3rem 0}
nav a::after{background:var(--luxury-red-light);bottom:-.45rem;content:'';height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(0.34,1.56,0.64,1);width:100%}
nav a:hover,nav a.active{color:#fff}
nav a:hover::after,nav a.active::after{transform:scaleX(1)}
.header-cta{background:var(--luxury-red);border-radius:99px;font-size:.9rem;font-weight:700;padding:.7rem 1.1rem;transition:transform .25s,background .25s,box-shadow .25s;display:inline-flex;align-items:center;gap:.6rem;color:#fff;flex-shrink:0}
.header-cta:hover{background:var(--luxury-red-dark);transform:translateY(-2px);box-shadow:0 8px 25px rgba(195,0,16,0.35)}

.mobile-toggle{display:none;padding:.5rem;width:44px;background:transparent;position:relative;z-index:51;border:none;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}
.mobile-toggle span{background:#fff;display:block;height:2px;margin:5px 0;transition:transform .3s cubic-bezier(0.34,1.56,0.64,1),opacity .3s ease;width:25px;border-radius:2px}
.mobile-toggle[aria-expanded='true'] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-toggle[aria-expanded='true'] span:nth-child(2){opacity:0;transform:scaleX(0)}
.mobile-toggle[aria-expanded='true'] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-overlay{background:rgba(0,0,0,.55);inset:var(--header-height) 0 0;opacity:0;pointer-events:none;position:fixed;transition:opacity .35s ease;z-index:40}
.nav-overlay.is-active{opacity:1;pointer-events:auto}

.hero{align-items:center;display:flex;min-height:100vh;min-height:100dvh;overflow:hidden;padding:calc(var(--header-height) + 5rem) 0 4rem;position:relative;background:var(--bg-primary);justify-content:center}
.hero-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}
.hero::after{content:'';position:absolute;inset:0;z-index:1;background:rgba(0,0,0,0.5);background-image:radial-gradient(circle at 75% 15%,rgba(195,0,16,0.2),transparent 40%);pointer-events:none}
.hero-content{position:relative;z-index:3;max-width:820px;margin:0 auto;text-align:center;padding:0 1.5rem;width:100%}
.eyebrow{color:var(--luxury-red-bright);font:600 .75rem var(--font-heading);letter-spacing:.18em;margin:0 0 1.15rem;text-transform:uppercase;opacity:0;animation:fadeUp 0.8s ease forwards 0.3s}
h1,h2,h3{font-family:var(--font-heading);line-height:1.04}
h1{font-size:clamp(2.8rem,7vw,6.5rem);letter-spacing:-.065em;margin:0 auto;max-width:11ch;opacity:0;animation:fadeUp 0.9s ease forwards 0.5s;text-align:center}
h1 span,h2 span{color:var(--luxury-red-light);position:relative;display:inline-block}
h1 span::after{content:'';position:absolute;bottom:0.05em;left:0;width:100%;height:0.08em;background:var(--luxury-red);transform:scaleX(0);transform-origin:right;animation:lineReveal 0.8s cubic-bezier(0.34,1.56,0.64,1) forwards 1.1s}
@keyframes lineReveal{0%{transform:scaleX(0);transform-origin:right}100%{transform:scaleX(1);transform-origin:left}}
.hero-copy{color:var(--text-secondary);font-size:clamp(.8rem,1.4vw,1rem);letter-spacing:.11em;margin:1.7rem auto 2rem;text-transform:uppercase;opacity:0;animation:fadeUp 0.8s ease forwards 0.7s;text-align:center}
.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;opacity:0;animation:fadeUp 0.8s ease forwards 0.9s}
@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}100%{opacity:1;transform:translateY(0)}}

.button{align-items:center;border-radius:99px;display:inline-flex;font-weight:700;gap:.6rem;justify-content:center;min-height:50px;padding:.85rem 1.35rem;transition:background .25s,transform .3s cubic-bezier(0.34,1.56,0.64,1),box-shadow .25s;position:relative;overflow:hidden;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.button::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.15),transparent 60%);opacity:0;transition:opacity 0.4s ease;pointer-events:none}
.button:hover::before{opacity:1}
.button-primary{background:var(--luxury-red);color:white}
.button-primary:hover{background:var(--luxury-red-dark);box-shadow:0 12px 30px rgba(195,0,16,.3);transform:translateY(-3px) scale(1.02)}
.button-primary:active{transform:translateY(-1px) scale(0.98)}
.button-secondary{background:rgba(255,255,255,.07);border:1px solid var(--border);color:#fff}
.button-secondary:hover{background:rgba(255,255,255,.13);transform:translateY(-3px) scale(1.02)}
.button-secondary:active{transform:translateY(-1px) scale(0.98)}

.scroll-cue{align-items:center;bottom:1.8rem;color:var(--text-muted);display:flex;font-size:.68rem;gap:.65rem;left:50%;letter-spacing:.15em;position:absolute;text-transform:uppercase;transform:translateX(-50%);z-index:3;opacity:0;animation:fadeUp 0.8s ease forwards 1.2s}
.scroll-cue span{animation:scrollCue 1.8s ease-in-out infinite;border:1px solid #aaa;border-radius:9px;height:20px;width:12px;position:relative;display:inline-block}
.scroll-cue span::after{content:'';position:absolute;top:4px;left:50%;transform:translateX(-50%);width:2px;height:5px;border-radius:2px;background:var(--luxury-red);animation:scrollDot 1.8s ease-in-out infinite}
@keyframes scrollCue{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@keyframes scrollDot{0%,100%{opacity:1;transform:translateX(-50%) translateY(0)}50%{opacity:0;transform:translateX(-50%) translateY(8px)}}

.marquee{border-block:1px solid var(--border);overflow:hidden;padding:.95rem 0;white-space:nowrap;position:relative;background:var(--bg-primary)}
.marquee-track{animation:marquee 28s linear infinite;color:#ddd;display:inline-block;font:600 .9rem var(--font-heading);letter-spacing:.16em;text-transform:uppercase}
.marquee-track span{color:var(--luxury-red)}
@keyframes marquee{to{transform:translateX(-50%)}}

.section{padding:clamp(3.5rem,6vw,6rem) 0}
h2{font-size:clamp(2.25rem,5vw,4.4rem);letter-spacing:-.055em;margin:0;max-width:13ch}

.about-grid,.contact-grid{align-items:start;display:grid;gap:clamp(2rem,6vw,6rem);grid-template-columns:1fr 1fr}
.about-copy{color:var(--text-secondary);font-size:1.07rem;padding-top:.5rem}
.about-copy p{margin:0 0 1.2rem}
.text-link{color:var(--luxury-red-light);font-weight:700;position:relative}
.text-link span{display:inline-block;transition:transform .3s cubic-bezier(0.34,1.56,0.64,1)}
.text-link:hover span{transform:translateX(8px)}
.text-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--luxury-red);transition:width 0.4s ease}
.text-link:hover::after{width:100%}

.services{background:var(--bg-secondary)}
.services-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:2.5rem}
.service-card{background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02));border:1px solid var(--border);border-radius:20px;min-height:220px;padding:1.75rem;position:relative;transition:background .4s,border-color .4s,transform .4s cubic-bezier(0.34,1.56,0.64,1),box-shadow .4s;cursor:default;overflow:hidden}
.service-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(195,0,16,0.08),transparent 60%);opacity:0;transition:opacity 0.5s ease;pointer-events:none}
.service-card:hover::before{opacity:1}
.service-card::after{background:var(--luxury-red);border-radius:50%;content:'';filter:blur(28px);height:80px;opacity:0;position:absolute;right:-35px;top:-35px;transition:opacity .5s ease,transform .5s ease;width:80px}
.service-card:hover{border-color:rgba(195,0,16,.55);transform:translateY(-8px) scale(1.01);box-shadow:0 20px 40px rgba(0,0,0,0.4)}
.service-card:hover::after{opacity:.22;transform:scale(1.2)}
.service-icon{color:var(--luxury-red-light);display:block;font-size:2.4rem;margin-bottom:1.4rem;transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1);width:auto;height:auto}
.service-card:hover .service-icon{transform:scale(1.15) rotate(-5deg)}
.service-card h3{font-size:1.25rem;margin:0 0 .65rem;transition:color 0.3s ease}
.service-card:hover h3{color:var(--luxury-red-light)}
.service-card p{color:var(--text-muted);font-size:.93rem;margin:0}

.portfolio{background:#080808}
.portfolio-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;margin-top:2.5rem}
.project{aspect-ratio:1/1;background:#151515;border-radius:20px;overflow:hidden;position:relative;transition:transform 0.5s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.5s ease;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.project-large{grid-column:span 2;grid-row:span 1;aspect-ratio:16/9}
.project img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s cubic-bezier(0.2,.75,.2,1)}
.project:hover img{transform:scale(1.1)}
.project::after{background:linear-gradient(transparent 35%,rgba(0,0,0,.85));content:'';inset:0;position:absolute;transition:opacity 0.4s ease}
.project:hover::after{opacity:0.8}
.project div{bottom:0;left:0;padding:1.5rem;position:absolute;z-index:1;transform:translateY(10px);transition:transform 0.5s cubic-bezier(0.34,1.56,0.64,1)}
.project:hover div{transform:translateY(0)}
.project p{color:var(--luxury-red-light);font-size:.7rem;font-weight:700;letter-spacing:.15em;margin:0 0 .3rem;text-transform:uppercase}
.project h3{font-size:clamp(1rem,2vw,1.5rem);margin:0}

.showreel{background:linear-gradient(135deg,#100303,#0a0a0a 58%);position:relative;padding:clamp(3.5rem,6vw,5rem) 0}
.showreel-content{align-items:center;display:flex;gap:2.2rem}
.showreel-content h2{margin-bottom:1rem}
.showreel-content div>p:last-child{color:var(--text-secondary);max-width:570px}
.play-icon{align-items:center;background:var(--luxury-red);border-radius:50%;color:#fff;display:flex;flex:0 0 auto;font-size:1.6rem;height:80px;justify-content:center;transition:box-shadow .4s,transform .4s cubic-bezier(0.34,1.56,0.64,1);width:80px;position:relative;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none}
.play-icon::before{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(195,0,16,0.3);animation:playPulse 2s ease-in-out infinite}
@keyframes playPulse{0%,100%{transform:scale(1);opacity:0.5}50%{transform:scale(1.15);opacity:0}}
.play-icon:hover{box-shadow:0 0 0 16px rgba(195,0,16,.16);transform:scale(1.08)}
.play-icon:active{transform:scale(0.95)}

.stats{background:var(--bg-secondary);padding:clamp(3rem,5vw,4rem) 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.stat{border-right:1px solid var(--border);padding:1rem;transition:transform 0.3s ease}
.stat:hover{transform:translateY(-4px)}
.stat:last-child{border:0}
.stat strong{color:var(--luxury-red-light);display:block;font:700 clamp(2.4rem,5vw,4rem) var(--font-heading);letter-spacing:-.06em;transition:color 0.3s ease}
.stat:hover strong{color:#fff}
.stat strong::after{content:'+'}
.stat span{color:var(--text-muted);font-size:.86rem;transition:color 0.3s ease}
.stat:hover span{color:#ddd}

.testimonial{padding:clamp(3.5rem,6vw,5rem) 0;text-align:center;position:relative}
.testimonial .container{max-width:860px}
blockquote{color:#e8e8e8;font:clamp(1.4rem,3vw,2.2rem)/1.45 var(--font-heading);letter-spacing:-.035em;margin:0 auto 1.2rem;position:relative}
blockquote::before{content:'"';font-size:4rem;color:var(--luxury-red);opacity:0.3;position:absolute;top:-1.2rem;left:-0.5rem;font-family:var(--font-heading)}
cite{color:var(--luxury-red-light);font-size:.85rem;font-style:normal;font-weight:700;display:inline-block;position:relative}
cite::after{content:'';position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);width:30px;height:2px;background:var(--luxury-red);border-radius:2px}

.contact{background:var(--bg-secondary)}
.contact-grid>div>p:not(.eyebrow){color:var(--text-secondary);margin:1.3rem 0;max-width:420px}
.contact-detail{color:var(--luxury-red-light);display:block;font-weight:600;margin:.35rem 0;width:max-content;transition:color 0.3s ease,transform 0.3s ease;position:relative}
.contact-detail:hover{color:#fff;transform:translateX(4px)}
form{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;display:grid;gap:1rem;padding:1.5rem;transition:border-color 0.3s ease,box-shadow 0.3s ease}
form:focus-within{border-color:rgba(195,0,16,0.4);box-shadow:0 0 0 4px rgba(195,0,16,0.06)}
label{color:#ddd;font-size:.85rem;font-weight:600;transition:color 0.3s ease}
label:focus-within{color:#fff}
label span{color:var(--text-muted);font-weight:400}
input,textarea{background:#0d0d0d;border:1px solid #303030;border-radius:10px;color:white;display:block;margin-top:.42rem;min-height:48px;padding:.75rem .85rem;resize:vertical;transition:border .3s,box-shadow .3s,background .3s;width:100%;-webkit-appearance:none;appearance:none}
input:hover,textarea:hover{background:#111}
input:focus,textarea:focus{border-color:var(--luxury-red-light);box-shadow:0 0 0 3px rgba(195,0,16,.15);outline:0;background:#111}
.form-status{color:#9fe1b2;font-size:.88rem;margin:0;min-height:1.35rem;transition:opacity 0.3s ease}

footer{background:#060606;padding:3rem 0 1.5rem}
.footer-grid{display:grid;gap:2rem;grid-template-columns:2fr 1fr 1fr}
.footer-grid p{color:var(--text-muted);margin-top:1rem;max-width:230px}
.footer-grid h3{color:var(--luxury-red-light);font-size:.9rem;letter-spacing:.08em;margin:0 0 1rem;text-transform:uppercase}
.footer-grid a:not(.logo){color:var(--text-muted);display:flex;align-items:center;gap:10px;margin:.4rem 0;transition:color .3s ease,transform .3s ease;position:relative;width:fit-content}
.footer-grid a:not(.logo):hover{color:#fff;transform:translateX(4px)}
.footer-grid a i{width:1.4rem;text-align:center;font-size:1.1rem;color:var(--luxury-red-light)}
.copyright{border-top:1px solid var(--border);color:#777;font-size:.8rem;margin-top:2rem;padding-top:1.4rem;text-align:center}

.reveal{opacity:0;transform:translateY(40px);transition:opacity 0.8s cubic-bezier(0.2,.9,.3,1),transform 0.8s cubic-bezier(0.2,.9,.3,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity 0.8s cubic-bezier(0.2,.9,.3,1),transform 0.8s cubic-bezier(0.2,.9,.3,1)}
.reveal-left.is-visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity 0.8s cubic-bezier(0.2,.9,.3,1),transform 0.8s cubic-bezier(0.2,.9,.3,1)}
.reveal-right.is-visible{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(0.92);transition:opacity 0.8s cubic-bezier(0.2,.9,.3,1),transform 0.8s cubic-bezier(0.2,.9,.3,1)}
.reveal-scale.is-visible{opacity:1;transform:scale(1)}

.services-grid .service-card:nth-child(1){transition-delay:0.05s}
.services-grid .service-card:nth-child(2){transition-delay:0.1s}
.services-grid .service-card:nth-child(3){transition-delay:0.15s}
.services-grid .service-card:nth-child(4){transition-delay:0.2s}
.services-grid .service-card:nth-child(5){transition-delay:0.25s}
.services-grid .service-card:nth-child(6){transition-delay:0.3s}
.portfolio-grid .project:nth-child(1){transition-delay:0.05s}
.portfolio-grid .project:nth-child(2){transition-delay:0.1s}
.portfolio-grid .project:nth-child(3){transition-delay:0.15s}
.portfolio-grid .project:nth-child(4){transition-delay:0.2s}
.portfolio-grid .project:nth-child(5){transition-delay:0.25s}

@media (max-width:1024px){
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .portfolio-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:768px){
    :root{--header-height:68px}
    .container{width:min(100% - 2.4rem,1180px)}
    .mobile-toggle{display:block}
    .header-inner{padding:0 1.2rem}
    nav ul{background:#0d0d0d;border-bottom:1px solid var(--border);box-shadow:0 16px 22px rgba(0,0,0,.2);display:flex;flex-direction:column;gap:0;inset:var(--header-height) 0 auto;opacity:0;padding:1rem 1.2rem 1.5rem;pointer-events:none;position:fixed;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease,visibility .3s ease;visibility:hidden;width:100%;left:0;right:0}
    nav ul.is-open{opacity:1;pointer-events:auto;transform:none;visibility:visible}
    nav a{display:block;font-size:1rem;padding:.8rem 0}
    nav a::after{display:none}
    .header-cta{display:none}
    .hero{min-height:92vh;min-height:92dvh;padding-top:calc(var(--header-height) + 3rem);padding-bottom:3rem}
    h1{font-size:clamp(2.5rem,10vw,4.4rem);max-width:100%}
    .hero-copy{line-height:1.8;max-width:100%}
    .scroll-cue{display:none}
    .about-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}
    .services-grid,.portfolio-grid{grid-template-columns:1fr}
    .project,.project-large{aspect-ratio:4/3;grid-column:auto}
    .showreel-content{align-items:flex-start;flex-direction:column}
    .footer-grid{grid-template-columns:1fr 1fr}
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
    .stat{border-right:0;padding:0.5rem}
    .stat:nth-child(2){border-right:0}
    .service-card{min-height:auto}
    .section{padding:3rem 0}
}

@media (max-width:480px){
    :root{--header-height:60px}
    .container{width:min(100% - 1.5rem,1180px)}
    .logo{font-size:0.95rem}
    .logo span{font-size:0.55rem}
    .hero-actions{flex-direction:column;align-items:center}
    .hero-actions .button{width:100%;max-width:280px}
    .section{padding:2.5rem 0}
    h1{font-size:clamp(2rem,8vw,3.5rem)}
    h2{font-size:clamp(1.8rem,6vw,2.8rem)}
    .about-copy{font-size:0.95rem}
    .service-card{padding:1.25rem}
    .service-card h3{font-size:1.1rem}
    .stats-grid{grid-template-columns:1fr 1fr;gap:1rem}
    .stat strong{font-size:clamp(1.8rem,5vw,2.8rem)}
    .footer-grid{grid-template-columns:1fr;gap:1.5rem}
    .testimonial{padding:2.5rem 0}
    blockquote{font-size:1.1rem}
    blockquote::before{font-size:2.5rem;top:-0.8rem;left:-0.3rem}
    .play-icon{height:60px;width:60px;font-size:1.2rem}
    form{padding:1rem}
    input,textarea{min-height:40px;padding:0.6rem 0.7rem}
    .showreel{padding:2.5rem 0}
    .stats{padding:2.5rem 0}
    footer{padding:2rem 0 1rem}
}

@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
    .reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none}
    #cursor-glow{display:none!important}
    .click-particle{display:none!important}
}