:root{
  --purple-50:#f8f5ff;
  --purple-100:#efe7ff;
  --purple-200:#dfceff;
  --purple-300:#c7a9ff;
  --purple-400:#ac7cff;
  --purple-500:#9254f4;
  --purple-600:#7a3edb;
  --purple-700:#632fb8;
  --purple-800:#502791;
  --purple-900:#40216f;
  --text:#241d2d;
  --muted:#746b7d;
  --border:rgba(122,62,219,.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  min-height:100vh;
  margin:0;
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,Arial,sans-serif;
  background:
    radial-gradient(circle at 10% 8%,rgba(199,169,255,.52),transparent 28rem),
    radial-gradient(circle at 88% 18%,rgba(146,84,244,.22),transparent 26rem),
    linear-gradient(160deg,#fcfaff 0%,#f5efff 48%,#fff 100%);
}

a{color:var(--purple-700)}

.nav-shell{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.8);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-radius:1.25rem;
  box-shadow:0 14px 40px rgba(67,35,107,.08);
}

.brand-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  color:#fff;
  border-radius:15px;
  background:linear-gradient(145deg,var(--purple-500),var(--purple-800));
  box-shadow:0 12px 24px rgba(122,62,219,.28);
}

.brand-title{
  font-weight:800;
  letter-spacing:-.02em;
}

.nav-link{
  color:#5f5668;
  font-weight:700;
  border-radius:999px;
  padding:.55rem .9rem!important;
}

.nav-link:hover,.nav-link.active{
  color:var(--purple-800);
  background:var(--purple-100);
}

.hero{
  padding:5.5rem 0 3.2rem;
  text-align:center;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.48rem .8rem;
  border-radius:999px;
  color:var(--purple-800);
  background:rgba(255,255,255,.76);
  border:1px solid var(--border);
  font-size:.88rem;
  font-weight:800;
}

.hero h1{
  max-width:820px;
  margin:1.2rem auto .95rem;
  font-size:clamp(2.45rem,6vw,4.8rem);
  line-height:1.05;
  letter-spacing:-.045em;
  font-weight:900;
}

.gradient-text{
  background:linear-gradient(90deg,var(--purple-800),var(--purple-500));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.hero p{
  max-width:700px;
  margin:0 auto;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.8;
}

.btn-brand{
  color:#fff;
  border:0;
  border-radius:1rem;
  font-weight:800;
  padding:.8rem 1.2rem;
  background:linear-gradient(135deg,var(--purple-600),var(--purple-800));
  box-shadow:0 14px 28px rgba(99,47,184,.25);
}

.btn-brand:hover{
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 18px 32px rgba(99,47,184,.3);
}

.btn-soft{
  color:var(--purple-800);
  background:rgba(255,255,255,.76);
  border:1px solid var(--border);
  border-radius:1rem;
  font-weight:800;
  padding:.8rem 1.2rem;
}

.btn-soft:hover{
  color:var(--purple-900);
  background:#fff;
  border-color:rgba(122,62,219,.25);
}

.content-section{padding:1.5rem 0 5rem}

.glass-card{
  height:100%;
  padding:1.5rem;
  border-radius:1.4rem;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 18px 50px rgba(67,35,107,.08);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.icon-tile{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:var(--purple-700);
  font-size:1.25rem;
  background:linear-gradient(145deg,var(--purple-100),#fff);
  border:1px solid var(--border);
}

.card-title-custom{
  margin:.9rem 0 .45rem;
  font-size:1.18rem;
  font-weight:850;
  letter-spacing:-.02em;
}

.muted-copy{
  margin:0;
  color:var(--muted);
  line-height:1.75;
}

.faq .accordion-item{
  overflow:hidden;
  margin-bottom:.85rem;
  border:1px solid var(--border);
  border-radius:1rem!important;
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 28px rgba(67,35,107,.05);
}

.faq .accordion-button{
  font-weight:800;
  color:var(--text);
  background:transparent;
  box-shadow:none;
}

.faq .accordion-button:not(.collapsed){
  color:var(--purple-800);
  background:var(--purple-50);
}

.faq .accordion-button:focus{box-shadow:none}
.faq .accordion-body{color:var(--muted);line-height:1.75}

.contact-card{
  padding:1.5rem;
  color:#fff;
  border-radius:1.35rem;
  background:
    radial-gradient(circle at 85% 15%,rgba(255,255,255,.18),transparent 13rem),
    linear-gradient(140deg,var(--purple-600),var(--purple-900));
  box-shadow:0 20px 48px rgba(80,39,145,.23);
}

.contact-card p{color:rgba(255,255,255,.82)}
.contact-card a{color:var(--purple-900);text-decoration:none}
.contact-card .btn{
  border:0;
  border-radius:.95rem;
  background:#fff;
  font-weight:850;
}

.policy-card{
  padding:1.75rem;
  border-radius:1.4rem;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 18px 50px rgba(67,35,107,.08);
}

.policy-card h2{
  margin-top:2rem;
  margin-bottom:.6rem;
  font-size:1.25rem;
  font-weight:850;
  letter-spacing:-.02em;
}

.policy-card h2:first-of-type{margin-top:.2rem}
.policy-card p,.policy-card li{color:var(--muted);line-height:1.85}

.policy-date{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-bottom:1rem;
  padding:.48rem .78rem;
  border-radius:999px;
  color:var(--purple-800);
  background:var(--purple-100);
  font-size:.88rem;
  font-weight:800;
}

footer{
  padding:1.8rem 0 2.3rem;
  color:#817789;
  font-size:.92rem;
}

.footer-inner{
  padding-top:1.25rem;
  border-top:1px solid rgba(122,62,219,.12);
}

.footer-link{
  color:#716879;
  text-decoration:none;
  font-weight:700;
}

.footer-link:hover{color:var(--purple-700)}

@media(max-width:767.98px){
  .hero{padding-top:4rem}
  .hero h1{font-size:2.7rem}
  .nav-shell{border-radius:1rem}
  .policy-card{padding:1.25rem}
}