/* ===================================================================
   SUMA VENTURE — PROFESSIONAL REDESIGN
   Font: Poppins (all weights)
   Palette: refined, muted version of brand gold/aubergine + a clean
   cream/white base — built for a finance/wealth-advisory feel
   (reference direction: dezerv.in — generous whitespace, soft
   shadows, rounded cards, restrained color use).
=================================================================== */

:root{
  --ink:        #14111b;   /* near-black, deep aubergine-black */
  --purple:     #3b2750;   /* deep aubergine - primary dark surface */
  --purple-2:   #2c1d3d;   /* darker variant for gradients */
  --gold:       #b6913f;   /* muted metallic gold - primary accent */
  --gold-dark:  #93722f;   /* hover / pressed state */
  --gold-tint:  #e9dcb8;   /* pale gold - text-on-dark highlight */
  --cream:      #faf8f4;   /* page background */
  --white:      #ffffff;
  --text:       #211c29;   /* body copy on light bg */
  --text-muted: #6c6575;
  --line:       rgba(182,145,63,.20);
  --shadow-sm:  0 6px 18px -8px rgba(20,17,27,.12);
  --shadow-md:  0 20px 45px -18px rgba(20,17,27,.20);
  --radius-lg:  20px;
  --radius-md:  14px;
  --radius-sm:  8px;
  --font: 'Poppins', -apple-system, Helvetica, Arial, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  font-family:var(--font) !important;
  background:var(--cream) !important;
  color:var(--text) !important;
  line-height:1.7;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font) !important;
  color:var(--ink);
  font-weight:600 !important;
  line-height:1.22;
  letter-spacing:-.01em;
}

p{ font-family:var(--font); }
a{ color:var(--gold); text-decoration:none; }
a:hover{ color:var(--gold-dark); }
img{ max-width:100%; }

/* ─── Preloader ─── */
.preloader{ background:var(--ink) !important; }
.preloader .loader,
.preloader .spinner-border{ border-color:rgba(182,145,63,.2) !important; border-top-color:var(--gold) !important; }

/* ─── Navbar ─── */
.main-header{
  background:var(--white) !important;
  border-bottom:1px solid #efe9da;
  box-shadow:0 1px 0 rgba(20,17,27,.03);
  position:sticky; top:0; z-index:1000;
  padding:0 !important;
}
.main-nav{ padding:0 !important; }
.navbar{ padding:0 !important; min-height:62px; }
.nav-logo{ width:108px !important; filter:none !important; }

.navbar-nav .nav-link,
.navbar-nav .nav-link#homelink,
.navbar-nav .nav-link#login{
  font-family:var(--font) !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  letter-spacing:.2px !important;
  text-transform:none !important;
  color:var(--text) !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:20px 18px !important;
  transition:color .2s ease !important;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link#homelink:hover,
.navbar-nav .nav-link#login:hover{ color:var(--gold) !important; transform:none !important; }

/* Member Login rendered as a small, calm pill instead of the old gold badge */
.navbar-nav .nav-link#login{
  background:var(--ink) !important;
  color:var(--white) !important;
  border-radius:999px;
  padding:9px 20px !important;
  margin-left:6px;
  font-weight:600 !important;
}
.navbar-nav .nav-link#login:hover{
  background:var(--gold) !important;
  color:var(--ink) !important;
}
.navbar-nav .nav-link#login::after{ display:none !important; }

.navbar-toggler{ border-color:rgba(20,17,27,.15) !important; }
.navbar-toggler-icon{ filter:none !important; }
@media (max-width:991px){
  .navbar-collapse{ background:var(--white); border-top:1px solid #efe9da; }
  .navbar-nav .nav-link{ padding:12px 18px !important; }
  .navbar-nav .nav-link#login{ display:inline-block; margin:6px 18px; }
}

/* nav CTA pill (added via .nav-cta if used) */
.nav-cta{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px !important; font-weight:600 !important;
  color:var(--white) !important; background:var(--ink);
  padding:11px 24px !important; border-radius:999px;
  margin-left:8px;
}
.nav-cta:hover{ background:var(--gold) !important; color:var(--ink) !important; }

/* ─── Buttons ─── */
.sv-btn-primary{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font); font-size:13.5px; font-weight:600;
  letter-spacing:.2px; color:var(--ink) !important;
  background:var(--gold); border:none; padding:15px 32px;
  border-radius:999px; cursor:pointer; text-decoration:none;
  transition:background .25s ease, transform .2s ease, box-shadow .25s ease;
  box-shadow:0 14px 28px -12px rgba(182,145,63,.55);
}
.sv-btn-primary:hover{ background:var(--gold-dark); color:var(--white) !important; transform:translateY(-2px); }

