:root{
  --w1d-radius: 1.25rem;
  --w1d-radius-sm: .9rem;
}

body{
  padding-top:92px;
  /* Premium ambient background (keeps the template fast, but feels "designed") */
  background:linear-gradient(180deg, #f4f9ff 0%, #ffffff 44%, #ffffff 100%);
}

/* Soft ambient glow behind header/hero (very lightweight) */
body::before{
  content:"";
  position:fixed;
  inset:-240px -160px auto -160px;
  height:460px;
  background:
    radial-gradient(circle at 18% 60%, rgba(56,189,248,.22), rgba(56,189,248,0) 58%),
    radial-gradient(circle at 70% 45%, rgba(255,193,7,.22), rgba(255,193,7,0) 58%);
  filter:blur(10px);
  pointer-events:none;
  z-index:-1;
}

/* Reduce brand text clutter: logo-first header */
.navbar-w1d .navbar-brand{padding-top:.25rem;padding-bottom:.25rem}
/* Bigger, more visible logo (matches the generated comp feel) */
.navbar-w1d .navbar-brand img.brand-logo{height:80px;width:auto}
@media (max-width: 991.98px){.navbar-w1d .navbar-brand img.brand-logo{height:64px}}

/* Header refinement (light, premium, slightly dimensional) */
.navbar-w1d{
  background:linear-gradient(90deg, rgba(248,251,255,.98), rgba(255,255,255,.98));
  box-shadow:0 10px 26px rgba(2,6,23,.08);
}
.navbar{backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px)}
.navbar-brand img{display:block}
.nav-link-quiet{opacity:.75;font-weight:600}
.nav-link-quiet:hover{opacity:1}

/* Buttons: less "pill", more premium confidence */
.btn{border-radius:var(--w1d-radius-sm)}
.btn-cta{box-shadow:0 10px 22px rgba(0,0,0,.18)}
.btn-ghost{border-width:2px}

.card{border-radius:var(--w1d-radius)}
.section-muted{background:rgba(15,23,42,.035)}
.navbar .btn{white-space:nowrap}

/* Services page hero (clean, premium) */
.services-hero{background:linear-gradient(180deg, rgba(15,23,42,.06), rgba(15,23,42,0));border-bottom:1px solid rgba(15,23,42,.06)}
.services-eyebrow{letter-spacing:.14em;opacity:.8}

/* Decision tiles (product-like service cards) */
.tile{border-radius:var(--w1d-radius);background:#fff;border:1px solid rgba(15,23,42,.10);box-shadow:0 12px 28px rgba(2,6,23,.08);overflow:hidden;position:relative}
.tile--product::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg, rgba(56,189,248,.45), rgba(255,193,7,.35), rgba(15,23,42,0) 70%);-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.75}
.tile__media{background:#0b1220}
.tile__img{filter:saturate(1.05) contrast(1.02)}
.tile__body{padding:1.25rem 1.25rem 1.35rem}
.tile__bullets{margin:0;padding-left:1.1rem;color:rgba(15,23,42,.78)}
.tile__bullets li{margin:.35rem 0}

/* HERO: Madison Ave split layout */
.hero-split{
  position:relative;
  overflow:hidden;
  border-radius:var(--w1d-radius);

  /* Base: deep navy */
  background-color:#0b1220;

  /* Ambient glows + subtle star texture (no heavy assets) */
  background-image:
    radial-gradient(1200px 520px at 15% 40%, rgba(56,189,248,.10), rgba(56,189,248,0) 60%),
    radial-gradient(900px 480px at 70% 35%, rgba(255,193,7,.12), rgba(255,193,7,0) 62%),
    radial-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:auto, auto, 22px 22px, 34px 34px;
  background-position:0 0, 0 0, 0 0, 12px 8px;
}
/* Subtle premium depth (inspired by high-end sliders, but lightweight) */
.hero-split::before{content:"";position:absolute;inset:-40% -20% auto auto;width:520px;height:520px;background:radial-gradient(circle at 30% 30%, rgba(255,193,7,.35), rgba(255,193,7,0) 60%),radial-gradient(circle at 70% 70%, rgba(56,189,248,.25), rgba(56,189,248,0) 55%);filter:blur(2px);opacity:.85;transform:translate3d(0,0,0);animation:w1dFloatBlob 10s ease-in-out infinite;pointer-events:none}
.hero-split::after{content:"";position:absolute;left:-140px;top:-120px;width:340px;height:340px;background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.10), rgba(255,255,255,0) 65%);filter:blur(0px);opacity:.55;animation:w1dFloatBlob2 12s ease-in-out infinite;pointer-events:none}
.hero-split__content{padding:3.25rem 3rem;color:#fff}
.hero-eyebrow{opacity:.8;letter-spacing:.14em}
.hero-title{font-weight:800;line-height:1.02;font-size:clamp(2.1rem, 3.5vw, 3.35rem)}
.hero-title__accent{color:#ffc107}
.hero-sub{font-size:clamp(1.05rem, 1.35vw, 1.35rem);opacity:.92;max-width:42ch}
.hero-trust{font-size:.95rem;opacity:.86}
.hero-trust__dot{margin:0 .55rem;opacity:.75}

.hero-split__media{position:relative;min-height:360px}
.hero-split__mediaInner{position:absolute;inset:0}
.hero-split__img{width:100%;height:100%;object-fit:cover;display:block}
/* Stronger on the left, lighter to the right */
.hero-split__mediaOverlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(11,18,32,.92) 0%, rgba(11,18,32,.55) 45%, rgba(11,18,32,.15) 100%)}

