/* =============================================
   NIYAMAH v3 — Main Stylesheet (Neon Dark)
   ============================================= */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Rajdhani:wght@300;400;600;700&family=Hind+Siliguri:wght@300;400;600;700&display=swap');

:root {
  --bg:    #050a0f;
  --bg2:   #080d15;
  --card:  #0a1525;
  --card2: #0d1b2e;
  --cyan:  #00f7ff;
  --pink:  #ff00ff;
  --green: #00ff88;
  --yellow:#ffcc00;
  --blue:  #0088ff;
  --red:   #ff3355;
  --text:  #e0eeff;
  --muted: #7a9cc5;
  --border:rgba(0,247,255,.12);
  --fh: 'Orbitron', monospace;
  --fb: 'Hind Siliguri', sans-serif;
  --fs: 'Rajdhani', sans-serif;
}

/* Reset */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text); font-family:var(--fb); overflow-x:hidden; }
a { text-decoration:none; color:inherit; }
button { cursor:pointer; font-family:var(--fs); }
img { max-width:100%; display:block; }
::-webkit-scrollbar { width:5px; height:5px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:rgba(0,247,255,.3); border-radius:3px; }

/* BG Grid */
.bg-grid {
  position:fixed; inset:0;
  background-image: linear-gradient(rgba(0,247,255,.025) 1px,transparent 1px),
                    linear-gradient(90deg,rgba(0,247,255,.025) 1px,transparent 1px);
  background-size: 50px 50px;
  pointer-events:none; z-index:0;
}

/* ---- Navbar ---- */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(5,10,15,.93); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}
.nc {
  max-width:1400px; margin:0 auto; padding:0 1.5rem;
  display:flex; align-items:center; height:66px; gap:1.5rem;
}
.logo-text {
  font-family:var(--fh); font-size:1.4rem; font-weight:900;
  background:linear-gradient(90deg,var(--cyan),var(--pink));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 12px rgba(0,247,255,.45));
  flex-shrink:0;
}
.nav-links { display:flex; list-style:none; gap:.2rem; margin-left:auto; }
.nav-links a {
  color:var(--muted); font-family:var(--fs); font-weight:600; font-size:.86rem;
  padding:.38rem .72rem; border-radius:5px; transition:all .3s;
}
.nav-links a:hover, .nav-links a.active {
  color:var(--cyan); background:rgba(0,247,255,.07);
}
.admin-btn {
  background:linear-gradient(135deg,rgba(0,247,255,.1),rgba(255,0,255,.07));
  border:1px solid rgba(0,247,255,.25); color:var(--cyan);
  padding:.42rem .9rem; border-radius:6px; font-family:var(--fs);
  font-weight:700; font-size:.8rem; transition:all .3s; flex-shrink:0;
}
.admin-btn:hover { background:rgba(0,247,255,.18); box-shadow:0 0 14px rgba(0,247,255,.25); }
.hbg { display:none; background:transparent; border:none; color:var(--cyan); font-size:1.4rem; margin-left:auto; }

/* ---- Page hero / Section banner ---- */
.page-hero {
  position:relative; z-index:1; padding:110px 0 60px;
  overflow:hidden;
}
.page-hero::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 0%, color-mix(in srgb,var(--accent,.1) 10%,transparent),transparent 70%);
  pointer-events:none;
}
.page-hero .container { position:relative; z-index:2; }
.ph-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.1); color:var(--muted);
  padding:.3rem 1rem; border-radius:20px; font-family:var(--fs);
  font-size:.82rem; margin-bottom:1.1rem;
}
.ph-title {
  font-family:var(--fh); font-size:clamp(2rem,5vw,3.8rem);
  font-weight:900; line-height:1.1; margin-bottom:.75rem;
}
.ph-desc { color:var(--muted); font-family:var(--fs); font-size:1rem; max-width:560px; }
.ph-cta {
  display:flex; gap:.85rem; flex-wrap:wrap; margin-top:1.75rem;
}