.sv-btn-outline{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font); font-size:13.5px; font-weight:600;
  color:var(--white) !important; background:transparent;
  border:1.5px solid rgba(255,255,255,.35); padding:14px 32px;
  border-radius:999px; cursor:pointer; text-decoration:none;
  transition:border-color .25s ease, background .25s ease;
}
.sv-btn-outline:hover{ border-color:var(--gold-tint); background:rgba(255,255,255,.08); color:var(--gold-tint) !important; }

/* ─── Section utility ─── */
.sv-section{ padding:104px 0; }
.sv-section-alt{ background:var(--white); }
.sv-section-dark{ background:linear-gradient(160deg,var(--ink) 0%,var(--purple-2) 100%); }
.sv-section-purple{ background:linear-gradient(160deg,var(--purple) 0%,var(--purple-2) 100%); }

.sv-label{
  font-size:12px; font-weight:600; letter-spacing:1.6px;
  text-transform:uppercase; color:var(--gold); margin-bottom:14px; display:block;
}
.sv-title{ font-size:clamp(1.9rem,3.6vw,2.7rem); font-weight:650 !important; margin-bottom:18px; }
.sv-lead{ font-size:15.5px; font-weight:400; color:var(--text-muted); line-height:1.8; max-width:600px; }
.sv-divider{ width:44px; height:3px; background:var(--gold); border-radius:2px; margin:22px 0; }

/* ─── Hero ─── */
.sv-hero{
  position:relative; min-height:86vh; display:flex; align-items:center;
  background:
    linear-gradient(120deg, rgba(20,17,27,.94) 0%, rgba(59,39,80,.82) 55%, rgba(20,17,27,.94) 100%),
    url('../../images/slider/slider-1.png') center/cover no-repeat;
  overflow:hidden;
}
.sv-hero-inner{ position:relative; z-index:2; max-width:760px; }
.sv-eyebrow{
  display:inline-block; font-size:12px; font-weight:600; letter-spacing:1.6px;
  text-transform:uppercase; color:var(--gold-tint); margin-bottom:22px;
  padding:7px 16px; border:1px solid rgba(233,220,184,.3); border-radius:999px;
}
.sv-hero-title{
  font-size:clamp(2.4rem,5.4vw,4.2rem) !important; font-weight:650 !important;
  color:var(--white) !important; margin-bottom:22px; line-height:1.14;
}
.sv-hero-title em{ color:var(--gold-tint); font-style:normal; font-weight:650; }
.sv-hero-sub{
  font-size:16px; font-weight:300; color:rgba(255,255,255,.78);
  margin-bottom:32px; max-width:560px;
}
.sv-hero-list{ list-style:none; padding:0; margin:0 0 40px; display:flex; flex-wrap:wrap; gap:10px 28px; }
.sv-hero-list li{ font-size:13.5px; font-weight:400; color:rgba(255,255,255,.7); display:flex; align-items:center; gap:8px; }
.sv-hero-list li::before{ content:''; width:5px; height:5px; background:var(--gold); border-radius:50%; flex-shrink:0; }

/* ─── Stats strip ─── */
.sv-stats{ background:var(--cream); padding:56px 0 0; }
.sv-stats-inner{
  background:var(--ink); border-radius:var(--radius-lg);
  padding:44px 24px; box-shadow:var(--shadow-md);
}
.sv-stat-item{ text-align:center; padding:0 18px; }
.sv-stat-num{ font-size:2.4rem; font-weight:700; color:var(--gold-tint); line-height:1; margin-bottom:6px; }
.sv-stat-label{ font-size:11.5px; font-weight:500; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,.55); }
.sv-stat-divider{ width:1px; background:rgba(255,255,255,.12); height:48px; margin:auto; }

/* ─── City / location cards ─── */
.sv-locations{ background:var(--cream); }
.sv-city-card{
  position:relative; overflow:hidden; border-radius:var(--radius-md);
  aspect-ratio:4/5; cursor:pointer; box-shadow:var(--shadow-sm);
}
.sv-city-card img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.sv-city-card:hover img{ transform:scale(1.06); }
.sv-city-card::after{ content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(20,17,27,.85) 0%, rgba(20,17,27,.05) 60%); }
.sv-city-card-content{ position:absolute; bottom:0; left:0; right:0; z-index:2; padding:26px 22px; }
.sv-city-name{ font-size:1.4rem; font-weight:600; color:var(--white) !important; margin-bottom:2px; }
.sv-city-sub{ font-size:12.5px; color:rgba(255,255,255,.65); }

