/* ============================================
   STITCH EMBRO – Global Stylesheet
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600;700&family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
  --navy:    #060f1e;
  --blue-dk: #0b1d3a;
  --blue:    #113272;
  --blue-md: #1a4fa8;
  --blue-lt: #2d72d9;
  --accent:  #c9a84c;
  --accent2: #e8c97a;
  --white:   #ffffff;
  --off-white:#f4f7fc;
  --gray-100:#e8edf6;
  --gray-300:#b0bdd4;
  --gray-500:#64748b;
  --gray-700:#334155;
  --text:    #0c1a35;
  --radius:  10px;
  --shadow:  0 8px 32px rgba(6,15,30,0.12);
  --shadow-lg:0 20px 60px rgba(6,15,30,0.18);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family:'Outfit',sans-serif;
  color:var(--text);
  background:var(--white);
  overflow-x:hidden;
  line-height:1.6;
}
img { display:block; width:100%; height:100%; object-fit:cover; }
a { text-decoration:none; color:inherit; }

/* ── TYPOGRAPHY ── */
h1,h2,h3,h4 { font-family:'Cormorant Garamond',serif; line-height:1.15; }
h1 { font-size:clamp(2.8rem,5vw,4.8rem); font-weight:700; }
h2 { font-size:clamp(2rem,3.5vw,3.2rem); font-weight:700; }
h3 { font-size:1.4rem; font-weight:600; }

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:9999;
  height:76px;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 6%;
  background:rgba(6,15,30,0.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(45,114,217,0.15);
  transition:box-shadow 0.3s;
}
nav.scrolled { box-shadow:0 4px 30px rgba(0,0,0,0.35); }
.nav-logo {
  font-family:'Cormorant Garamond',serif;
  font-size:1.65rem; font-weight:700;
  color:var(--white); letter-spacing:0.01em;
}
.nav-logo span { color:var(--accent); }
.nav-links { display:flex; align-items:center; gap:2.2rem; list-style:none; }
.nav-links a {
  color:rgba(255,255,255,0.78); font-size:0.82rem;
  font-weight:500; letter-spacing:0.1em; text-transform:uppercase;
  transition:color 0.2s; position:relative; padding-bottom:2px;
}
.nav-links a::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:1.5px; background:var(--accent);
  transition:width 0.25s;
}
.nav-links a:hover { color:var(--white); }
.nav-links a:hover::after { width:100%; }
.nav-links a.active { color:var(--accent2); }
.nav-links a.active::after { width:100%; }
.nav-cta {
  background:var(--blue-md); color:var(--white) !important;
  padding:0.55rem 1.4rem; border-radius:5px;
  font-weight:600 !important; letter-spacing:0.06em !important;
  transition:background 0.2s, transform 0.2s !important;
}
.nav-cta::after { display:none !important; }
.nav-cta:hover { background:var(--blue-lt) !important; transform:translateY(-1px) !important; }

/* ── BUTTONS ── */
.btn {
  display:inline-block; cursor:pointer; border:none;
  font-family:'Outfit',sans-serif; font-weight:600;
  letter-spacing:0.07em; text-transform:uppercase;
  border-radius:5px; transition:all 0.22s;
}
.btn-primary {
  background:var(--blue-md); color:var(--white);
  padding:0.85rem 2.2rem; font-size:0.85rem;
}
.btn-primary:hover { background:var(--blue-lt); transform:translateY(-2px); box-shadow:0 6px 20px rgba(45,114,217,0.4); }
.btn-gold {
  background:var(--accent); color:var(--navy);
  padding:0.85rem 2.2rem; font-size:0.85rem;
}
.btn-gold:hover { background:var(--accent2); transform:translateY(-2px); box-shadow:0 6px 20px rgba(201,168,76,0.4); }
.btn-outline-white {
  background:transparent; color:var(--white);
  border:2px solid rgba(255,255,255,0.45);
  padding:0.82rem 2.1rem; font-size:0.85rem;
}
.btn-outline-white:hover { border-color:var(--accent); color:var(--accent); transform:translateY(-2px); }

/* ── SECTION LAYOUT ── */
.section { padding:100px 6%; }
.section-sm { padding:70px 6%; }
.container { max-width:1200px; margin:0 auto; }
.section-tag {
  display:inline-block; font-size:0.72rem; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--blue-md); margin-bottom:0.75rem;
  position:relative; padding-left:2rem;
}
.section-tag::before {
  content:''; position:absolute; left:0; top:50%;
  width:22px; height:2px; background:var(--accent);
  transform:translateY(-50%);
}
.section-tag.light { color:var(--accent2); }
.section-title { color:var(--text); margin-bottom:1rem; }
.section-title.white { color:var(--white); }
.section-desc { color:var(--gray-500); font-size:1rem; line-height:1.8; max-width:560px; }
.section-desc.white { color:rgba(255,255,255,0.65); }
.text-center { text-align:center; }
.text-center .section-desc { margin:0 auto; }