/* ---- Container ---- */
.container { max-width:1200px; margin:0 auto; padding:0 1.5rem; position:relative; z-index:1; }

/* ---- Section generic ---- */
.sec { padding:5rem 0; }
.sec.alt { background:rgba(0,0,0,.25); }
.sec-title { font-family:var(--fh); font-size:clamp(1.5rem,3.5vw,2.2rem); margin-bottom:.5rem; }
.sec-sub { color:var(--muted); font-family:var(--fs); margin-bottom:2.25rem; }
.gc { color:var(--cyan); text-shadow:0 0 16px rgba(0,247,255,.4); }

/* ---- Hero (index) ---- */
.hero {
  min-height:100vh; display:flex; align-items:center;
  padding:90px 2rem 3rem; max-width:1400px; margin:0 auto;
  gap:3rem; position:relative; z-index:1;
}
.hero-content { flex:1; }
.hero-badge {
  display:inline-block;
  background:linear-gradient(135deg,rgba(0,247,255,.1),rgba(255,0,255,.07));
  border:1px solid rgba(0,247,255,.28); color:var(--cyan);
  padding:.32rem .95rem; border-radius:20px; font-family:var(--fs);
  font-size:.86rem; margin-bottom:1.2rem; animation:fadeUp .6s ease both;
}
.hero-title {
  font-size:clamp(3rem,8vw,6rem); font-family:var(--fh); font-weight:900;
  line-height:1; margin-bottom:.7rem; animation:fadeUp .8s ease both;
}
.glow-text {
  background:linear-gradient(90deg,var(--cyan),var(--pink),var(--green));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 22px rgba(0,247,255,.5));
  animation:hue 5s linear infinite;
}
@keyframes hue {
  from{filter:drop-shadow(0 0 22px #00f7ff)} 33%{filter:drop-shadow(0 0 22px #ff00ff)}
  66%{filter:drop-shadow(0 0 22px #00ff88)} to{filter:drop-shadow(0 0 22px #00f7ff)}
}
.hero-sub { font-family:var(--fs); font-size:1.25rem; color:var(--muted); margin-bottom:.35rem; animation:fadeUp .95s ease both; }
.hero-desc { color:var(--cyan); font-family:var(--fs); font-size:.92rem; opacity:.6; margin-bottom:1.9rem; animation:fadeUp 1.1s ease both; }
.hbtns { display:flex; gap:.85rem; flex-wrap:wrap; margin-bottom:2.5rem; animation:fadeUp 1.2s ease both; }
.btn-p {
  background:linear-gradient(135deg,var(--cyan),var(--blue)); color:#000;
  padding:.8rem 1.8rem; border-radius:9px; font-family:var(--fs); font-weight:700;
  font-size:.92rem; transition:all .3s; box-shadow:0 0 18px rgba(0,247,255,.22);
}
.btn-p:hover { transform:translateY(-3px); box-shadow:0 0 32px rgba(0,247,255,.5); }
.btn-s {
  background:transparent; color:var(--cyan); border:1px solid var(--cyan);
  padding:.8rem 1.8rem; border-radius:9px; font-family:var(--fs);
  font-weight:700; font-size:.92rem; transition:all .3s;
}
.btn-s:hover { background:rgba(0,247,255,.09); box-shadow:0 0 18px rgba(0,247,255,.18); }
.h-stats { display:flex; gap:2rem; flex-wrap:wrap; animation:fadeUp 1.4s ease both; }
.hst { text-align:center; }
.hst-num { font-family:var(--fh); font-size:1.7rem; font-weight:900; color:var(--cyan); }
.hst p { font-size:.72rem; color:var(--muted); font-family:var(--fs); }
.hero-visual { flex:0 0 auto; }
.hex-g { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; }
.hx {
  width:108px; height:108px; background:rgba(255,255,255,.025);
  border:1px solid color-mix(in srgb,var(--c) 28%,transparent);
  border-radius:18px; display:flex; align-items:center; justify-content:center;
  font-size:2.7rem; box-shadow:0 0 22px color-mix(in srgb,var(--c) 16%,transparent);
  animation:floatA 3s ease-in-out infinite; transition:all .3s;
}
.hx:nth-child(2){animation-delay:.5s} .hx:nth-child(3){animation-delay:1s} .hx:nth-child(4){animation-delay:1.5s}
.hx:hover { transform:scale(1.1); box-shadow:0 0 42px color-mix(in srgb,var(--c) 44%,transparent); }

/* ---- Homepage Gallery Showcase ---- */
.gshow-wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.1rem;
  margin-top: 2rem;
}
.gshow-col {
  display: flex;
  flex-direction: column;
  gap: .7rem;
}
.gshow-label {
  display: flex;
  align-items: center;
  gap: .5rem;
  background: var(--card);
  border: 1px solid color-mix(in srgb, var(--gc) 30%, transparent);
  border-radius: 10px;
  padding: .6rem .9rem;
  font-family: var(--fs);
  font-weight: 700;
  font-size: .82rem;
  color: var(--gc);
  text-decoration: none;
  transition: all .3s;
  position: relative;
  overflow: hidden;
}
.gshow-label::before {
  content: '';
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--gc) 7%, transparent);
  opacity: 0;
  transition: opacity .3s;
}
.gshow-label:hover::before { opacity: 1; }
.gshow-label:hover { border-color: color-mix(in srgb, var(--gc) 60%, transparent); transform: translateY(-2px); }
.gshow-arrow { margin-left: auto; opacity: .5; transition: all .3s; }
.gshow-label:hover .gshow-arrow { opacity: 1; transform: translateX(3px); }
.gshow-strip-outer {
  height: 420px;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  background: var(--card);
  border: 1px solid rgba(255,255,255,.05);
}
.gshow-strip-outer::before,
.gshow-strip-outer::after {
  content: '';
  position: absolute;
  left: 0; right: 0;
  height: 55px;
  z-index: 2;
  pointer-events: none;
}
.gshow-strip-outer::before {
  top: 0;
  background: linear-gradient(to bottom, var(--card), transparent);
}
.gshow-strip-outer::after {
  bottom: 0;
  background: linear-gradient(to top, var(--card), transparent);
}
.gshow-strip {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding: .55rem;
}
.gshow-strip.gshow-auto {
  animation: gscroll 18s linear infinite;
}
.gshow-strip.gshow-auto:hover {
  animation-play-state: paused;
}
@keyframes gscroll {
  0%   { transform: translateY(0); }
  100% { transform: translateY(-33.333%); }
}
.gshow-img-wrap {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  aspect-ratio: 4/3;
  background: rgba(0,0,0,.3);
}
.gshow-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s;
}
.gshow-img-wrap:hover img { transform: scale(1.05); }
.gshow-img-cap {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: rgba(0,0,0,.72);
  color: #fff;
  font-size: .7rem;
  font-family: var(--fs);
  padding: .28rem .45rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.gshow-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 360px;
  color: var(--muted);
  font-size: .82rem;
  font-family: var(--fs);
  gap: .6rem;
}

