:root{
  --bd-primary:#0d6efd;
  --bd-accent:#ff3d7f;
  --bd-sun:#ffb703;
  --bd-mint:#00c2a8;
  --bd-dark:#0b1320;
  --bd-soft:#f6f8fb;
  --bd-soft2:#eef6ff;
  --bd-radius:1.25rem;
}

html,body{
  height:100%;
}

body{
  font-size:18px;
  color:#0b1320;
  background:radial-gradient(900px 500px at 10% 10%, rgba(255,61,127,0.10), rgba(255,255,255,0) 60%),
             radial-gradient(900px 500px at 90% 0%, rgba(13,110,253,0.12), rgba(255,255,255,0) 55%),
             radial-gradient(900px 500px at 80% 80%, rgba(0,194,168,0.10), rgba(255,255,255,0) 60%),
             #ffffff;
}

a{
  text-underline-offset:3px;
}

.navbar .nav-link{
  font-weight:500;
}

.brand-badge{
  width:36px;
  height:36px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--bd-primary),var(--bd-accent));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  box-shadow:0 10px 30px rgba(13,110,253,0.18);
}

.hero-section{
  position:relative;
  background:linear-gradient(135deg, rgba(13,110,253,0.10) 0%, rgba(255,61,127,0.10) 45%, rgba(255,183,3,0.10) 100%);
}

.hero-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(800px 420px at 10% 30%, rgba(255,61,127,0.18), rgba(255,255,255,0) 60%),
             radial-gradient(900px 460px at 85% 20%, rgba(13,110,253,0.18), rgba(255,255,255,0) 62%);
  pointer-events:none;
}

.hero-section .container{
  position:relative;
  z-index:1;
}

.hero-media{
  background:#fff;
  border:1px solid rgba(11,19,32,0.08);
}

.icon-bubble{
  width:44px;
  height:44px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(13,110,253,0.18), rgba(255,61,127,0.12));
  color:var(--bd-primary);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.btn-primary{
  box-shadow:0 14px 30px rgba(13,110,253,0.22);
}

.gallery-tile img{
  border:1px solid rgba(11,19,32,0.08);
}

.section-bright{
  background:linear-gradient(180deg, rgba(255,255,255,0.6), rgba(238,246,255,0.8));
}

.section-gradient{
  background:linear-gradient(135deg, var(--bd-primary) 0%, var(--bd-accent) 50%, var(--bd-mint) 100%);
}

.step-card{
  position:relative;
  overflow:hidden;
  border-radius:var(--bd-radius);
}

.step-card:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:radial-gradient(340px 220px at 20% 20%, rgba(255,183,3,0.22), rgba(255,255,255,0) 60%),
             radial-gradient(340px 220px at 85% 30%, rgba(255,61,127,0.20), rgba(255,255,255,0) 60%);
  pointer-events:none;
}

.step-number{
  position:absolute;
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(255,61,127,0.95), rgba(255,183,3,0.95));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  box-shadow:0 12px 26px rgba(255,61,127,0.22);
}

.review-card{
  border-radius:var(--bd-radius);
  border:1px solid rgba(11,19,32,0.08);
}

.review-card .card-body{
  background:linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(238,246,255,0.6) 100%);
  border-radius:var(--bd-radius);
}

.review-avatar{
  width:56px;
  height:56px;
  object-fit:cover;
  border:2px solid rgba(13,110,253,0.18);
}

.mini-feature{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(11,19,32,0.08);
  background:#ffffff;
  box-shadow:0 10px 24px rgba(11,19,32,0.06);
}

.mini-feature i{
  width:42px;
  height:42px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(0,194,168,0.18), rgba(13,110,253,0.14));
  color:var(--bd-dark);
}

.glass-card{
  background:rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,0.26);
  backdrop-filter:blur(10px);
}

.glass-icon{
  width:44px;
  height:44px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,0.20);
  color:#fff;
}

.site-footer{
  background:#ffffff;
}

.cta-card{
  background:linear-gradient(135deg, rgba(13,110,253,0.10), rgba(255,61,127,0.10));
  border:1px solid rgba(11,19,32,0.08);
}

.policy-card{
  border-color:rgba(11,19,32,0.08) !important;
}

.cookie-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1080;
  background:rgba(255,255,255,0.96);
  border-top:1px solid rgba(11,19,32,0.12);
  padding:14px 0;
  box-shadow:0 -10px 30px rgba(11,19,32,0.08);
}

.cookie-inner{
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}

.cookie-text{
  min-width:260px;
}

.cookie-actions{
  display:flex;
  gap:10px;
  align-items:center;
}

@media (prefers-reduced-motion: reduce){
  *{
    scroll-behavior:auto !important;
    transition:none !important;
    animation:none !important;
  }
}