/* =====================================================
   TZ ROMS — Global Design System v1.0
   tzroms.tzlabs.in | Space Grotesk + JetBrains Mono
   ===================================================== */

/* ── TOKENS ─────────────────────────────────────────── */
:root {
  --bg:        #04060a;
  --bg2:       #07090f;
  --surface:   #0c1018;
  --surface2:  #111620;
  --border:    rgba(56,189,248,0.1);
  --border2:   rgba(56,189,248,0.22);
  --text:      #e8f0f8;
  --text2:     #6b8aaa;
  --primary:   #38bdf8;
  --secondary: #818cf8;
  --accent:    #34d399;
  --hot:       #f97316;
  --warn:      #fbbf24;
  --glow-p:    rgba(56,189,248,0.15);
  --glow-s:    rgba(129,140,248,0.12);
  --radius:    12px;
  --radius2:   20px;
  --shadow:    0 32px 80px rgba(0,0,0,0.7);
  --font:      'Space Grotesk', system-ui, sans-serif;
  --mono:      'JetBrains Mono', monospace;
  color-scheme: dark;
}
body.light {
  --bg:      #f0f6ff;
  --bg2:     #e5eeff;
  --surface: #ffffff;
  --surface2:#f0f6ff;
  --border:  rgba(56,100,200,0.12);
  --border2: rgba(56,100,200,0.25);
  --text:    #080f1a;
  --text2:   #3a5070;
  --primary: #0284c7;
  --secondary:#4f46e5;
  --glow-p:  rgba(2,132,199,0.1);
  --shadow:  0 20px 60px rgba(0,15,40,0.15);
  color-scheme: light;
}

/* ── RESET ───────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--font);background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.6;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}

/* ── SCROLLBAR ───────────────────────────────────────── */
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}

/* ── CANVAS BG ───────────────────────────────────────── */
#bgCanvas{position:fixed;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none;opacity:0.5;}
.cursor-glow{position:fixed;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,var(--glow-p) 0%,transparent 70%);pointer-events:none;z-index:0;transform:translate(-50%,-50%);transition:opacity .3s;}

/* ── LOADER ──────────────────────────────────────────── */
.loader{position:fixed;inset:0;z-index:10000;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity .5s,visibility .5s;}
.loader.hidden{opacity:0;visibility:hidden;}
.loader-inner{text-align:center;}
.loader-logo{font-family:var(--mono);font-size:clamp(28px,5vw,52px);font-weight:700;color:var(--primary);letter-spacing:4px;margin-bottom:28px;}
.loader-logo span{background:linear-gradient(90deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.loader-bar{width:min(300px,70vw);height:3px;background:var(--surface2);border-radius:2px;overflow:hidden;margin:0 auto 14px;}
.loader-fill{height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--secondary));transition:width .1s;}
.loader-text{font-family:var(--mono);font-size:11px;color:var(--text2);letter-spacing:1px;}

/* ── HEADER ──────────────────────────────────────────── */
header{position:fixed;top:0;inset-inline:0;z-index:1000;display:flex;align-items:center;gap:20px;padding:0 clamp(16px,4vw,52px);height:64px;border-bottom:1px solid var(--border);background:rgba(4,6,10,0.75);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);transition:background .3s;}
body.light header{background:rgba(240,246,255,0.82);}
header.scrolled{background:rgba(4,6,10,0.95);}

