/* ================================================================
   ARPAN KARMA FOUNDATION — Main Stylesheet
   Mobile First | Google Fonts | Warm Gold Theme
   ================================================================ */

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

/* ── CSS VARIABLES ── */
:root {
  --primary:           #B5975A;
  --primary-light:     #D4BF96;
  --primary-dark:      #8A7040;
  --primary-pale:      #F2EAD6;
  --primary-ultra:     #FAF7F0;

  --white:    #FFFFFF;
  --off-white:#FDFCF8;
  --bg-alt:   #F5F0E6;

  --text:         #1C1710;
  --text-mid:     #5A4E3C;
  --text-light:   #8A7E6A;

  --border:       #E0D4BC;
  --border-light: #EDE6D8;

  --success-bg:   #E8F5E9;
  --success-fg:   #2E7D32;
  --success-bd:   #A5D6A7;
  --error-bg:     #FFEBEE;
  --error-fg:     #C62828;
  --error-bd:     #EF9A9A;

  --shadow-xs: 0 1px 4px  rgba(181,151,90,.08);
  --shadow-sm: 0 2px 10px rgba(181,151,90,.12);
  --shadow-md: 0 4px 24px rgba(181,151,90,.16);
  --shadow-lg: 0 8px 48px rgba(181,151,90,.22);

  --radius-sm:   4px;
  --radius:      8px;
  --radius-md:  12px;
  --radius-lg:  20px;
  --radius-xl:  32px;
  --radius-full:9999px;

  --ease: 0.3s ease;
  --ease-slow: 0.55s cubic-bezier(.22,1,.36,1);

  --header-h: 80px;
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  font-family:'Nunito',sans-serif;
  background:var(--off-white);
  color:var(--text);
  line-height:1.7;
  overflow-x:hidden;
}
img        { max-width:100%; height:auto; display:block; }
a          { text-decoration:none; color:inherit; transition:color var(--ease); }
ul, ol     { list-style:none; }
button     { cursor:pointer; border:none; background:none; font-family:inherit; }
input, textarea, select { font-family:inherit; }
strong     { font-weight:700; }

/* ── TYPOGRAPHY ── */
h1,h2,h3,h4,h5,h6 {
  font-family:'Cormorant Garamond',serif;
  line-height:1.2;
  color:var(--text);
  font-weight:600;
}
h1 { font-size:clamp(2rem,5vw,3.5rem); }
h2 { font-size:clamp(1.65rem,4vw,2.5rem); }
h3 { font-size:clamp(1.3rem,3vw,1.85rem); }
h4 { font-size:clamp(1.1rem,2.5vw,1.4rem); }
p  { color:var(--text-mid); font-size:1rem; }

/* ── LAYOUT ── */
.container {
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 1.25rem;
}
@media(min-width:768px){ .container{ padding:0 2rem; } }

.section      { padding:4rem 0; }
.section-pale { background:var(--primary-ultra); }
.section-alt  { background:var(--bg-alt); }
.section-white{ background:var(--white); }
@media(min-width:768px){ .section{ padding:6rem 0; } }

/* ── SECTION HEADER ── */
.section-header { text-align:center; margin-bottom:3rem; }
.section-label {
  display:inline-block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--primary);
  margin-bottom:.75rem;
  padding:.35rem .9rem;
  border:1px solid var(--primary-light);
  border-radius:var(--radius-full);
  background:var(--primary-ultra);
}
.section-title  { margin-bottom:1rem; }
.section-divider{
  width:56px; height:2px;
  background:linear-gradient(90deg,var(--primary),var(--primary-light));
  margin:.75rem auto 1.25rem;
  border-radius:var(--radius-full);
}
.section-subtitle {
  max-width:620px;
  margin:0 auto;
  color:var(--text-mid);
  font-size:1.05rem;
}

