:root{
  --bg:#fff8fb;
  --bg-soft:#fff1f7;
  --card:#ffffff;
  --text:#4e3d59;
  --text-dark:#33273d;
  --muted:#876d85;
  --line:rgba(122, 93, 126, .14);
  --primary:#f18bb8;
  --primary-2:#b892ff;
  --accent:#7ed6d1;
  --accent-soft:#ffe4ef;
  --shadow:0 24px 60px rgba(129, 90, 137, .18);
  --radius:22px;
  --radius-sm:16px;
  --container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#fffafc;
  color:#47364f;
  line-height:1.6;
}
img,video{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{
  width:min(var(--container), calc(100% - 32px));
  margin:0 auto;
}
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(14px);
  background:rgba(255,248,251,.82);
  border-bottom:1px solid rgba(197,160,194,.24);
}
.nav-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:86px;
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--text-dark);
  font-weight:700;
  flex-shrink:0;
}
.brand-logo{
  height:62px;
  width:auto;
  display:block;
}
.brand-text-wrap{
  display:flex;
  flex-direction:column;
  line-height:1;
}
.brand-text{
  display:block;
  letter-spacing:.2px;
  font-size:1.08rem;
  font-weight:800;
  color:var(--text-dark);
}
.brand-subtext{
  display:block;
  margin-top:6px;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}
.brand-mark{
  display:none;
}
.main-nav{
  display:flex;
  gap:26px;
  color:#755c77;
  font-weight:600;
}
.main-nav a:hover{color:var(--text-dark)}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 20px;
  border-radius:14px;
  font-weight:700;
  transition:.22s ease;
  border:1px solid transparent;
}
.btn:hover{transform:translateY(-1px)}
.btn-sm{padding:11px 16px;border-radius:12px}
.btn-primary{
  color:#fff;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  box-shadow:0 18px 40px rgba(241,139,184,.24);
}
.btn-secondary{
  color:var(--text-dark);
  background:rgba(255,255,255,.7);
  border-color:rgba(183,145,197,.28);
}
.btn-outline{
  color:var(--text-dark);
  background:rgba(255,255,255,.5);
  border-color:rgba(183,145,197,.35);
}
.btn-outline-dark{
  color:var(--text-dark);
  background:transparent;
  border-color:#cfbfd6;
}
.btn-block{width:100%}

.hero{
  position:relative;
  overflow:hidden;
  padding:78px 0 64px;
  background:
    radial-gradient(circle at top left, rgba(184,146,255,.24), transparent 36%),
    radial-gradient(circle at bottom right, rgba(241,139,184,.18), transparent 30%),
    linear-gradient(180deg,#fff4f9 0%, #fff8fc 55%, #fefcff 100%);
  color:var(--text);
}
.hero-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:42px;
  align-items:center;
}
.eyebrow{
  display:inline-block;
  margin-bottom:12px;
  color:#cf5f97;
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero h1{
  margin:0 0 16px;
  font-size:clamp(2.35rem,4vw,4.4rem);
  line-height:1.02;
  letter-spacing:-.03em;
  color:#3b2c45;
}
.hero-text{
  max-width:760px;
  color:#7a6880;
  font-size:1.08rem;
}
.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin:26px 0 28px;
}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.stat-card{
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(199, 164, 204, .24);
  background:rgba(255,255,255,.72);
  box-shadow:0 12px 30px rgba(170,132,174,.08);
}
.stat-card strong{
  display:block;
  margin-bottom:6px;
  font-size:1rem;
  color:#44324d;
}
.stat-card span{
  color:#7b6785;
  font-size:.92rem;
}