.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;flex-shrink:0;}
.brand-icon{width:30px;height:30px;border-radius:7px;background:linear-gradient(135deg,var(--primary),var(--secondary));position:relative;flex-shrink:0;}
.brand-icon::after{content:'';position:absolute;inset:6px;border-radius:2px;background:var(--bg);}
.brand span{background:linear-gradient(90deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

nav{display:flex;align-items:center;gap:4px;flex:1;justify-content:center;}
.nav-link{padding:6px 14px;border-radius:8px;font-size:14px;font-weight:500;color:var(--text2);transition:color .2s,background .2s;}
.nav-link:hover,.nav-link.active{color:var(--text);background:var(--surface);}

.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.theme-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:15px;display:flex;align-items:center;justify-content:center;transition:border-color .2s,transform .2s;}
.theme-btn:hover{border-color:var(--primary);transform:rotate(20deg);}
body:not(.light) .sun-icon{display:none;}
body.light .moon-icon{display:none;}

.hamburger{display:none;flex-direction:column;gap:5px;width:36px;height:36px;padding:9px;border-radius:8px;border:1px solid var(--border);background:var(--surface);}
.hamburger span{display:block;height:2px;background:var(--text);border-radius:1px;transition:transform .3s,opacity .3s;}

.mobile-menu{position:fixed;top:64px;inset-inline:0;z-index:999;background:rgba(4,6,10,.97);backdrop-filter:blur(24px);border-bottom:1px solid var(--border);padding:20px clamp(16px,4vw,52px);display:flex;flex-direction:column;gap:4px;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .3s,opacity .3s;}
.mobile-menu.open{transform:none;opacity:1;pointer-events:auto;}
.mobile-menu a{padding:12px 16px;border-radius:8px;font-weight:600;color:var(--text2);transition:color .2s,background .2s;}
.mobile-menu a:hover{color:var(--text);background:var(--surface);}
.mobile-menu .btn-primary{margin-top:8px;justify-content:center;}

/* ── BUTTONS ─────────────────────────────────────────── */
.btn-primary{display:inline-flex;align-items:center;gap:7px;padding:10px 22px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-weight:700;font-size:14px;transition:transform .2s,box-shadow .2s,opacity .2s;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px var(--glow-p);opacity:.92;}
.btn-primary.lg{padding:14px 30px;font-size:16px;border-radius:12px;}
.btn-primary.sm{padding:7px 16px;font-size:12px;}
.btn-ghost{display:inline-flex;align-items:center;gap:7px;padding:10px 22px;border-radius:10px;border:1px solid var(--border2);color:var(--text);font-weight:600;font-size:14px;background:var(--surface);transition:transform .2s,border-color .2s,background .2s;}
.btn-ghost:hover{transform:translateY(-2px);border-color:var(--primary);background:var(--surface2);}
.btn-ghost.lg{padding:14px 30px;font-size:16px;border-radius:12px;}

/* ── CONTAINER ───────────────────────────────────────── */
.container{width:min(1240px,calc(100% - 40px));margin:0 auto;}

/* ── SECTION ─────────────────────────────────────────── */
.section{padding:clamp(60px,8vw,100px) 0;}
.section-label{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--primary);margin-bottom:10px;}
.section-title{font-size:clamp(26px,4vw,44px);font-weight:800;line-height:1.2;margin-bottom:14px;}
.section-title em{color:var(--primary);font-style:normal;}
.section-desc{font-size:16px;color:var(--text2);max-width:540px;margin-bottom:44px;line-height:1.75;}

/* ── REVEAL ──────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:none;}

/* ── MONO UTIL ───────────────────────────────────────── */
.mono{font-family:var(--mono);}
.gradient-text{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* ── HERO ────────────────────────────────────────────── */
.hero{min-height:100vh;padding-top:64px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;padding-inline:clamp(20px,6vw,72px);position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:url('assets/bg.png') center/cover no-repeat;opacity:.15;z-index:0;}
body.light .hero-bg{opacity:.08;}
.hero-bg-grad{position:absolute;inset:0;background:linear-gradient(135deg,rgba(4,6,10,.85) 0%,rgba(4,6,10,.5) 100%);z-index:0;}
body.light .hero-bg-grad{background:linear-gradient(135deg,rgba(240,246,255,.88) 0%,rgba(240,246,255,.6) 100%);}
.hero-glow{position:absolute;top:-10%;right:-5%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.12) 0%,transparent 65%);pointer-events:none;z-index:0;}
.hero-content{position:relative;z-index:2;}
.hero-visual{position:relative;z-index:2;}

.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:6px 14px;border:1px solid var(--border2);border-radius:999px;background:var(--surface);font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--text2);margin-bottom:22px;}
.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 8px var(--primary);animation:pulse 2s infinite;}
.eyebrow-live{background:var(--primary);color:#04060a;font-weight:700;font-size:9px;padding:2px 7px;border-radius:4px;letter-spacing:2px;}

.hero-title{font-size:clamp(30px,5.5vw,68px);font-weight:800;line-height:1.1;margin-bottom:18px;letter-spacing:-.02em;}
.hero-sub{font-size:clamp(14px,1.8vw,18px);color:var(--text2);max-width:480px;line-height:1.75;margin-bottom:32px;}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:44px;}