/* ── BUTTONS ── */
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.75rem 1.75rem;
  border-radius:var(--radius-full);
  font-weight:700;
  font-size:.92rem;
  transition:all var(--ease);
  letter-spacing:.02em;
  white-space:nowrap;
  line-height:1;
}
.btn-primary {
  background:var(--primary);
  color:var(--white);
  border:2px solid var(--primary);
}
.btn-primary:hover {
  background:var(--primary-dark);
  border-color:var(--primary-dark);
  color:var(--white);
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
}
.btn-outline {
  background:transparent;
  color:var(--primary);
  border:2px solid var(--primary);
}
.btn-outline:hover {
  background:var(--primary);
  color:var(--white);
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
}
.btn-white {
  background:var(--white);
  color:var(--primary-dark);
  border:2px solid var(--white);
}
.btn-white:hover {
  background:var(--primary-pale);
  border-color:var(--primary-pale);
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
}
.btn-outline-white {
  background:transparent;
  color:var(--white);
  border:2px solid rgba(255,255,255,.6);
}
.btn-outline-white:hover {
  background:rgba(255,255,255,.12);
  border-color:var(--white);
  color:var(--white);
}
.btn-sm  { padding:.5rem 1.25rem; font-size:.82rem; }
.btn-lg  { padding:1rem 2.25rem; font-size:1rem; }

/* ── HEADER ── */
.site-header {
  position:fixed;
  top:0; left:0; right:0;
  z-index:1000;
  background:var(--white);
  border-bottom:1px solid var(--border-light);
  transition:all var(--ease);
  height:var(--header-h);
}
.site-header.scrolled {
  box-shadow:var(--shadow-md);
  height:68px;
}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:100%;
}
.logo {
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-shrink:0;
  text-decoration:none;
}
.logo img {
      height: 70px;
    width: auto;
    padding-top: 9px;
    transition: height var(--ease);
    padding-left: 2px;
}
.site-header.scrolled .logo img { height:44px; }

/* ── MAIN NAV (desktop) ── */
.main-nav { display:none; }
@media(min-width:1100px){
  .main-nav {
    display:flex;
    align-items:center;
    gap:0;
  }
}
.nav-link {
  position:relative;
  padding:.5rem .65rem;
  font-size:.82rem;
  font-weight:700;
  color:var(--text-mid);
  letter-spacing:.02em;
  white-space:nowrap;
  transition:color var(--ease);
}
.nav-link::after {
  content:'';
  position:absolute;
  bottom:2px; left:50%; right:50%;
  height:2px;
  background:var(--primary);
  border-radius:var(--radius-full);
  transition:all var(--ease);
}
.nav-link:hover,
.nav-link.active {
  color:var(--primary);
}
.nav-link:hover::after,
.nav-link.active::after {
  left:.5rem;
  right:.5rem;
}
.nav-cta { margin-left:.75rem; }

/* ── HAMBURGER ── */
.hamburger {
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:8px;
  z-index:1100;
  background:none;
  border:none;
  border-radius:var(--radius);
}
@media(min-width:1100px){ .hamburger{ display:none; } }
.hamburger span {
  display:block;
  width:24px; height:2px;
  background:var(--text);
  border-radius:var(--radius-full);
  transition:all var(--ease);
}
.hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity:0; transform:scaleX(0); }
.hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ── MOBILE NAV ── */
.mobile-nav {
  position:fixed;
  inset:0;
  background:var(--white);
  z-index:999;
  padding:calc(var(--header-h) + 1.5rem) 1.75rem 2rem;
  transform:translateX(100%);
  transition:transform var(--ease-slow);
  overflow-y:auto;
  display:flex;
  flex-direction:column;
}
.mobile-nav.open { transform:translateX(0); }
.mobile-nav .nav-link {
  display:block;
  padding:1rem 0;
  font-size:1.05rem;
  font-weight:700;
  color:var(--text);
  border-bottom:1px solid var(--border-light);
}
.mobile-nav .nav-link::after{ display:none; }
.mobile-nav .nav-link:hover,
.mobile-nav .nav-link.active { color:var(--primary); }
.mobile-nav .mobile-cta { margin-top:2rem; }

/* ── PAGE OFFSET ── */
.page-offset { padding-top:var(--header-h); }

