/* ═══════════════════════════════════════════
   DivX Web Studio - Shared Stylesheet
   divxwebstudio.in
   ═══════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --ink: #060608;
  --ink2: #0c0c12;
  --surface: #0f0f16;
  --card: #13131c;
  --border: rgba(255,255,255,0.06);
  --border2: rgba(255,255,255,0.1);
  --gold: #d4a843;
  --gold2: #f0c866;
  --gold-soft: rgba(212,168,67,0.12);
  --gold-glow: rgba(212,168,67,0.25);
  --teal: #2dd4bf;
  --teal-soft: rgba(45,212,191,0.1);
  --text: #e8e4d8;
  --text2: #c8c4b8;
  --muted: rgba(232,228,216,0.45);
  --ff-head: 'Syne', sans-serif;
  --ff-display: 'Cormorant Garamond', Georgia, serif;
  --ff-body: 'Plus Jakarta Sans', sans-serif;
  --radius: 14px;
  --radius-lg: 22px;
  --nav-h: 72px;
  --max: 1320px;
}

html { scroll-behavior: smooth; font-size: 16px; }
body {
  background: var(--ink);
  color: var(--text);
  font-family: var(--ff-body);
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
  cursor: default;
}

body.light {
  --ink: #f7f4ee; --ink2: #f0ece4; --surface: #faf7f2; --card: #ffffff;
  --border: rgba(0,0,0,0.07); --border2: rgba(0,0,0,0.12);
  --text: #14120d; --text2: #2c2820; --muted: rgba(20,18,13,0.5);
  --gold-soft: rgba(180,130,30,0.1);
}

/* CURSOR */
.cursor { width:8px;height:8px;background:var(--gold);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transition:transform .1s ease; }
.cursor-ring { width:32px;height:32px;border:1.5px solid var(--gold);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transition:transform .3s cubic-bezier(.22,.68,0,1.2),width .3s,height .3s,opacity .3s;opacity:.5; }
.cursor-ring.hovered { width:56px;height:56px;opacity:.25; }
@media (pointer:coarse) { .cursor,.cursor-ring { display:none; } }

/* SCROLL PROGRESS */
#scroll-progress { position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--teal));z-index:1001;width:0%;transition:width .1s linear; }

