:root {
  --fish-black: #151515;
  --deep-black: #080808;
  --olive-gold: #9a8d43;
  --soft-gold: #c3b15a;
  --sand: #f3f0e7;
  --muted: #6f6f6f;
}

body { font-family: Arial, Helvetica, sans-serif; color: var(--fish-black); background: #fff; }
a { text-decoration: none; }
.main-nav { background: rgba(8, 8, 8, .90); backdrop-filter: blur(8px); border-bottom: 1px solid rgba(195,177,90,.25); }
.navbar-brand { letter-spacing: .5px; }
.btn-gold { background: var(--olive-gold); border-color: var(--olive-gold); color: #fff !important; font-weight: 700; }
.btn-gold:hover { background: var(--soft-gold); border-color: var(--soft-gold); color: #111 !important; }

.hero-slider, .hero-slide { min-height: 760px; }
.hero-slide { position: relative; display: flex; align-items: center; background-size: cover; background-position: center; }
.hero-slide-1 { background: linear-gradient(135deg, #0b0b0b 0%, #2c2c2c 45%, #8c803b 100%); }
.hero-slide-2 { background: radial-gradient(circle at 70% 30%, #9a8d43 0%, #222 45%, #050505 100%); }
.hero-slide-3 { background: linear-gradient(135deg, #141414 0%, #423d22 60%, #090909 100%); }
.hero-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.35); }
.hero-content { position: relative; z-index: 2; max-width: 760px; color: #fff; padding-top: 85px; }
.hero-content h1, .hero-content h2 { font-size: clamp(2.6rem, 6vw, 5.8rem); line-height: .95; font-weight: 900; text-transform: uppercase; letter-spacing: -2px; }
.hero-content p { font-size: 1.25rem; max-width: 620px; color: rgba(255,255,255,.88); margin: 24px 0 32px; }
.eyebrow, .section-kicker { color: var(--olive-gold); font-weight: 900; text-transform: uppercase; letter-spacing: 2px; font-size: .82rem; }
.section-kicker.gold { color: var(--soft-gold); }
.section-padding { padding: 95px 0; }
.service-section { background: var(--sand); }
.service-section h2, #gallery h2, #recensioni h2, #newsletter h2 { font-weight: 900; font-size: clamp(2rem, 4vw, 3.4rem); }
.feature-card { background: #fff; border-left: 4px solid var(--olive-gold); padding: 20px; border-radius: 14px; font-weight: 800; box-shadow: 0 14px 35px rgba(0,0,0,.07); }
.logo-preview-card { background: #fff; padding: 14px; border-radius: 28px; box-shadow: 0 24px 55px rgba(0,0,0,.12); }
.bg-dark-fish { background: linear-gradient(135deg, var(--deep-black), #202020); }
.check-list { list-style: none; padding-left: 0; margin-top: 30px; }
.check-list li { margin-bottom: 12px; }
.check-list li:before { content: "✓"; color: var(--soft-gold); font-weight: bold; margin-right: 10px; }
.form-card { background: #fff; color: var(--fish-black); border-radius: 24px; padding: 32px; box-shadow: 0 24px 55px rgba(0,0,0,.25); }
.form-control { border-radius: 12px; border: 1px solid #ddd; padding: 12px 14px; }
.hp-field { display: none !important; }
.gallery-item { min-height: 245px; border-radius: 22px; display: flex; align-items: end; padding: 22px; color: #fff; font-weight: 900; background-size: cover; background-position: center; overflow: hidden; box-shadow: 0 18px 40px rgba(0,0,0,.15); }
.gallery-1 { background: linear-gradient(135deg, #111, #9a8d43); }
.gallery-2 { background: linear-gradient(135deg, #2a2a2a, #111); }
.gallery-3 { background: linear-gradient(135deg, #554f28, #0d0d0d); }
.gallery-4 { background: linear-gradient(135deg, #0d0d0d, #696032); }
.gallery-5 { background: linear-gradient(135deg, #222, #c3b15a); }
.gallery-6 { background: linear-gradient(135deg, #111, #3b391f); }
.reviews-section { background: var(--fish-black); color: #fff; }
.review-card { height: 100%; background: rgba(255,255,255,.07); border: 1px solid rgba(195,177,90,.25); border-radius: 22px; padding: 28px; }
.review-card p { color: rgba(255,255,255,.82); }
.stars { color: var(--soft-gold); letter-spacing: 3px; margin-bottom: 15px; }
.newsletter-section { background: #fff; }
.newsletter-form .input-group { box-shadow: 0 18px 45px rgba(0,0,0,.12); border-radius: 16px; overflow: hidden; }
.newsletter-form .form-control { border-radius: 0; border: 0; }
.newsletter-form .btn { border-radius: 0; }
.site-footer { background: #070707; color: rgba(255,255,255,.72); padding: 28px 0; border-top: 1px solid rgba(195,177,90,.25); }

@media (max-width: 767px) {
  .hero-slider, .hero-slide { min-height: 650px; }
  .section-padding { padding: 65px 0; }
  .form-card { padding: 22px; }
  .newsletter-form .input-group { display: block; box-shadow: none; }
  .newsletter-form .form-control, .newsletter-form .btn { width: 100%; border-radius: 12px !important; margin-bottom: 12px; }
}