/* ── PAGE HERO ── */
.page-hero {
  background:linear-gradient(140deg, var(--primary-ultra) 0%, var(--primary-pale) 100%);
  padding:4rem 0 3rem;
  text-align:center;
  border-bottom:1px solid var(--border-light);
  position:relative;
  overflow:hidden;
}
.page-hero::before {
  content:'';
  position:absolute;
  right:-80px; top:-80px;
  width:320px; height:320px;
  border-radius:50%;
  background:radial-gradient(circle, var(--primary-light) 0%, transparent 70%);
  opacity:.25;
  pointer-events:none;
}
.page-hero-label {
  display:inline-block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--primary);
  margin-bottom:.75rem;
}
.page-hero h1 { margin-bottom:1rem; }
.page-hero p {
  max-width:620px;
  margin:0 auto;
  font-size:1.05rem;
  color:var(--text-mid);
}

/* ── HOME HERO ── */
.home-hero {
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:calc(var(--header-h) + 2rem) 0 4rem;
  background:
    radial-gradient(ellipse at 75% 40%, var(--primary-pale) 0%, transparent 55%),
    radial-gradient(ellipse at 10% 90%, var(--bg-alt) 0%, transparent 45%),
    var(--off-white);
  position:relative;
  overflow:hidden;
}
.home-hero::after {
  content:'';
  position:absolute;
  right:-10%; top:50%;
  transform:translateY(-50%);
  width:500px; height:500px;
  border-radius:50%;
  background:radial-gradient(circle, var(--primary-pale) 0%, transparent 65%);
  pointer-events:none;
  opacity:.6;
}
.home-hero-inner {
  display:grid;
  grid-template-columns:1fr;
  gap:3rem;
  align-items:center;
  position:relative;
  z-index:1;
}
@media(min-width:768px){
  .home-hero-inner{ grid-template-columns:3fr 2fr; }
}
.hero-badge {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--primary);
  margin-bottom:1.25rem;
  padding:.4rem 1rem;
  border:1px solid var(--primary-light);
  border-radius:var(--radius-full);
  background:var(--primary-ultra);
}
.home-hero h1 { margin-bottom:1.25rem; }
.home-hero h1 .highlight { color:var(--primary); }
.home-hero-desc {
  font-size:1.05rem;
  line-height:1.85;
  color:var(--text-mid);
  margin-bottom:2rem;
  max-width:520px;
}
.home-hero-actions {
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
}
.hero-logo-wrap {
  display:flex;
  justify-content:center;
  align-items:center;
}
.hero-logo-wrap img {
  width:100%;
  max-width:220px;
  filter:drop-shadow(0 24px 48px rgba(181,151,90,.3));
  animation:heroFloat 4s ease-in-out infinite;
}
@media(min-width:768px){
  .hero-logo-wrap img{ max-width:260px; }
}
@keyframes heroFloat {
  0%,100%{ transform:translateY(0); }
  50%     { transform:translateY(-14px); }
}

/* ── INITIATIVE CARDS ── */
.initiative-card {
  background:var(--white);
  border-radius:var(--radius-lg);
  border:1px solid var(--border-light);
  padding:2rem;
  transition:all var(--ease);
  position:relative;
  overflow:hidden;
}
.initiative-card::before {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background:linear-gradient(90deg,var(--primary),var(--primary-light));
  transform:scaleX(0);
  transition:transform var(--ease);
  transform-origin:left;
}
.initiative-card:hover { box-shadow:var(--shadow-md); transform:translateY(-5px); border-color:var(--primary-light); }
.initiative-card:hover::before { transform:scaleX(1); }
.initiative-icon {
  width:60px; height:60px;
  background:var(--primary-pale);
  border-radius:var(--radius-md);
  display:flex; align-items:center; justify-content:center;
  font-size:1.6rem;
  margin-bottom:1.25rem;
  color:var(--primary);
  transition:all var(--ease);
}
.initiative-card:hover .initiative-icon {
  background:var(--primary);
  color:var(--white);
  transform:scale(1.08);
}
.initiative-card h3 { font-size:1.25rem; margin-bottom:.6rem; }
.initiative-card p  { font-size:.92rem; color:var(--text-mid); }

/* ── GENERIC CARDS ── */
.card {
  background:var(--white);
  border-radius:var(--radius-lg);
  border:1px solid var(--border-light);
  padding:2rem;
  transition:all var(--ease);
}
.card:hover {
  box-shadow:var(--shadow-md);
  transform:translateY(-4px);
  border-color:var(--primary-light);
}
.card-icon {
  width:56px; height:56px;
  background:var(--primary-pale);
  border-radius:var(--radius-md);
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem;
  margin-bottom:1.25rem;
  color:var(--primary);
}

