/* ===========================
   Lancing UK – visual upgrade
   =========================== */

/* Global */
:root{
  --brand:#0ea5e9;           /* accent blue */
  --ink:#0f172a;             /* deep navy */
  --ink-2:#1e293b;
  --muted:#94a3b8;
  --bg:#f8fafc;
}
.section { padding: 64px 0; }
.section-alt { background: var(--bg); }
.pb-40 { padding-bottom: 40px; }
.pt-40 { padding-top: 40px; }
.mb-0{margin-bottom:0}
.mb-15 { margin-bottom: 15px; }
.mb-20 { margin-bottom: 20px; }
.mb-30 { margin-bottom: 30px; }



/* Hero */
.hero-video-wrap { position:relative; height:68vh; min-height:460px; overflow:hidden; background:#0b1220; }
.hero-video { position:absolute; top:50%; left:50%; min-width:100%; min-height:100%; width:auto; height:auto; transform:translate(-50%,-50%); filter:brightness(.6) saturate(1.05); }
.hero-overlay { position:absolute; inset:0; background:radial-gradient(60% 60% at 50% 40%, rgba(14,165,233,.25), rgba(2,6,23,.7)); }
.hero-content { position:relative; z-index:2; top:50%; transform:translateY(-50%); color:#fff; }
.hero-title { font-size: clamp(36px, 4.5vw, 56px); font-weight:900; letter-spacing:.2px; margin-bottom:8px; text-shadow:0 6px 24px rgba(0,0,0,.35); }
.hero-cta .btn { margin:6px 8px; border-radius:999px; padding:12px 26px; box-shadow:0 8px 26px rgba(0,0,0,.18); }
.btn-ghost{ background:transparent; border:2px solid rgba(255,255,255,.6); color:#fff; }
.btn-ghost:hover{ border-color:#fff; }

/* Section headings */
.section-heading{ font-weight:900; color:var(--ink); margin-bottom:24px; letter-spacing:.2px; }

/* Icon cards */
.icon-grid .main-feature { background:#fff; border-radius:18px; padding:16px; box-shadow:0 10px 30px rgba(2,6,23,.06); transition:transform .2s ease, box-shadow .2s ease; border:1px solid #e2e8f0; }
.icon-grid .main-feature img { border-radius:12px; }
.icon-grid .main-feature span { display:block; margin-top:10px; font-weight:800; color:var(--ink-2); }
.icon-grid .main-feature:hover { transform:translateY(-4px); box-shadow:0 16px 44px rgba(2,6,23,.12); }

/* Grids reused as cards */
.video-grid.ranges,
.video-grid.categories { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:991px) {
  .video-grid.ranges, .video-grid.categories { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:575px) {
  .video-grid.ranges, .video-grid.categories { grid-template-columns:1fr; }
}
.video-item, .video-item1 { position:relative; overflow:hidden; border-radius:16px; background:#0b1220; transition:transform .2s ease; }
.video-item:hover, .video-item1:hover { transform:translateY(-3px); }
.video-item img, .video-item1 img { width:100%; height:auto; display:block; }
.video-caption, .video-caption1 {
  position:absolute; left:0; right:0; bottom:0;
  padding:12px 16px; color:#fff; font-weight:800; letter-spacing:.2px;
  background:linear-gradient(to top, rgba(2,6,23,.65), rgba(2,6,23,0));
}

/* Stats band */
.stats-band{ background:linear-gradient(90deg, var(--ink) 0%, #0b1a34 60%, var(--ink) 100%); color:#e2e8f0; padding:20px 0; }
.stats-band .stat{ margin:10px 0; }
.stats-band .num{ font-size:28px; font-weight:900; line-height:1.2; }
.stats-band .label{ font-size:12px; text-transform:uppercase; letter-spacing:.15em; color:#cbd5e1; }

/* CTA strip */
.cta-strip{ background:linear-gradient(180deg, rgba(14,165,233,.12), rgba(14,165,233,.06)); border-top:1px solid #e2e8f0; border-bottom:1px solid #e2e8f0; padding:28px 0; }
.cta-title{ margin:0 0 6px; font-weight:900; color:var(--ink); }
.btn-light{ background:#fff; border:2px solid var(--brand); color:var(--brand); border-radius:999px; }
.btn-light:hover{ background:var(--brand); color:#fff; }
@media(max-width:767px){ .btn-block-sm{ display:block; width:100%; margin-top:12px; }}

/* Enquiry form */
.blog_section .form-control { height:46px; border-radius:12px; border-color:#e2e8f0; }
.blog_section textarea.form-control { height:auto; }
.blog_section .btn-primary { background:var(--brand); border-color:var(--brand); }
.blog_section .btn-primary:hover { filter:brightness(.95); }

/* Return to top */
#return-to-top {
  position:fixed; right:18px; bottom:18px; z-index:1000;
  width:44px; height:44px; border-radius:50%;
  background:var(--brand); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 30px rgba(2,6,23,.25); opacity:0; visibility:hidden; transition:all .2s ease;
}
#return-to-top.show { opacity:1; visibility:visible; }
#return-to-top i { font-size:22px; line-height:1; }

/* Utilities */
.shadow-lg { box-shadow:0 20px 60px rgba(2,6,23,.15); }
.rounded { border-radius:16px; }
.lead { font-size:18px; color:#e5e7eb; }