/* ─── Service cards ─── */
.sv-services{ background:linear-gradient(160deg,var(--purple) 0%,var(--purple-2) 100%); }
.sv-service-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  border-top:3px solid transparent;
  border-radius:var(--radius-md); padding:38px 28px; height:100%;
  transition:background .25s ease, transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.sv-service-card:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.16);
  border-top-color:var(--gold);
  transform:translateY(-6px);
  box-shadow:0 24px 40px -20px rgba(0,0,0,.45);
}
.sv-service-icon{
  width:56px; height:56px; border-radius:50%;
  background:rgba(182,145,63,.18); border:1px solid rgba(182,145,63,.35);
  display:flex; align-items:center; justify-content:center; color:var(--gold-tint); font-size:21px; margin-bottom:24px;
}
.sv-service-title{ font-size:1.15rem; font-weight:600; color:var(--white) !important; margin-bottom:12px; }
.sv-service-text{ font-size:13.5px; color:rgba(255,255,255,.62); line-height:1.8; margin-bottom:20px; }
.sv-service-link{ font-size:13px; font-weight:600; color:var(--gold-tint) !important; display:inline-flex; align-items:center; gap:8px; transition:gap .2s ease, color .2s ease; }
.sv-service-link:hover{ color:var(--white) !important; gap:12px; }

/* ─── Partners ─── */
.sv-partners{ background:var(--white); padding:88px 0; }
.sv-partner-marquee{ overflow:hidden; position:relative; width:100%; }
.sv-partner-marquee::before,
.sv-partner-marquee::after{
  content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none;
}
.sv-partner-marquee::before{ left:0; background:linear-gradient(90deg, var(--white), transparent); }
.sv-partner-marquee::after{ right:0; background:linear-gradient(270deg, var(--white), transparent); }
.sv-partner-track{
  display:flex; align-items:center; gap:64px; width:max-content;
  animation:sv-scroll 28s linear infinite;
}
.sv-partner-marquee:hover .sv-partner-track{ animation-play-state:paused; }
@keyframes sv-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.sv-partner-item img{ max-height:42px; width:auto; opacity:.9; transition:opacity .2s, transform .25s; }
.sv-partner-item img:hover{ opacity:1; transform:scale(1.06); }

/* ─── CTA band ─── */
.sv-cta{ background:var(--ink); padding:72px 0; }
.sv-cta-title{ font-size:clamp(1.6rem,2.6vw,2.1rem) !important; color:var(--white) !important; margin-bottom:10px; }
.sv-cta-sub{ font-size:14.5px; color:rgba(255,255,255,.6); max-width:520px; margin:0; }

/* ─── Footer ─── */
.sv-footer{
  background:linear-gradient(160deg,var(--ink) 0%,var(--purple-2) 100%);
  padding:64px 0 0;
  border-top:1px solid var(--gold);
}
.sv-footer-logo img{ width:120px; margin-bottom:16px; filter:none; }
.sv-footer-tagline{ font-size:13.5px; color:rgba(255,255,255,.55); max-width:300px; line-height:1.85; }
.sv-footer-col-label{
  font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--gold);
  font-weight:600; margin-bottom:16px; display:block;
}
.sv-footer-link{ font-size:13.5px; color:rgba(255,255,255,.55) !important; transition:color .2s ease, padding-left .2s ease; display:inline-block; }
.sv-footer-link:hover{ color:var(--gold-tint) !important; padding-left:4px; }
.sv-footer-copyright{ padding:20px 0; margin-top:40px; border-top:1px solid rgba(255,255,255,.08); }
.sv-footer-copyright span,.sv-footer-copyright a{ font-size:12px; color:rgba(255,255,255,.42); }
.sv-footer-copyright a:hover{ color:var(--gold); }

/* ─── Scroll-to-top ─── */
#scroll{
  position:fixed; right:26px; bottom:26px; background:var(--ink); color:var(--white) !important;
  font-size:11px; font-weight:600; letter-spacing:.5px; padding:13px 20px; border-radius:999px;
  display:none; cursor:pointer; z-index:100; box-shadow:var(--shadow-md);
}
#scroll:hover{ background:var(--gold); color:var(--ink) !important; }

/* ===================================================================
   CONTACT PAGE
=================================================================== */
.sv-page-hero{
  background:linear-gradient(160deg,var(--ink) 0%,var(--purple) 100%);
  padding:160px 0 100px; text-align:center;
}
.sv-page-hero .sv-eyebrow{ margin-bottom:18px; }
.sv-page-hero h1{ color:var(--white) !important; font-size:clamp(2.2rem,4.4vw,3.2rem) !important; margin-bottom:14px; }
.sv-page-hero p{ color:rgba(255,255,255,.65); font-size:15.5px; max-width:560px; margin:0 auto; }