/* ── DARK SECTIONS ── */
.bg-dark { background:linear-gradient(135deg, var(--navy), var(--blue-dk)); }
.bg-navy { background:var(--navy); }
.bg-off { background:var(--off-white); }
.bg-gray { background:var(--gray-100); }

/* ── GRID ── */
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }

/* ── CARDS ── */
.card {
  background:var(--white); border-radius:var(--radius);
  border:1px solid var(--gray-100);
  overflow:hidden; transition:transform 0.25s, box-shadow 0.25s;
}
.card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.card-dark {
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(45,114,217,0.2);
  border-radius:var(--radius); padding:1.8rem;
  transition:background 0.2s, border-color 0.2s;
}
.card-dark:hover { background:rgba(26,79,168,0.18); border-color:rgba(45,114,217,0.45); }

/* ── FOOTER ── */
footer {
  background:var(--navy);
  border-top:1px solid rgba(45,114,217,0.15);
  padding:70px 6% 30px;
}
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr;
  gap:3.5rem; margin-bottom:3rem;
  padding-bottom:3rem;
  border-bottom:1px solid rgba(255,255,255,0.07);
}
.footer-logo { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:700; color:var(--white); margin-bottom:1rem; display:block; }
.footer-logo span { color:var(--accent); }
.footer-desc { color:rgba(255,255,255,0.45); font-size:0.85rem; line-height:1.8; max-width:240px; }
.footer-col h5 {
  color:var(--white); font-family:'Outfit',sans-serif;
  font-size:0.75rem; font-weight:700; letter-spacing:0.12em;
  text-transform:uppercase; margin-bottom:1.3rem;
}
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.65rem; }
.footer-col a { color:rgba(255,255,255,0.45); font-size:0.85rem; transition:color 0.2s; }
.footer-col a:hover { color:var(--accent2); }
.footer-contact-item { display:flex; align-items:flex-start; gap:0.7rem; margin-bottom:0.8rem; }
.footer-contact-item svg { width:16px; height:16px; flex-shrink:0; stroke:var(--blue-lt); fill:none; stroke-width:2; margin-top:3px; }
.footer-contact-item span { color:rgba(255,255,255,0.45); font-size:0.84rem; line-height:1.5; }
.footer-bottom {
  display:flex; justify-content:space-between; align-items:center;
  padding-top:1.5rem;
}
.footer-copy { color:rgba(255,255,255,0.28); font-size:0.8rem; }
.payment-badges { display:flex; gap:0.5rem; }
.pay-badge {
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.12);
  border-radius:4px; padding:0.3rem 0.7rem;
  color:rgba(255,255,255,0.5); font-size:0.68rem; font-weight:700; letter-spacing:0.05em;
}

/* ── RESPONSIVE ── */
@media(max-width:1024px) {
  .grid-4 { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:768px) {
  .grid-2 { grid-template-columns:1fr; gap:2.5rem; }
  .grid-3 { grid-template-columns:1fr; }
  .grid-4 { grid-template-columns:1fr; }
  .nav-links { display:none; }
  .mobile-menu-btn { display:flex; }
  .section { padding:70px 5%; }
  .footer-grid { grid-template-columns:1fr; gap:2rem; }
  .footer-bottom { flex-direction:column; gap:1rem; text-align:center; }
}

/* ── PAGE HERO GENERIC ── */
.page-hero {
  padding:160px 6% 90px;
  background:linear-gradient(135deg, var(--navy) 0%, var(--blue-dk) 60%, #0e2952 100%);
  position:relative; overflow:hidden;
}
.page-hero::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 60% 70% at 80% 30%, rgba(26,79,168,0.3) 0%, transparent 60%),
    radial-gradient(ellipse 40% 40% at 10% 80%, rgba(201,168,76,0.06) 0%, transparent 55%);
}
.page-hero-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(45,114,217,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(45,114,217,0.05) 1px, transparent 1px);
  background-size:55px 55px;
}
.page-hero-content { position:relative; z-index:2; max-width:680px; }
.page-hero-tag {
  display:inline-block;
  background:rgba(201,168,76,0.12); border:1px solid rgba(201,168,76,0.35);
  color:var(--accent2); font-size:0.72rem; font-weight:700;
  letter-spacing:0.16em; text-transform:uppercase;
  padding:0.4rem 1.1rem; border-radius:3px; margin-bottom:1.4rem;
}

/* ── FADE-IN ANIMATION ── */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(28px); }
  to   { opacity:1; transform:translateY(0); }
}
.fade-up { animation:fadeUp 0.65s ease both; }
.delay-1 { animation-delay:0.15s; }
.delay-2 { animation-delay:0.3s; }
.delay-3 { animation-delay:0.45s; }
.delay-4 { animation-delay:0.6s; }
.delay-5 { animation-delay:0.75s; }
