:root{
  --bg:#0c0b1f;
  --bg-2:#14122e;
  --panel:#1b1740;
  --panel-2:#241e57;
  --line:rgba(255,255,255,.08);
  --text:#ece9ff;
  --muted:#a8a3cf;
  --accent:#f6e6b4;
  --accent-2:#c5b6ff;
  --brand:#7a6bff;
  --brand-2:#3a2c6b;
  --radius:14px;
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --container:1140px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:
    radial-gradient(1100px 600px at 85% -10%, rgba(122,107,255,.20), transparent 60%),
    radial-gradient(900px 500px at -10% 40%, rgba(246,230,180,.07), transparent 60%),
    var(--bg);
  color:var(--text);
  font-family:'Outfit',system-ui,sans-serif;
  font-size:15px;
  line-height:1.55;
  min-height:100vh;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--accent-2);text-decoration:none}
a:hover{color:var(--accent)}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.15;color:#fff;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,4.6vw,3.2rem)}
h2{font-size:clamp(1.45rem,3vw,2.05rem);margin-bottom:.6rem}
h3{font-size:1.1rem;margin-bottom:.35rem}
p{color:var(--muted)}
.section-eyebrow{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);
  padding:.35rem .7rem;border:1px solid rgba(246,230,180,.25);
  border-radius:99px;margin-bottom:.85rem;
}
.section-eyebrow i{font-size:.85rem}

.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 18px}
section{padding:54px 0;position:relative}
.center{text-align:center}
.muted{color:var(--muted)}

.site-header{
  position:absolute;top:0;left:0;right:0;z-index:50;
  padding:14px 0;
  transition:transform .35s ease,background .35s ease,backdrop-filter .35s ease;
}
.site-header.is-scrolled{
  position:fixed;
  background:rgba(12,11,31,.78);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.site-header.is-hidden{transform:translateY(-120%)}
.header-inner{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;
}
.brand{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:'Fraunces',serif;font-weight:600;letter-spacing:.01em;
  color:#fff;font-size:1.05rem;
}
.brand-mark{
  width:34px;height:34px;border-radius:10px;
  background:radial-gradient(circle at 30% 30%, #f6e6b4 0%, #c5b6ff 45%, #3a2c6b 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18), 0 6px 18px rgba(122,107,255,.35);
  position:relative;overflow:hidden;flex:none;
}
.brand-mark::after{
  content:"";position:absolute;inset:6px 4px 6px 10px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #fff 0%, transparent 60%);
  opacity:.5;
}
.brand small{display:block;color:var(--muted);font-family:'Outfit',sans-serif;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase}

.primary-nav{justify-self:center}
.primary-nav ul{display:flex;gap:6px;list-style:none}
.primary-nav a{
  color:var(--muted);font-size:.86rem;letter-spacing:.04em;
  padding:.55rem .8rem;border-radius:99px;display:inline-block;
  transition:color .2s, background .2s;
}
.primary-nav a:hover,.primary-nav a.is-active{color:#fff;background:rgba(255,255,255,.06)}

.header-cta{display:inline-flex;align-items:center;gap:.4rem;
  padding:.55rem .95rem;border-radius:99px;
  background:linear-gradient(135deg,var(--accent) 0%,#f0c982 100%);
  color:#1b1740;font-weight:600;font-size:.82rem;
  box-shadow:0 8px 22px rgba(246,230,180,.18);
}
.header-cta:hover{color:#0c0b1f}

.nav-toggle{
  display:none;width:42px;height:42px;border-radius:12px;
  border:1px solid var(--line);background:rgba(255,255,255,.04);
  align-items:center;justify-content:center;color:#fff;
}
.nav-toggle i{font-size:1.3rem;transition:transform .2s}
.nav-toggle[aria-expanded="true"] i.open-icon{display:none}
.nav-toggle[aria-expanded="false"] i.close-icon{display:none}

.mobile-menu{
  position:fixed;inset:0;z-index:100;
  background:linear-gradient(160deg,#0c0b1f 0%,#1f1a3d 100%);
  display:flex;flex-direction:column;
  padding:80px 24px 30px;
  transform:translateY(-100%);transition:transform .4s cubic-bezier(.7,0,.3,1);
  visibility:hidden;
}
.mobile-menu.is-open{transform:translateY(0);visibility:visible}
.mobile-menu .close-btn{
  position:absolute;top:18px;right:18px;width:44px;height:44px;
  border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;
}
.mobile-menu ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.mobile-menu a{
  display:flex;justify-content:space-between;align-items:center;
  color:#fff;font-family:'Fraunces',serif;font-size:1.6rem;
  padding:.7rem 0;border-bottom:1px solid var(--line);
}
.mobile-menu a i{color:var(--accent);font-size:1rem}
.mobile-menu .menu-foot{margin-top:auto;color:var(--muted);font-size:.8rem;line-height:1.5}

.hero{
  padding:130px 0 70px;position:relative;overflow:hidden;
}
.hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center;
}
.hero h1 span{
  background:linear-gradient(90deg,var(--accent) 0%,var(--accent-2) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p.lead{font-size:1.02rem;margin:1rem 0 1.6rem;max-width:540px}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px}

.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.85rem 1.3rem;border-radius:99px;font-weight:600;font-size:.88rem;
  transition:transform .15s, box-shadow .2s, background .2s;
  border:1px solid transparent;cursor:pointer;
}
.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,#f0c982 100%);color:#1b1740;box-shadow:0 10px 28px rgba(246,230,180,.18)}
.btn-primary:hover{transform:translateY(-2px);color:#0c0b1f}
.btn-ghost{border-color:var(--line);color:#fff;background:rgba(255,255,255,.03)}
.btn-ghost:hover{background:rgba(255,255,255,.08)}

.hero-visual{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);
  aspect-ratio:4/5;background:#1b1740;
}
.hero-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.95) brightness(.95)}
.hero-visual::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(12,11,31,.6) 100%);
}
.hero-badge{
  position:absolute;left:18px;bottom:18px;z-index:2;
  background:rgba(20,18,46,.75);backdrop-filter:blur(8px);
  border:1px solid var(--line);border-radius:14px;
  padding:.7rem .9rem;display:flex;align-items:center;gap:.7rem;color:#fff;
  font-size:.82rem;
}
.hero-badge i{color:var(--accent);font-size:1.3rem}
.hero-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:2rem;max-width:540px;
}
.hero-stats div{
  padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03);
}
.hero-stats b{font-family:'Fraunces',serif;font-size:1.5rem;color:#fff;display:block}
.hero-stats span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

.pillars{padding-top:30px}
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pillar{
  padding:18px;border-radius:14px;border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0));
}
.pillar i{font-size:1.6rem;color:var(--accent);display:inline-flex;
  width:42px;height:42px;align-items:center;justify-content:center;
  border-radius:10px;background:rgba(246,230,180,.08);margin-bottom:.6rem;
}