.sv-contact-wrap{ background:var(--cream); padding:90px 0 110px; }
.sv-contact-grid{
  background:var(--white); border-radius:var(--radius-lg); box-shadow:var(--shadow-md);
  overflow:hidden; display:grid; grid-template-columns:1fr 1.2fr;
}
@media (max-width:900px){ .sv-contact-grid{ grid-template-columns:1fr; } }

.sv-contact-info{ background:var(--ink); padding:56px 44px; color:var(--white); }
.sv-contact-info h3{ color:var(--white) !important; font-size:1.5rem !important; margin-bottom:14px; }
.sv-contact-info p{ color:rgba(255,255,255,.6); font-size:14px; line-height:1.8; margin-bottom:36px; }
.sv-contact-item{ display:flex; gap:16px; align-items:flex-start; margin-bottom:26px; }
.sv-contact-item .icon{
  width:42px; height:42px; flex-shrink:0; border-radius:var(--radius-sm); background:rgba(182,145,63,.16);
  display:flex; align-items:center; justify-content:center; color:var(--gold-tint);
}
.sv-contact-item .label{ font-size:11px; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:3px; }
.sv-contact-item .value{ font-size:14px; color:var(--white); font-weight:500; }

.sv-contact-form{ padding:56px 44px; }
.sv-contact-form h3{ font-size:1.5rem !important; margin-bottom:8px; }
.sv-contact-form > p{ color:var(--text-muted); font-size:14px; margin-bottom:30px; }

.sv-field{ margin-bottom:20px; }
.sv-field label{ display:block; font-size:12.5px; font-weight:600; color:var(--ink); margin-bottom:8px; }
.sv-field input,.sv-field textarea,.sv-field select{
  width:100%; font-family:var(--font); font-size:14px; color:var(--text);
  background:var(--cream); border:1.5px solid #ece5d6; border-radius:var(--radius-sm);
  padding:13px 16px; transition:border-color .2s ease, background .2s ease;
}
.sv-field input:focus,.sv-field textarea:focus,.sv-field select:focus{
  outline:none; border-color:var(--gold); background:var(--white);
}
.sv-checkbox-row{ display:flex; flex-wrap:wrap; gap:18px; margin-bottom:24px; }
.sv-checkbox-row label{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--text); cursor:pointer; }
.sv-checkbox-row input{ width:16px; height:16px; accent-color:var(--gold); }
.sv-hint{ font-size:12px; color:var(--text-muted); margin:-10px 0 22px; }

/* ===================================================================
   LOGIN / REGISTER PAGE
=================================================================== */
.sv-auth-wrap{ background:var(--cream); padding:160px 0 110px; min-height:90vh; }
.sv-auth-grid{
  max-width:980px; margin:0 auto; background:var(--white); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md); overflow:hidden; display:grid; grid-template-columns:.85fr 1.15fr;
}
@media (max-width:860px){ .sv-auth-grid{ grid-template-columns:1fr; } }

.sv-auth-side{
  background:linear-gradient(160deg,var(--ink) 0%,var(--purple) 100%);
  padding:52px 40px; color:var(--white); display:flex; flex-direction:column; justify-content:center;
}
.sv-auth-side .sv-eyebrow{ margin-bottom:18px; }
.sv-auth-side h2{ color:var(--white) !important; font-size:1.7rem !important; margin-bottom:14px; }
.sv-auth-side p{ color:rgba(255,255,255,.62); font-size:14px; line-height:1.8; }

.sv-auth-main{ padding:48px 44px; }
.sv-auth-tabs{ display:flex; gap:6px; background:var(--cream); border-radius:999px; padding:5px; margin-bottom:32px; }
.sv-auth-tab{
  flex:1; text-align:center; font-size:13.5px; font-weight:600; padding:11px 0;
  border-radius:999px; cursor:pointer; color:var(--text-muted); transition:.2s ease;
}
.sv-auth-tab.active{ background:var(--ink); color:var(--white); }
.sv-auth-panel{ display:none; }
.sv-auth-panel.active{ display:block; }
.sv-auth-panel h3{ font-size:1.3rem !important; margin-bottom:6px; }
.sv-auth-panel > p{ color:var(--text-muted); font-size:13.5px; margin-bottom:26px; }
#msg{ display:block; min-height:18px; font-size:13px; margin-bottom:6px; }