.media-slider{
  position:relative;
  padding:18px 18px 78px;
  border-radius:34px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(201, 164, 208, .24);
  box-shadow:var(--shadow);
}
.slider-badge{
  position:absolute;
  top:18px;
  left:18px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 20px;
  border-radius:999px;
  color:#fff;
  font-weight:700;
  background:linear-gradient(135deg,#e57eb0,#b18bff);
  box-shadow:0 10px 24px rgba(229,126,176,.22);
}
.slides{
  position:relative;
  min-height:540px;
  border-radius:28px;
  overflow:hidden;
}
.slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .45s ease, visibility .45s ease, transform .45s ease;
  transform:scale(1.02);
}
.slide.active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
}
.slide img,
.slide video{
  width:100%;
  height:540px;
  object-fit:cover;
  border-radius:28px;
}
.slide::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(57,41,70,.08) 20%, rgba(57,41,70,.58) 100%);
  border-radius:28px;
}
.slide-overlay{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:2;
  color:#fff;
}
.slide-tag{
  display:inline-block;
  margin-bottom:10px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.slide-overlay h3{
  margin:0 0 8px;
  font-size:1.5rem;
  line-height:1.12;
}
.slide-overlay p{
  margin:0;
  color:rgba(255,255,255,.88);
  max-width:440px;
}
.slider-controls{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.slider-arrow{
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:1.8rem;
  line-height:1;
  cursor:pointer;
  color:#5c4266;
  background:rgba(255,255,255,.86);
  box-shadow:0 10px 24px rgba(126, 93, 132, .16);
}
.slider-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 24px rgba(126, 93, 132, .10);
}
.dot{
  width:10px;
  height:10px;
  border:0;
  border-radius:50%;
  background:#d9c3d9;
  cursor:pointer;
  transition:transform .2s ease, background .2s ease;
}
.dot.active{
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  transform:scale(1.2);
}

.hero-glow{
  position:absolute;
  border-radius:999px;
  filter:blur(72px);
  opacity:.3;
}
.hero-glow-a{
  width:260px;height:260px;right:6%;top:8%;
  background:rgba(241,139,184,.42);
}
.hero-glow-b{
  width:320px;height:320px;left:-5%;bottom:-10%;
  background:rgba(184,146,255,.34);
}

.section{padding:88px 0}
.section-muted{background:#fff4f9}
.section-gradient{
  background:
    radial-gradient(circle at top right, rgba(184,146,255,.16), transparent 28%),
    radial-gradient(circle at left, rgba(126,214,209,.18), transparent 26%),
    linear-gradient(180deg,#fffafd,#fff4fa);
}
.section-head{
  max-width:830px;
  margin-bottom:34px;
}
.section-head h2,
section h2{
  margin:0 0 12px;
  font-size:clamp(1.9rem,3vw,3rem);
  line-height:1.08;
  letter-spacing:-.03em;
  color:#3c2f48;
}
.section-head p,
.lead{color:#7a6983;font-size:1.05rem}

.cards.three-up{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.service-card,
.results-card,
.form-card,
.info-card,
.payment-card{
  background:#fff;
  border:1px solid #f0dfe8;
  border-radius:24px;
  box-shadow:0 16px 40px rgba(161,122,169,.08);
}
.service-card{
  padding:26px;
}
.icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  font-size:1.4rem;
  margin-bottom:18px;
  color:#6a4c76;
  background:linear-gradient(135deg,#ffe7f0,#f0e8ff);
}
.service-card h3{margin:0 0 10px;color:#3d3047}
.service-card p{margin:0 0 14px;color:#74667c}
.service-card ul{
  margin:0;
  padding-left:18px;
  color:#4a3c55;
}
.service-card li+li{margin-top:7px}

.solutions-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:24px;
  align-items:center;
}
.check-list{
  display:grid;
  gap:14px;
  margin-top:20px;
}
.check-list div{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px 16px;
  border-radius:16px;
  background:#fff;
  border:1px solid #f1e1ea;
}
.check-list span{
  color:#d65f98;
  font-weight:800;
}
.results-card{
  padding:28px;
}
.results-card h3{margin:0 0 18px;color:#3c2f47}
.metric-row{
  padding:16px 0;
  border-top:1px solid #f0e3ec;
}
.metric-row:first-of-type{border-top:0}
.metric-row strong{
  display:block;
  margin-bottom:4px;
  color:#3b3045;
}
.metric-row span{color:#776882}

.form-grid,
.payment-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:24px;
  align-items:start;
}
.form-card,
.info-card,
.payment-card{
  padding:28px;
}
.site-form{
  display:grid;
  gap:16px;
}
.form-row{
  display:grid;
  gap:8px;
}
.form-row.two-col{
  grid-template-columns:1fr 1fr;
  gap:14px;
}
label{
  font-size:.95rem;
  font-weight:600;
  color:#4d3a56;
}
input,select,textarea{
  width:100%;
  border:1px solid #ead6e2;
  background:#fffdfd;
  color:#3b2e45;
  border-radius:14px;
  padding:14px 15px;
  font:inherit;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease;
}
input:focus,select:focus,textarea:focus{
  border-color:#dba6c4;
  box-shadow:0 0 0 4px rgba(241,139,184,.12);
}
textarea{resize:vertical}
.form-note{
  margin:2px 0 0;
  color:#84708a;
  font-size:.92rem;
}
.success-message{
  min-height:22px;
  margin-top:2px;
  font-weight:600;
  color:#b64682;
}
.info-card p{color:#776981}
.mini-steps{
  display:grid;
  gap:14px;
  margin:18px 0 24px;
}
.mini-step{
  padding:14px 16px;
  border-radius:16px;
  background:#fff8fb;
  border:1px solid #f1e1ea;
}
.mini-step strong{
  display:block;
  margin-bottom:4px;
}
.code-box{
  border-radius:18px;
  background:#5a4265;
  color:#f9f3fa;
  padding:18px;
}
.code-title{
  margin:0 0 10px;
  color:#ffd6e8;
  font-weight:700;
}
.code-box pre{
  margin:0;
  white-space:pre-wrap;
  word-break:break-word;
  font-size:.9rem;
  line-height:1.5;
}

.payment-card{
  background:linear-gradient(180deg,#ffffff,#fff9fc);
}
.contact-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:34px;
  border-radius:26px;
  background:linear-gradient(135deg,#f093bd,#b695ff);
  color:#fff;
  box-shadow:var(--shadow);
}
.contact-banner h2{color:#fff;margin:6px 0 10px}
.contact-banner p{margin:0;color:rgba(255,255,255,.9)}
.contact-banner .eyebrow{color:#fff0f7}
.contact-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.site-footer{
  background:#fff1f7;
  color:#755f78;
  padding:28px 0;
  border-top:1px solid #f0dce8;
}
.footer-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.footer-wrap strong{color:#45334d}
.footer-wrap p{margin:4px 0 0}
.footer-note{color:#8d788d}

.section-soft{
  background:linear-gradient(180deg,#fff8fc,#fff1f7);
}
.centered{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.service-card-media{
  overflow:hidden;
  padding:0;
}
.service-image{
  width:100%;
  height:220px;
  object-fit:cover;
}
.service-body{
  padding:26px;
}
.showcase-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  gap:22px;
}
.showcase-card{
  position:relative;
  min-height:100%;
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  border:1px solid #eed8e8;
  box-shadow:0 16px 40px rgba(17,39,74,.08);
}
.showcase-card img{
  width:100%;
  height:100%;
  min-height:370px;
  object-fit:cover;
}
.showcase-large{
  grid-row:span 2;
}
.showcase-copy{
  position:absolute;
  left:22px;
  right:22px;
  bottom:22px;
  z-index:2;
  color:#fff;
}
.showcase-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(61,43,72,.08) 10%, rgba(61,43,72,.72) 100%);
}
.mini-eyebrow{
  display:inline-block;
  margin-bottom:10px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  color:#fff;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.showcase-copy h3,
.accent-card h3{
  margin:0 0 10px;
  line-height:1.15;
}
.showcase-copy p{
  margin:0;
  color:rgba(255,255,255,.88);
}
.accent-card{
  background:linear-gradient(180deg,#fff,#fff8fc);
}
.accent-card::after{display:none}
.accent-card-inner{
  height:100%;
  padding:30px;
}
.accent-card .mini-eyebrow{
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
}
.accent-card p{
  margin:0 0 18px;
  color:#6c5877;
}

/* Footer logo support */
.footer-brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.footer-logo{
  height:52px;
  width:auto;
  display:block;
}
.footer-brand-copy strong{
  display:block;
  margin-bottom:4px;
}
.footer-brand-copy p{
  margin:0;
}

/* Responsive */
@media (max-width: 1024px){
  .hero-grid,
  .cards.three-up,
  .solutions-grid,
  .form-grid,
  .payment-grid{
    grid-template-columns:1fr;
  }
  .hero-stats{grid-template-columns:1fr}
  .showcase-grid{grid-template-columns:1fr 1fr;}
  .showcase-large{grid-row:auto;grid-column:1 / -1;}
}
@media (max-width: 820px){
  .main-nav{display:none}
  .contact-banner,
  .footer-wrap,
  .nav-wrap{
    flex-direction:column;
    align-items:flex-start;
  }
  .slides,
  .slide img,
  .slide video{min-height:450px;height:450px}
  .brand-logo{height:54px}
  .brand-subtext{display:none}
  .footer-brand{
    justify-content:flex-start;
  }
}
@media (max-width: 640px){
  .hero{padding-top:44px}
  .section{padding:68px 0}
  .form-row.two-col{grid-template-columns:1fr}
  .hero-actions,.contact-actions{width:100%}
  .hero-actions .btn,.contact-actions .btn{width:100%}
  .media-slider{padding:14px 14px 76px}
  .slider-badge{left:12px;top:12px;padding:12px 16px;font-size:.95rem}
  .slides{min-height:460px;}
  .slide img,.slide video{height:460px;}
  .slider-controls{left:12px;right:12px;bottom:12px;}
  .slide-overlay{left:18px;right:18px;bottom:20px}
  .slide-overlay h3{font-size:1.2rem}
  .showcase-grid{grid-template-columns:1fr;}
  .brand-logo{height:46px}
  .brand-text{font-size:1rem}
  .footer-logo{height:44px}
}
