:root{
  --brand: #F97316;
  --brand-600: #EA580C;
  --brand-100: #FFEDD5;
  --ink: #0F172A;
  --muted: #64748B;
  --surface: #FFFFFF;
  --bg: #F8FAFC;
}

html, body{height:100%;}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--bg);
  color: var(--ink);
}
a{ color: var(--brand-600); text-decoration:none; }
a:hover{ color: var(--brand); }

.navbar{ backdrop-filter: blur(10px); }
.navbar-brand{ font-weight: 800; letter-spacing: .2px; }
.nav-link{ color: var(--ink); opacity: .9; }
.nav-link:hover{ color: var(--brand-600); }
.nav-link.active{ color: var(--brand-600) !important; font-weight: 700; }

.btn-brand{
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
  font-weight: 700;
}
.btn-brand:hover{
  background: var(--brand-600);
  border-color: var(--brand-600);
  color:#fff;
}
.btn-soft{
  background: var(--brand-100);
  border: 1px solid #fed7aa;
  color: var(--ink);
  font-weight: 700;
}
.btn-soft:hover{ background:#ffe6c6; }

.hero{
  border-radius: 24px;
  background: radial-gradient(1000px circle at 20% 10%, #fff7ed 0%, transparent 60%),
              linear-gradient(135deg, #fff 0%, #fff7ed 35%, #fff 100%);
  border: 1px solid #ffe2c6;
  overflow: hidden;
}
.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:#fff;
  border:1px solid #ffe2c6;
  border-radius:999px;
  padding:.35rem .75rem;
  color: var(--muted);
  font-weight: 600;
}
.hero-title{
  font-weight: 900;
  line-height: 1.05;
}
.hero-title .accent{ color: var(--brand-600); }

.card-soft{
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(2,6,23,.04);
}

.section-title{ font-weight: 900; }
.section-subtitle{ color: var(--muted); }

.site-footer{
  border-top: 1px solid #e2e8f0;
  background: #fff;
}

/* Gallery lightbox */
.gallery-item{ cursor: zoom-in; }
.gallery-thumb{ cursor: zoom-in; transition: transform .15s ease; }
.gallery-item:hover .gallery-thumb{ transform: scale(1.02); }