.feature{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.feature .media{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:5/4}
.feature .media img{width:100%;height:100%;object-fit:cover}
.feature ul{list-style:none;margin-top:1rem;display:flex;flex-direction:column;gap:.7rem}
.feature ul li{display:flex;gap:.6rem;align-items:flex-start;color:var(--muted);font-size:.92rem}
.feature ul li i{color:var(--accent);margin-top:2px}

.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:1.4rem}
.card{
  padding:22px;border-radius:18px;border:1px solid var(--line);
  background:linear-gradient(180deg,#1b1740 0%,#14122e 100%);
  position:relative;overflow:hidden;
}
.card .num{position:absolute;right:14px;top:10px;font-family:'Fraunces',serif;
  font-size:2.6rem;color:rgba(246,230,180,.12);font-weight:700}
.card i.lead-icon{font-size:1.8rem;color:var(--accent);display:inline-flex;
  width:48px;height:48px;align-items:center;justify-content:center;
  border-radius:12px;background:rgba(246,230,180,.1);margin-bottom:.8rem}
.card p{font-size:.9rem}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:1.6rem}
.step{padding:18px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.step .step-n{
  width:34px;height:34px;border-radius:10px;background:var(--brand-2);
  color:var(--accent);font-family:'Fraunces',serif;font-weight:700;
  display:flex;align-items:center;justify-content:center;margin-bottom:.7rem;
}

.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:1.6rem}
.testimonial{
  padding:22px;border-radius:18px;border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(122,107,255,.08),rgba(255,255,255,.02));
  display:flex;flex-direction:column;gap:.8rem;
}
.testimonial p{font-family:'Fraunces',serif;font-style:italic;color:#fff;font-size:1rem;line-height:1.45}
.testimonial .who{display:flex;align-items:center;gap:.6rem;margin-top:auto}
.testimonial .avatar{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,#7a6bff,#f6e6b4);
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;color:#1b1740;font-weight:700;font-size:.95rem;
}
.testimonial .who span{display:block;font-size:.78rem;color:var(--muted)}
.stars{color:var(--accent);font-size:.8rem;letter-spacing:.1em}

.faq{margin-top:1.4rem;display:flex;flex-direction:column;gap:10px}
.faq details{
  border:1px solid var(--line);border-radius:12px;padding:14px 16px;
  background:rgba(255,255,255,.03);
}
.faq summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
  font-family:'Fraunces',serif;color:#fff;font-size:1.02rem;gap:1rem;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-size:1.3rem;line-height:1;transition:transform .2s}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:.65rem;font-size:.9rem}

.cta-band{
  margin:60px auto;max-width:var(--container);
  padding:32px;border-radius:22px;
  background:
    radial-gradient(600px 300px at 80% 0%, rgba(246,230,180,.18), transparent 60%),
    linear-gradient(135deg,#1b1740 0%,#3a2c6b 100%);
  border:1px solid var(--line);
  display:grid;grid-template-columns:1.4fr auto;gap:18px;align-items:center;
}
.cta-band h2{margin:0}

.products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:1.6rem}
.product{
  border:1px solid var(--line);border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg,#1b1740 0%,#14122e 100%);
  display:flex;flex-direction:column;
}
.product .visual{
  aspect-ratio:1/1;
  background:
    radial-gradient(circle at 30% 30%,#f6e6b4 0%,transparent 50%),
    radial-gradient(circle at 70% 70%,#7a6bff 0%,transparent 60%),
    #14122e;
  position:relative;display:flex;align-items:center;justify-content:center;color:#fff;font-size:3.6rem;
}
.product:nth-child(2) .visual{background:
  radial-gradient(circle at 30% 30%,#c5b6ff 0%,transparent 50%),
  radial-gradient(circle at 70% 70%,#3a2c6b 0%,transparent 60%),#14122e}
.product:nth-child(3) .visual{background:
  radial-gradient(circle at 30% 30%,#f0c982 0%,transparent 50%),
  radial-gradient(circle at 70% 70%,#7a6bff 0%,transparent 60%),#14122e}
.product .body{padding:18px;display:flex;flex-direction:column;gap:.5rem;flex:1}
.product .price{font-family:'Fraunces',serif;color:var(--accent);font-size:1.5rem;font-weight:600}
.product .meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px}
.product ul{list-style:none;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted)}
.product ul li{display:flex;gap:.45rem;align-items:flex-start}
.product ul li i{color:var(--accent);margin-top:3px;font-size:.85rem}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:1.4rem}
.value{
  padding:18px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);
}
.value i{font-size:1.5rem;color:var(--accent);display:block;margin-bottom:.5rem}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:1.4rem}
.member{
  padding:18px;border-radius:14px;border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0));
  text-align:center;
}
.member .avatar{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,#7a6bff,#f6e6b4);
  margin:0 auto .7rem;display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;color:#1b1740;font-weight:700;font-size:1.4rem;
}
.member small{display:block;color:var(--muted);font-size:.8rem;margin-top:.2rem}

.contact-wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;align-items:stretch}
.contact-card{
  padding:26px;border-radius:20px;border:1px solid var(--line);
  background:linear-gradient(180deg,#1b1740 0%,#14122e 100%);
  display:flex;flex-direction:column;gap:1rem;
}
.contact-card h2{margin-bottom:.3rem}
.contact-list{list-style:none;display:flex;flex-direction:column;gap:.7rem}
.contact-list li{
  display:flex;gap:.8rem;align-items:flex-start;padding:.7rem;border-radius:12px;
  background:rgba(255,255,255,.03);border:1px solid var(--line);
}
.contact-list i{
  width:36px;height:36px;border-radius:10px;background:rgba(246,230,180,.1);
  color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;flex:none;
}
.contact-list strong{color:#fff;display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.15rem}
.contact-list span{color:var(--muted);font-size:.92rem}

.form{
  padding:26px;border-radius:20px;border:1px solid var(--line);
  background:linear-gradient(180deg,#241e57 0%,#1b1740 100%);
  display:flex;flex-direction:column;gap:.85rem;
}
.form label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.25rem;display:block}
.form .field{display:flex;flex-direction:column;gap:.2rem}
.form input,.form textarea{
  width:100%;background:rgba(12,11,31,.6);border:1px solid var(--line);
  color:#fff;border-radius:12px;padding:.8rem 1rem;font:inherit;
  transition:border .2s, background .2s;
}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--accent);background:rgba(12,11,31,.85)}
.form textarea{min-height:130px;resize:vertical}
.form .consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.82rem;color:var(--muted)}
.form .consent input{width:auto;margin-top:3px}
.form button[type="submit"]{margin-top:.4rem;align-self:flex-start}