/* ---- Service Cards (index) ---- */
.svc-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); gap:1.35rem; }
.svc-card {
  background:var(--card); border:1px solid rgba(255,255,255,.05);
  border-radius:16px; padding:1.8rem; position:relative; overflow:hidden;
  transition:all .4s; display:block;
}
.svc-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2.5px; background:var(--accent); box-shadow:0 0 12px var(--accent); }
.svc-card::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 60%);
  opacity:0; transition:opacity .4s;
}
.svc-card:hover { transform:translateY(-7px); border-color:color-mix(in srgb,var(--accent) 25%,transparent); }
.svc-card:hover::after { opacity:1; }
.svc-card .ci { font-size:2.7rem; margin-bottom:.85rem; display:block; }
.svc-card h3 { font-family:var(--fh); font-size:.88rem; margin-bottom:.6rem; color:var(--accent); }
.svc-card p { font-size:.85rem; color:var(--muted); line-height:1.6; margin-bottom:1.2rem; }
.svc-card .ca { color:var(--accent); font-size:1rem; }
.svc-card .learn-more {
  display:inline-flex; align-items:center; gap:.4rem;
  color:var(--accent); font-family:var(--fs); font-weight:700; font-size:.85rem;
  border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent);
  padding-bottom:.15rem; transition:all .3s;
}
.svc-card:hover .learn-more { border-bottom-color:var(--accent); }