/* ── GRIDS ── */
.grid-2{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
.grid-3{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
.grid-4{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
@media(min-width:640px){
  .grid-2{ grid-template-columns:1fr 1fr; }
}
@media(min-width:768px){
  .grid-3{ grid-template-columns:repeat(3,1fr); }
}
@media(min-width:1024px){
  .grid-4{ grid-template-columns:repeat(4,1fr); }
}

/* ── FORMS ── */
.form-group   { margin-bottom:1.25rem; }
.form-label   {
  display:block;
  font-weight:700;
  font-size:.875rem;
  margin-bottom:.4rem;
  color:var(--text);
}
.form-label .req { color:var(--primary); }
.form-control {
  width:100%;
  padding:.75rem 1rem;
  border:1.5px solid var(--border);
  border-radius:var(--radius);
  font-size:.95rem;
  color:var(--text);
  background:var(--white);
  transition:border-color var(--ease), box-shadow var(--ease);
  outline:none;
  -webkit-appearance:none;
}
.form-control:focus {
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(181,151,90,.12);
}
.form-control::placeholder{ color:var(--text-light); }
textarea.form-control { resize:vertical; min-height:130px; }
select.form-control { cursor:pointer; }
.form-row   { display:grid; gap:1.25rem; }
@media(min-width:600px){ .form-row-2{ grid-template-columns:1fr 1fr; } }
.form-hint  { font-size:.8rem; color:var(--text-light); margin-top:.3rem; }
.form-msg   {
  padding:.875rem 1.25rem;
  border-radius:var(--radius);
  font-weight:700;
  margin-bottom:1.25rem;
  display:none;
  font-size:.92rem;
}
.form-msg.success {
  background:var(--success-bg);
  color:var(--success-fg);
  border:1px solid var(--success-bd);
  display:block;
}
.form-msg.error {
  background:var(--error-bg);
  color:var(--error-fg);
  border:1px solid var(--error-bd);
  display:block;
}

/* ── CTA BLOCK ── */
.cta-section {
  background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
  padding:5rem 0;
  text-align:center;
}
.cta-section h2,
.cta-section p { color:var(--white); }
.cta-section p { opacity:.88; max-width:580px; margin:0 auto 2rem; font-size:1.05rem; }
.cta-section h2{ margin-bottom:1rem; }
.cta-actions { display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; }

/* ── HIGHLIGHT BLOCK ── */
.highlight-box {
  background:linear-gradient(135deg,var(--primary-pale) 0%,var(--primary-ultra) 100%);
  border:1px solid var(--primary-light);
  border-radius:var(--radius-xl);
  padding:3rem 2rem;
  text-align:center;
}
.highlight-box blockquote {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.2rem,3vw,1.7rem);
  font-style:italic;
  color:var(--primary-dark);
  line-height:1.5;
  margin-bottom:1rem;
}
.highlight-box cite {
  font-size:.875rem;
  font-weight:700;
  color:var(--text-mid);
  text-transform:uppercase;
  letter-spacing:.1em;
}

/* ── VALUE CHIPS ── */
.values-wrap { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; }
.value-chip {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.5rem 1.25rem;
  border:1.5px solid var(--primary-light);
  border-radius:var(--radius-full);
  font-size:.9rem;
  font-weight:700;
  color:var(--primary-dark);
  background:var(--primary-ultra);
  white-space:nowrap;
}

/* ── STAT ITEMS ── */
.stat-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.5rem;
}
@media(min-width:768px){ .stat-grid{ grid-template-columns:repeat(4,1fr); } }
.stat-item {
  text-align:center;
  padding:2rem 1rem;
}
.stat-number {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,5vw,3.5rem);
  font-weight:700;
  color:var(--primary);
  line-height:1;
  display:block;
}
.stat-label {
  font-size:.875rem;
  color:var(--text-mid);
  margin-top:.5rem;
  font-weight:600;
}

