:root{--bg:#fff4f8;--surface:#fff;--surface-soft:#ffecf6;--surface-box:#ffdff3;--text:#46223e;--muted:#774e6d;--line:#cf9ec1;--primary:#8037b1;--primary-dim:#7329a4;--primary-soft:#cb80fe;--secondary:#b6004f;--secondary-soft:#ffc2cd;--dark:#20031c}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
body{margin:0;padding-top:66px;background:var(--bg);color:var(--text);font-family:"Manrope",sans-serif;overflow-x:hidden;max-width:100%}
h1,h2,h3,h4,h5,h6{font-family:"Plus Jakarta Sans",sans-serif}
.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24;line-height:1}
.site-header{top:0;z-index:1052;background:rgba(255,244,248,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(207,158,193,.2)}
.site-logo{height:40px;width:auto}
.navbar-toggler{position:relative;z-index:1051}
.nav-link-custom{padding:0!important;color:var(--muted)!important;font-size:.95rem;font-weight:700;text-decoration:none}
.nav-link-custom:hover{color:var(--primary)!important}
.btn-outline-brand{border:1px solid rgba(128,55,177,.28);background:transparent;color:var(--primary);font-weight:800}
.btn-outline-brand:hover{border-color:var(--primary);background:rgba(128,55,177,.08);color:var(--primary)}
.btn-primary-brand{border:0;color:#fdeeff;background:linear-gradient(90deg,var(--primary),var(--primary-dim));font-weight:800;box-shadow:0 30px 90px rgba(128,55,177,.22)}
.btn-primary-brand:hover{color:#fdeeff;background:linear-gradient(90deg,var(--primary-dim),var(--primary))}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 18% 20%,rgba(255,173,189,.45),transparent 28%),radial-gradient(circle at 82% 12%,rgba(203,128,254,.5),transparent 30%),radial-gradient(circle at 60% 72%,rgba(247,75,109,.18),transparent 26%),linear-gradient(135deg,#8037b1 0%,#6f2aa0 35%,#b6004f 100%)}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent);opacity:.35}
.hero-content{position:relative;z-index:1;min-height:calc(100vh - 68px);padding:3rem 0 2rem;display:flex;align-items:center}
.hero-brand-mark{display:flex;justify-content:center}
.hero-brand-mark img{width:168px;height:168px;display:block;opacity:.96}
.hero h1{max-width:860px;color:#fff;font-size:clamp(2.55rem,5vw,4.5rem);line-height:1.02;font-weight:800;letter-spacing:-.035em}
.hero h1 span{color:var(--secondary-soft)}
.hero p{max-width:640px;color:rgba(255,255,255,.78);font-size:1rem;line-height:1.75;font-weight:600}
.btn-hero-light{padding:1rem 2rem;border:0;border-radius:1rem;background:#fff;color:var(--primary);font-weight:800;box-shadow:0 24px 60px rgba(0,0,0,.18)}
.btn-hero-light:hover{background:var(--surface-soft);color:var(--primary)}
.btn-hero-outline{padding:1rem 2rem;border:1px solid rgba(255,255,255,.2);border-radius:1rem;background:rgba(255,255,255,.1);color:#fff;font-weight:700;backdrop-filter:blur(12px)}
.btn-hero-outline:hover{background:rgba(255,255,255,.16);color:#fff}
.glass-card{height:100%;border:1px solid rgba(255,255,255,.1);border-radius:1.25rem;background:rgba(255,255,255,.1);padding:1.1rem;backdrop-filter:blur(12px)}
.glass-value{color:#fff;font-size:1.75rem;font-weight:800}
.glass-label{margin-top:.3rem;color:rgba(255,255,255,.65);font-size:.9rem}
.preview-wrap{position:relative}
.preview-wrap:before{content:"";position:absolute;inset:-1.5rem;border-radius:2rem;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);filter:blur(24px)}
.preview-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:2rem;background:rgba(37,11,39,.7);box-shadow:0 40px 120px rgba(128,55,177,.2);backdrop-filter:blur(20px)}
.preview-head{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}
.preview-kicker,.tiny-up{font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.preview-kicker{color:rgba(255,255,255,.55)}
.preview-title{margin-top:.35rem;color:#fff;font-size:1.3rem;font-weight:800}
.status-pill{padding:.4rem .75rem;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.preview-body{padding:1.5rem}
.preview-box{height:100%;border-radius:1.25rem;background:rgba(255,255,255,.1);padding:1rem}
.preview-box .label{color:rgba(255,255,255,.55);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.preview-box .value{margin-top:.5rem;color:#fff;font-size:1.55rem;font-weight:800}
.service-panel{border-radius:1.75rem;background:#fff;padding:1.4rem;box-shadow:0 20px 60px rgba(70,34,62,.08)}
.service-badge{padding:.45rem .75rem;border-radius:999px;background:var(--secondary-soft);color:var(--secondary);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.service-line{display:flex;justify-content:space-between;gap:1rem;border-radius:1rem;background:var(--surface-soft);padding:.9rem 1rem}
.service-line span:first-child,.section-copy{color:var(--muted)}
.service-line span:last-child{font-weight:800}
.mini-card{height:100%;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:rgba(255,255,255,.05);padding:1rem;text-align:center}
.mini-card strong{display:block;color:#fff;font-size:1.1rem}
.mini-card span{display:block;margin-top:.35rem;color:rgba(255,255,255,.55);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.ticker{border-top:1px solid rgba(207,158,193,.1);border-bottom:1px solid rgba(207,158,193,.1);background:#fff}
.ticker .dot{width:4px;height:4px;border-radius:50%;background:var(--line)}
.section-soft{background:#fff;overflow-x:clip}
.section-base{background:var(--bg);overflow-x:clip}
.section-muted{background:var(--surface-soft);overflow-x:clip}
.section-kicker{color:var(--primary);font-size:.82rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.section-title{color:var(--text);font-size:clamp(2rem,4vw,3.15rem);font-weight:800;line-height:1.1}
.section-copy{font-size:.95rem;line-height:1.9}
.soft-card,.bento,.step-card,.testimonial,.faq-item{height:100%;border:1px solid rgba(207,158,193,.12);border-radius:1.75rem;background:#fff;box-shadow:0 20px 60px rgba(70,34,62,.08)}
.soft-card,.step-card,.testimonial{padding:1.5rem}
.soft-chip{display:inline-flex;align-items:center;padding:.35rem .8rem;border-radius:999px;background:var(--surface-box);color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.link-strong{text-decoration:none;color:var(--primary);font-size:.9rem;font-weight:800}
.accent-primary{color:var(--primary)}
.accent-secondary{color:var(--secondary)}
.bento{padding:2rem}
.bento.alt{background:linear-gradient(135deg,var(--secondary),#a00045);color:#fff;box-shadow:0 40px 120px rgba(128,55,177,.2)}
.feature-icon{
  width:72px;
  height:72px;
  flex:0 0 72px;
  border-radius:1.35rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.3);
  box-shadow:0 18px 44px rgba(70,34,62,.12), inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter:blur(10px);
}
.feature-icon .material-symbols-outlined{
  font-size:2rem;
  font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 24;
}
.feature-icon::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0));
  pointer-events:none;
}
.feature-primary{background:linear-gradient(135deg,rgba(203,128,254,.3),rgba(128,55,177,.16));color:var(--primary)}
.feature-secondary{background:linear-gradient(135deg,rgba(255,194,205,.48),rgba(182,0,79,.14));color:var(--secondary)}
.step-card{border-radius:2rem;transition:transform .2s ease}
.step-card:hover{transform:translateY(-4px)}
.step-number{width:64px;height:64px;border-radius:1rem;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:900;box-shadow:0 18px 36px rgba(0,0,0,.14)}
.step-number.primary{background:var(--primary)}
.step-number.secondary{background:var(--secondary)}
.stars{color:var(--secondary)}
.faq-item{border-radius:1.5rem}
.faq-item summary{list-style:none;cursor:pointer;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:800;color:var(--text)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-answer{border-top:1px solid rgba(207,158,193,.12);padding:1rem 1.5rem 1.5rem;color:var(--muted);font-size:.95rem;line-height:1.9}
.faq-item[open] .faq-icon{transform:rotate(180deg)}
.faq-icon{color:var(--primary);transition:transform .2s ease}
.footer{background:var(--dark);color:#fff;overflow-x:clip}
.footer-copy,.footer-links a{color:var(--inverse-on-surface,#be8fb0);text-decoration:none}
.footer-links a:hover{color:#fff}
.footer-box{border:1px solid rgba(255,255,255,.1);border-radius:1.5rem;background:rgba(255,255,255,.05);padding:1.25rem}
.video-modal .modal-content{background:rgba(17,2,22,.72);border:1px solid rgba(255,255,255,.08);border-radius:1.75rem;backdrop-filter:blur(12px)}
.video-modal .modal-header{padding:1rem 1rem 0;border:0}
.video-modal .btn-close{filter:invert(1);opacity:.9}
.video-frame-wrap{position:relative;width:100%;padding-top:min(56.25%,78vh);border-radius:1.25rem;overflow:hidden;background:#000}
.video-frame-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-modal .modal-body{padding:0 1rem 1rem}
.video-empty{display:flex;align-items:center;justify-content:center;min-height:min(56.25vw,70vh);border-radius:1.25rem;background:linear-gradient(135deg,rgba(128,55,177,.35),rgba(182,0,79,.35));color:#fff;text-align:center;padding:2rem}
.video-empty strong{display:block;font-size:1.1rem}
.video-empty span{display:block;margin-top:.75rem;color:rgba(255,255,255,.8)}
@media (max-width:991.98px){
  .hero-content{padding:4.5rem 0}
  .site-header .container-xl{position:relative}
  .navbar-collapse{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    left:0;
    width:100vw;
    height:100vh;
    min-height:100dvh;
    z-index:1050;
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1.5rem;
    margin-top:0;
    border:0;
    border-radius:0;
    background:rgba(255,244,248,.985);
    padding:1.5rem 1.25rem;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-12px);
    transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
    overflow-y:auto;
  }
  .navbar-collapse.show{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .navbar-collapse .navbar-nav{
    gap:1rem!important;
    align-items:center;
    text-align:center;
  }
  .navbar-collapse .nav-link-custom{
    font-size:1.15rem;
    color:var(--text)!important;
  }
  .navbar-collapse .ms-lg-auto{
    margin-left:0!important;
    width:100%;
    max-width:22rem;
  }
  .navbar-collapse .btn{
    width:100%;
  }
  html.front-menu-open,body.front-menu-open{
    overflow:hidden;
  }
}
@media (max-width:767.98px){
  body{padding-top:68px}
  .container,.container-xl{max-width:100%;overflow-x:clip}
  .hero .container-xl{padding-left:1rem;padding-right:1rem}
  .hero .row{--bs-gutter-x:1rem}
  .hero-content{min-height:calc(100vh - 68px);padding:2.25rem 0 1.5rem}
  .hero-brand-mark img{width:132px;height:132px}
  .hero h1{max-width:100%;font-size:2.15rem;line-height:1.06;letter-spacing:-.025em}
  .btn-hero-light,.btn-hero-outline{width:100%;max-width:100%;padding:.95rem 1.15rem}
  .glass-card{padding:1rem}
  .glass-value{font-size:1.45rem}
  .glass-label{font-size:.82rem}
  .ticker .d-flex{justify-content:flex-start!important}
  .preview-head,.preview-body{padding:1.25rem}
}