/* ---- Features grid ---- */
.feat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(165px,1fr)); gap:.85rem; margin-bottom:2.5rem; }
.fi {
  background:var(--card); border:1px solid rgba(255,255,255,.055);
  padding:.85rem; border-radius:10px; text-align:center;
  font-family:var(--fs); font-weight:600; font-size:.86rem;
  transition:all .3s; cursor:default;
}
.fi:hover { background:var(--card2); border-color:rgba(0,247,255,.25); color:var(--cyan); transform:translateY(-3px); }

/* ---- Gallery ---- */
.gallery-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:1rem; margin-bottom:2.5rem;
}
.gallery-item {
  position:relative; border-radius:14px; overflow:hidden;
  aspect-ratio:4/3; background:var(--card2);
  border:1px solid rgba(255,255,255,.06); cursor:pointer; group: true;
}
.gallery-item img {
  width:100%; height:100%; object-fit:cover; transition:transform .4s;
}
.gallery-item:hover img { transform:scale(1.07); }
.gallery-item .gi-overlay {
  position:absolute; inset:0; background:rgba(0,0,0,.55);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  opacity:0; transition:opacity .3s;
}
.gallery-item:hover .gi-overlay { opacity:1; }
.gi-caption { color:#fff; font-family:var(--fs); font-weight:700; text-align:center; padding:.75rem; font-size:.9rem; }
.gallery-empty {
  text-align:center; color:var(--muted); padding:3rem;
  border:2px dashed rgba(255,255,255,.08); border-radius:14px;
  font-family:var(--fs); font-size:.9rem;
}

/* Lightbox */
.lightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,.9); z-index:9998; align-items:center; justify-content:center; padding:1rem; }
.lightbox.show { display:flex; }
.lightbox img { max-width:90vw; max-height:88vh; border-radius:10px; object-fit:contain; }
.lb-close { position:absolute; top:1rem; right:1.5rem; color:#fff; font-size:2rem; cursor:pointer; background:none; border:none; }
.lb-caption { position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); background:rgba(0,0,0,.7); color:#fff; font-family:var(--fs); padding:.5rem 1.5rem; border-radius:20px; font-size:.88rem; white-space:nowrap; }

/* ---- Order Form ---- */
.ofw {
  background:var(--card); border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);
  border-radius:18px; padding:2.2rem; margin-bottom:2.5rem; position:relative; overflow:hidden;
}
.ofw::before { content:''; position:absolute; top:0; left:0; right:0; height:1.5px; background:linear-gradient(90deg,transparent,var(--accent),transparent); }
.ofw h3 { font-family:var(--fh); font-size:.95rem; margin-bottom:1.35rem; color:var(--accent); }
.of { display:flex; flex-direction:column; gap:1.05rem; }
.fr { display:grid; grid-template-columns:1fr 1fr; gap:1.05rem; }
.fg { display:flex; flex-direction:column; gap:.38rem; }
.fg label { font-family:var(--fs); font-size:.8rem; color:var(--muted); font-weight:700; }
.fg input, .fg select, .fg textarea {
  background:rgba(0,0,0,.42); border:1px solid rgba(255,255,255,.09);
  border-radius:8px; color:var(--text); padding:.68rem .92rem;
  font-family:var(--fb); font-size:.9rem;
  transition:border .3s, box-shadow .3s; outline:none;
}
.fg input:focus, .fg select:focus, .fg textarea:focus {
  border-color:var(--accent, var(--cyan));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,var(--cyan)) 13%,transparent);
}
.fg select option { background:var(--card); }
.fg textarea { min-height:90px; resize:vertical; }