.map-wrap{margin-top:1.4rem;border-radius:18px;overflow:hidden;border:1px solid var(--line);height:340px;background:#1b1740}
.map-wrap iframe{width:100%;height:100%;border:0;display:block;filter:invert(.92) hue-rotate(180deg)}

.long-content{max-width:820px;margin:0 auto}
.long-content h2{margin-top:2rem}
.long-content h3{margin-top:1.4rem;color:var(--accent-2)}
.long-content p,.long-content li{font-size:.92rem;color:var(--muted);margin-bottom:.8rem}
.long-content ul,.long-content ol{padding-left:1.2rem}
.long-content li{margin-bottom:.4rem}

.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:1.4rem}
.guide-card{
  padding:22px;border-radius:16px;border:1px solid var(--line);
  background:linear-gradient(135deg,rgba(122,107,255,.08),rgba(255,255,255,.02));
}
.guide-card i{font-size:1.6rem;color:var(--accent);margin-bottom:.5rem;display:block}
.guide-card h3{font-size:1.05rem}

.center-page{
  min-height:calc(100vh - var(--header-h,72px) - var(--footer-h,72px));
  display:flex;align-items:center;justify-content:center;padding:40px 18px;
}
.center-page .box{max-width:560px;text-align:center}
.center-page h1{font-size:clamp(2.2rem,6vw,3.6rem);margin-bottom:.6rem}
.center-page .big404{
  font-family:'Fraunces',serif;font-size:clamp(5rem,16vw,9rem);
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;
}
.center-page .actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:1.2rem}
.thanks-icon{
  width:90px;height:90px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#1b1740;display:flex;align-items:center;justify-content:center;
  font-size:2.6rem;margin:0 auto 1rem;box-shadow:0 14px 40px rgba(246,230,180,.25);
}