/* NOISE */
body::after { content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.025'/%3E%3C/svg%3E");pointer-events:none;z-index:9995;opacity:.5; }

/* HEADER */
header { position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:900;transition:background .35s,border-color .35s;border-bottom:1px solid transparent; }
header.scrolled { background:rgba(6,6,8,.88);backdrop-filter:blur(24px) saturate(1.3);border-color:var(--border); }
body.light header.scrolled { background:rgba(247,244,238,.92); }
.nav-inner { max-width:var(--max);margin:0 auto;padding:0 32px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px; }
.logo { font-family:var(--ff-head);font-size:1.3rem;font-weight:800;letter-spacing:-.04em;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:6px; }
.logo-dot { width:7px;height:7px;background:var(--gold);border-radius:50%;animation:breathe 2.5s ease-in-out infinite; }
@keyframes breathe { 0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.4);opacity:.6;} }
nav { display:flex;align-items:center;gap:2px; }
nav a { color:var(--muted);text-decoration:none;font-size:.82rem;font-weight:500;letter-spacing:.02em;padding:6px 12px;border-radius:8px;transition:color .2s,background .2s; }
nav a:hover, nav a.active { color:var(--text);background:var(--border); }
nav a.active { color:var(--gold2); }
.nav-right { display:flex;align-items:center;gap:10px; }
#theme-toggle,.menu-toggle { background:var(--card);border:1px solid var(--border);color:var(--text);width:38px;height:38px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.88rem;transition:background .2s,transform .2s; }
#theme-toggle:hover,.menu-toggle:hover { transform:scale(1.05); }
.nav-cta { background:var(--gold)!important;color:#060608!important;font-weight:700!important;padding:8px 20px!important;border-radius:10px;font-size:.82rem!important;letter-spacing:.01em;box-shadow:0 0 24px var(--gold-glow);transition:transform .2s,box-shadow .2s!important; }
.nav-cta:hover { transform:translateY(-1px)!important;box-shadow:0 4px 28px var(--gold-glow)!important; }
.menu-toggle { display:none; }
@media (max-width:920px) {
  nav { position:fixed;top:var(--nav-h);left:0;right:0;background:var(--ink2);border-bottom:1px solid var(--border);flex-direction:column;padding:24px;gap:4px;transform:translateY(-110%);transition:transform .4s cubic-bezier(.22,.68,0,1.2); }
  nav.open { transform:translateY(0); }
  nav a { width:100%;text-align:center;padding:13px;font-size:.95rem; }
  .menu-toggle { display:flex; }
}
@media (max-width:480px) { .nav-inner { padding:0 16px; } }

/* BUTTONS */
.btn { display:inline-flex;align-items:center;gap:9px;padding:15px 30px;border-radius:12px;font-size:.9rem;font-weight:600;font-family:var(--ff-body);cursor:pointer;text-decoration:none;border:none;transition:transform .2s,box-shadow .2s,opacity .2s;letter-spacing:.01em; }
.btn-primary { background:var(--gold);color:#060608;box-shadow:0 0 40px var(--gold-glow); }
.btn-primary:hover { transform:translateY(-3px);box-shadow:0 10px 50px rgba(212,168,67,.4); }
.btn-ghost { background:transparent;color:var(--text2);border:1px solid var(--border2); }
.btn-ghost:hover { background:var(--card);transform:translateY(-2px); }
.btn-wa { background:#25d366;color:white;box-shadow:0 0 30px rgba(37,211,102,.3); }
.btn-wa:hover { transform:translateY(-3px);box-shadow:0 8px 40px rgba(37,211,102,.4); }
.btn-sm { padding:10px 20px;font-size:.82rem; }

/* SECTIONS */
section { position:relative; }
.section { padding:110px 24px; }
.container { max-width:var(--max);margin:0 auto; }
.section-head { text-align:center;margin-bottom:72px; }
h2 { font-family:var(--ff-head);font-size:clamp(2rem,5vw,3.4rem);font-weight:800;letter-spacing:-.045em;color:var(--text);line-height:1.08;margin-top:14px; }
h2 em { font-style:normal;color:var(--gold); }
h3 { font-family:var(--ff-head);font-size:1.15rem;font-weight:700;color:var(--text);letter-spacing:-.025em; }
.section-desc { font-size:1.05rem;color:var(--muted);max-width:540px;margin:18px auto 0;font-weight:300;line-height:1.8; }
.section-eyebrow { display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid rgba(212,168,67,.3);padding-bottom:6px; }

/* ORNAMENT */
.ornament { display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 24px; }
.ornament-line { flex:1;max-width:60px;height:1px;background:var(--border2); }
.ornament-dot { width:6px;height:6px;background:var(--gold);border-radius:50%; }
.ornament-diamond { width:8px;height:8px;background:var(--gold);transform:rotate(45deg);opacity:.6; }

/* MARQUEE */
.marquee-section { padding:22px 0;background:var(--ink2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden; }
.marquee-track { display:flex;gap:52px;width:max-content;animation:marquee 28s linear infinite; }
.marquee-section:hover .marquee-track { animation-play-state:paused; }
@keyframes marquee { from{transform:translateX(0);}to{transform:translateX(-50%);} }
.marquee-item { display:flex;align-items:center;gap:10px;font-size:.76rem;font-weight:600;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap; }
.marquee-item i { color:var(--gold);font-size:.6rem; }

/* TN STRIP */
.tn-strip { background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:40px 24px; }
.tn-strip-inner { max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:48px;flex-wrap:wrap;justify-content:center; }
.tn-strip-label { font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600; }
.tn-cities { display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center; }
.tn-city { display:inline-flex;align-items:center;gap:5px;padding:5px 14px;background:var(--card);border:1px solid var(--border);border-radius:100px;font-size:.8rem;color:var(--text2);font-weight:500;transition:border-color .2s,color .2s; }
.tn-city i { font-size:.65rem;color:var(--gold); }
.tn-city:hover { border-color:rgba(212,168,67,.3);color:var(--gold2); }

/* FOOTER */
footer { background:var(--ink2);border-top:1px solid var(--border);padding:80px 24px 40px; }
.footer-inner { max-width:var(--max);margin:0 auto; }
.footer-top { display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;padding-bottom:60px;border-bottom:1px solid var(--border); }
@media (max-width:900px) { .footer-top { grid-template-columns:1fr 1fr;gap:40px; } }
@media (max-width:560px) { .footer-top { grid-template-columns:1fr;gap:32px; } }
.footer-brand p { font-size:.88rem;color:var(--muted);margin-top:16px;line-height:1.8;font-weight:300;max-width:280px; }
.footer-col h5 { font-family:var(--ff-head);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text2);margin-bottom:18px; }
.footer-col ul { list-style:none;display:flex;flex-direction:column;gap:10px; }
.footer-col ul a { font-size:.85rem;color:var(--muted);text-decoration:none;transition:color .2s; }
.footer-col ul a:hover { color:var(--gold2); }
.footer-bottom { max-width:var(--max);margin:0 auto;padding-top:32px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px; }
.footer-copy { font-size:.8rem;color:var(--muted); }
.footer-socials { display:flex;gap:10px; }
.footer-social { width:36px;height:36px;background:var(--card);border:1px solid var(--border);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.82rem;color:var(--muted);text-decoration:none;transition:color .2s,border-color .2s,transform .2s; }
.footer-social:hover { color:var(--gold);border-color:rgba(212,168,67,.3);transform:translateY(-2px); }

/* SOCIAL FLOAT */
.social-float { position:fixed;right:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:800; }
.social-float a { width:36px;height:36px;background:var(--card);border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.84rem;color:var(--muted);text-decoration:none;transition:color .2s,border-color .2s,transform .2s; }
.social-float a:hover { color:var(--gold);border-color:rgba(212,168,67,.3);transform:scale(1.1); }
@media (max-width:768px) { .social-float { display:none; } }

/* MOBILE CTA */
.mobile-cta { display:none;position:fixed;bottom:0;left:0;right:0;padding:12px 16px env(safe-area-inset-bottom,16px);background:rgba(6,6,8,.96);backdrop-filter:blur(24px);border-top:1px solid var(--border);gap:10px;z-index:800; }
body.light .mobile-cta { background:rgba(247,244,238,.96); }
@media (max-width:640px) { .mobile-cta { display:flex; } }
.mcta-btn { flex:1;padding:13px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.88rem;font-weight:600;text-decoration:none;font-family:var(--ff-body); }
.mcta-btn.wa { background:#25d366;color:white; }
.mcta-btn.call { background:var(--gold);color:#060608; }

/* BACK TO TOP */
#toTop { position:fixed;bottom:90px;right:20px;width:44px;height:44px;background:var(--card);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:1rem;cursor:pointer;z-index:800;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s; }
#toTop.show { opacity:1;transform:translateY(0); }
@media (min-width:641px) { #toTop { bottom:24px; } }

/* REVEAL */
.reveal { opacity:0;transform:translateY(36px);transition:opacity .75s ease,transform .75s ease; }
.reveal.active { opacity:1;transform:none; }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }

/* BADGE */
.badge { display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:100px;background:var(--card);border:1px solid var(--border);font-size:.78rem;color:var(--text2);font-weight:500;transition:border-color .2s,color .2s; }
.badge:hover { border-color:rgba(212,168,67,.3);color:var(--gold2); }
.badge i { color:var(--gold);font-size:.72rem; }

/* PAGE HERO (for inner pages) */
.page-hero { padding:calc(var(--nav-h) + 80px) 24px 80px;text-align:center;position:relative;overflow:hidden; }
.page-hero-bg { position:absolute;inset:0;background:radial-gradient(ellipse 70% 55% at 50% -5%,rgba(212,168,67,.1) 0%,transparent 60%);pointer-events:none; }
.page-hero-grid { position:absolute;inset:0;background-image:linear-gradient(rgba(212,168,67,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(212,168,67,.04) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 15%,transparent 75%);pointer-events:none; }
.page-hero h1 { font-family:var(--ff-head);font-size:clamp(2.2rem,5vw,4rem);font-weight:800;letter-spacing:-.045em;line-height:1.05;margin-bottom:22px;position:relative;z-index:2; }
.page-hero h1 em { font-style:normal;background:linear-gradient(135deg,var(--gold),var(--gold2) 50%,var(--teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
.page-hero-desc { font-size:1.05rem;color:var(--muted);max-width:560px;margin:0 auto 32px;font-weight:300;line-height:1.8;position:relative;z-index:2; }
.breadcrumb { display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted);margin-bottom:20px;position:relative;z-index:2; }
.breadcrumb a { color:var(--muted);text-decoration:none;transition:color .2s; }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb i { font-size:.6rem;color:var(--border2); }

/* LIGHT MODE FIXES */
body.light header.scrolled { background:rgba(247,244,238,.92); }
body.light h1,body.light h2,body.light h3,body.light h4 { color:var(--text); }