/* File upload */
.fua {
  border:2px dashed rgba(255,255,255,.09); border-radius:12px;
  padding:1.4rem; text-align:center; transition:all .3s; cursor:pointer;
}
.fua:hover, .fua.drag { border-color:rgba(0,247,255,.38); background:rgba(0,247,255,.022); }
.fua input[type=file] { display:none; }
.fua-icon { font-size:2rem; display:block; margin-bottom:.35rem; }
.fua p { color:var(--muted); font-family:var(--fs); font-size:.88rem; margin-bottom:.18rem; }
.fua small { color:rgba(255,255,255,.25); font-size:.75rem; }
.fprev { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.85rem; }
.ftag { background:rgba(0,247,255,.08); border:1px solid rgba(0,247,255,.24); color:var(--cyan); padding:.18rem .6rem; border-radius:18px; font-size:.75rem; font-family:var(--fs); }

/* Products (agro) */
.prod-g { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:1.3rem; margin-bottom:2.5rem; }
.pc {
  background:var(--card); border:1px solid color-mix(in srgb,var(--ac,#ffcc00) 13%,transparent);
  border-radius:15px; padding:1.35rem; text-align:center; transition:all .3s; position:relative;
}
.pc:hover { transform:translateY(-5px); box-shadow:0 10px 28px color-mix(in srgb,var(--ac,#ffcc00) 12%,transparent); border-color:color-mix(in srgb,var(--ac,#ffcc00) 32%,transparent); }
.pc-img { font-size:2.5rem; margin-bottom:.85rem; display:block; }
.pc h4 { font-family:var(--fs); font-weight:700; margin-bottom:.4rem; font-size:.96rem; }
.pc p { color:var(--muted); font-size:.82rem; margin-bottom:.8rem; line-height:1.5; font-family:var(--fb); }
.pc .price { display:block; font-family:var(--fh); font-size:.95rem; color:var(--yellow); margin-bottom:.8rem; }
.pbtn {
  background:linear-gradient(135deg,rgba(255,204,0,.17),rgba(255,204,0,.04));
  border:1px solid rgba(255,204,0,.36); color:var(--yellow);
  padding:.42rem 1rem; border-radius:8px; font-family:var(--fs);
  font-weight:700; font-size:.85rem; transition:all .3s;
}
.pbtn:hover { background:rgba(255,204,0,.2); box-shadow:0 0 12px rgba(255,204,0,.25); }
.pbtn.sel { background:rgba(255,204,0,.25); box-shadow:0 0 15px rgba(255,204,0,.3); }

/* Submit btn */
.sub-btn {
  background:linear-gradient(135deg,color-mix(in srgb,var(--c) 26%,transparent),color-mix(in srgb,var(--c) 8%,transparent));
  border:1px solid color-mix(in srgb,var(--c) 42%,transparent);
  color:var(--c); padding:.88rem 1.85rem; border-radius:10px;
  font-family:var(--fs); font-weight:700; font-size:.92rem;
  transition:all .3s; align-self:flex-start; letter-spacing:.04em;
}
.sub-btn:hover { background:color-mix(in srgb,var(--c) 17%,transparent); box-shadow:0 0 20px color-mix(in srgb,var(--c) 36%,transparent); transform:translateY(-2px); }
.sub-btn:disabled { opacity:.5; cursor:not-allowed; transform:none !important; }

/* Reviews */
.rev-sec { background:rgba(0,0,0,.25); border-radius:18px; padding:1.85rem; border:1px solid rgba(255,255,255,.05); margin-top:2.5rem; }
.rev-sec h3 { font-family:var(--fh); font-size:.9rem; margin-bottom:1.35rem; }
.rev-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:.95rem; margin-bottom:1.35rem; }
.rc { background:var(--card); border:1px solid rgba(255,255,255,.06); border-radius:12px; padding:1.1rem; transition:all .3s; }
.rc:hover { border-color:rgba(0,247,255,.18); transform:translateY(-3px); }
.rc-name { font-family:var(--fs); font-weight:700; color:var(--cyan); font-size:.85rem; margin-bottom:.38rem; }
.rc-text { color:var(--muted); font-size:.85rem; line-height:1.55; font-family:var(--fb); }
.no-reviews { color:var(--muted); font-size:.88rem; font-family:var(--fs); padding:.5rem 0; }
.add-rev { display:flex; flex-direction:column; gap:.68rem; max-width:470px; margin-top:1rem; }
.add-rev h4 { font-family:var(--fs); font-weight:700; }
.add-rev input, .add-rev textarea {
  background:rgba(0,0,0,.4); border:1px solid rgba(255,255,255,.09);
  border-radius:8px; color:var(--text); padding:.6rem .85rem;
  font-family:var(--fb); font-size:.88rem; outline:none; transition:border .3s;
}
.add-rev input:focus, .add-rev textarea:focus { border-color:var(--cyan); }
.add-rev textarea { min-height:72px; resize:vertical; }
.stars span { font-size:1.35rem; cursor:pointer; color:rgba(255,255,255,.16); transition:color .2s, text-shadow .2s; }
.stars span.on { color:var(--yellow); text-shadow:0 0 7px var(--yellow); }
.rev-btn {
  background:rgba(255,255,255,.04); border:1px solid color-mix(in srgb,var(--c) 36%,transparent);
  color:var(--c); padding:.52rem 1.3rem; border-radius:8px;
  font-family:var(--fs); font-weight:700; font-size:.86rem; transition:all .3s; align-self:flex-start;
}
.rev-btn:hover { background:color-mix(in srgb,var(--c) 12%,transparent); }

/* Reviews page (all) */
.rv-all { display:grid; grid-template-columns:repeat(auto-fill,minmax(255px,1fr)); gap:1.3rem; }
.brc {
  background:var(--card); border:1px solid color-mix(in srgb,var(--ac) 13%,transparent);
  border-radius:15px; padding:1.55rem; transition:all .3s; position:relative; overflow:hidden;
}
.brc::before { content:'"'; position:absolute; top:-8px; right:14px; font-size:7rem; color:color-mix(in srgb,var(--ac) 8%,transparent); font-family:serif; line-height:1; pointer-events:none; }
.brc:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--ac) 30%,transparent); }
.stag { display:inline-block; background:color-mix(in srgb,var(--ac) 13%,transparent); border:1px solid color-mix(in srgb,var(--ac) 27%,transparent); color:var(--ac); padding:.18rem .68rem; border-radius:14px; font-size:.75rem; font-family:var(--fs); margin-bottom:.85rem; }
.brc p { color:var(--muted); line-height:1.6; margin-bottom:.85rem; font-family:var(--fb); font-size:.86rem; }
.rvnm { font-family:var(--fs); font-weight:700; color:var(--cyan); font-size:.85rem; }

/* Contact */
.cg { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; margin-top:2.5rem; }
.ci { display:flex; align-items:flex-start; gap:.85rem; margin-bottom:1.3rem; }
.ci-ic { font-size:1.35rem; flex-shrink:0; }
.ci h4 { font-family:var(--fs); font-weight:700; color:var(--cyan); margin-bottom:.18rem; }
.ci p { color:var(--muted); font-size:.85rem; }
.cf { display:flex; flex-direction:column; gap:.88rem; }
.cf input, .cf textarea {
  background:rgba(0,0,0,.4); border:1px solid rgba(255,255,255,.09);
  border-radius:8px; color:var(--text); padding:.68rem .92rem;
  font-family:var(--fb); font-size:.9rem; outline:none; transition:border .3s;
}
.cf input:focus, .cf textarea:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(0,247,255,.09); }