.site-footer{
  border-top:1px solid var(--line);
  padding:22px 0;background:rgba(12,11,31,.7);
  margin-top:30px;
}
.footer-inner{
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  font-size:.8rem;color:var(--muted);
}
.footer-inner nav{display:flex;gap:14px;flex-wrap:wrap}
.footer-inner nav a{color:var(--muted)}
.footer-inner nav a:hover{color:var(--accent)}

.privacy-popup{
  position:fixed;left:18px;right:18px;bottom:18px;z-index:120;
  max-width:520px;margin:0 auto;
  padding:18px;border-radius:16px;border:1px solid var(--line);
  background:linear-gradient(135deg,#1b1740,#14122e);
  box-shadow:0 18px 50px rgba(0,0,0,.6);
  display:none;gap:14px;align-items:flex-start;
}
.privacy-popup.is-visible{display:flex}
.privacy-popup i.icon{
  font-size:1.6rem;color:var(--accent);
  width:42px;height:42px;border-radius:12px;background:rgba(246,230,180,.1);
  display:inline-flex;align-items:center;justify-content:center;flex:none;
}
.privacy-popup .text{flex:1;font-size:.83rem;color:var(--muted)}
.privacy-popup .text strong{color:#fff;font-family:'Fraunces',serif;font-size:.95rem;display:block;margin-bottom:.2rem}
.privacy-popup .actions{display:flex;gap:8px;margin-top:.7rem;flex-wrap:wrap}
.privacy-popup .actions button{
  padding:.55rem 1rem;border-radius:99px;font-weight:600;font-size:.78rem;
}
.privacy-popup .accept{background:var(--accent);color:#1b1740}
.privacy-popup .decline{background:rgba(255,255,255,.06);color:#fff;border:1px solid var(--line)}

@media (max-width:960px){
  .hero-grid,.feature,.about-grid,.contact-wrap{grid-template-columns:1fr}
  .pillars-grid,.cards-grid,.steps,.testimonials,.products,.guide-grid,.team,.values{grid-template-columns:repeat(2,1fr)}
  .cta-band{grid-template-columns:1fr;text-align:center}
  .cta-band .btn{justify-self:center}
}
@media (max-width:886px){
  .primary-nav,.header-cta{display:none}
  .nav-toggle{display:inline-flex}
  .header-inner{grid-template-columns:auto auto}
  .primary-nav{display:none}
  section{padding:44px 0}
  .hero{padding:110px 0 50px}
  .hero-stats{grid-template-columns:repeat(3,1fr);gap:8px}
  .hero-stats div{padding:10px}
  .hero-stats b{font-size:1.15rem}
}
@media (max-width:520px){
  .pillars-grid,.cards-grid,.steps,.testimonials,.products,.guide-grid,.team,.values{grid-template-columns:1fr}
  .brand small{display:none}
  .footer-inner{flex-direction:column;text-align:center}
}
@media (max-width:380px){
  body{font-size:14px}
  .container{padding:0 14px}
  .form,.contact-card{padding:18px}
}