/* Hero FX elements */
.hero-fx{position:absolute;pointer-events:none;}
.hero-fx--ring{right:-120px;top:-140px;width:420px;height:420px;border-radius:999px;background:radial-gradient(circle at center, rgba(255,193,7,.22) 0%, rgba(255,193,7,0) 55%);filter:blur(0px);opacity:.9;animation:w1dRingPulse 8s ease-in-out infinite}
.hero-fx--dots{right:38px;bottom:22px;width:220px;height:160px;opacity:.55;background-image:radial-gradient(rgba(255,255,255,.28) 1px, transparent 1px);background-size:10px 10px;mask-image:linear-gradient(180deg, transparent, #000 25%, #000 80%, transparent)}

/* Badge now matches the generated comp: bottom-right, darker, with glow + icon */
.hero-badge{
  position:absolute;
  right:22px;
  bottom:18px;
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.75rem 1rem;
  border-radius:18px;
  background:rgba(11,18,32,.72);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.45);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transform:translateZ(0);
  animation:w1dBadgeFloat 7s ease-in-out infinite;
}
.hero-badge__icon{width:40px;height:40px;filter:drop-shadow(0 10px 18px rgba(255,193,7,.30))}
.hero-badge__top{font-size:.72rem;font-weight:900;letter-spacing:.12em;opacity:.92;text-transform:uppercase}
.hero-badge__big{font-size:1.05rem;font-weight:900;line-height:1.05;color:#ffc107}

@media (max-width: 991.98px){
  body{padding-top:84px}
  .navbar-w1d .navbar-brand img{height:64px}
  .hero-split__content{padding:2.25rem 1.5rem}
  .hero-split__media{min-height:260px}
  .hero-split__mediaOverlay{background:linear-gradient(180deg, rgba(11,18,32,.88) 0%, rgba(11,18,32,.35) 55%, rgba(11,18,32,.10) 100%)}
  .hero-badge{right:14px;bottom:12px;padding:.6rem .8rem;border-radius:16px}
  .hero-badge__icon{width:34px;height:34px}
}

@keyframes w1dFloatBlob{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-20px,18px) scale(1.05)}}
@keyframes w1dFloatBlob2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(18px,-14px) scale(1.07)}}
@keyframes w1dRingPulse{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}
@keyframes w1dBadgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}

/* Mobile sticky CTA bar */
.mobile-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:1030;background:rgba(0,0,0,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.12)}
@media (max-width: 991.98px){
  body{padding-bottom:88px}
  .mobile-sticky-cta .btn{padding:.9rem 1rem}
}