
:root{
  --accent: #ffc107;
  --header-gradient: linear-gradient(90deg,#266abe,#2a1a4b);
  --text-light: #f1f7ff;
}
*{box-sizing:border-box}
body{font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; margin:0; padding-top:92px; background:#f6f8fb; color:#222;}
a { text-decoration: none; }
.site-header .navbar { min-height:72px; background: var(--header-gradient); box-shadow: 0 4px 18px rgba(10,15,30,0.25); transition: background 0.3s; }
.nav-link { color: rgba(255,255,255,0.9) !important; transition: color .25s, transform .18s; }
.nav-link:hover { color: var(--accent) !important; transform: translateY(-2px); }
.btn-contact { background: var(--accent); border: none; color: #000; font-weight:600; transition: transform .18s, box-shadow .18s; }
.btn-contact:hover { transform: translateY(-3px); box-shadow: 0 8px 30px rgba(255,193,7,0.18); }
.site-footer { color: var(--text-light); background: var(--header-gradient); }

/* Hero */
.hero-bg {  background-size: cover; background-position:center; position:relative; padding:120px 0; border-bottom-left-radius:10px; border-bottom-right-radius:10px; overflow:hidden; height: 500px;}
.hero .overlay { position:absolute; inset:0; background: linear-gradient(180deg, rgba(14,19,32,0.45), rgba(42,26,75,0.45)); }
.hero-content { position:relative; z-index:2; color:#fff; padding: 20px; }
.hero h1 { font-weight:800; letter-spacing: .2px; font-size:2rem; margin-bottom:0.5rem; }
.hero p.lead { font-size:1.05rem; margin-bottom:1rem; }

/* Cards and gallery */
.card-service { transition: transform .3s ease, box-shadow .3s ease; border: none; }
.card-service:hover { transform: translateY(-8px); box-shadow: 0 12px 30px rgba(20,30,60,0.12); }
.gallery-grid img { width:100%; height:220px; object-fit:cover; border-radius:8px; transition: transform .45s ease, box-shadow .45s ease; }
.gallery-grid img:hover { transform: scale(1.05); box-shadow: 0 18px 40px rgba(15,20,40,0.2); }

/* Buttons */
.btn-outline-light.custom { border-color: rgba(255,255,255,0.15); color:#fff; transition: background .25s, color .25s; }
.btn-outline-light.custom:hover { background: var(--accent); color:#000; }

/* Animations */
.fade-in { opacity:0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade-in.show { opacity:1; transform: translateY(0); }

/* responsive */
@media (min-width:992px){
  .hero h1{ font-size:2.6rem; }
  .hero p.lead{ font-size:1.1rem; }
}
@media (max-width:576px){
  body{ padding-top:110px; }
  .hero-bg{ padding:80px 0; }
  .gallery-grid img { height:160px; }
}

/* utility */
.container-compact { max-width:1100px; margin:0 auto; }

/* small polish */
.section-title { font-weight:700; margin-bottom:1rem; color:#0b1530; }
