
:root{
  --red:#D92C2C;
  --dark:#0E0E10;
  --gray:#2A2A2E;
  --text:#f5f5f7;
  --muted:#d9d9df;
  --bg:#303030;
  --card:#383838;
  --white:#ffffff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:'Inter',system-ui,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
img{max-width:100%;display:block}
.container{width:min(1100px,92%);margin-inline:auto}
/* Header */
.site-header{position:sticky;top:0;background:rgba(11,11,12,.8);backdrop-filter: blur(6px);z-index:50;border-bottom:1px solid #1d1d22}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand img{height:40px}
.main-nav{display:flex;align-items:center;gap:22px}
.nav-link {
  color: #e5e5ea;
  text-decoration: none;
  font-weight: 500;
  opacity: .85;
  transition: color .2s, opacity .2s, box-shadow .25s ease;
}

/* Hover + active underline (only for normal links, not dropdown) */
.main-nav > .nav-link:hover,
.main-nav > .nav-link.active {
  opacity: 1;
  color: #fff;
  box-shadow: inset 0 -2px var(--red, #d92c2c);
}


.btn{display:inline-block;border:2px solid #27272c;padding:.7rem 1rem;border-radius:999px;text-decoration:none;color:#fff;font-weight:600;transition:transform .2s ease, box-shadow .2s ease, background .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(0,0,0,.25)}
.btn-primary{background:var(--red);border-color:var(--red)}
.btn-outline{background:transparent}
.btn-small{padding:.55rem .9rem;font-size:.95rem}
.btn-quote{background:var(--red);border-color:var(--red)}
.hamburger{display:none;background:none;border:0;cursor:pointer}
.hamburger span{display:block;width:24px;height:2px;background:#fff;margin:5px 0}

/* Hero slider */
.hero{position:relative}
.slider{position:relative;height:clamp(520px, 68vh, 920px); overflow:hidden}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat: no-repeat;opacity:0;transition:opacity 800ms ease-in-out, transform 1200ms ease}
.slide.active{opacity:1}
.hero-content{position:absolute;bottom:16%;left:0;right:0}
.hero h1{font-size:clamp(1.8rem,4vw,3rem);max-width:800px;margin:0 0 10px}
.hero p{max-width:640px;margin:0 0 16px;color:#d6d6de}
.hero-cta .btn{margin-right:10px}
.slider-control{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);border:0;color:#fff;font-size:2rem;width:42px;height:42px;border-radius:50%;cursor:pointer}
.slider-control.prev{left:12px}
.slider-control.next{right:12px}
.dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.dots button{width:10px;height:10px;border-radius:50%;border:0;background:#666;opacity:.7;cursor:pointer}
.dots button.active{background:var(--red);opacity:1}




/* Sections */

.section{padding:50px 0}
.section-head h2{position: relative;
  display: inline-block;   /* shrink wrap around the text */
  margin-bottom: 12px; font-size:clamp(1.5rem,3vw,2rem)}
  
.section-head p{margin:0;color:#c9c9d1}
.cards{display:grid;gap:22px}
.cards.three{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid #1d1d22;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.card img{aspect-ratio:16/10;object-fit:cover}
.card-body{padding:16px}
.card-body h3{margin:.2rem 0 .3rem}
.hover-pop{transition:transform .2s ease, box-shadow .2s ease}
.hover-pop:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}
.rounded{border-radius:16px}
.checks{list-style:none;padding:0;margin:12px 0 0}
.checks li{margin:8px 0;padding-left:26px;position:relative}
.checks li::before{content:'✓';position:absolute;left:0;top:0;color:var(--red);font-weight:800}
.testimonials{background:linear-gradient(180deg, #111114, #0c0c0e)}
.testimonial{background:var(--card);border:1px solid #1d1d22;border-radius:16px;padding:18px}
.cta-band{background:#151519;text-align:center}
/* Forms */
.contact-form{background:var(--card);border:1px solid #1d1d22;border-radius:16px;padding:22px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-field{display:flex;flex-direction:column;gap:6px}
label{font-size:.95rem;color:#eaeaf0}
input,textarea,select{background:#0f0f13;border:1px solid #2a2a31;border-radius:12px;padding:12px;color:#fff;font-size:1rem;outline:none;transition:border .2s}
input:focus,textarea:focus,select:focus{border-color:var(--red)}
.error{color:#ff6b6b;font-size:.85rem;height:1.1rem}
.form-success{margin-top:10px;color:#69db7c;font-weight:600;min-height:1.2rem}

/* Page hero */
.page-hero.small{padding:60px 0;background:linear-gradient(180deg,#121218,#0c0c0e);border-bottom:1px solid #1d1d22}
.page-hero h1{margin:0}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery img{border-radius:12px;aspect-ratio:4/3;object-fit:cover}

/* Footer */
.site-footer{background:#0a0a0c;border-top:1px solid #1d1d22;padding-top:36px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
.footer-brand img{height:44px;margin-bottom:8px}
.site-footer a{color:#e5e5ea;text-decoration:none}
.copyright{border-top:1px solid #1d1d22;margin-top:16px;padding:14px 0;text-align:center;color:#a8a8b4}

/* Animations */
.animate-in{animation:fadeUp .9s ease both .2s}
.fade-up{animation:fadeUp .9s ease both}
.delay-1{animation-delay:.2s}
.delay-2{animation-delay:.35s}
@keyframes fadeUp{
  from{opacity:0; transform: translateY(14px)}
  to{opacity:1; transform:none}
}

/* Responsive */
@media (max-width: 900px){
  .cards.three{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:18px}
  .grid-2{grid-template-columns:1fr}
  .slider{position:relative;height:85vh;overflow:hidden}
  .main-nav{position:fixed;inset:60px 0 auto 0;background:#0f0f12;border-bottom:1px solid #1d1d22;display:none;flex-direction:column;padding:14px}
  .main-nav.open{display:flex}
  .hamburger{display:block}
}

.accent-grad{background:linear-gradient(135deg, rgba(217,44,44,.9), rgba(217,44,44,.35));}
.text-muted{color:#c9c9d1}
.cards.service-grid{grid-template-columns:repeat(3,1fr)}
.service-card{position:relative;min-height:230px;background-size:cover;background-position:center;border-radius:16px;overflow:hidden;border:1px solid #1d1d22}
.service-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.7));transition:opacity .3s ease}
.service-card .label{position:absolute;left:16px;bottom:16px;font-size:1.35rem;font-weight:800;letter-spacing:.3px}
.service-card .overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;opacity:0;transition:opacity .25s ease}
.service-card:hover .overlay{opacity:1}
.service-card:hover::after{opacity:.9}
.service-card .overlay p{margin:0 0 10px;color:#dedee6}
.service-card .overlay .btn{align-self:flex-start}
.map-wrap{position:relative;overflow:hidden;border-radius:16px;border:1px solid #1d1d22}
.map-wrap iframe{display:block;width:100%;height:360px;filter:grayscale(.2) brightness(.9) contrast(1.05)}
.map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-70%);width:22px;height:22px;background:var(--red);border-radius:50%;box-shadow:0 0 0 6px rgba(217,44,44,.35)}
.contact-panel{background:rgba(18,18,22,.9);border:1px solid #1d1d22;border-radius:16px;padding:22px;backdrop-filter: blur(6px)}
@media (max-width:900px){.cards.service-grid{grid-template-columns:1fr}}

/* Contrast & readability */
body{color:#e6e6eb}
h1,h2,h3,h4{color:#ffffff}
p,li{color:#e0e0e6}

/* Hero sizing */
.hero{min-height:85vh}
.page-hero.small.has-bg{min-height:46vh}

/* Dropdown wrapper */
.nav-dropdown {
  position: relative;
}

/* Dropdown menu */
.nav-dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  background: #2f2f2f;
  border: 1px solid #474747;
  border-radius: 12px;
  padding: 10px 8px;
  min-width: 220px;
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
  z-index: 50;
}

/* Show dropdown on hover/focus */
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* --- Parent link ("Services") underline --- */
.main-nav .nav-dropdown > .nav-link:hover,
.main-nav .nav-dropdown > .nav-link.active {
  opacity: 1;
  color: #fff;
  box-shadow: inset 0 -2px var(--red, #d92c2c);
}
.main-nav .nav-link::after{ content: none !important; }
/* --- Dropdown child links (no underline ever) --- */
.nav-dropdown .dropdown-menu a {
  border-top: none;
  padding: 9px 12px;
  border-radius: 8px;
  color: #fff;
  text-decoration: none;
  box-shadow: none !important; /* no underline */
}

.nav-dropdown .dropdown-menu a:hover {
  background: #c93737;
  box-shadow: none !important;
}


/* Service overlay card: ensure readable text */
.service-card{position:relative}
.service-card::after{background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.85))}
.service-card .label{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.8);z-index:2}
.service-card .overlay{color:#fff;z-index:2}
.service-card .overlay p{color:#f3f3f6}
.service-card:hover .overlay{opacity:1}
.service-card .overlay{background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.65));}

/* Buttons pop */
.btn, .btn-primary{font-weight:700}

/* Inputs stronger contrast */
input, textarea, select{background:#2d2d2d;border:1px solid #474747;color:#fff}
input::placeholder, textarea::placeholder{color:#bdbdcc}

/* Dark glass panel refinement */
.contact-panel{background:rgba(34,34,34,.85);border:1px solid #474747}

/* Alignment fixes */
.section .split{gap:32px;align-items:center}
.cards.service-grid{gap:18px}

/* Hero slider */
.hero-slider{position:relative;overflow:hidden;height:85vh}
.hero-slider .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease-in-out}
.hero-slider .slide.active{opacity:1;z-index:1}
.hero-slider .container{position:relative;z-index:2;padding-top:20vh;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.8)}

.section.container{margin-top:0}
.hero + .section{margin-top:24px}

#intro .split-media img{border-radius:14px;display:block;width:100%;height:auto}



/* --- Service cards: bright by default, darker overlay on hover with details --- */
.service-card{filter:saturate(1.12) contrast(1.02);}
.service-card::after{opacity:.18;background:linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.25));}
.service-card .overlay{opacity:0;transition:opacity .25s ease}
.service-card:hover{filter:saturate(1.05) brightness(.95)}
.service-card:hover::after{opacity:.9;background:linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.8));}
.service-card:hover .overlay{opacity:1}

/* Left-aligned hero content and readability */
.slider .hero-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start;text-align:left;padding:0 6vw;z-index:2}
.slide::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,0,0,.6), rgba(0,0,0,.15));z-index:1}
.slider .hero-content h1, .slider .hero-content p{max-width:760px;text-shadow:0 6px 22px rgba(0,0,0,.6)}
.slider .hero-content .hero-actions{display:flex;gap:12px;margin-top:14px}

/* Spacing adjustments */
#intro{margin-bottom:16px}
.section .section-head{margin-bottom:32px}

/* ===== Enhanced Color Scheme & Dynamic Background ===== */
:root{
  --bg:#2d2d30;
  --card:#38383d;
  --red:#e53935;
  --red-2:#ff5353;
  --accent:#ff4444;
  --accent-2:#ff7a5c;
  --ring:0 0 0 3px rgba(255,68,68,.18);
}
body{
  background:
    radial-gradient(1200px 800px at -10% -10%, rgba(255,68,68,.06), transparent 60%),
    radial-gradient(900px 500px at 110% -20%, rgba(255,255,255,.05), transparent 65%),
    radial-gradient(900px 600px at 10% 120%, rgba(255,68,68,.05), transparent 60%),
    linear-gradient(180deg, #2d2d30, #2b2b2e 60%, #28282b);
  background-attachment: fixed;
}
a:hover{color:var(--red-2)}
.btn-primary{background:linear-gradient(135deg,var(--red),var(--accent-2));border:none}
.btn-primary:hover{filter:brightness(1.06) saturate(1.05); box-shadow:0 10px 28px rgba(255,68,68,.25)}
.card, .service-card{box-shadow:0 14px 30px rgba(0,0,0,.35)}
.section .section-head h2::after{
  content:'';display:block;width:72px;height:3px;margin-top:10px;
  background:linear-gradient(90deg,var(--accent),transparent);
  border-radius:2px;
}

/* Subtle glowing borders on hover */
.card:hover, .service-card:hover{box-shadow:0 18px 36px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.06), 0 0 0 6px rgba(255,68,68,.08)}

/* Navbar active underline */
.main-nav .nav-link:hover{color:#fff}
.main-nav .nav-link::after{content:'';display:block;height:2px;transform:scaleX(0);transition:transform .2s ease;background:var(--accent)}
.main-nav .nav-link:hover::after{transform:scaleX(1)}

/* Left aligned hero content (vertical center, left edge) */
.slider .hero-content{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;text-align:left;
  padding-left:6vw;padding-right:6vw;max-width:900px
}
.slide::after{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg, rgba(0,0,0,.65), rgba(0,0,0,.25) 60%, rgba(0,0,0,.05))
}
.slider .hero-content>*{position:relative;z-index:2}
.slider .hero-content h1{margin:0 0 10px 0}
.slider .hero-content p{margin:0 0 14px 0}
.slider .hero-content .hero-actions{display:flex;gap:12px;margin-top:12px}

/* Bright idle images; deeper overlay on hover */
.service-card{filter:saturate(1.1) contrast(1.05) brightness(1.02)}
.service-card::after{opacity:.12;background:linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.2))}
.service-card:hover{filter:saturate(1.05) brightness(.96)}
.service-card:hover::after{opacity:.92;background:linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.82))}
.service-card .overlay{opacity:0}
.service-card:hover .overlay{opacity:1}

/* Spacing tuning */
#intro{margin-bottom:8px}
.section .section-head{margin-bottom:36px}

/* Brighten hero background slightly */
.slide::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.06);z-index:0}

.slider .hero-content h1{font-weight:800}
.slider .hero-content p{font-weight:500}

/* Testimonials slider */
.testimonials-slider{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.02)}
.t-track{display:flex;transition:transform .6s ease}
.t-slide{min-width:100%;padding:28px;font-size:1.05rem;line-height:1.6;color:#eee;text-align:center}
.t-prev,.t-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:10px;padding:6px 10px}
.t-prev{left:12px}.t-next{right:12px}
.t-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:10px;display:flex;gap:8px}
.t-dots button{width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:transparent}
.t-dots button.active{background:#fff}

#why .card h3{margin-top:0;color:#fff;font-weight:600}
#why .card p{color:#ddd}

/* Tighten spacing: Intro -> Services */
#intro{margin-bottom:0 !important; padding-bottom:12px}
#intro + .section.container{margin-top:12px !important}

/* Make navbar transparent over hero */
.site-header{background:transparent !important; box-shadow:none}
.site-header .nav-wrap, .site-header .main-nav a{color:#fff}
.site-header .brand img{filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}

/* Visually appealing cards for Testimonials and Why Choose */
#why .card{background:linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:22px}
#why .cards{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
#why h3{font-size:1.1rem; margin:0 0 8px 0; color:#fff; font-weight:700}
#why p{color:#e6e6ee}
@media (max-width:900px){ #why .cards{grid-template-columns:1fr} }

/* Prevent overflow in Why cards */
#why .card *{overflow-wrap:anywhere}

/* Testimonials card look */
.testimonials-slider{background:transparent; border:none}
.t-slide{background:linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.12); border-radius:16px; margin:16px; color:#f1f1f6}

/* Hero left alignment refinement */
.slider .hero-content{
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:flex-start; justify-content:center; text-align:left;
  padding-left:2.5vw; padding-right:6vw; max-width:900px; z-index:2
}

#intro + .section.container{margin-top:0 !important}
#intro{margin-bottom:0 !important}

.site-header{background:transparent !important; box-shadow:none; position:absolute; inset-inline:0; top:0; z-index:30}

/* Redesigned cards for engaging look */
#why .card, .t-slide{
  background:linear-gradient(160deg, rgba(40,40,45,.95), rgba(35,35,40,.9));
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:26px;
  box-shadow:0 12px 28px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);
  position:relative;
  overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease;
}
#why .card::before, .t-slide::before{
  content:'';
  position:absolute; inset:-2px;
  background:radial-gradient(circle at top left, rgba(255,68,68,.18), transparent 40%);
  z-index:0;
}
#why .card:hover, .t-slide:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 32px rgba(0,0,0,.5), 0 0 20px rgba(255,68,68,.15);
}
#why .card h3, .t-slide strong{position:relative;z-index:1;color:#fff;font-weight:700}
#why .card p, .t-slide{position:relative;z-index:1;color:#e6e6f0}
#why h3{font-size:1.15rem;display:flex;align-items:center;gap:8px}
.t-slide{font-size:1.05rem;line-height:1.6;text-align:center}

/* Animations for text and photos */
.fade-in{opacity:0;transform:translateY(20px);animation:fadeInUp .9s forwards}
.slide-in-left{opacity:0;transform:translateX(-30px);animation:slideInLeft .9s forwards}
.slide-in-right{opacity:0;transform:translateX(30px);animation:slideInRight .9s forwards}
@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}
@keyframes slideInLeft{to{opacity:1;transform:translateX(0)}}
@keyframes slideInRight{to{opacity:1;transform:translateX(0)}}

/* ===== Dynamic Enhancements ===== */

/* Animated background glows */
body::before, body::after{
  content:''; position:fixed; width:42vmax; height:42vmax; border-radius:50%;
  filter: blur(70px); opacity:.08; z-index:-1; pointer-events:none;
}
body::before{ background: radial-gradient(circle at 30% 30%, #ff6b6b, transparent 55%); top:-10vmax; left:-8vmax; }
body::after{ background: radial-gradient(circle at 70% 70%, #ffd166, transparent 55%); bottom:-12vmax; right:-10vmax; }

/* Transparent sticky header */
.site-header{background:transparent!important; position:fixed; inset-inline:0; top:0; z-index:50; transition: backdrop-filter .2s ease, background-color .2s ease}
body.scrolled .site-header{backdrop-filter: saturate(120%) blur(10px); background: rgba(20,20,22,.35) !important; border-bottom: 1px solid rgba(255,255,255,.07)}

/* Hero parallax & left content */
.hero, .slider{height:88vh}
.slide{will-change: transform}
.slide .hero-content{max-width:940px; padding-left:3vw}
@media (max-width:900px){ .hero, .slider{height:78vh}}

/* Button micro-interaction */
.btn, .btn-primary{position:relative; overflow:hidden}
.btn::after{content:''; position:absolute; inset:0; background: radial-gradient(120px 120px at var(--mx,50%) var(--my,50%), rgba(255,255,255,.12), transparent 60%); opacity:0; transition:opacity .25s ease}
.btn:hover::after{opacity:1}

/* Service tilt */
.service-card{transform: perspective(900px) rotateX(0) rotateY(0); transition: transform .2s ease, filter .25s ease}
.service-card:hover{transform: perspective(900px) rotateX(2deg) rotateY(-2deg)}

/* Metrics counters */
.metrics{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.metric{border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:18px; text-align:center; background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02))}
.metric .num{font-size:2rem; font-weight:900; color:#fff}
.metric .label{color:#d8d8e1}
@media (max-width:900px){ .metrics{grid-template-columns:repeat(2,1fr)}}

/* Partner marquee */
.marquee{overflow:hidden; position:relative; border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06); padding:14px 0; margin-top:20px}
.marquee .track{display:flex; gap:40px; animation: marquee 28s linear infinite}
.marquee img{opacity:.8; height:28px; filter:grayscale(100%) contrast(1.15)}
.marquee img:hover{opacity:1; filter:none}
@keyframes marquee{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ===== Consistent Buttons ===== */
.btn, .btn-primary{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 16px; border-radius:12px; font-weight:700; line-height:1;
  transition: transform .15s ease, box-shadow .2s ease, filter .2s ease, color .2s ease;
  border:1px solid rgba(255,255,255,.12);
}
.btn-primary{
  background:linear-gradient(135deg,var(--red),var(--accent-2));
  color:#fff !important;
}
.btn-primary:hover, .btn:hover{
  transform: translateY(-1px);
  box-shadow:0 10px 24px rgba(255,68,68,.25);
  color:#fff !important; /* keep white on hover */
}
.btn:active, .btn-primary:active{ transform: translateY(0) }

/* ===== Testimonials Deck (3-card overlay) ===== */
.testimonials-slider{position:relative; overflow:visible; padding:10px 0; margin-top:6px}
.t-stage{position:relative; height:320px}
.t-slide{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%) scale(.86);
  width:min(680px,92vw); max-width:680px; margin:0; padding:24px;
}
.t-slide.prev{transform:translate(calc(-50% - 240px), -52%) scale(.82); opacity:.92; z-index:1}
.t-slide.active{transform:translate(-50%,-58%) scale(1); opacity:1; z-index:3}
.t-slide.next{transform:translate(calc(-50% + 240px), -52%) scale(.82); opacity:.92; z-index:1}
.t-dots{position:relative; margin-top:14px}
.t-prev,.t-next{top:auto; bottom:-10px}
@media (max-width:900px){
  .t-stage{height:380px}
  .t-slide{width:92vw}
  .t-slide.prev{transform:translate(calc(-50% - 36vw), -50%) scale(.86)}
  .t-slide.next{transform:translate(calc(-50% + 36vw), -50%) scale(.86)}
}

/* ===== Testimonials Dynamic Carousel ===== */
.testimonials-carousel{position:relative; overflow:hidden; padding:20px 0}
.t-wrapper{position:relative; height:320px}
.t-card{
  position:absolute; top:50%; left:50%; width:min(600px,90%);
  transform:translate(-50%,-50%) scale(.84);
  opacity:.5; background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12); border-radius:16px;
  padding:26px; box-shadow:0 10px 28px rgba(0,0,0,.35);
  text-align:center; transition:transform .6s ease, opacity .6s ease;
}
.t-card.active{transform:translate(-50%,-58%) scale(1); opacity:1; z-index:3}
.t-card.prev{transform:translate(calc(-50% - 240px), -52%) scale(.86); opacity:.85; z-index:2}
.t-card.next{transform:translate(calc(-50% + 240px), -52%) scale(.86); opacity:.85; z-index:2}
.t-prev,.t-next{
  position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.25); color:#fff; border-radius:10px; padding:6px 10px; z-index:5
}
.t-prev{left:12px}.t-next{right:12px}
.t-dots{display:flex; justify-content:center; margin-top:20px; gap:8px}
.t-dots button{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:transparent}
.t-dots button.active{background:#fff}
@media (max-width:900px){
  .t-card.prev{transform:translate(calc(-50% - 40vw), -50%) scale(.84)}
  .t-card.next{transform:translate(calc(-50% + 40vw), -50%) scale(.84)}
  .t-wrapper{height:420px}
}

/* ===== Testimonial Peeking Carousel (1 center, partial sides) ===== */
.testi-carousel{position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:8px}
.tc-prev, .tc-next{
  background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.25); color:#fff;
  border-radius:12px; padding:8px 12px; z-index:3
}
.tc-viewport{overflow:visible; padding-inline:8vw}
.tc-track{display:flex; gap:28px; transform-style:preserve-3d; will-change:transform}
.tc-card{
  flex:0 0 64vw; max-width:760px; min-height:180px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:28px;
  box-shadow:0 14px 30px rgba(0,0,0,.35);
  transition:transform .6s cubic-bezier(.2,.7,.2,1), opacity .6s ease, box-shadow .3s ease;
  transform:scale(.86) translateZ(0);
  opacity:.65;
}
.tc-card.tc-center{transform:scale(1) translateZ(0); opacity:1; box-shadow:0 24px 46px rgba(0,0,0,.45)}
.tc-card.tc-left, .tc-card.tc-right{transform:scale(.9); opacity:.85}
.tc-dots{display:flex; justify-content:center; gap:8px; margin-top:16px; grid-column:1/-1}
.tc-dots button{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:transparent}
.tc-dots button.active{background:#fff}
@media (min-width:1200px){ .tc-viewport{padding-inline:12vw} .tc-card{flex-basis:52vw} }
@media (max-width:900px){ .tc-card{flex-basis:84vw} .tc-viewport{padding-inline:6vw} }

/* Feature card design reused for testimonials */
.feature-card{
  position:relative; border-radius:20px; padding:22px; overflow:hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
  transition: transform .25s ease, box-shadow .25s ease;
}
.feature-card:hover{ transform: translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.45) }
.feature-card .card-head{display:flex; align-items:center; gap:12px; margin-bottom:10px}
.feature-card .card-emoji{
  width:44px; height:44px; border-radius:12px; display:grid; place-items:center;
  background: radial-gradient(circle at 30% 30%, rgba(255,68,68,.35), rgba(255,68,68,.15));
  border:1px solid rgba(255,68,68,.35); font-size:22px;
}
.feature-card h3{margin:0; color:#fff; font-size:1.1rem; font-weight:800}
.feature-card p{color:#ececf3; margin:4px 0 0 0}
.cards.three{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
@media(max-width:900px){.cards.three{grid-template-columns:1fr}}


/* ===== Hero image fit + centered text + contrast (v28) ===== */
.page-hero{
  position:relative;
  display:grid;
  place-items:center;
  text-align:center;
  min-height:48vh;
}
.page-hero.has-bg{
  background-position:center;
  background-repeat:no-repeat;
}
/* Use this on pages where we don't want cropping */
.page-hero.hero-fit{
  background-size:cover;      /* fit image inside the hero without cropping */
  background-color:#141414;     /* subtle fill for letterboxing */
}
/* Contrast layer for readability */
.page-hero::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.45));
  z-index:0;
}
.page-hero .hero-inner{
  position:relative; z-index:1;
  padding:40px 20px;
  color:#fff;
  text-shadow: 0 2px 14px rgba(0,0,0,.35);
}
.page-hero .hero-inner h1,
.page-hero .hero-inner h2{ margin:0 0 8px 0; font-weight:800 }
.page-hero.small{ min-height:42vh; }
@media (min-width: 900px){
  .page-hero{ min-height:56vh; }
  .page-hero.small{ min-height:48vh; }
}


/* ===== Contact page: Map + Form + Accordion layout (v30) ===== */
.map-card {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.08);

  /* Ensure consistent height */
  height: 500px; /* adjust to what you had before */
}

.map-card iframe {
  width: 100%;
  height: 100%;  /* fill parent instead of fixed inline height */
  border: 0;
}
.map-card.wide-short {
  max-width: 100%;      /* takes full container width */
  height: 240px;        /* shorter height */
  margin: 0 auto;       /* centered if narrower container */
}
.map-card.wide-short iframe {
  width: 100%;
  height: 100%;
}
.contact-grid{
  display:grid; grid-template-columns: 1.2fr .9fr; gap:22px;
}
@media (max-width: 1000px){
  .contact-grid{ grid-template-columns:1fr; }
}
.card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  box-shadow:0 12px 28px rgba(0,0,0,.35);
  padding:20px;
}
.card h3{ margin:0 0 12px 0; font-weight:800; color:#fff }

/* Form styling */
.contact-form .row{ display:flex; flex-direction:column; gap:6px; margin-bottom:12px; }
.contact-form label{ color:#ddd; font-size:.95rem }
.contact-form input, .contact-form textarea{
  background:#1f1f1f; color:#fff; border:1px solid rgba(255,255,255,.14);
  border-radius:10px; padding:10px 12px; outline:none; transition:border-color .2s ease, box-shadow .2s ease;
}
.contact-form input:focus, .contact-form textarea:focus{
  border-color:#ff4d4d; box-shadow:0 0 0 3px rgba(255,77,77,.18);
}

/* Accordion v2 */
.accordion.v2{ display:grid; gap:10px; }

.accordion.v2 .accordion-item{
  border-radius:12px; overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(32,32,32,.92);
  transition: border-color .25s ease, transform .2s ease, box-shadow .25s ease;
}
.accordion.v2 .accordion-item:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.2);
  box-shadow: 0 10px 24px rgba(0,0,0,.35);
}
.accordion.v2 .accordion-header{
  width:100%; text-align:left; padding:14px 16px; font-weight:700; color:#fff; background:none; border:0; cursor:pointer;
  display:flex; align-items:center; gap:10px;
}
.accordion.v2 .accordion-header .icon svg,
.accordion.v2 .accordion-header .arrow svg{
  stroke: var(--red, #D92C2C);
  transition: transform .3s ease, stroke .25s ease;
}
.accordion.v2 .accordion-header:hover{
  color: var(--red, #D92C2C);
}
.accordion.v2 .accordion-item.active .accordion-header .arrow svg{
  transform: rotate(180deg);
}
.accordion.v2 .accordion-body{
  max-height:0; overflow:hidden; opacity:.75;
  padding:0 16px;
  transition:max-height .35s ease, padding .35s ease, opacity .35s ease, border-left-color .25s ease;
  border-left:4px solid transparent;
}
.accordion.v2 .accordion-item.active .accordion-body{
  max-height:260px;
  padding:12px 16px 16px;
  opacity:1;
  border-left-color: var(--red, #D92C2C);
}
.accordion.v2 .accordion-body p{
  margin:5px 0; color:#e6e6e6;
}

/* Buttons stay consistent */
.btn-primary{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 16px; border-radius:12px; font-weight:700; line-height:1;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,var(--red,#ff4d4d),var(--accent-2,#ff6b6b));
  color:#fff !important; transition:transform .15s ease, box-shadow .2s ease, color .2s ease;
}
.btn-primary:hover{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(255,68,68,.25); color:#fff !important; }

/* ===== About split: equal height on desktop, stacked on mobile ===== */
.split{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;  /* photo | text */
  gap:32px;
  align-items:stretch;                  /* key: make children equal height */
}

/* Make both sides stretch full height; center text nicely */
.split-media, .split-content{
  display:flex;
  align-items:stretch;
}

/* Image fills its column neatly */
.media-frame{
  position:relative;
  display:block;
  width:100%;
  height:100%;                          /* match text height */
  overflow:hidden;
  border-radius:16px;                   /* keep your rounded look */
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 28px rgba(0,0,0,.35);
  background:#1a1a1d;                   /* subtle fallback behind image */
}
.media-frame img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;                      /* no squish; fill nicely */
}

/* Text panel fills column height and is vertically pleasing */
.text-panel{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:22px 22px;
  box-shadow:0 12px 28px rgba(0,0,0,.35);
  display:flex;
  flex-direction:column;
  justify-content:center;                /* vertically center inside panel */
}

/* Tweak inner spacing for headings/lists */
.text-panel h2{ margin:0 0 8px 0; }
.text-panel h3{ margin:14px 0 6px 0; }
.text-panel p{ margin:0 0 10px 0; }
.text-panel .checks{ margin:10px 0 0 0; }

/* Responsive: stack photo over text on mobile */
@media (max-width: 900px){
  .split{ grid-template-columns:1fr; gap:18px; }
  .media-frame{ height:auto; }          /* let image define height on mobile */
  .media-frame img{ height:auto; object-fit:cover; }
  .text-panel{ padding:18px; }
}

/* Footer cleanup */
.site-footer {
  background:#0a0a0c;
  border-top:1px solid #1d1d22;
  padding-top:36px;
  margin-top:40px;
  color:#e5e5ea;
}

.footer-grid {
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:24px;
  text-align:left; /* left-aligned all text */
}

.footer-grid h4 {
  margin-bottom:12px;
  color:#fff;
  font-weight:700;
}

.footer-links {
  list-style:none; /* remove bullets */
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:8px; /* even vertical spacing */
}

.footer-links li {
  margin:0;
}

.footer-links a {
  color:#e5e5ea;
  text-decoration:none;
  transition:color .2s ease;
}

.footer-links a:hover {
  color:var(--red,#D92C2C);
}

.footer-brand {
  text-align:left;
}

.footer-brand img {
  height:44px;
  margin-bottom:10px;
}

.footer-brand p {
  font-size:.95rem;
  color:#c9c9d1;
}

.copyright {
  border-top:1px solid #1d1d22;
  margin-top:20px;
  padding:14px 0;
  text-align:center;
  font-size:.9rem;
  color:#a8a8b4;
}

/* Responsive: stack columns on small screens */
@media(max-width:900px){
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:600px){
  .footer-grid { grid-template-columns:1fr; }
}

/* === Scroll-triggered animations base (standardized) === */
.will-animate {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.will-animate.in {
  opacity: 1;
  transform: translateY(0);
}

.in.fade-in, .in.fade-up { animation: fadeInUp .9s forwards; }
.in.slide-in-left  { animation: slideInLeft .9s forwards; }
.in.slide-in-right { animation: slideInRight .9s forwards; }

@keyframes fadeInUp {
  from { opacity:0; transform:translateY(20px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes slideInLeft {
  from { opacity:0; transform:translateX(-30px); }
  to   { opacity:1; transform:translateX(0); }
}
@keyframes slideInRight {
  from { opacity:0; transform:translateX(30px); }
  to   { opacity:1; transform:translateX(0); }
}

/* Full-width (bleed) sections */
/* Break a section out of any centered container and span full viewport width */
.full-bleed{
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}

/* Keep inner content aligned and constrained */
.full-bleed > .container{
  width: min(1100px, 92%);
  margin-inline: auto;
}

/* Backgrounds for the two sections */
.testimonials.full-bleed,
.cta-band.full-bleed {
  background: transparent;
}

/* Avoid horizontal scrollbars due to bleed */
html, body { overflow-x: hidden; }

/* Slightly tighter, more “designed” process grid */
.process-grid{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:18px;
}
.process-step{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:20px;
  box-shadow:0 12px 28px rgba(0,0,0,.35);
  transition: transform .2s ease, box-shadow .25s ease, border-color .25s ease;
}
.process-step:hover,
.process-step:focus-within{
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 18px 40px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.06), 0 0 0 6px rgba(255,68,68,.08);
  border-color: rgba(255,255,255,.16);
}
.process-step .step-num{
  font-weight:900; font-size:1.1rem; color:#fff; opacity:.9; margin-bottom:4px;
}
.process-step h3{ margin:4px 0 6px; color:#fff; }

/* Coverage block */
.coverage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center;
}
.coverage ul { margin:0; padding:0; }
.coverage ul li { margin:12px 0; }
.map-card iframe { width:100%; height:100%; border-radius:16px; }
@media(max-width: 900px){
  .coverage { grid-template-columns: 1fr; }
}

.map-card img{ width:100%; display:block; border-radius:16px; }

@media(max-width: 900px){
  .process-grid{ grid-template-columns:1fr 1fr; }
  .coverage{ grid-template-columns:1fr; }
}

/* Full-bleed utility for CTA band (keeps content aligned) */
.full-bleed{
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}
.full-bleed > .container{ width:min(1100px,92%); margin-inline:auto; }

/* Coverage block map sizing */
.coverage-block .map-card {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.08);
}

/* Shorter height but full width of its column */
.coverage-block .map-card.map-short {
  width: 100%;
  height: 320px;           /* adjust between 240–320 to taste */
}

.coverage-block .map-card iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* Align content nicely on desktop; stack on mobile (your .split already does this) */
.coverage-block.split {
  align-items: center;     /* vertical balance */
  gap: 28px;               /* a bit more breathing room */
}
@media (max-width: 900px){
  .coverage-block .map-card.map-short { height: 220px; } /* slightly shorter on mobile */
}

/* Slides stack but only the active one should receive pointer events */
.slider { position: relative; }
.slide  { position: absolute; inset: 0; pointer-events: none; }
.slide.active {
  opacity: 1;
  transform: scale(1.05);
  pointer-events: auto;   /* <— now buttons work reliably */
  z-index: 2;
}

/* Keep hero text above any overlays */
.slider .hero-content { position: absolute; z-index: 3; }
.slider .dots{
  position:absolute;
  bottom:12px; left:50%; transform:translateX(-50%);
  display:flex; gap:8px;
  z-index:10;          /* above slides */
}
.slider .dots button{ width:10px; height:10px; border-radius:50%; border:0; background:#666; opacity:.7; cursor:pointer }
.slider .dots button.active{ background:var(--red); opacity:1 }

/* Keep textareas inside the form & only vertical resize */
.contact-form textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  resize: vertical;          /* no horizontal dragging */
  min-height: 140px;
  max-height: 420px;         /* cap growth to avoid layout blowouts */
}

/* Optional: ensure the form doesn't show accidental overflow */
.contact-form { overflow: hidden; }
/* Promo section for sister company */
.promo-card {
  text-align: center;
  margin: 0 auto;
  max-width: 720px;
  background: linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
  transition: transform .25s ease, box-shadow .25s ease;
}
.promo-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(0,0,0,.45), 0 0 0 6px rgba(255,68,68,.08);
}
.promo-card .card-emoji {
  font-size: 2rem;
  margin-bottom: 10px;
  background: radial-gradient(circle at 30% 30%, rgba(255,68,68,.35), rgba(255,68,68,.15));
  border: 1px solid rgba(255,68,68,.35);
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  width: 52px;
  height: 52px;
}

/* ===== Section Divider ===== */
.section-divider{
  position: relative;
  width:min(1100px,92%);
  margin: 36px auto 22px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
}
.section-divider .divider-label{
  position:absolute; left:50%; top:50%;
  transform: translate(-50%,-50%);
  padding:6px 12px; font-size:.85rem; letter-spacing:.2px;
  color:#fff;
  background: linear-gradient(160deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
  white-space:nowrap;
}

/* ===== Accent Band for Sister Company Promo ===== */
.accent-band{
  position:relative;
  padding: 48px 0;
  background:
    radial-gradient(900px 420px at 50% 0%, rgba(255,68,68,.06), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

/* ===== Promo Card ===== */
.promo-card{
  display:flex; align-items:flex-start; gap:18px;
  margin-top:22px;
  padding:22px; border-radius:16px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 28px rgba(0,0,0,.35);
}
.promo-icon{
  font-size:2rem; flex-shrink:0;
  background: radial-gradient(circle at 30% 30%, rgba(255,68,68,.35), rgba(255,68,68,.15));
  border:1px solid rgba(255,68,68,.35);
  width:52px; height:52px; display:grid; place-items:center;
  border-radius:14px;
}
.promo-content h3{ margin:0 0 8px; color:#fff }
.promo-content p{ margin:0 0 14px; color:#ddd }


/* CTA band stays darker black */
.cta-band {
  background: #0b0b0c; /* pure black feel */
  text-align: center;
  padding: 70px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  position: relative;
}

/* Optional subtle red glow inside CTA */
.cta-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% -30%, rgba(255,68,68,0.08), transparent 70%);
  pointer-events: none;
}
/* --- CTA band (force the black look) --- */
.cta-band.full-bleed{
  background:#0b0b0c !important;   /* override earlier transparent rule */
  text-align:center;
  padding:70px 0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  position:relative;
  z-index:0;
}

/* soft inner glow so it feels intentional */
.cta-band.full-bleed::before{
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(circle at 50% -30%, rgba(255,68,68,.10), transparent 70%);
  pointer-events:none;
  z-index:-1;
}

/* ===== "Also from Delve" Section Label ===== */
.section-label {
  display: inline-block;
  background: linear-gradient(135deg, rgba(255,68,68,.9), rgba(255,68,68,.65));
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 6px 14px;
  border-radius: 999px; /* pill look */
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
  margin-bottom: 20px;
  position: relative;
  z-index: 2;
}

/* Optional subtle glow effect */
.section-label::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: inherit;
  background: radial-gradient(circle at center, rgba(255,68,68,.2), transparent 70%);
  z-index: -1;
}