.hero-stats{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.hstat{text-align:center;}
.hstat-num{font-size:clamp(22px,3vw,34px);font-weight:800;color:var(--primary);line-height:1;font-variant-numeric:tabular-nums;}
.hstat-lbl{font-size:10px;color:var(--text2);margin-top:3px;font-family:var(--mono);letter-spacing:.5px;}
.hstat-div{width:1px;height:36px;background:var(--border);}

/* ── 3D DEVICE GRID ──────────────────────────────────── */
.devices-3d-wrap{position:relative;display:flex;flex-direction:column;gap:14px;}
.device-3d-card{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;border:1px solid var(--border);background:var(--surface);transition:transform .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden;cursor:pointer;}
.device-3d-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(56,189,248,.05),transparent);pointer-events:none;}
.device-3d-card:hover{transform:translateX(6px);border-color:var(--border2);box-shadow:0 8px 32px rgba(0,0,0,.4);}
.d3c-icon{font-size:28px;flex-shrink:0;}
.d3c-info{flex:1;}
.d3c-name{font-size:14px;font-weight:700;}
.d3c-sub{font-size:11px;color:var(--text2);font-family:var(--mono);margin-top:2px;}
.d3c-arrow{color:var(--primary);font-size:16px;transition:transform .2s;}
.device-3d-card:hover .d3c-arrow{transform:translateX(4px);}
.d3c-badge{position:absolute;top:8px;right:8px;padding:3px 8px;border-radius:5px;font-size:9px;font-weight:700;font-family:var(--mono);}
.d3c-badge.live{background:rgba(52,211,153,.15);border:1px solid rgba(52,211,153,.4);color:var(--accent);}
.d3c-badge.soon{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);color:var(--warn);}

/* ── SCROLL HINT ─────────────────────────────────────── */
.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--text2);font-size:10px;letter-spacing:1px;z-index:2;}
.scroll-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);animation:bounce 1.6s ease-in-out infinite;}

/* ── FEATURED DEVICES ────────────────────────────────── */
.devices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
.device-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s;position:relative;}
.device-card:hover{transform:translateY(-8px);border-color:var(--border2);box-shadow:0 24px 60px rgba(0,0,0,.5);}
.device-card.featured{border-color:var(--primary);}
.dc-img-wrap{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--surface2);}
.dc-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s,opacity .3s;opacity:0;}
.dc-img-wrap img.loaded{opacity:1;}
.dc-img-wrap:hover img{transform:scale(1.06);}
.dc-badge-row{position:absolute;top:10px;left:10px;display:flex;gap:6px;z-index:2;}
.dc-badge{padding:3px 9px;border-radius:6px;font-size:9px;font-weight:700;font-family:var(--mono);backdrop-filter:blur(8px);}
.dc-badge.live{background:rgba(52,211,153,.85);color:#003320;}
.dc-badge.soon{background:rgba(251,191,36,.85);color:#221400;}
.dc-badge.hot{background:rgba(249,115,22,.85);color:#fff;}
.dc-body{padding:18px 20px 20px;}
.dc-name{font-size:17px;font-weight:800;margin-bottom:4px;}
.dc-codename{font-family:var(--mono);font-size:11px;color:var(--primary);margin-bottom:10px;}
.dc-desc{font-size:13px;color:var(--text2);line-height:1.65;margin-bottom:16px;}
.dc-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;}
.dc-chip{padding:3px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface2);font-size:11px;font-family:var(--mono);color:var(--text2);}
.dc-footer{display:flex;align-items:center;justify-content:space-between;}
.dc-roms{font-size:11px;color:var(--text2);font-family:var(--mono);}
.dc-roms span{color:var(--primary);font-weight:700;}

/* ── ROM CATEGORY CARDS ──────────────────────────────── */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;}
.cat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);padding:28px 24px;text-align:center;transition:transform .25s,border-color .25s,box-shadow .25s;cursor:pointer;}
.cat-card:hover{transform:translateY(-6px);border-color:var(--border2);box-shadow:0 16px 40px rgba(0,0,0,.4);}
.cat-card.gaming:hover{border-color:rgba(249,115,22,.5);}
.cat-card.battery:hover{border-color:rgba(56,189,248,.5);}
.cat-card.stable:hover{border-color:rgba(52,211,153,.5);}
.cat-card.pixel:hover{border-color:rgba(129,140,248,.5);}
.cat-icon{font-size:36px;margin-bottom:14px;}
.cat-name{font-size:16px;font-weight:700;margin-bottom:6px;}
.cat-desc{font-size:12px;color:var(--text2);line-height:1.6;}

