/* White luxury theme */
:root{
  --bg:#F7F5F2;        /* warm off-white */
  --panel:#FFFFFF;     /* card background */
  --muted:#6B7280;     /* slate gray for copy */
  --accent:#CBA13A;    /* warm gold */
  --accent-muted:rgba(203,161,58,0.12);
  --text:#0F1724;      /* dark charcoal text */
  --glass:rgba(255,255,255,0.6);
  --container:1150px;
  --radius:14px;
  --transition:220ms cubic-bezier(.2,.9,.3,1);
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
}

/* base */
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
.container{max-width:var(--container);margin:0 auto;padding:28px}

/* subtle background texture - light */
body::before{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(rgba(0,0,0,0.01) 1px, transparent 1px);
  background-size: 400px 400px;
  opacity: 0.6;
  z-index: 0;
}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:transparent;backdrop-filter: blur(4px);border-bottom:1px solid rgba(15,23,36,0.04)}
.header-grid{display:flex;align-items:center;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;padding:10px}
.brand-mark {
  height: 56px;
  width: auto;
  display: block;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  background: none;
  object-fit: contain;
}width:52px;height:52px;border-radius:10px;background:linear-gradient(180deg,#fff8ec,#fff6e6);border:1px solid rgba(203,161,58,0.12);box-shadow:0 6px 20px rgba(15,23,36,0.06)}
.brand-name{font-weight:700;color:var(--text)}
brand-sub{font-size:13px;color:var(--muted)}
.nav{margin-left:auto;display:flex;gap:12px;align-items:center}
.nav-link{color:var(--text);text-decoration:none;padding:8px;border-radius:8px;transition:var(--transition)}
.nav-link:hover{color:var(--accent);transform:translateY(-2px)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid rgba(15,23,36,0.04);background:transparent;color:var(--text);cursor:pointer;transition:var(--transition);text-decoration:none}
.btn-primary{background:linear-gradient(90deg,var(--accent),#E3B85B);color:#082027;border:none;box-shadow:0 8px 30px var(--accent-muted)}
.btn-outline{border:1px solid rgba(15,23,36,0.06);background:transparent}

/* ripple */
.ripple{position:relative;overflow:hidden}
.ripple-effect{position:absolute;border-radius:50%;transform:scale(0);opacity:.5;pointer-events:none;background:radial-gradient(circle, rgba(203,161,58,0.9) 0%, rgba(203,161,58,0.35) 40%, rgba(203,161,58,0) 70%);transition:transform 520ms cubic-bezier(.2,.9,.3,1), opacity 360ms}
.ripple.anim{transform:scale(40);opacity:0}

/* hero */
.hero{position:relative;padding:56px 0;overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1fr 420px;gap:28px;align-items:start;position:relative;z-index:2}
.kicker{color:var(--accent);font-weight:600;margin-bottom:10px}
.hero-left h1{font-size:34px;margin:0 0 12px;letter-spacing: -0.01em;}
.lead{color:var(--muted);margin-bottom:18px}
.hero-actions{display:flex;gap:12px;margin-bottom:14px}
.trusted-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.trusted-pill{background:linear-gradient(180deg, rgba(203,161,58,0.06), rgba(255,255,255,0.6));padding:8px 12px;border-radius:999px;color:var(--text);font-size:13px}

/* cards */
.card{background:var(--panel);padding:20px;border-radius:var(--radius);box-shadow:0 10px 30px rgba(15,23,36,0.06);border:1px solid rgba(15,23,36,0.04)}
.glass{backdrop-filter: blur(6px);background: linear-gradient(180deg, rgba(255,255,255,0.85), rgba(255,255,255,0.8))}
.wave-item{opacity:0;transform:translateY(14px);transition:transform 480ms cubic-bezier(.2,.9,.3,1),opacity 480ms}

/* hero card specifics */
.hero-card{display:flex;flex-direction:column;gap:12px}
.card-head{display:flex;justify-content:space-between;align-items:center}
.metric{font-size:20px;font-weight:700;color:var(--text)}
.chart-placeholder{background:linear-gradient(180deg, rgba(203,161,58,0.03), rgba(255,255,255,0.6));border-radius:8px;padding:6px;}

/* sections */
.section{padding:48px 0}
.section.alt{background:linear-gradient(180deg, rgba(255,255,255,0.6), rgba(255,255,255,0.6))}
.grid{display:grid;gap:18px}
.services-grid{grid-template-columns:repeat(2,1fr)}
@media(min-width:1100px){.services-grid{grid-template-columns:repeat(4,1fr)}}
.pricing-grid{grid-template-columns:repeat(1,1fr)}
@media(min-width:900px){.pricing-grid{grid-template-columns:repeat(3,1fr)}}

/* about & testimonials */
.about-grid{display:grid;gap:18px}
@media(min-width:900px){.about-grid{grid-template-columns:1fr 420px}}
.testimonial-grid{grid-template-columns:repeat(1,1fr)}
@media(min-width:900px){.testimonial-grid{grid-template-columns:repeat(2,1fr)}}

/* contact */
.contact-grid{display:grid;gap:18px}
@media(min-width:900px){.contact-grid{grid-template-columns:1fr 420px}}
.contact-form label{display:block;color:var(--muted);margin-bottom:10px}
.contact-form input, .contact-form textarea, .contact-form select{width:100%;padding:12px;border-radius:8px;border:1px solid rgba(15,23,36,0.06);background:transparent;color:var(--text)}
.form-actions{display:flex;gap:12px;align-items:center}

/* footer */
.site-footer{padding:28px 0;border-top:1px solid rgba(15,23,36,0.04)}
.footer-inner{display:flex;justify-content:space-between;gap:12px;align-items:center}

/* small utilities */
.muted{color:var(--muted)}
.small{font-size:13px}

/* responsive */
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr}
  .nav{display:none}
  .nav-toggle{display:block;margin-left:auto}
  .services-grid{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr}
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  .wave-item, .ripple-effect{transition:none !important; transform:none !important; opacity:1 !important}
}


/* Anchor offset fix for sticky header */
:root {
  --header-height: 84px; /* adjust if header height changes */
}
.section, .hero, .contact-section, .about-grid {
  scroll-margin-top: calc(var(--header-height) + 16px);
}
h2[id], h3[id], .anchor-target {
  scroll-margin-top: calc(var(--header-height) + 12px);
}
html { scroll-behavior: smooth; }


/* Scroll-stacked header */
.header-grid { display:flex; align-items:center; gap:16px; }

.site-header.stacked .header-grid {
  flex-direction: column;
  align-items: flex-start;
  gap:8px;
  padding:10px 0;
}

.site-header.stacked .nav {
  width:100%;
  display:flex;
  justify-content:flex-start;
  gap:12px;
}

.site-header.stacked {
  background: rgba(255,255,255,0.92);
  box-shadow: 0 6px 20px rgba(15,23,36,0.06);
}


/* Always stacked header: logo above nav, stays sticky */
.header-grid {
  display: flex;
  flex-direction: column; /* stack vertically */
  align-items: flex-start; /* logo left, nav below */
  gap: 8px;
  padding: 12px 0;
}

/* Make nav full-width and aligned to the left under the logo */
.nav {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 4px;
}

/* Keep CTA aligned to the right in the second row */
.nav .nav-cta { margin-left: auto; }

/* Sticky header */
.site-header {
  position: sticky;
  top: 0;
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(6px);
  z-index: 999;
  border-bottom: 1px solid rgba(15,23,36,0.04);
}

/* Adjust scroll offset to match stacked header height */
body { --header-height: 120px; }
.section { scroll-margin-top: calc(var(--header-height) + 8px); }



/* ===== Sticky, always-on-top header ===== */
:root {
  --header-height: 120px; /* initial; will be recalculated by script */
}

/* Make header fully fixed across the top */
.site-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(15,23,36,0.04);
  box-shadow: 0 6px 18px rgba(15,23,36,0.04);
}

/* Ensure header content width matches container */
.header-grid { width: var(--container); margin: 0 auto; padding: 14px 18px; box-sizing: border-box; display:flex; align-items:center; gap:16px; }

/* Ensure the rest of the page starts below the fixed header */
body {
  padding-top: var(--header-height);
}

/* Anchor offset safety */
.section, .hero, .contact-section, .about-grid { scroll-margin-top: calc(var(--header-height) + 12px); }
h2[id], h3[id], .anchor-target { scroll-margin-top: calc(var(--header-height) + 8px); }

/* Accessibility focus */
.site-header :focus { outline: 3px solid rgba(203,161,58,0.18); outline-offset: 2px; }