/* Footer */
footer {
  background:rgba(0,0,0,.46); border-top:1px solid rgba(0,247,255,.09);
  padding:3.5rem 0 1.6rem; position:relative; z-index:1;
}
.fg-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2.5rem; margin-bottom:2.5rem; }
.fb p { color:var(--muted); font-size:.85rem; margin-top:.85rem; line-height:1.7; max-width:280px; }
.fl h4 { font-family:var(--fh); font-size:.75rem; margin-bottom:1rem; color:var(--cyan); }
.fl { display:flex; flex-direction:column; gap:0; }
.fl a { color:var(--muted); font-size:.85rem; padding:.28rem 0; transition:color .3s; }
.fl a:hover { color:var(--cyan); }
.fbot { border-top:1px solid rgba(255,255,255,.04); padding-top:1.25rem; text-align:center; color:var(--muted); font-size:.8rem; }

/* Modal */
.modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,.84); backdrop-filter:blur(12px); z-index:9999; align-items:center; justify-content:center; padding:1rem; }
.modal.show { display:flex; }
.mbox { background:var(--card2); border:1px solid rgba(0,247,255,.26); border-radius:20px; padding:2.4rem; text-align:center; max-width:430px; width:100%; box-shadow:0 0 52px rgba(0,247,255,.16); animation:pop .3s ease; }
@keyframes pop { from{transform:scale(.86);opacity:0} to{transform:scale(1);opacity:1} }
.m-icon { font-size:3.2rem; margin-bottom:.85rem; }
.mbox h3 { font-family:var(--fh); margin-bottom:.85rem; color:var(--cyan); font-size:.95rem; }
.mbox p { color:var(--muted); margin-bottom:.4rem; font-size:.88rem; }
.mbox strong { color:var(--cyan); font-family:var(--fh); font-size:.8rem; }