/* ── GALLERY ─────────────────────────────────────────── */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto;gap:14px;}
.gallery-card{position:relative;display:block;overflow:hidden;border-radius:var(--radius2);border:1px solid var(--border);aspect-ratio:16/10;background:var(--surface);transition:transform .3s,border-color .3s;}
.gallery-card:hover{transform:scale(1.02);border-color:var(--border2);}
.gallery-card.tall{grid-row:span 2;aspect-ratio:auto;}
.gallery-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s,opacity .3s;opacity:0;}
.gallery-card img.loaded{opacity:1;}
.gallery-card:hover img{transform:scale(1.07);}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(4,6,10,.9) 0%,transparent 55%);display:flex;flex-direction:column;justify-content:flex-end;padding:16px;opacity:0;transition:opacity .3s;}
.gallery-card:hover .gallery-overlay{opacity:1;}
.gal-tag{font-size:10px;font-family:var(--mono);color:var(--primary);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
.gal-name{font-size:14px;font-weight:700;}
.gal-arrow{position:absolute;top:12px;right:12px;font-size:18px;color:var(--primary);}

/* ── VIDEOS ──────────────────────────────────────────── */
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.video-side{display:flex;flex-direction:column;gap:18px;}
.video-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden;transition:transform .25s,border-color .25s;}
.video-card:hover{transform:translateY(-4px);border-color:var(--border2);}
.video-wrap{position:relative;padding-top:56.25%;}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video-info{padding:14px 16px;}
.video-tag{display:inline-block;padding:3px 8px;border-radius:5px;background:rgba(56,189,248,.1);border:1px solid var(--border2);color:var(--primary);font-size:10px;font-family:var(--mono);margin-bottom:5px;}
.video-info h3{font-size:13px;font-weight:700;}

/* ── STATS COUNTER ───────────────────────────────────── */
.stats-band{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.stats-inner{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;}
.stat-item{flex:1;min-width:140px;text-align:center;padding:40px 20px;border-right:1px solid var(--border);}
.stat-item:last-child{border-right:none;}
.stat-num{font-size:clamp(28px,4vw,48px);font-weight:800;color:var(--primary);line-height:1;font-variant-numeric:tabular-nums;}
.stat-label{font-size:11px;color:var(--text2);margin-top:6px;font-family:var(--mono);letter-spacing:.5px;}

/* ── GUIDES ──────────────────────────────────────────── */
.guides-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.guide-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);padding:28px;transition:transform .25s,border-color .25s;display:flex;flex-direction:column;}
.guide-card:hover{transform:translateY(-6px);border-color:var(--border2);}
.guide-num{font-family:var(--mono);font-size:10px;color:var(--text2);margin-bottom:12px;letter-spacing:1px;}
.guide-icon{font-size:28px;margin-bottom:12px;}
.guide-title{font-size:17px;font-weight:700;margin-bottom:8px;}
.guide-desc{font-size:13px;color:var(--text2);line-height:1.65;flex:1;margin-bottom:18px;}
.guide-arrow{color:var(--primary);font-size:18px;transition:transform .2s;}
.guide-card:hover .guide-arrow{transform:translateX(4px);}