/* ── CONTACT INFO ── */
.contact-info-item {
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1.25rem 0;
  border-bottom:1px solid var(--border-light);
}
.contact-info-item:last-child{ border-bottom:none; }
.info-icon {
  width:44px; height:44px;
  background:var(--primary-pale);
  border-radius:var(--radius);
  display:flex; align-items:center; justify-content:center;
  color:var(--primary);
  font-size:1.1rem;
  flex-shrink:0;
}
.info-text strong {
  display:block;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--text-light);
  margin-bottom:.3rem;
}
.info-text a:hover{ color:var(--primary); }

/* ── MAP ── */
.map-wrap {
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--border-light);
  height:360px;
}
.map-wrap iframe { width:100%; height:100%; border:0; display:block; }

/* ── DONATE ── */
.bank-table { width:100%; border-collapse:collapse; }
.bank-table td {
  padding:.75rem 1rem;
  border-bottom:1px solid var(--border-light);
  font-size:.92rem;
}
.bank-table td:first-child { color:var(--text-light); font-weight:600; width:45%; }
.bank-table td:last-child  { color:var(--text); font-weight:700; font-family:monospace; }
.bank-table tr:last-child td{ border-bottom:none; }

/* ── LEADERSHIP ── */
.leader-card {
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius-lg);
  padding:2.5rem 2rem;
  text-align:center;
  transition:all var(--ease);
}
.leader-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-4px); border-color:var(--primary-light); }
.leader-avatar {
  width:80px; height:80px;
  border-radius:50%;
  background:var(--primary-pale);
  margin:0 auto 1.5rem;
  display:flex; align-items:center; justify-content:center;
  font-size:2rem;
  color:var(--primary);
  border:3px solid var(--primary-light);
}
.leader-name {
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem;
  font-weight:600;
  margin-bottom:.3rem;
}
.leader-role {
  font-size:.78rem;
  color:var(--primary);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:1rem;
}
.leader-card p{ font-size:.92rem; color:var(--text-mid); }

/* ── BREADCRUMB ── */
.breadcrumb {
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.82rem;
  color:var(--text-light);
  margin-bottom:1rem;
  flex-wrap:wrap;
}
.breadcrumb a{ color:var(--primary); }
.breadcrumb-sep{ color:var(--border); }

/* ── ACCORDION (CSR) ── */
.accordion-item {
  border:1px solid var(--border-light);
  border-radius:var(--radius-md);
  overflow:hidden;
  margin-bottom:.75rem;
}
.accordion-btn {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.25rem 1.5rem;
  background:var(--white);
  font-weight:700;
  font-size:1rem;
  color:var(--text);
  text-align:left;
  transition:background var(--ease);
}
.accordion-btn:hover{ background:var(--primary-ultra); color:var(--primary); }
.accordion-btn.open{ background:var(--primary-pale); color:var(--primary-dark); }
.accordion-chevron {
  font-size:.85rem;
  transition:transform var(--ease);
  color:var(--primary);
}
.accordion-btn.open .accordion-chevron{ transform:rotate(180deg); }
.accordion-body {
  padding:0 1.5rem;
  max-height:0;
  overflow:hidden;
  transition:max-height var(--ease-slow), padding var(--ease);
}
.accordion-body.open {
  max-height:600px;
  padding:0 1.5rem 1.5rem;
}
.accordion-body p{ font-size:.95rem; color:var(--text-mid); }

/* ── STEP ITEMS ── */
.step-item {
  display:flex;
  gap:1.25rem;
  align-items:flex-start;
  margin-bottom:1.75rem;
}
.step-num {
  width:40px; height:40px;
  flex-shrink:0;
  background:var(--primary);
  color:var(--white);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-weight:700;
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;
}
.step-item h4{ margin-bottom:.3rem; }
.step-item p { font-size:.92rem; }

/* ── POLICY PAGES ── */
.policy-body h2 {
  font-size:1.4rem;
  margin:2.5rem 0 .75rem;
  color:var(--primary-dark);
}
.policy-body h3 {
  font-size:1.15rem;
  margin:1.75rem 0 .5rem;
}
.policy-body p  { margin-bottom:1rem; font-size:.95rem; }
.policy-body ul { margin:.75rem 0 1rem 1.5rem; }
.policy-body ul li {
  font-size:.95rem;
  color:var(--text-mid);
  margin-bottom:.4rem;
  list-style:disc;
}
.policy-body a{ color:var(--primary); }
.policy-body a:hover{ text-decoration:underline; }