/* Toast */
.toast {
  position:fixed; bottom:1.5rem; right:1.5rem;
  background:var(--card2); border:1px solid rgba(0,247,255,.26);
  border-radius:10px; padding:.82rem 1.3rem;
  color:var(--text); font-family:var(--fs); font-weight:700; font-size:.88rem;
  z-index:10000; transform:translateX(130%); transition:transform .3s ease;
  max-width:310px;
}
.toast.show { transform:translateX(0); }
.toast.err { border-color:rgba(255,51,85,.35); color:#ff3355; }

/* Stats */
.st-row { display:flex; gap:.85rem; flex-wrap:wrap; margin-bottom:2.25rem; }
.st-box { background:rgba(0,247,255,.04); border:1px solid rgba(0,247,255,.17); border-radius:26px; padding:.48rem 1.3rem; font-family:var(--fs); font-weight:600; color:var(--cyan); font-size:.88rem; }

/* Animations */
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes floatA { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-13px)} }
.fade-up { opacity:0; transform:translateY(20px); transition:opacity .5s ease,transform .5s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* Responsive */
@media(max-width:900px) {
  .hero { flex-direction:column; text-align:center; padding:90px 1.25rem 2.5rem; }
  .hbtns, .h-stats, .ph-cta { justify-content:center; }
  .nav-links { display:none; }
  .hbg { display:block; }
  .fr { grid-template-columns:1fr; }
  .cg { grid-template-columns:1fr; }
  .fg-grid { grid-template-columns:1fr; }
  .hex-g { grid-template-columns:repeat(2,82px); }
  .hx { width:82px; height:82px; font-size:2.1rem; }
  .gshow-wrap { grid-template-columns:repeat(2,1fr); }
  .gshow-strip-outer { height:320px; }
}
@media(max-width:600px) {
  .sec { padding:3.5rem 0; }
  .ofw { padding:1.35rem; }
  .feat-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
  .gshow-wrap { grid-template-columns:repeat(2,1fr); gap:.7rem; }
  .gshow-strip-outer { height:260px; }
  .gshow-label { font-size:.75rem; padding:.5rem .7rem; }
}