/* ── BLOG CARDS ──────────────────────────────────────── */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;}
.blog-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;flex-direction:column;}
.blog-card:hover{transform:translateY(-6px);border-color:var(--border2);box-shadow:0 20px 50px rgba(0,0,0,.4);}
.blog-img{aspect-ratio:16/9;overflow:hidden;background:var(--surface2);position:relative;}
.blog-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .3s;opacity:0;}
.blog-img img.loaded{opacity:1;}
.blog-card:hover .blog-img img{transform:scale(1.05);}
.blog-tag{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:6px;font-size:10px;font-weight:700;font-family:var(--mono);backdrop-filter:blur(8px);background:rgba(56,189,248,.85);color:#04060a;}
.blog-body{padding:20px;flex:1;display:flex;flex-direction:column;}
.blog-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text2);font-family:var(--mono);margin-bottom:10px;}
.blog-title{font-size:16px;font-weight:700;line-height:1.4;margin-bottom:8px;}
.blog-excerpt{font-size:13px;color:var(--text2);line-height:1.65;flex:1;margin-bottom:16px;}
.blog-read-more{font-size:12px;color:var(--primary);font-weight:700;display:flex;align-items:center;gap:5px;margin-top:auto;}

/* ── CONTACT ─────────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.contact-card{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:var(--radius2);border:1px solid var(--border);background:var(--surface);transition:transform .25s,border-color .25s,box-shadow .25s;text-decoration:none;color:inherit;}
.contact-card:hover{transform:translateY(-4px);border-color:var(--border2);}
.contact-card.tg:hover{border-color:rgba(39,174,246,.5);box-shadow:0 12px 30px rgba(39,174,246,.12);}
.contact-card.ig:hover{border-color:rgba(240,71,109,.5);box-shadow:0 12px 30px rgba(240,71,109,.1);}
.contact-card.fb:hover{border-color:rgba(66,103,178,.5);box-shadow:0 12px 30px rgba(66,103,178,.1);}
.contact-icon{font-size:22px;flex-shrink:0;}
.contact-info{flex:1;}
.contact-name{font-size:14px;font-weight:700;}
.contact-handle{font-size:11px;color:var(--text2);font-family:var(--mono);}
.contact-arrow{color:var(--text2);font-size:16px;}

/* ── FOOTER ──────────────────────────────────────────── */
.footer{padding:60px 0 28px;border-top:1px solid var(--border);background:var(--bg);}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.footer-brand .brand{margin-bottom:12px;}
.footer-brand p{font-size:13px;color:var(--text2);line-height:1.65;max-width:240px;margin-bottom:6px;}
.footer-copy{font-size:11px;color:var(--text2);margin-top:14px;}
.footer-col-title{font-size:10px;font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--text2);margin-bottom:14px;}
.footer-links-col{display:flex;flex-direction:column;gap:8px;}
.footer-links-col a{font-size:13px;color:var(--text2);transition:color .2s;}
.footer-links-col a:hover{color:var(--primary);}

/* ── FAB ─────────────────────────────────────────────── */
.fab-tg{position:fixed;right:20px;bottom:68px;z-index:999;display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:12px;background:rgba(39,174,246,.9);color:#fff;font-size:13px;font-weight:700;box-shadow:0 8px 24px rgba(39,174,246,.35);transition:transform .2s,box-shadow .2s;}
.fab-tg:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(39,174,246,.5);}
.back-top{position:fixed;right:20px;bottom:20px;z-index:999;width:40px;height:40px;border-radius:10px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:16px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s,transform .2s;}
.back-top.visible{opacity:1;pointer-events:auto;}
.back-top:hover{transform:translateY(-3px);border-color:var(--primary);}

/* ── KEYFRAMES ───────────────────────────────────────── */
@keyframes pulse{0%,100%{box-shadow:0 0 8px var(--primary);}50%{box-shadow:0 0 18px var(--primary);}}
@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(7px);}}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}

/* ── RESPONSIVE ──────────────────────────────────────── */
@media(max-width:1024px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-card.tall{grid-row:span 1;aspect-ratio:16/10;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .hero{grid-template-columns:1fr;}
  .hero-visual{display:none;}
}
@media(max-width:820px){
  nav{display:none;}
  .hamburger{display:flex;}
  .video-grid{grid-template-columns:1fr;}
  .video-side{gap:14px;}
}
@media(max-width:560px){
  .gallery-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .hero-cta{flex-direction:column;align-items:flex-start;}
  .btn-primary.lg,.btn-ghost.lg{width:100%;justify-content:center;}
  .stats-inner{flex-direction:column;}
  .stat-item{border-right:none;border-bottom:1px solid var(--border);width:100%;}
  .stat-item:last-child{border-bottom:none;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}}
