:root{
  --primary:#3b82f6;
  --bg:#fafafa;
  --text:#263238;
  --muted:#475569;
  --card:#ffffff;
  --radius:12px;
  --shadow:0 12px 30px rgba(16,24,40,0.06);
  --shadow-sm:0 8px 20px rgba(16,24,40,0.04);
  --overlay-grad: linear-gradient(180deg, rgba(0,0,0,0.06), rgba(2,6,23,0.22));
}

/* Layout518 general styles */
.layout518-section{
  padding:3rem 5%;
  font-family:"Segoe UI", Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
}

/* Hero Card */
.layout518-hero-card{
  position:relative;
  text-align:center;
  margin:0 auto 3rem;
  color:white;
  max-width:1100px;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.02));
}

.layout518-hero-content{
  position:relative;
  z-index:3;
  max-width:640px;
  margin:0 auto;
  padding:2rem;
}

.layout518-tagline{
  font-weight:600;
  margin-bottom:0.5rem;
  color:#0f172a;
  opacity:0.9;
}

.layout518-heading{
  font-size:2.1rem;
  font-weight:800;
  margin-bottom:1rem;
  color:#071133;
  line-height:1.15;
}

.layout518-text{
  font-size:1rem;
  margin-bottom:1.5rem;
  color:var(--muted);
}

/* Buttons — pill style (match other layouts) */
.layout518-buttons a,
.layout518-buttons .btn{
  display:inline-block;
  margin:0.4rem;
  padding:0.6rem 1.2rem;
  text-decoration:none;
  border-radius:999px;
  font-weight:700;
  transition:transform .18s ease, box-shadow .18s ease;
  box-shadow:var(--shadow-sm);
}

.layout518-buttons a:hover,
.layout518-buttons .btn:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(15,23,42,0.06);
}

.btn-secondary-alt,
.btn-secondary{
  background-color:var(--primary);
  color:#fff;
  border:none;
}

.btn-link-alt,
.btn-link{
  background:rgba(59,130,246,0.06);
  color:var(--primary);
  border:2px solid rgba(37,99,235,0.12);
}

/* Hero background container */
.layout518-hero-bg{
  position:relative;
  height:360px;
  overflow:hidden;
}

.layout518-hero-bg img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(1.02) contrast(0.98);
  transition:transform 400ms ease;
}

.layout518-hero-bg img:hover{
  transform:scale(1.03);
}

.layout518-hero-bg .overlay{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:var(--overlay-grad);
  z-index:2;
}

/* Cards */
.layout518-cards{
  display:flex;
  flex-wrap:wrap;
  gap:1.25rem;
  justify-content:center;
  margin-top:1.5rem;
}

.layout518-card{
  background-color:var(--card);
  padding:1.75rem;
  text-align:center;
  border-radius:var(--radius);
  max-width:300px;
  flex:1 1 250px;
  box-shadow:var(--shadow-sm);
  border:1px solid rgba(15,23,42,0.03);
  transition:transform .18s ease, box-shadow .18s ease;
}

.layout518-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 36px rgba(15,23,42,0.06);
}

.layout518-card-icon{
  width:56px;
  height:56px;
  margin:0 auto 1rem;
  border-radius:12px;
  background:rgba(59,130,246,0.08);
  display:flex;
  align-items:center;
  justify-content:center;
}

.layout518-card-heading{
  font-size:1.125rem;
  font-weight:700;
  margin-bottom:0.5rem;
  color:#0b2540;
}

.layout518-card-text{
  font-size:0.98rem;
  margin-bottom:1rem;
  color:var(--muted);
}

.btn-link{
  color:#1f2937;
  text-decoration:none;
  font-weight:700;
}

/* Responsiivsus */
@media(max-width:900px){
  .layout518-hero-card{ max-width:100%; border-radius:10px; }
  .layout518-hero-bg{ height:260px; }
  .layout518-hero-content{ padding:1.25rem; }
  .layout518-cards{ gap:1rem; }
}

@media(max-width:480px){
  .layout518-hero-bg{ height:200px; }
  .layout518-heading{ font-size:1.6rem; }
  .layout518-buttons a,
  .layout518-buttons .btn{ padding:0.55rem 1rem; font-size:0.95rem; }
  .layout518-card{ padding:1.25rem; }
}