/* ── FOOTER ── */
.site-footer {
  background:#1A1510;
  color:rgba(255,255,255,.75);
}
.footer-main { padding:2rem 0 0.5rem; }
.footer-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:2.5rem;
  padding-bottom:3rem;
  border-bottom:1px solid rgba(255,255,255,.08);
}
@media(min-width:640px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:1024px){ .footer-grid{ grid-template-columns:2fr 1fr 1fr 1.5fr; } }

.footer-brand .footer-logo img {
  height:165px;
  filter:brightness(0) invert(1) opacity(.85);
}
.footer-brand p {
  color:rgba(255,255,255,.55);
  font-size:.875rem;
  line-height:1.75;
  margin-top:1rem;
}
.footer-col h4 {
  font-family:'Nunito',sans-serif;
  font-size:.76rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--primary-light);
  margin-bottom:1.25rem;
}
.footer-links { display:flex; flex-direction:column; gap:.6rem; }
.footer-links a {
  font-size:.875rem;
  color:rgba(255,255,255,.6);
  display:flex;
  align-items:center;
  gap:.4rem;
  transition:color var(--ease);
}
.footer-links a:hover{ color:var(--primary-light); }
.footer-links a i { font-size:.75rem; }
.footer-contact-line {
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  margin-bottom:.85rem;
  font-size:.855rem;
  color:rgba(255,255,255,.6);
}
.footer-contact-line i {
  color:var(--primary-light);
  margin-top:.2rem;
  flex-shrink:0;
  width:14px;
}
.footer-bottom {
  padding:1.5rem 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
}
.footer-bottom p { color:rgba(255,255,255,.38); font-size:.8rem; }
.footer-legal {
  display:flex;
  gap:1.5rem;
}
.footer-legal a {
  color:rgba(255,255,255,.38);
  font-size:.8rem;
  transition:color var(--ease);
}
.footer-legal a:hover{ color:var(--primary-light); }

/* ── SCROLL ANIMATIONS ── */
.fade-up {
  opacity:0;
  transform:translateY(28px);
  transition:opacity .65s ease, transform .65s ease;
}
.fade-up.visible {
  opacity:1;
  transform:translateY(0);
}
.fade-in {
  opacity:0;
  transition:opacity .65s ease;
}
.fade-in.visible{ opacity:1; }
.delay-1{ transition-delay:.1s; }
.delay-2{ transition-delay:.2s; }
.delay-3{ transition-delay:.3s; }
.delay-4{ transition-delay:.4s; }
.delay-5{ transition-delay:.5s; }

/* ── UTILITIES ── */
.text-center  { text-align:center; }
/* Ensure inline-flex buttons inside text-center always centre on all screen sizes */
.text-center > .btn,
.card.text-center > .btn {
  display: inline-flex;
  margin-left: auto;
  margin-right: auto;
}
.text-right   { text-align:right; }
.text-primary { color:var(--primary)!important; }
.text-gold    { color:var(--primary); }
.d-flex       { display:flex; }
.flex-center  { display:flex; align-items:center; justify-content:center; }
.gap-1        { gap:.5rem; }
.gap-2        { gap:1rem; }
.gap-3        { gap:1.5rem; }
.flex-wrap    { flex-wrap:wrap; }
.mt-2         { margin-top:1rem; }
.mt-3         { margin-top:1.5rem; }
.mt-4         { margin-top:2rem; }
.mb-2         { margin-bottom:1rem; }
.mb-3         { margin-bottom:1.5rem; }
.w-100        { width:100%; }
.mx-auto      { margin-left:auto; margin-right:auto; }
.max-600      { max-width:600px; margin-left:auto; margin-right:auto; }
.max-800      { max-width:800px; margin-left:auto; margin-right:auto; }

/* ── RESPONSIVE TWEAKS ── */
@media(max-width:767px){
  .hero-logo-wrap { order:-1; }
}
@media(max-width:480px){
  .btn-lg{ padding:.85rem 1.75rem; font-size:.92rem; }
  .home-hero-actions .btn { width:100%; }
  .cta-actions .btn { width:100%; }
}
